Skip to main content
Use the Phaseo Agent SDKs when your application needs more than one-shot generation:
  • multi-step tool loops
  • local runtime tools
  • gateway-backed model turns
  • resumable application-owned run state
  • exact-call approvals, human-in-the-loop tools, manual tools, and resumable continuation
  • runtime validation, progress-producing tools, and recoverable tool errors
  • streamed model output with replayable event consumers
  • dynamic turn configuration, composable stop conditions, and normalized usage/cost
  • model retries, tool timeouts, bounded tool concurrency, and lifecycle events
  • local Phaseo Devtools capture
  • consistent request routing across the same languages as the core client SDKs

Supported languages

The current Agent SDK language set matches the primary client SDK set exposed in Phaseo quickstart:

Common model

Each Agent SDK keeps the same runtime model:
  • define one agent
  • define zero or more local tools
  • create a gateway-backed model client
  • run a bounded loop over the responses API
  • inspect lifecycle events or a Devtools trace
  • persist the returned run and resume after a human decision
TypeScript is the reference API design. Python, Go, C#, PHP, and Ruby expose the broader cross-language contract using language-native callbacks, concurrency, timeout, and cancellation primitives. Rust is a supported synchronous runtime with local and external tools, exact-ID approvals, human review, model retries, serializable run state, lifecycle callbacks, and usage aggregation. Java and C++ remain work in progress.
The Rust Agent SDK is published as phaseo-agent. It does not yet include streaming, async execution, concurrent local tools, runtime schema validation, or Devtools capture.

Cross-language capability contract

PHP and Ruby expose provider stream events through their normal synchronous iteration APIs. They do not require a hosted runtime or a background Phaseo service.

Client SDK, Agent SDK, and API

Agent SDK gateway adapters delegate model turns to the matching Client SDK. Languages with a requestOptions or equivalent hook can pass additional Responses API fields through while the Agent SDK continues to own model, input, instructions, and local function tools. The Rust 0.1 adapter currently sends the normalized agent fields without an additional request-options hook.

Recipes

The cookbook includes TypeScript workflows and language-specific starting points:
Last modified on July 26, 2026