{"_id":"@airisk/sdk","name":"@airisk/sdk","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@airisk/sdk","version":"0.1.0","description":"Thin client for streaming AI interaction metadata to AI Risk Validator. No PII — send hashes and summaries only.","type":"module","main":"./index.js","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","import":"./index.js"}},"keywords":["ai","risk","compliance","eu-ai-act","nist-rmf","gdpr","llm","observability","ai-safety","audit"],"license":"MIT","homepage":"https://airisk-validator.vercel.app","repository":{"type":"git","url":"git+https://github.com/airisk/sdk.git"},"bugs":{"url":"https://airisk-validator.vercel.app"},"engines":{"node":">=18"},"publishConfig":{"access":"public"},"sideEffects":false,"_id":"@airisk/sdk@0.1.0","gitHead":"fc74b94c3cf655c8acff7b62cdc53f78d62050cc","_nodeVersion":"20.20.0","_npmVersion":"10.8.2","dist":{"integrity":"sha512-BlxfI/i1MbIvU4SmjbhYcEM/Ny6P4ZAdt72EmdZOGM1WgNTIbSgoluujTxjbi5XWFLxiMFqayaR2VOlNt3eCxA==","shasum":"982e09052efb74d0366d1436c71fa85303d93144","tarball":"https://registry.npmjs.org/@airisk/sdk/-/sdk-0.1.0.tgz","fileCount":5,"unpackedSize":6937,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIELLTpDi/OMlzsfaOXUpfyP+cQCvf+o+AbjrdXwSt1tbAiBAj9bGX/GfFQGOd4CTudtCcfI+G1rpDZOsFR9MV4VpYA=="}]},"_npmUser":{"name":"megumikuo","email":"megumikuo@gmail.com"},"directories":{},"maintainers":[{"name":"megumikuo","email":"megumikuo@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/sdk_0.1.0_1779398264495_0.4568886387513773"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-21T21:17:44.342Z","0.1.0":"2026-05-21T21:17:44.637Z","modified":"2026-05-21T21:17:44.864Z"},"maintainers":[{"name":"megumikuo","email":"megumikuo@gmail.com"}],"description":"Thin client for streaming AI interaction metadata to AI Risk Validator. No PII — send hashes and summaries only.","homepage":"https://airisk-validator.vercel.app","keywords":["ai","risk","compliance","eu-ai-act","nist-rmf","gdpr","llm","observability","ai-safety","audit"],"repository":{"type":"git","url":"git+https://github.com/airisk/sdk.git"},"bugs":{"url":"https://airisk-validator.vercel.app"},"license":"MIT","readme":"# @airisk/sdk\n\nThin client for streaming AI interaction metadata to [AI Risk Validator](https://airisk-validator.vercel.app).\n\n**Privacy by design:** no raw prompts or PII leave your backend. Send input *hashes* and short output *summaries* only.\n\n## Install\n\n```bash\nnpm install @airisk/sdk\n```\n\n## Usage\n\n```js\nimport { AiRisk } from '@airisk/sdk'\nimport { createHash } from 'crypto'\n\nconst airisk = new AiRisk({ apiKey: process.env.AIRISK_API_KEY })\n\nconst sha256 = (s) => createHash('sha256').update(s).digest('hex')\n\n// after each model call\nawait airisk.logEvent({\n  event_type: 'model_call',\n  model: 'gpt-4o-mini',\n  session_id: user.sessionId,\n  input_hash: sha256(prompt),\n  output_summary: completion.slice(0, 200),\n  latency_ms: elapsed,\n})\n```\n\n### Batch\n\n```js\nawait airisk.logBatch([evt1, evt2, /* … up to 100 */])\n```\n\n## API keys\n\nCreate a key at **Settings → API Keys**. A key can be:\n\n- **Project-scoped** — events attach to that project automatically.\n- **Org-wide** — set `metadata.project_id` on each event.\n\n## Reference\n\n`POST https://airisk-validator.vercel.app/api/v1/events`\n`Authorization: Bearer airisk_…`\n\n| Field | Type | Notes |\n|-------|------|-------|\n| `event_type` | string | `model_call` (default) \\| `tool_call` \\| `user_input` \\| `system_event` |\n| `model` | string | Model identifier |\n| `session_id` | string | Your session/conversation id |\n| `input_hash` | string | Hash of the prompt — **not** the prompt |\n| `output_summary` | string | Truncated to 2000 chars server-side |\n| `tool_calls` | array | Structured tool-call records |\n| `latency_ms` | number | Round-trip latency |\n| `flagged` | boolean | Your own guardrail flagged it |\n| `flag_reason` | string | Why it was flagged |\n| `metadata` | object | Arbitrary; `project_id` here for org-wide keys |\n\nMIT licensed.\n","readmeFilename":"README.md","_rev":"1-752e0a9e3ff13cc08eb0a0f5aff76144"}