TypeScript Agent Framework, the Pydantic AI way
Build production-grade AI agents with type-safe tools, dependency injection, structured output, and first-class testing.Why Vibes?
- Type-safe tools + Dependency injection - Every tool parameter is validated at runtime with Zod. Carry databases, HTTP clients, and config via
RunContextthrough the entire call chain. Noanytypes, no global state. - Automatic retries + Cost control - Vibes retries on validation failure and enforces token budgets and request limits to keep costs in check.
- Structured output + Streaming - Define a Zod schema, get back a typed object or stream typed partial objects to the client as they arrive.
- Testing + Evals - the only way to ship AI to production - Unit-test every agent in CI with
TestModelandsetAllowModelRequests(false)(no real API calls). Then go further with typed eval datasets, built-in and LLM-as-judge evaluators, and experiment runners with configurable concurrency. Evals are code - they live in your repo, run in CI, and catch regressions before they reach users. - Model-agnostic - Switch between Anthropic, OpenAI, Google, Groq, Mistral, Ollama, and 50+ providers by changing one line.
- OpenTelemetry observability - Every run emits OTel spans, events, and token usage metrics. Works with Jaeger, Honeycomb, Datadog, and any OTel-compatible backend.
- Durable agents + MCP, AG-UI, A2A - Run long-lived agents that survive crashes and restarts with Temporal. Connect to MCP servers and build AG-UI and A2A agents out of the box.