Thesis
Every primitive an agent app needs.
Type-safety, validation, auth, MCP, composability, structured logging. Production-grade plumbing so you spend your time on the agent, not the boilerplate around it.
Types flow through every operation. The body shape at .to() is inferred from .from() and every transform in between.
Cron, webhook, MCP, IMAP, channel, file. Swap one line to change how a capability is invoked. The business logic is unchanged.
Set the source to mcp() and the capability becomes an MCP tool that Claude Desktop, Cursor, and any MCP client can call.
04Standard Schema validation
Bring Zod, Valibot, ArkType, or anything that speaks Standard Schema. Inputs validate before your code runs.
jwks() verifies bearer tokens. .authorize({ roles }) gates capabilities. userinfo hydrates the principal from your IdP.
direct() lets one capability call another with full type safety. Build a graph, test each node in isolation.
Every step emits structured events. Pipe them to your log aggregator, or watch them live in the built-in TUI.
Telemetry, AI, mail, custom adapters. Plugins extend the runtime without forking it.
The CLI runs TypeScript directly on Bun. Embed in any Node 22+ app via ContextBuilder.