@scopeblind/vercel-ai
v0.1.0
Published
Ed25519 signed receipts for Vercel AI SDK tool calls
Maintainers
Readme
@scopeblind/vercel-ai
Ed25519 signed receipts for Vercel AI SDK tool calls. Hooks into experimental_onToolCallStart / experimental_onToolCallFinish to sign every tool invocation.
Install
npm install @scopeblind/vercel-aiQuick start
import { generateText } from 'ai';
import { openai } from '@ai-sdk/openai';
import { createReceiptConfig, withReceipts } from '@scopeblind/vercel-ai';
const rc = createReceiptConfig({
issuer: 'my-agent',
privateKey: process.env.SCOPEBLIND_KEY, // Ed25519 hex seed (optional)
});
const result = await generateText({
model: openai('gpt-4o'),
tools: { weatherTool, searchTool },
...withReceipts(rc),
prompt: 'What is the weather in Sydney?',
});
console.log(`${rc.receiptCount} tool calls signed`);
rc.exportJsonl('./receipts.jsonl');Verify:
npx @veritasacta/verify receipts.jsonl --key <public-key-hex>With a policy
const rc = createReceiptConfig({
issuer: 'my-agent',
policy: (toolName, args) => {
if (toolName === 'database_write') return 'deny';
return 'allow';
},
});Standards
- Ed25519 (RFC 8032), JCS (RFC 8785), IETF draft-farley-acta-signed-receipts
License
MIT
