
Product
Microsoft Teams Notifications Are Now Available in Socket
Socket can now send alerts and supply chain attack notifications to Microsoft Teams, with filters that route the right updates to each channel.
@ar-agents/iibb
Advanced tools
Ingresos Brutos (Argentine gross income tax) agent toolkit for the Vercel AI SDK 6. Pure calculation helpers for retention + perception + DDJJ assembly across CABA (AGIP), Provincia de Buenos Aires (ARBA) and Convenio Multilateral (CM-05). Adapter pattern
Ingresos Brutos (Argentine gross income tax) agent toolkit for the Vercel AI SDK 6+. Pure calculation helpers for retention, perception, and monthly DDJJ assembly across CABA, Provincia de Buenos Aires, and Convenio Multilateral.
pnpm add @ar-agents/iibb
AgipPublicAdapter (CABA, no auth) + ArbaCitAdapter (BSAS, host wires CIT-authenticated fetcher). HttpPadronAdapter is the abstract base so hosts can subclass for any DGR.IibbUnconfiguredError.import { Experimental_Agent as Agent } from "ai";
import {
iibbTools,
RateBook,
computeDdjj,
calculateRetention,
} from "@ar-agents/iibb";
import { anthropic } from "@ai-sdk/anthropic";
// Pure: no agent needed.
const result = computeDdjj({
period: "2026-05",
regime: "local",
filerCode: "CABA",
lines: [
{
dateIso: "2026-05-05",
jurisdiction: "CABA",
activityCode: "620100", // CIIU/NAES code
baseImponibleCentavos: 1_000_000, // ARS 10.000
},
],
rateBook: new RateBook([
{ jurisdiction: "CABA", activityCode: "620100", rate: 0.05 },
]),
});
console.log(result.totals.taxDueCentavos); // 50_000 cents (ARS 500)
Wired as agent tools:
const agent = new Agent({
model: anthropic("claude-sonnet-4-7"),
tools: iibbTools(), // 4 tools: calc_retention, calc_perception, compute_ddjj, lookup_padron
system: "Eres un contador asistente para sociedades-IA argentinas.",
});
const result = computeDdjj({
period: "2026-05",
regime: "cm",
filerCode: "CM",
rateBook,
cmCoefficients: { CABA: 0.6, BSAS: 0.4 }, // sums to 1.0
lines: [...],
});
// result.byJurisdiction → [{ jurisdiction: "CABA", ... }, { jurisdiction: "BSAS", ... }]
// result.cmCoefficients echoes back the input.
CABA — no auth needed:
import { iibbTools, AgipPublicAdapter } from "@ar-agents/iibb";
const tools = iibbTools({
adapters: { CABA: new AgipPublicAdapter() },
});
const status = await tools.iibb_lookup_padron.execute({
cuit: "20123456786",
jurisdiction: "CABA",
});
// → { cuit: "...", jurisdiction: "CABA", inscribed: true, regime: "local" } | null
BSAS — host wires a CIT-authenticated fetcher:
import { ArbaCitAdapter } from "@ar-agents/iibb";
const authedFetch = async (url, init) =>
fetch(url, { ...init, headers: { ...init?.headers, cookie: `JSESSIONID=${process.env.ARBA_CIT_SESSION}` } });
const tools = iibbTools({
adapters: { BSAS: new ArbaCitAdapter({ fetch: authedFetch }) },
});
Any other DGR — subclass HttpPadronAdapter:
import { HttpPadronAdapter, type JurisdictionCode, type Padron } from "@ar-agents/iibb";
class DgrSantaFeAdapter extends HttpPadronAdapter {
readonly jurisdiction: JurisdictionCode = "SF";
protected buildLookupRequest(cuit: string) {
return { url: `https://api.santafe.gov.ar/iibb/padron/${cuit}` };
}
protected parseLookupResponse(text: string, cuit: string): Padron | null {
const j = JSON.parse(text);
return j.activo ? { cuit, jurisdiction: "SF", inscribed: true, regime: "local" } : null;
}
}
import {
IibbError,
IibbUnconfiguredError, // adapter not wired
IibbValidationError, // bad input (bad period, mismatched jurisdiction, etc.)
IibbRateNotFoundError, // rate-book missing an (jurisdiction, activityCode) entry
} from "@ar-agents/iibb";
For LLM agents using these tools, see AGENTS.md.
MIT — Nazareno Clemente naza@naza.ar
FAQs
Ingresos Brutos (Argentine gross income tax) agent toolkit for the Vercel AI SDK 6. Pure calculation helpers for retention + perception + DDJJ assembly across CABA (AGIP), Provincia de Buenos Aires (ARBA) and Convenio Multilateral (CM-05). Adapter pattern
We found that @ar-agents/iibb demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Product
Socket can now send alerts and supply chain attack notifications to Microsoft Teams, with filters that route the right updates to each channel.

Security News
pnpm 12 rewrites the package manager in Rust, cutting install times by up to 90% while preserving pnpm 11 workflows and lockfiles.

Security News
Socket CTO Ahmad Nassri joins AppSec leaders at Black Hat to discuss active malware, package manager risks, and software supply chain defense.