Commit Graph

4167 Commits

Author SHA1 Message Date
Luis Pater
91c934f68b feat(responses): support local shell tool translation
- Map local shell tool declarations and tool choice to synthetic function calls
- Normalize shell call and output history items into chat completion tool messages
- Convert upstream tool calls back to `shell_call` output items in stream and non-stream responses
- Validate shell action arguments and handle invalid input errors

Closes: #4812
2026-10-03 20:21:28 +08:00
sususu98
0594a632d9 Merge pull request #6318 from router-for-me/feat/antigravity-caqs-signature-replay
feat(antigravity): support Claude 5.5 CAQS thinking signature replay
2026-10-03 17:42:56 +08:00
sususu
174248ca71 fix(antigravity): reject ambiguous CAQS signature wrappers 2026-10-03 17:40:47 +08:00
sususu
9b9c2bdf54 feat(antigravity): support Claude 5.5 CAQS thinking signature replay 2026-10-03 17:31:27 +08:00
sususu
8a945b3fb8 fix(antigravity): restore Claude 4.6 model definitions 2026-10-03 17:24:51 +08:00
Luis Pater
d7914afded fix(codex): expand integer field normalization mappings for tools
- Add integer field paths for memories, history, notes, web, and collaboration tool schemas
- Support nested property paths and union types in parameter schema normalization

Closes: #6255
v8.0.13
2026-10-03 17:01:12 +08:00
Luis Pater
2c1dcc7c8b fix(claude): include web search sources in codex request when search tool is present
- Include `web_search_call.action.sources` in Codex request `include` field when Claude web search tools are detected

Closes: #6312
2026-10-03 16:25:14 +08:00
Luis Pater
a3b77566ad fix(codex): publish main usage before image tool usage in execute
- Publish primary model usage prior to image tool usage during response execution

Closes: #6311
2026-10-03 16:14:51 +08:00
Luis Pater
ed4d972ef0 fix(responses): complete reasoning summary stream lifecycle events
- Emit `response.reasoning_summary_part.added` event on reasoning item initialization
- Include `item_id` and `summary_index` in reasoning summary text delta events
- Emit summary text done and part done events upon thought step completion
- Consolidate reasoning summaries into a single completed summary block

Closes #6309
2026-10-03 16:05:49 +08:00
Luis Pater
ea8ffd5f92 fix(devin): stream content early and defer thought stop for late signatures
- Allow early content streaming for OpenAI formats while preserving ordering behind queued tools
- Defer thought step termination and accumulate signature fragments for OpenAI Responses format
- Flush deferred reasoning step stops when closing open stream steps

Closes: #6306
2026-10-03 15:53:39 +08:00
Luis Pater
d4692663be fix(auth): snapshot auth before unlocking during registration and update
- Snapshot scheduler auth copy while holding mutex lock to prevent concurrent mutation race with `MarkResult`

Closes: #6300
2026-10-03 15:16:34 +08:00
Luis Pater
42d484f9a2 fix(claude): map request timeout status to timeout_error
- Map `http.StatusRequestTimeout` (408) to Claude `timeout_error` response type

Closes: #6298
2026-10-03 15:03:44 +08:00
sususu
6b037f614c fix(antigravity): use actual Claude 5.5 high model IDs 2026-10-03 14:41:09 +08:00
sususu
c575291ad3 fix(antigravity): align Claude 5.5 token limits with upstream catalog 2026-10-03 14:22:45 +08:00
sususu
e3abd9ae8e fix(antigravity): replace retired Claude 4.6 models with 5.5 2026-10-03 14:21:39 +08:00
Luis Pater
5dbce4f3fb perf(claude): prefilter JSON payloads before diagnostic walks
- Add ASCII pre-filter to skip expensive gjson traversals for title helper and 1h TTL checks
- Check raw bytes for target keywords before initiating full JSON walks
- Fall back to full inspection when printable ASCII Unicode escapes are detected

Closes: #6291
2026-10-03 10:48:07 +08:00
Luis Pater
2044a01f42 fix(codex): preserve web search sources in responses request include
- Retain `web_search_call.action.sources` alongside `reasoning.encrypted_content` in Codex request include field
- Avoid payload re-encoding when include array is already normalized

Closes: #6251
v8.0.12
2026-10-03 04:03:55 +08:00
Luis Pater
e6f6f26ad5 fix(claude): handle pause_turn stop reason in responses translation
- Map Claude `pause_turn` stop reason to incomplete status with null incomplete details
- Switch stop reason evaluation to normalized lowercase matching

Closes: #6250
2026-10-03 03:30:53 +08:00
Luis Pater
c163bae4bc fix(auth): preserve terminal unauthorized state and prevent unsafe refresh retry
- Avoid retrying Claude token refresh on ambiguous transport or decoding errors to protect single-use tokens
- Block selection and unschedule refresh for credentials when both access token is rejected and refresh encounters `invalid_grant`
- Prevent in-flight request completions or cooldown clears from reviving terminal unauthorized credentials
- Allow manual force refresh to bypass terminal unauthorized checks

Closes: #6288
2026-10-03 03:19:06 +08:00
Luis Pater
0fb50a18c3 feat(management): inject auth indexes into v8 api-keys config
- Synthesize and populate live `auth_index` attributes into V8 `api-keys` responses
- Strip transient `auth_index` and `auth-index` fields from incoming update payloads and root nodes before persistence
- Ensure `auth_index` keys are omitted during V8 config transformations

Closes: #6287
2026-10-03 02:32:15 +08:00
Luis Pater
6d57ac9087 fix(claude): pin session date in cloaked reminder to prevent prompt cache invalidation
- Pin local date to continuity context on the first request of a session
- Reuse pinned session date during cloaked date injection across execute and stream flows
- Prevent midnight calendar date flips from invalidating conversation prompt cache prefixes

Closes: #6282
2026-10-03 00:28:35 +08:00
Luis Pater
d306f2c56d fix(codex): retain template freeform apply_patch capability by default
- Retain `freeform` apply_patch tool type for native template models when `enable-apply-patch` is false
- Update client configuration documentation for `client.codex.enable-apply-patch`

Closes: #6286
2026-10-03 00:01:42 +08:00
Luis Pater
8348923a17 feat(pluginhost): add host routing reset cooldown callback
- Add `MethodHostRoutingResetCooldown` RPC callback to plugin ABI and host dispatcher
- Introduce `HostRoutingResetCooldownRequest` and `HostRoutingResetCooldownResponse` in plugin API
- Reset credential quota and cooldown routing state in memory without persisting to token files

Closes: #6274
2026-10-02 23:32:32 +08:00
Luis Pater
e2bff0107b Merge pull request #6285 from sususu98/feat/antigravity-connection-debug-trace
feat(antigravity): trace upstream connection reuse in debug logs
v8.0.11
2026-10-02 22:42:50 +08:00
hkfires
3be5fa44f9 fix(config): support historical v8 aliases
Accept historical v8 config paths and request bodies while saving the
latest canonical layout. Preserve comments on scalar updates and keep v0
saves from migrating legacy-only files unnecessarily.
2026-10-02 22:36:37 +08:00
hkfires
52d5507dd3 feat(config): add shared upstream provider settings
Move shared Codex, Claude, and xAI provider options under upstream so
they apply consistently to OAuth and API-key credentials. Migrate
historical OAuth paths, preserve OAuth-only header scope, and expose the
new upstream management API path.
2026-10-02 22:36:35 +08:00
sususu
d7c3c0aaaa feat(antigravity): trace upstream connection reuse in debug logs 2026-10-02 22:13:24 +08:00
Luis Pater
8fbf152b5b fix(executor): preserve top-level responses token usage when service tier is present
- Fall back to top-level token usage when Codex response usage contains only service tier metadata
- Propagate parsed service tier while retaining top-level token counts
- Avoid early return during stream usage observation for chunks with zero token counts

Closes: #6261
2026-10-02 16:01:23 +08:00
Luis Pater
30aa1f1200 test(executor): relax connection reuse bounds in transport tests
- Allow connection count slack for concurrent wave dials to prevent flakiness under load
- Assert strictly against unpooled worst case instead of fragile lower bounds on connection count

Closes: #6259
2026-10-02 15:36:10 +08:00
Luis Pater
5ec3144299 fix(gemini): handle split usage metadata and max tokens in responses translation
- Track cumulative usage snapshots from `usageMetadata` and `cpaUsageMetadata` across stream chunks
- Defer terminal response event emission until usage frames arrive or the stream ends
- Map `MAX_TOKENS` finish reason to `response.incomplete` status and incomplete output item states

Closes: #6258
2026-10-02 15:21:46 +08:00
Chén Mù
6fecc6e556 Merge pull request #6271 from router-for-me/gemini
Suppress redundant logging and optimize Gemini signature handling
v8.0.10
2026-10-02 11:00:47 +08:00
hkfires
2783e10c59 fix(executor): publish antigravity stream usage first 2026-10-02 10:58:36 +08:00
hkfires
cf3102cc03 refactor(executor): optimize translation logic and improve plugin invocation handling 2026-10-02 10:58:36 +08:00
hkfires
9f35c1dcda refactor(signature): improve logging and sanitize logic for Gemini signatures 2026-10-02 10:58:36 +08:00
hkfires
f3fd2f232d fix(signature): suppress routine Gemini bypass logs 2026-10-02 10:58:36 +08:00
Kenny
028f6a191a docs(readme): refresh provider models and add Muse Code and Devin (#6118)
* docs(readme): refresh provider models and add Muse Code and Devin

* docs(readme): update GPT-6.1 Sol and Claude Sonnet 5.5

---------

Co-authored-by: kdcokenny <kdcokenny@users.noreply.github.com>
2026-10-02 10:30:03 +08:00
Luis Pater
63c04b4bd4 feat(config): introduce client configuration section for codex settings
- Add `ClientConfig` and `CodexClientConfig` structs to `SDKConfig`
- Move `optimize-multi-agent-v2` and add `enable-apply-patch` under `client.codex`
v8.0.9
2026-10-02 05:34:30 +08:00
Luis Pater
3ebee06516 fix(interactions): bridge apply_patch tool calls in responses translation
- Handle apply_patch custom tool call streaming deltas and snapshots for Responses API translation
- Track and resolve step indexes, function call identities, and error states across stream events
- Propagate apply_patch tool input errors and upstream failure states in stream and non-stream responses
2026-10-02 03:49:51 +08:00
Luis Pater
fd48ea6840 Merge pull request #6252 from ggbdpq/fix/xai-grok-client-version-bump
fix(xai): bump pinned grok client version to 1.0.44 for chat-proxy
v8.0.8
2026-10-01 11:31:34 +08:00
ggbdpq
b467a83c0f fix(xai): bump pinned grok client version to 1.0.44 for chat-proxy
xAI raised the minimum accepted x-grok-client-version on
cli-chat-proxy.grok.com, so every xAI OAuth chat request through the CLI
chat-proxy failed with HTTP 426 ("Your Grok CLI version (0.2.120) is
outdated"). /v1/models is not gated, so discovery looked healthy while
inference was dead.

Bump the pin to the current stable Grok CLI version (1.0.44) and record
the observed server floor in the constant's comment. Both
x-grok-client-version and the derived User-Agent ship from this one
constant.

Regression tests lock three things: the pinned version meets the known
server floor (red against 0.2.120), the two identity headers stay
derived from the same constant, and the per-auth `header:*` custom
header override still wins over the pin - the documented operator
escape hatch when xAI ratchets the floor again.

Closes #6249

Generated-by: GLM-5.3-Flash (ZCode)
2026-10-01 06:14:37 +08:00
Luis Pater
97f244b8dd fix(codex): pass target executor to compatibility translation and token counting
- Pass target executor identity during Codex token counting and xAI request translation
- Skip tool integer normalization when target executor is Codex during compatibility translation
- Preserve number types in tool parameter schemas during token counting requests
v8.0.7
2026-10-01 03:06:59 +08:00
Luis Pater
9e71c20d01 fix(codex): handle upstream stream disconnect before first payload as bad gateway
- Return Bad Gateway error when Codex upstream stream closes before emitting any payload
- Allow failover to subsequent credentials on premature stream disconnect before output
- Map HTTP 408 Request Timeout status to server_error in base error response handlers

Closes: #6247
2026-10-01 02:51:19 +08:00
Luis Pater
67cb32b6d3 fix(codex): determine tool integer normalization by target executor identity
- Base tool integer normalization checks strictly on target executor identity rather than protocol
- Add executor-aware translation helpers to pass target executor identity during request translation
- Ensure non-Codex executors normalize tool integer types for Codex clients regardless of protocol
2026-10-01 02:26:02 +08:00
Luis Pater
a8ffd5a843 fix(codex): skip tool parameter integer normalization for codex executor targets
- Skip normalizing tool parameter number types to integer when the target executor is Codex or Codex WebSocket
- Remove tool integer type normalization from schema cleanup in native Codex execution paths to preserve reserved tool schemas
- Apply tool integer type normalization only for non-Codex upstream targets with Codex client User-Agents

Closes: #6244
v8.0.6
2026-10-01 02:04:49 +08:00
Luis Pater
82f8e92b21 fix(executor): support negotiated ALPN protocols in uTLS client
- Select HTTP/2 or HTTP/1.1 transport dynamically based on TLS ALPN negotiation
- Route empty ALPN and HTTP/1.1 requests through a dedicated non-pooled transport reusing the handshaken connection
- Ensure uTLS connections are cleanly closed upon response completion or request failure

Closes: #6223
2026-10-01 00:47:24 +08:00
Luis Pater
e5b5a1cfca fix(kimi): reorder interleaved tool outputs in responses input
- Defer intervening non-tool messages until all batch tool outputs are emitted to keep outputs contiguous
- Apply responses input normalization across standard and streaming executor execution paths

Closes: #6231
v8.0.5
2026-09-30 23:39:28 +08:00
Luis Pater
4b4a444880 fix(claude): normalize boolean subschemas in tool parameter schemas
- Convert `true` boolean subschemas to empty object schemas `{}` for OpenAPI upstream compatibility
- Preserve boolean `false` schemas and boolean `additionalProperties` values

Closes: #6230
2026-09-30 23:20:47 +08:00
Luis Pater
bfa5aed4ea fix(home): defer plugin load marking and preempt failing config on retry
- Defer plugin load marking until status push finalization
- Allow home config worker to dequeue and apply the latest queued payload during retry loops

Closes: #6225
2026-09-30 22:53:57 +08:00
Supra4E8C
097511b81f fix(management): remove deprecated credential quota endpoints from v8 API 2026-09-30 22:52:07 +08:00
Luis Pater
71a5f1f6c5 fix(codex): normalize tool parameter number types to integer for codex clients
- Detect Codex client requests via User-Agent and convert target numeric parameters to integer types
- Support schemas across OpenAI functions, Claude input schema, Gemini declarations, and namespace tools
- Apply normalization during executor payload processing, multi-agent request translation, and WebSocket streaming

Closes: #6237
2026-09-30 22:27:18 +08:00