When to use each approach
agent.tools.*
The generated SDK attaches typed wrappers under agent.tools.* for every integration declared in the agent’s skills. Use them when you want a deterministic call inside an agentic handler.
agent.tools.* is generated by terse generate based on your connected integrations. The wrappers are fully typed, so your editor autocompletes tool names, parameter shapes, and return types. Note: agent.tools.* is scoped to integrations declared in the agent’s skills. If you need unfiltered access from code, use toolbox instead.
toolbox.*
Code generation exports a toolbox object alongside agent.tools.*. It exposes the same typed integration methods, but you do not need a TerseAgent, and it is not filtered by skills. Use it when you only want deterministic tool calls.
Mixing deterministic and agentic calls
The real power is combining both in a single workflow. Use deterministic calls for predictable operations and hand off to the model when you need reasoning.Available deterministic tools
Every integration you connect generates deterministic wrappers. Runterse generate to see what’s available in your project. Common examples:
Where to go next
Context as Code
How
terse generate creates typed helpers from your workspace.TypeScript SDK reference
Full reference for
toolbox.*, agent.tools.*, and more.