Skip to content

v0.16.0

Latest

Choose a tag to compare

@seratch seratch released this 15 Aug 03:07
· 2 commits to main since this release
d988dc5

Key Changes

Deterministic SDK testing utilities

This release adds provider-neutral testing utilities through @openai/agents/testing, @openai/agents-core/testing, @openai/agents/realtime/testing, and @openai/agents-realtime/testing. ScriptedModel, scriptedSandboxSession(), and ScriptedRealtimeTransport let applications exercise runner, sandbox, and Realtime workflows without live model, sandbox, WebRTC, or WebSocket dependencies. Existing runtime entry points and defaults remain unchanged.

Standard Schema inputs and outputs

Tools, handoffs, and agent structured outputs now accept supported Standard Schema values alongside Zod and raw JSON Schema. The schema must provide synchronous ~standard.validate behavior plus ~standard.jsonSchema.input() and ~standard.jsonSchema.output(), and generated schemas must have an object root. Standard Schema function-tool parameters require strict mode; use a Zod schema, raw JSON Schema, or application-side validation for unsupported cases.

Safer run, provider, and Realtime behavior

CallModelInputFilter can opt into stable prepared-item identity with preserveInputIdentity = true; default filters continue to receive deep copies, and the SDK does not freeze opted-in items. The release also tightens interruption snapshots, max-turn finalization, invalid tool-output redaction, Responses parallel-tool-call forwarding, Chat Completions reasoning placement, Realtime audio-rate fallback, and unsupported assistant-audio history replay handling.

What's Changed

  • feat: add scripted testing utilities by @seratch in #1640
    • fix: detach Manifest snapshots in scripted sandbox calls by @seratch in #1658
    • fix: detach scripted model stream snapshots by @seratch in #1657
  • feat: support Standard Schema inputs and agent outputs by @seratch in #1648
    • fix: avoid redundant Standard Schema validation by @seratch in #1656
  • feat: preserve model input identity by @seratch in #1654
  • fix(core): isolate interruption result arrays by @seratch in #1659
  • fix(core): align Responses parallel tool calls with tools by @seratch in #1660
  • fix(core): reject partially matched stacked diff anchors by @seratch in #1655
  • fix(core): apply stacked diff anchors sequentially by @seratch in #1649
  • fix(core): redact invalid typed tool output diagnostics by @seratch in #1662
  • fix(core): detach RunState interruption snapshots by @seratch in #1664
  • fix(core): finalize max-turn handler session output by @seratch in #1663
  • fix(mcp): keep cached tool arrays private by @seratch in #1681
  • fix(chat-completions): keep Chat Completions reasoning on its assistant message by @thegoodengineer in #1669
  • fix(sandbox): snapshot sandbox HTTP event sink headers by @seratch in #1661
  • fix(sandbox): describe granted view_image paths by @seratch in #1678
  • fix(realtime): reject unsupported audio history replay by @sylvesterkaczmarek in #1665
  • fix(realtime): handle non-finite audio rates by @seratch in #1680
  • fix(extensions): forward strict settings through the AI SDK by @Maksim963 in #1643

Documentation & Other Changes

  • docs: updates for v0.15.0 release by @seratch in #1610
  • chore: update versions by @github-actions[bot] in #1644

New Contributors

Full Changelog: v0.15.0...v0.16.0