4066 Commits
Author SHA1 Message Date
David SFandAditya Vardhan 69ea1e5720 Bump genai-prices to 0.1.10 and keep tests passing on rich 15, dbos 3 and e2b 2.55 (#10077)
Co-authored-by: Aditya Vardhan <[email protected]>
clai2-bleeding
2026-10-10 09:18:50 -04:00
Douwe MaanandAditya Vardhan 38bf50ac55 Fix the CI failures on main: per-test budget, subprocess guard, and Docker Hub rate limit (#10080)
Co-authored-by: Aditya Vardhan <[email protected]>
2026-10-10 08:35:18 -04:00
Aditya VardhanandMarcelo Trylesinski 4c6fc3ce0a Support Python 3.15 (#10064)
Co-authored-by: Marcelo Trylesinski <[email protected]>
2026-10-09 23:30:25 -04:00
Douwe Maan 86d8f65865 Raise ModelAPIError when a 200 response from OpenAI Responses, Anthropic, Groq or OpenAI images has a text/plain body (#10065) 2026-10-09 14:29:38 -06:00
Mike Pfaffenberger 24baca87f5 Keep macOS MallocStackLogging noise from child processes out of the clai2 TUI (#10063) 2026-10-09 16:24:25 -04:00
Aditya VardhanandDouwe Maan 18a7211d0b Allow list-form tool_choice to name output tools, and accept static lists that include one (#8565)
Co-authored-by: Douwe Maan <[email protected]>
2026-10-09 14:23:14 -06:00
Douwe Maan 5857974f4d Apply auth to requests through MCPToolset(http_client=...) and stop closing the user-supplied client (#10051) 2026-10-09 14:22:13 -06:00
Douwe Maan be23a9774c Explain the Bedrock data retention opt-in when Claude Fable 5 / 5.1 reject the default mode (#10050) 2026-10-09 14:21:20 -06:00
Douwe Maan a68f1ad19b Classify xAI push-to-talk held-audio send failures and clears after a request's commit in the realtime simulator (#9857) 2026-10-09 14:06:55 -06:00
Douwe Maan c5ac2113dc Keep a send_audio() chunk whose send fails out of the realtime SpeechPart.audio recorded while it was sending (#10058) 2026-10-09 14:06:33 -06:00
Douwe Maan 1c96491fe8 Speed up CI by fixing the slowest tests, balancing shards by measured duration, and guarding test cost (#10054) 2026-10-09 14:05:31 -06:00
Mike Pfaffenberger 888a45b539 clai2: undo/redo in the input prompt (Cmd+Z / Ctrl+Z) (#10060) 2026-10-09 15:53:56 -04:00
Douwe Maan c0f6aad37b Cache prompts by default on every clai2 model with the unified cache setting (#10041) 2026-10-09 13:10:02 -06:00
Denys MoskalenkoandDavid Sanchez 7db7a4d8c4 Add an OpenAIDecisionsModel backend with image input (#9634)
Co-authored-by: David Sanchez <[email protected]>
v2.55.0
2026-10-09 14:05:45 -05:00
Douwe Maan 4e9d555f74 Raise earlier Anthropic cache breakpoints to a later, longer TTL so requests aren't rejected (#10057) 2026-10-09 13:04:26 -06:00
Douwe Maan 352b19899b Raise ModelAPIError for transport errors that escaped Google, Mistral, Cohere, Hugging Face, Anthropic, Groq and Bedrock (#9336) 2026-10-09 12:13:15 -06:00
Douwe Maan 1040a5abf8 Charge FallbackModel attempts once in SpendLimits when a failed continuation chain is retried (#10059) 2026-10-09 12:08:50 -06:00
Douwe MaanandMike Pfaffenberger 3bcf6318a9 Record errors clai2 handles as exceptions in Logfire (#9797)
Co-authored-by: Mike Pfaffenberger <[email protected]>
2026-10-09 12:00:40 -06:00
3742e5c52f Fix TextOutput JSON schema to infer the wrapped function's return annotation (#9652)
Co-authored-by: pydanty <[email protected]>
Co-authored-by: Douwe Maan <[email protected]>
2026-10-09 11:58:47 -06:00
Douwe Maan 943ade73a8 Add openai_live_idle_audio so text-only GPT-Live sessions work without a microphone (#9295) 2026-10-09 11:53:57 -06:00
Douwe Maan a24f76e509 Turn on prompt caching by default in harness Coder (#10040) 2026-10-09 11:43:09 -06:00
Douwe Maan 299bd60a76 Charge SpendLimits budgets for responses a FallbackModel rejected (#9792) 2026-10-09 11:28:46 -06:00
90051ef7f6 Fix merge_json_schema_defs corrupting branch schemas on transitive def-name collisions (#9735)
Co-authored-by: pydanty <[email protected]>
Co-authored-by: Douwe Maan <[email protected]>
2026-10-09 11:26:09 -06:00
Douwe Maan 512b80b493 Cache the instructions and tool definitions too when cache=True uses Anthropic's automatic caching (#10047) 2026-10-09 11:23:04 -06:00
Mike PfaffenbergerandDouwe Maan 5d7dedeeb3 List every module Monty can import in the CodeMode run_code description (#9315)
Co-authored-by: Douwe Maan <[email protected]>
2026-10-09 11:20:48 -06:00
PepijnandPepijn Mores f5d80a0fcc Count a file in a tool return as its See file reference, not its repr, in harness compaction (#9632)
Co-authored-by: Pepijn Mores <[email protected]>
2026-10-09 11:20:26 -06:00
107cac9ec0 Stop dynamic system-prompt re-evaluation from mutating caller-owned message history (#9627)
Co-authored-by: pydanty <[email protected]>
Co-authored-by: Douwe Maan <[email protected]>
2026-10-09 11:20:00 -06:00
Douwe Maan 60308f839d Keep streamed OpenAI Responses tool-call arguments when the done snapshot disagrees, instead of starting the part again (#10044) 2026-10-09 11:19:25 -06:00
678aa7f623 Fix ID-only tool call deltas emitting a null args fragment in AG-UI and Vercel AI adapters (#9724)
Co-authored-by: pydanty <[email protected]>
Co-authored-by: Douwe Maan <[email protected]>
2026-10-09 11:19:10 -06:00
Douwe Maan b7fdb4b134 Keep the live workspace on a settled StreamedRunResult.result (#10048) 2026-10-09 11:18:24 -06:00
d380fd3089 Fix retried Anthropic requests sending empty base64 image and PDF bytes (#10014)
Co-authored-by: pydanty <[email protected]>
Co-authored-by: Douwe Maan <[email protected]>
2026-10-09 11:16:50 -06:00
Douwe Maan ad14dc9ae0 Keep completed tool returns under parallel_ordered_events when a sibling raises or the run is cancelled (#10049) 2026-10-09 11:15:59 -06:00
Douwe Maan ab367913b9 Stop the realtime simulator checking usage after a session that ended on its own is closed (#9834) 2026-10-09 11:15:22 -06:00
Douwe Maan d972778d15 Reconnect xAI realtime sessions by replaying local history, since xAI conversation resumption drops typed user turns and tool calls (#9421) 2026-10-09 11:15:03 -06:00
Douwe Maan 4491e31581 Halve import pydantic_ai time by loading pydantic_ai.mcp only when an MCP capability needs it (#10046) 2026-10-09 11:14:40 -06:00
Aaron Weisberg 566ea13ef4 Keep the current request when a SlidingWindowCompaction receipt would take the only kept slot (#9719) 2026-10-09 10:06:47 -06:00
Douwe Maan d1696e53f5 Record each failed FallbackModel attempt with its model, timing, error and usage, and count rejected responses in RunUsage (#8745) 2026-10-09 10:05:18 -06:00
Eugenio "Jay" Zuccarelli 0fc199f7f2 Rewrite $refs under propertyNames and patternProperties when merging schema defs (#8805) 2026-10-09 10:02:30 -06:00
Douwe Maan 1de5f25fd7 Configure Azure AI Voice Live semantic VAD, end-of-utterance detection, noise suppression and echo cancellation (#9414) 2026-10-09 10:00:31 -06:00
Douwe Maan 9dc19d568a Seed message_history into a WebRTC call through answer_webrtc_offer (#9338) 2026-10-09 09:59:58 -06:00
Ambuj Upadhyay 7808126319 Stop EvaluationReport.render() and print() from parsing case, task and evaluator text as Rich markup (#9544) 2026-10-09 09:56:04 -06:00
Douwe Maan 7bca0161f3 Register a GPT-Live delegated tool call recorded in the next reply as a realtime simulator finding (#9861) 2026-10-09 09:54:59 -06:00
Douwe Maan 9e0099f70e Return a 422 instead of a 500 from Agent.to_web() for invalid chat requests (#10042) 2026-10-09 09:42:53 -06:00
Douwe MaanandClaude Opus 5.5 f87fcea390 Keep default run_id and conversation_id stable when a durable run is re-executed (#9701)
Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>
2026-10-09 09:42:00 -06:00
Douwe Maan 8a1c21aa8f Keep Logfire and OpenTelemetry export warnings out of the interactive clai2 terminal (#9796) 2026-10-09 09:41:17 -06:00
Douwe Maan 60aa2acbcd Take realtime history, usage, and reply waits from the session core on OpenAI, Azure OpenAI, and xAI (#9612) 2026-10-09 09:38:01 -06:00
Douwe Maan 858e67f679 Keep OpenAI Responses tool-call arguments that arrive only in function_call_arguments.done or output_item.done (#10039) 2026-10-09 15:36:42 +00:00
LI 49f3ef23c7 Catch overflowing Retry-After HTTP dates (#10023) 2026-10-09 09:34:14 -06:00
Aaron Weisberg df0e77c903 Reject whitespace-only SummarizingCompaction summaries instead of replacing history with an empty summary (#9748) 2026-10-09 09:33:18 -06:00
56d7f55370 Serialize FileUrl.media_type as null for extensionless URLs instead of raising (#8405)
Co-authored-by: pydanty <[email protected]>
Co-authored-by: Douwe Maan <[email protected]>
Co-authored-by: David Sanchez <[email protected]>
Co-authored-by: Douwe Maan <[email protected]>
2026-10-09 09:32:26 -06:00