{"_id":"@adjudicate/vercel-ai","_rev":"6-ee2424f3017f7942f23a1adbd52777d8","name":"@adjudicate/vercel-ai","dist-tags":{"latest":"0.3.7"},"versions":{"0.3.2":{"name":"@adjudicate/vercel-ai","version":"0.3.2","_id":"@adjudicate/vercel-ai@0.3.2","maintainers":[{"name":"brunoro","email":"bnocesar@gmail.com"}],"dist":{"shasum":"b6b9d81e3b026c97ffda3871134a0581d831738c","tarball":"https://registry.npmjs.org/@adjudicate/vercel-ai/-/vercel-ai-0.3.2.tgz","fileCount":39,"integrity":"sha512-1e+lHa5zCt2pM6qlsp9ejUL8p54xoub0EXfXBj05H87NaWi8y+o2+xUEqkqlfAEYbXE0cqf4rVIzLZqbZDmydQ==","signatures":[{"sig":"MEYCIQCMTSrhHIGwEyV09Vx47Avvn/kB0h848AuU00VGCzEAlAIhAKOtI548BwjGno1buSkGD5jNWrQHUyMjpyv2rCZ7mz6W","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":96993},"main":"./dist/index.js","type":"module","_from":"file:adjudicate-vercel-ai-0.3.2.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"lint":"tsc --noEmit && eslint \"src/**/*.ts\"","test":"vitest run","build":"tsc --outDir dist"},"_npmUser":{"name":"brunoro","email":"bnocesar@gmail.com"},"_resolved":"/private/var/folders/qy/5nvvb1h93ks26dzx6fzypss80000gn/T/11830a5dcb72202dafdfd90c543d7ba8/adjudicate-vercel-ai-0.3.2.tgz","_integrity":"sha512-1e+lHa5zCt2pM6qlsp9ejUL8p54xoub0EXfXBj05H87NaWi8y+o2+xUEqkqlfAEYbXE0cqf4rVIzLZqbZDmydQ==","_npmVersion":"11.10.0","description":"Reference Vercel AI SDK (v5+) integration for the `adjudicate` decision kernel. A thin shim over `@adjudicate/adapter-core` — every load-bearing concern (tool-use loop, defer/confirm orchestration, audit + ledger wiring, REWRITE handling, confirmation-blo","directories":{},"_nodeVersion":"25.6.1","dependencies":{"@adjudicate/core":"1.4.0","@adjudicate/audit":"3.0.0","@adjudicate/runtime":"0.2.2","@adjudicate/adapter-core":"0.3.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","vitest":"^3.2.0","typescript":"^5.9.0","@eslint/eslintrc":"^3.0.0","@vitest/coverage-v8":"^3.2.0","@adjudicate/eslint-config":"0.0.1","@adjudicate/pack-payments-pix":"0.2.2"},"_npmOperationalInternal":{"tmp":"tmp/vercel-ai_0.3.2_1781667849070_0.3323577208353894","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"@adjudicate/vercel-ai","version":"0.3.3","_id":"@adjudicate/vercel-ai@0.3.3","maintainers":[{"name":"brunoro","email":"bnocesar@gmail.com"}],"dist":{"shasum":"3de63d00695f3e0215175905505a2f8285cc3eba","tarball":"https://registry.npmjs.org/@adjudicate/vercel-ai/-/vercel-ai-0.3.3.tgz","fileCount":39,"integrity":"sha512-36fZAqmzzomGCFZWKMZ6qwgu9exrZQq3KVkhphkG2Sy03ne6H7lXUP7EWJxsAR/B5V9kgj8yVOTFY9kYhnZErw==","signatures":[{"sig":"MEYCIQDuRY/Z3iwuD9YXzY9dQErN72WkIkew2esoIFpzXqH1bgIhAO4eZfepg0SpFqZn8m6gI2EPLRryUdxfhKlhpgx8piOW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":98551},"main":"./dist/index.js","type":"module","_from":"file:adjudicate-vercel-ai-0.3.3.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"lint":"tsc --noEmit && eslint \"src/**/*.ts\"","test":"vitest run","build":"tsc --outDir dist"},"_npmUser":{"name":"brunoro","email":"bnocesar@gmail.com"},"_resolved":"/private/var/folders/qy/5nvvb1h93ks26dzx6fzypss80000gn/T/3ca5a6cac7dcabcbe67aa332fd744a19/adjudicate-vercel-ai-0.3.3.tgz","_integrity":"sha512-36fZAqmzzomGCFZWKMZ6qwgu9exrZQq3KVkhphkG2Sy03ne6H7lXUP7EWJxsAR/B5V9kgj8yVOTFY9kYhnZErw==","_npmVersion":"11.10.0","description":"Reference Vercel AI SDK (v5+) integration for the `adjudicate` decision kernel. A thin shim over `@adjudicate/adapter-core` — every load-bearing concern (tool-use loop, defer/confirm orchestration, audit + ledger wiring, REWRITE handling, confirmation-blo","directories":{},"_nodeVersion":"25.6.1","dependencies":{"@adjudicate/core":"1.5.0","@adjudicate/audit":"4.0.0","@adjudicate/runtime":"0.3.0","@adjudicate/adapter-core":"0.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","vitest":"^3.2.0","typescript":"^5.9.0","@eslint/eslintrc":"^3.0.0","@vitest/coverage-v8":"^3.2.0","@adjudicate/eslint-config":"0.0.1","@adjudicate/pack-payments-pix":"0.3.0"},"_npmOperationalInternal":{"tmp":"tmp/vercel-ai_0.3.3_1782275548140_0.3219681891240471","host":"s3://npm-registry-packages-npm-production"}},"0.3.4":{"name":"@adjudicate/vercel-ai","version":"0.3.4","_id":"@adjudicate/vercel-ai@0.3.4","maintainers":[{"name":"brunoro","email":"bnocesar@gmail.com"}],"dist":{"shasum":"a920321897b9007ed1b4d050340a25b21f1a72a3","tarball":"https://registry.npmjs.org/@adjudicate/vercel-ai/-/vercel-ai-0.3.4.tgz","fileCount":39,"integrity":"sha512-R2bUQCCy8DxvcMD96N2IVH4eBM8EpINlx+DQZmPxZTHDLI9dg1UR2bgd7NInA4syTaQfiktsqLougOLJwrQuvg==","signatures":[{"sig":"MEYCIQCgBOyf3Zfj0ZdjI0DEwAWarWp3wWpnPVJ5p9BqzQ/eBgIhAO2bPutZInUMZpsuYPccx/kbz7w7B/ca02wIAEIzk2zR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":98734},"main":"./dist/index.js","type":"module","_from":"file:adjudicate-vercel-ai-0.3.4.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"lint":"tsc --noEmit && eslint \"src/**/*.ts\"","test":"vitest run","build":"tsc --outDir dist"},"_npmUser":{"name":"brunoro","email":"bnocesar@gmail.com"},"_resolved":"/private/var/folders/qy/5nvvb1h93ks26dzx6fzypss80000gn/T/45c070077fbf810184678d5a0240027c/adjudicate-vercel-ai-0.3.4.tgz","_integrity":"sha512-R2bUQCCy8DxvcMD96N2IVH4eBM8EpINlx+DQZmPxZTHDLI9dg1UR2bgd7NInA4syTaQfiktsqLougOLJwrQuvg==","_npmVersion":"11.10.0","description":"Reference Vercel AI SDK (v5+) integration for the `adjudicate` decision kernel. A thin shim over `@adjudicate/adapter-core` — every load-bearing concern (tool-use loop, defer/confirm orchestration, audit + ledger wiring, REWRITE handling, confirmation-blo","directories":{},"_nodeVersion":"25.6.1","dependencies":{"@adjudicate/core":"1.6.0","@adjudicate/audit":"5.0.0","@adjudicate/runtime":"0.3.1","@adjudicate/adapter-core":"0.4.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","vitest":"^3.2.0","typescript":"^5.9.0","@eslint/eslintrc":"^3.0.0","@vitest/coverage-v8":"^3.2.0","@adjudicate/eslint-config":"0.0.1","@adjudicate/pack-payments-pix":"0.3.1"},"_npmOperationalInternal":{"tmp":"tmp/vercel-ai_0.3.4_1782443686243_0.933219480798769","host":"s3://npm-registry-packages-npm-production"}},"0.3.5":{"name":"@adjudicate/vercel-ai","version":"0.3.5","_id":"@adjudicate/vercel-ai@0.3.5","maintainers":[{"name":"brunoro","email":"bnocesar@gmail.com"}],"dist":{"shasum":"7f021a082b85982d8031b4cb4887d89832025d2c","tarball":"https://registry.npmjs.org/@adjudicate/vercel-ai/-/vercel-ai-0.3.5.tgz","fileCount":39,"integrity":"sha512-f33uTJw2NJao53JvO8zrCOkSMdpDYK3NlgLFguMx+PF7YkCxwDjde44THXFY/8YWuBAnfpEu3PMX3w39dq6DuA==","signatures":[{"sig":"MEUCIAytD43E39qk32uaBNXYveHskRE1Yn/PJUi1WBByAu78AiEAr3l+0pwZjjwITljcuD3o8fSLuzVgaKlPpICI8SbV/XE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":98917},"main":"./dist/index.js","type":"module","_from":"file:adjudicate-vercel-ai-0.3.5.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"lint":"tsc --noEmit && eslint \"src/**/*.ts\"","test":"vitest run","build":"tsc --outDir dist"},"_npmUser":{"name":"brunoro","email":"bnocesar@gmail.com"},"_resolved":"/tmp/9e3e10ff31fd89f478f079754209ea3d/adjudicate-vercel-ai-0.3.5.tgz","_integrity":"sha512-f33uTJw2NJao53JvO8zrCOkSMdpDYK3NlgLFguMx+PF7YkCxwDjde44THXFY/8YWuBAnfpEu3PMX3w39dq6DuA==","_npmVersion":"10.9.8","description":"Reference Vercel AI SDK (v5+) integration for the `adjudicate` decision kernel. A thin shim over `@adjudicate/adapter-core` — every load-bearing concern (tool-use loop, defer/confirm orchestration, audit + ledger wiring, REWRITE handling, confirmation-blo","directories":{},"_nodeVersion":"22.23.0","dependencies":{"@adjudicate/core":"1.7.0","@adjudicate/audit":"6.0.0","@adjudicate/runtime":"0.3.2","@adjudicate/adapter-core":"0.4.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","vitest":"^3.2.0","typescript":"^5.9.0","@eslint/eslintrc":"^3.0.0","@vitest/coverage-v8":"^3.2.0","@adjudicate/eslint-config":"0.0.1","@adjudicate/pack-payments-pix":"0.3.2"},"_npmOperationalInternal":{"tmp":"tmp/vercel-ai_0.3.5_1782665486237_0.21091691215526964","host":"s3://npm-registry-packages-npm-production"}},"0.3.6":{"name":"@adjudicate/vercel-ai","version":"0.3.6","_id":"@adjudicate/vercel-ai@0.3.6","maintainers":[{"name":"brunoro","email":"bnocesar@gmail.com"}],"dist":{"shasum":"5e3cc57195c2cccce18e01a302abcfe560ef5945","tarball":"https://registry.npmjs.org/@adjudicate/vercel-ai/-/vercel-ai-0.3.6.tgz","fileCount":39,"integrity":"sha512-XsNBKyYQnXyj5jwf5oBzXd6d/FkQ23RxWv+7iiWQ0gS3/zfSePgvZaN8w38+Ai2Lb/EvhzOzJP7ZK8NVidNg7A==","signatures":[{"sig":"MEQCIBVXK3s14Z1bH9fbCfEAFLm230OqQ0Q4mc66IiMDtlmuAiAQg5mdIrgO1lUz+Z2PB8vACbYso9EtPnD2jqij4p1+PA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":99100},"main":"./dist/index.js","type":"module","_from":"file:adjudicate-vercel-ai-0.3.6.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"lint":"tsc --noEmit && eslint \"src/**/*.ts\"","test":"vitest run","build":"tsc --outDir dist"},"_npmUser":{"name":"brunoro","email":"bnocesar@gmail.com"},"_resolved":"/tmp/b76144ec1ae8ac87622d06cc1a2429d5/adjudicate-vercel-ai-0.3.6.tgz","_integrity":"sha512-XsNBKyYQnXyj5jwf5oBzXd6d/FkQ23RxWv+7iiWQ0gS3/zfSePgvZaN8w38+Ai2Lb/EvhzOzJP7ZK8NVidNg7A==","_npmVersion":"10.9.8","description":"Reference Vercel AI SDK (v5+) integration for the `adjudicate` decision kernel. A thin shim over `@adjudicate/adapter-core` — every load-bearing concern (tool-use loop, defer/confirm orchestration, audit + ledger wiring, REWRITE handling, confirmation-blo","directories":{},"_nodeVersion":"22.23.0","dependencies":{"@adjudicate/core":"1.8.0","@adjudicate/audit":"7.0.0","@adjudicate/runtime":"0.3.3","@adjudicate/adapter-core":"0.4.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.0.0","vitest":"^3.2.0","typescript":"^5.9.0","@eslint/eslintrc":"^3.0.0","@vitest/coverage-v8":"^3.2.0","@adjudicate/eslint-config":"0.0.1","@adjudicate/pack-payments-pix":"0.3.3"},"_npmOperationalInternal":{"tmp":"tmp/vercel-ai_0.3.6_1782870222905_0.5011929441196741","host":"s3://npm-registry-packages-npm-production"}},"0.3.7":{"name":"@adjudicate/vercel-ai","version":"0.3.7","publishConfig":{"access":"public"},"type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"dependencies":{"@adjudicate/adapter-core":"0.4.4","@adjudicate/core":"1.9.0","@adjudicate/runtime":"0.4.0","@adjudicate/audit":"8.0.0"},"devDependencies":{"@eslint/eslintrc":"^3.0.0","@vitest/coverage-v8":"^3.2.0","eslint":"^9.0.0","typescript":"^5.9.0","vitest":"^3.2.0","@adjudicate/eslint-config":"0.0.1","@adjudicate/pack-payments-pix":"0.3.4"},"scripts":{"build":"tsc --outDir dist","lint":"tsc --noEmit && eslint \"src/**/*.ts\"","test":"vitest run"},"_id":"@adjudicate/vercel-ai@0.3.7","description":"Reference Vercel AI SDK (v5+) integration for the `adjudicate` decision kernel. A thin shim over `@adjudicate/adapter-core` — every load-bearing concern (tool-use loop, defer/confirm orchestration, audit + ledger wiring, REWRITE handling, confirmation-blo","_integrity":"sha512-utdvHHhZMDwHPym5xuGTTltEykEwKakToLG6G/0n0/QXMZG2G4vbRaSvh5Ln6Or8BGLBHwaslQXnsMZmBMqBrA==","_resolved":"/tmp/f9aa0732e89ece0e32eaf9310cf6bc34/adjudicate-vercel-ai-0.3.7.tgz","_from":"file:adjudicate-vercel-ai-0.3.7.tgz","_nodeVersion":"22.23.1","_npmVersion":"10.9.8","dist":{"integrity":"sha512-utdvHHhZMDwHPym5xuGTTltEykEwKakToLG6G/0n0/QXMZG2G4vbRaSvh5Ln6Or8BGLBHwaslQXnsMZmBMqBrA==","shasum":"534f0a28ccb2d1c732bb3ff4e8ead3b1dcb01013","tarball":"https://registry.npmjs.org/@adjudicate/vercel-ai/-/vercel-ai-0.3.7.tgz","fileCount":39,"unpackedSize":99283,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQD7fJvedbPELe0mgIW8C2fHvLfq+nxRZrI8+MwkDcgkKAIgB1ALZagklzgDVtcB/dFXIVIfYUw8JKv0V1XGnklMvZ4="}]},"_npmUser":{"name":"brunoro","email":"bnocesar@gmail.com"},"directories":{},"maintainers":[{"name":"brunoro","email":"bnocesar@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/vercel-ai_0.3.7_1783002100599_0.3361970312025697"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-17T03:44:08.901Z","modified":"2026-07-02T14:21:40.915Z","0.3.2":"2026-06-17T03:44:09.228Z","0.3.3":"2026-06-24T04:32:28.272Z","0.3.4":"2026-06-26T03:14:46.414Z","0.3.5":"2026-06-28T16:51:26.408Z","0.3.6":"2026-07-01T01:43:43.034Z","0.3.7":"2026-07-02T14:21:40.778Z"},"description":"Reference Vercel AI SDK (v5+) integration for the `adjudicate` decision kernel. A thin shim over `@adjudicate/adapter-core` — every load-bearing concern (tool-use loop, defer/confirm orchestration, audit + ledger wiring, REWRITE handling, confirmation-blo","maintainers":[{"name":"brunoro","email":"bnocesar@gmail.com"}],"readme":"# @adjudicate/vercel-ai\n\nReference Vercel AI SDK (v5+) integration for the `adjudicate` decision kernel. A thin shim over `@adjudicate/adapter-core` — every load-bearing concern (tool-use loop, defer/confirm orchestration, audit + ledger wiring, REWRITE handling, confirmation-blob hash verification) lives upstream in adapter-core. This package owns one thing: mapping the AI SDK's wire shapes to the provider-neutral contracts.\n\n## Layout\n\n| File | Role |\n|---|---|\n| `src/bridge-vercel.ts` | `ProviderBridge<VercelMessage[]>` against the AI SDK `generateText` surface |\n| `src/renderer-vercel.ts` | System-prompt + tool-name translation tuned for the AI SDK |\n| `src/adapter.ts` | `createAdjudicatedAgent` — wires bridge + renderer into adapter-core |\n| `src/vercel-types.ts` | Structural types mirroring the AI SDK shape (no hard dep) |\n| `src/types.ts` | Public surface — `VercelHistory`, options, agent type |\n| `src/index.ts` | Barrel — re-exports adapter-core ergonomics |\n\n## Quickstart\n\n```ts\nimport { generateText } from \"ai\";\nimport { openai } from \"@ai-sdk/openai\";\nimport { installPack } from \"@adjudicate/core\";\nimport {\n  createAdjudicatedAgent,\n  createVercelPromptRenderer,\n  createInMemoryConfirmationStore,\n  createInMemoryDeferStore,\n  createMemoryLedger,\n} from \"@adjudicate/vercel-ai\";\nimport { paymentsPixPack } from \"@adjudicate/pack-payments-pix\";\n\nconst { pack } = installPack(paymentsPixPack);\n\nconst agent = createAdjudicatedAgent({\n  pack,\n  generateText,\n  model: openai(\"gpt-4o\"),\n  maxTokens: 1024,\n  renderer: createVercelPromptRenderer({\n    packId: pack.id,\n    toolSchemas: [], // the ToolSchema[] the model sees for this pack's intents\n  }),\n  deferStore: createInMemoryDeferStore(),\n  confirmationStore: createInMemoryConfirmationStore(),\n  ledger: createMemoryLedger(),\n  executor: {\n    invokeRead: async (name, input, state) => /* read tool */,\n    invokeIntent: async (envelope, state) => /* side-effect */,\n  },\n});\n\nconst turn = await agent.send({\n  sessionId: \"s-1\",\n  userMessage: \"Refund the iced-coffee charge.\",\n  state: { /* … */ },\n  context: { /* … */ },\n});\n```\n\n`createAdjudicatedAgent` returns the same `{ send, resume, confirm }` surface as the OpenAI and Anthropic adapters. The kernel sees identical `IntentEnvelope`s either way; the choice of provider doesn't change which `Decision` outcomes are reachable.\n\n## Why no `ai` / `@ai-sdk/*` dependency?\n\nThe package accepts any callable satisfying `VercelGenerateTextFn` plus an opaque `LanguageModel` handle — a minimal structural interface. The official `generateText` from `ai` (`>=5`) satisfies it; mocks for tests do too. Three reasons:\n\n1. No major-version pin on a fast-moving SDK.\n2. Mocks remain trivial.\n3. Adopters who already vendor a specific AI SDK version don't get a duplicate copy.\n\nIf you want the SDK, install it directly: `pnpm add ai @ai-sdk/openai`.\n\nUnlike a Chat Completions client, the AI SDK exposes a FREE FUNCTION `generateText(...)` plus a `LanguageModel` instance rather than a stateful client object. The bridge injects the callable plus a model handle accordingly.\n\n## Determinism + replay\n\nEvery intent envelope crosses `adjudicateAndAudit()` from `@adjudicate/core/kernel`. The Vercel AI adapter cannot bypass it; the kernel still owns:\n\n- The closed 6-valued `Decision` algebra.\n- Replay suppression via the supplied `Ledger`.\n- Canonical-JSON `intentHash` (excludes `createdAt`, includes `nonce`).\n- Fail-closed semantics on throwing guards.\n- Confirmation-blob tamper detection at resume.\n\nCross-provider parity is verified by `tests/integration-pix.test.ts` — the same canned conversation against the same PIX Pack reaches the same six `Decision` kinds, with the same audit-record counts and no `withBasisAudit` drift events.\n\n## Notable deltas vs the OpenAI adapter\n\n- Tool-call `input` arrives ALREADY PARSED as a structured object — no JSON.parse / `__raw` fallback.\n- Token usage maps 1:1 (`{ inputTokens, outputTokens }`) — no `prompt_tokens` / `completion_tokens` rename.\n- The output cap field is `maxOutputTokens` (the v5 name).\n- The SDK surface is the free function `generateText(...)` plus a `LanguageModel` handle, not a stateful client.\n- Tool results use `role: \"tool\"` messages whose `content` is an array of `tool-result` parts.\n\n## Status\n\nShipped against adapter-core v0.6 and AI SDK v5. Surface stable; the structural `VercelGenerateTextFn` may expand if the AI SDK ships new request-side fields the adapter needs to pass through.\n","readmeFilename":"README.md"}