Wrap a Vercel AI SDK tool's execute so the agent's warrant is enforced before it runs.
execute function the model can invoke. Enforcement belongs inside execute: confirm the warrant, then act. One wrap adds scope, spend caps, rate limits, revocation, and audit — without changing how you define tools.
import { tool } from 'ai';
import { createClient, guardTool } from 'liceat';
const decide = createClient({ gateway: 'https://liceat.com' }).decider();
const pay = guardTool(decide, { resource: 'pay:stripe/charge', action: 'pay',
amount: a => a.cents, currency: 'USD' }, async (a) => stripe.charge(a));
tool({ description: 'Charge a card', parameters,
execute: (args) => pay(agentWarrant, args) }); // throws WarrantDenied if not permitted
Liceat is permission infrastructure for AI agents. You issue a warrant — a scoped, spend-capped, revocable token — that grants an agent narrow authority; the agent presents it at the point of action; Liceat enforces it (scope, spend, rate, holder-binding, revocation) and records every decision in a tamper-evident log. It is open source with a zero-dependency SDK for TypeScript and Python.
The SDK and self-hosted gateway are free and open source. The hosted gateway at liceat.com gives 10,000 free decisions with no card, then meters at fractions of a cent per decision — payable by card or USDC.
Free to self-host. 10,000 free decisions on the hosted gateway — no card.
Get an API key Read the docs