@icastack/sdk
v0.1.0
Published
ICA SDK — one-line auto-instrumentation that captures, governs, and seals every OpenAI/Anthropic call. Content never leaves the process.
Maintainers
Readme
@icastack/sdk
One line to capture, govern, and seal every AI call your Node app makes. Content never leaves the process — only a hash travels.
const OpenAI = require('openai');
const ICA = require('@icastack/sdk');
ICA.init({ org: 'org_acme', token: process.env.ICA_INGEST_TOKEN });
const client = ICA.instrument(new OpenAI());
// used exactly as before — now captured + governed
const r = await client.chat.completions.create({ model: 'gpt-4o', messages });- Captured: every request (model, prompt hash, tokens) and response, sealed into the ICA ledger with a court-grade receipt.
- Governed: when the operator has armed enforcement and policy denies a call,
create()throwsICABlockedErrorbefore the model is reached. Shadow mode (the default) records without blocking. - Private: prompts/outputs are hashed, never sent.
Config via ICA.init(...) or env: ICA_ORG, ICA_INGEST_TOKEN, ICA_INGEST_URL,
ICA_AGENT_HANDLE, ICA_SESSION_ID. Instruments OpenAI (chat.completions,
responses) and Anthropic (messages).
