- 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
responsesAPI - inspect lifecycle events or a Devtools trace
- persist the returned run and resume after a human decision
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.