Tools as Zod schemas
Every tool's input is a Zod schema. The model's output is parsed and validated. Invalid output triggers a repair prompt with bounded retries, not silent failure.
Schema-validated function calling, per-tool rate limits, observable traces, bounded retry budgets. The engineering view of /ai-agents — same studio, deeper plumbing.
No retry budget, no cost cap, no schema validation, no per-tool rate limit. The first user with adversarial input or a flakey tool triggers a runaway loop, and your inference bill goes vertical. Production agents are 80% guardrails, 20% prompt.
Every tool's input is a Zod schema. The model's output is parsed and validated. Invalid output triggers a repair prompt with bounded retries, not silent failure.
Maximum N tool calls per session, M retries per tool. The runtime kills the loop when either budget exhausts. The user gets a graceful fallback.
OpenTelemetry spans on every model call and tool invocation. You can replay any session as a trace tree — input, output, retries, cost, latency.
Adding a tool runs the agent eval suite end-to-end. If the new tool breaks an existing flow, the PR doesn't merge.