What's Changed
🚀 Features
- Let
TypeSafeModelfill a tool's arguments when Jev can express them by @DouweM in #8501 - Add
RealtimeSession.wait_for_playback()and let the docs examples finish the reply before closing by @DouweM in #8141 - Add
supports_text_outputtoModelProfile, and runLLMJudgeandGEvalon a model without it by @DouweM in #8480 - Add
typesafe_boolean_thresholdfor what a yes/no has to be before it isTrueby @DouweM in #8505 - Let
TypeSafeModelfill a union of output types by choosing the type first by @DouweM in #8481 - Add
event_stream_topictoTemporalDurabilityto stream agent events via Workflow Streams by @brianstrauch in #6639 - Describe an
Enum's options by its member docstrings when it mixes inUseEnumMemberDocstringsby @DouweM in #8479 - Add a
Choiceshelper for a set of described options built at run time by @DouweM in #8530
🐛 Bug Fixes
- Refuse more options than Jev can pick from in
TypeSafeModelby @DouweM in #8484 - Record a failed
ToolReturnPartwhen a realtime tool raises, and keep a tool call and its speech in oneModelResponseby @DouweM in #8135 - Dispatch tool calls with the live
ToolDefinitioninCombinedToolsetandFunctionToolsetby @adtyavrdhn in #8082 - Allow adaptive thinking with tool output and forced tool choice on Bedrock by @pydanty in #7967
- Fix gateway IDs being misclassified as OpenAI o-series models by @DouweM in #8512
- Keep late realtime input transcripts attached to the user turn they belong to by @DouweM in #8139
- Lay the first-run banner out for the terminal's actual width by @DouweM in #8517
- Raise
ModelRetrywhenweb_fetch_toolgets a URLhttpx2rejects as invalid by @DouweM in #8521 - Price realtime responses so
usage.costandUsageLimits.cost_limitwork in a session by @DouweM in #8136 - Re-arm coverage for code already seen when the dataclass walk resumes it by @DouweM in #8438
New Contributors
- @brianstrauch made their first contribution in #6639
Full Changelog: v2.45.0...v2.46.0