Commit Graph

16238 Commits

Author SHA1 Message Date
usr-bin-roygbiv eeb542b2ef fix(advisor): stop provider fallback on native compaction failure
(cherry picked from commit c636aa6be3f12eed9475bb2e1aa6a03749049523)
2026-07-30 01:42:19 +02:00
usr-bin-roygbiv 0c31095d34 fix(agent): skip V2 retries for compaction auth errors
(cherry picked from commit 07a54771834435b7897208ab9d6d42401f0203e1)
2026-07-30 01:42:06 +02:00
usr-bin-roygbiv b927da95e6 fix(agent): preserve native compaction error precedence
(cherry picked from commit 3b1c1a420132485ac4f5a4803615a70d1e05c794)
2026-07-30 01:42:06 +02:00
usr-bin-roygbiv 3abf17e7b9 fix(compaction): stop cross-provider native fallback
(cherry picked from commit 01455dc1e681e385d0a46e64a72009364e8f510e)
2026-07-30 01:42:06 +02:00
usr-bin-roygbiv 4c2b40f8b3 fix: preserve streaming compaction auth errors
(cherry picked from commit 6fe25c6a08e169a15fca057a56e1ce36f46bc641)
2026-07-30 01:42:06 +02:00
usr-bin-roygbiv 2fe31c61b6 fix: preserve native compaction auth errors
(cherry picked from commit ab8a823e1de425735825392db7d98b33905f0dc3)
2026-07-30 01:42:06 +02:00
usr-bin-roygbiv a8349d4dea fix: retain native compaction auth fallback
(cherry picked from commit 164d77ee90ed109b62ed7f1b6afcf644d26abe12)
2026-07-30 01:42:06 +02:00
Roy 5ce80fdedc fix: preserve provider-native compaction semantics
(cherry picked from commit 426ac1e147c08092c7d0b6c4a7af5f2e09eaf941)
2026-07-30 01:42:06 +02:00
can1357 091f670ea0 style: apply biome formatting to merged changes 2026-07-30 01:28:07 +02:00
can1357 038d8372d7 chore: normalize changelogs after merging open fixes 2026-07-30 01:27:44 +02:00
can1357 d3dc42c369 Merge PR #6734: fix(ai): omit unsupported Google enum values (@usr-bin-roygbiv) 2026-07-30 01:27:35 +02:00
usr-bin-roygbiv 47ac33aa1f fix(ai): inspect snake-case schema children
(cherry picked from commit 41590a873ca838f9ac3b54e1008fd7c97424c3d3)
2026-07-30 01:27:35 +02:00
usr-bin-roygbiv 6dcd28c302 fix(ai): preserve negated enum semantics
(cherry picked from commit c96aa0d61445de12597abf76c397ce5f9707bcb8)
2026-07-30 01:27:35 +02:00
usr-bin-roygbiv b9b17a6cbc docs: keep enum fix unreleased
(cherry picked from commit c90b6302e8e7eab30f5a0c635e6373bae1fdc90d)
2026-07-30 01:27:35 +02:00
usr-bin-roygbiv b8c5f1544e style(ai): format schema traversal fix
(cherry picked from commit ffa704ed0abdd6f27d0ce56d8c97ccd64d025010)
2026-07-30 01:27:35 +02:00
usr-bin-roygbiv 2ee5a10923 fix(ai): preserve CCA literal payloads
(cherry picked from commit b026a96326e3d7df89771f3224476dc37eeeaa9c)
2026-07-30 01:27:35 +02:00
usr-bin-roygbiv 05d5b8c12d style(ai): format schema normalization
(cherry picked from commit aee3d7e5e26c3a5cb3e950266a2561ece4b1d20c)
2026-07-30 01:27:35 +02:00
usr-bin-roygbiv 34069920a6 fix(ai): normalize map value schemas
(cherry picked from commit 836951121076394b775771b29070f1022d7591c7)
2026-07-30 01:27:34 +02:00
usr-bin-roygbiv 2f579e1ac1 fix(ai): preserve literal schema payloads
(cherry picked from commit 3631bc5bd0a27eabb774bf800e0144523d25a55b)
2026-07-30 01:27:34 +02:00
usr-bin-roygbiv d17ae32b1d fix(ai): preserve enum keys in Google schema defaults
(cherry picked from commit 226f00efb3c330f5ed6b0583c4b65e2fa75b9f5b)
2026-07-30 01:27:34 +02:00
Roy 16e03728f0 fix(ai): omit unsupported Google enum values
(cherry picked from commit 6cc7916f9ff508ee0864229fe83a3c31a585f832)
2026-07-30 01:27:34 +02:00
can1357 ee83520a22 Merge PR #4484: Umans usage provider (@hpost) 2026-07-30 01:27:25 +02:00
can1357 55ac64679e Merge PR #6652: feat(ai): add Exa API key login (@will-bogusz) 2026-07-30 01:26:50 +02:00
can1357 4e1f70bf7d Merge PR #6647: feat(ai): add xAI API key login (@paralin) 2026-07-30 01:26:50 +02:00
can1357 4a05d02f01 test(extensions): cover session async job wiring
(cherry picked from commit e79cc9e79a68b53332eb6ca04f2e555e25d1b7e0)
2026-07-30 01:26:50 +02:00
can1357 5486c8fd1d Merge PR #6939: feat(extensions): expose session async job snapshots (@usr-bin-roygbiv) 2026-07-30 01:26:50 +02:00
can1357 da794ebb24 Merge PR #6938: feat(coding-agent): allow checkpoint/rewind/learn/manage_skill in subagents when explicitly requested (@szavadsky) 2026-07-30 01:26:49 +02:00
can1357 0249fa4715 Merge PR #7036: feat(rpc): expose live fast-mode control and token throughput (@fredluz) 2026-07-30 01:26:49 +02:00
can1357 07ed00ae22 Merge PR #7028: fix(ai): bound Anthropic retry-after waits (@metaphorics) 2026-07-30 01:26:49 +02:00
can1357 65f3743622 feat(coding-agent/session): supported importing session compactions in Codex session store
- Support parsing compacted records with replacement history and conversion to compaction entries.
- Add test coverage for foreign session import of Codex session compactions.
2026-07-30 01:13:37 +02:00
can1357 f11641d5a8 feat(coding-agent): enabled importing foreign sessions from claude and codex
- Implemented session stores and metadata converters to import Claude and Codex sessions into OMP.
- Added `--from-claude` and `--from-codex` CLI flags and `/resume` command arguments for foreign session resolution.
- Updated session selector components and controllers to support listing and picking external agent sessions.
- Added comprehensive unit tests and documentation covering foreign session import functionality.
2026-07-30 00:28:40 +02:00
can1357 47d3317d32 feat(ai): reserved code_mode_tool_names and preserve encrypted_function_args
- Reserve the `code_mode_tool_names` metadata key to prevent caller-supplied client extra collisions.
- Preserve the `encrypted_function_args` plaintext-collaboration marker on replayed function calls.
2026-07-30 00:00:37 +02:00
can1357 93eb95b3b1 chore: rewrite changelogs 2026-07-29 23:34:04 +02:00
can1357 eab5b50834 feat(ai): added parentTurnId support and capture turn-state refreshes in Codex
- Added first-class `parentTurnId` stream option and reserved metadata key for nested Codex requests.
- Captured `x-codex-turn-state` refreshes from `response.metadata` event headers in WebSocket and streaming sessions.
2026-07-29 23:33:29 +02:00
can1357 b7cd8c6582 Merge remote-tracking branch 'origin/main' 2026-07-29 23:19:45 +02:00
can1357 6fb922e5ca style: format codex zstd test 2026-07-29 23:10:58 +02:00
can1357 f2251b7d59 chore: normalize changelogs and formatting after merging open fixes 2026-07-29 23:09:40 +02:00
can1357 6527671c3a fix(lsp): sanitize expanded generic output
(cherry picked from commit 1260d0633a5fb533c492f272ee500fec60c46e22)
2026-07-29 23:09:14 +02:00
can1357 2adf484ef1 Merge PR #7042: fix(lsp): handle quick exits before reader teardown (@roboomp) 2026-07-29 23:09:13 +02:00
can1357 a459878b1e test(ai): cover bare-string Devin system prompt
(cherry picked from commit aa2087a480995e89cc1586e30542131a26db0ff8)
2026-07-29 23:09:13 +02:00
roboomp dca8f44b73 fix(lsp): handled quick exits before reader teardown
Waited briefly for process exit publication after clean stdout EOF so the process handler preserves the real exit code and stderr, while genuine reader errors still tear down immediately.

Cleared only the matching initialization failure for explicit reloads and added regressions for quick exits, reader errors, ordinary backoff, and immediate reload retries.

Fixes #7041

(cherry picked from commit a76522b759f14421202d4cc437ec611b78be20d1)
2026-07-29 23:09:13 +02:00
can1357 3e379410b4 Merge PR #7038: fix(ai): normalize bare-string systemPrompt in bedrock and devin (@roboomp) 2026-07-29 23:09:12 +02:00
can1357 abf4f3eda8 Merge PR #7033: fix(ai): classify bare resource_exhausted as MODEL_CAPACITY (@roboomp) 2026-07-29 23:09:12 +02:00
roboomp 5578a2203b fix(ai): normalize bare-string systemPrompt in bedrock and devin
buildSystemPrompt hand-rolled systemPrompt?.map(...) and devin's request
builder called (context.systemPrompt ?? []).join(...); both crash when
Context.systemPrompt is a bare string, as legacy @earendil-works/pi-ai
extensions remapped onto the fork pass it. The failure surfaced as
stopReason "error" with "systemPrompt?.map is not a function".

Route both through the existing normalizeSystemPrompts() helper, which
already accepts readonly string[] | string, matching the other providers.

Fixes #7037

(cherry picked from commit d681de5daa7e3316f118e6fb4cf8805ec5318c32)
2026-07-29 23:09:12 +02:00
roboomp ca8fcb25b8 fix(ai): strip every bare resource-exhausted token
parseConnectEndStream repeats the default status phrase in the message
body, so the trailer reads "resource_exhausted: resource exhausted".
Using a global strip removes both occurrences, so the leftover
"exhausted" no longer trips the generic quota branch and reintroduces
the 30-minute credential block for an otherwise bare status.

Fixes #7032

(cherry picked from commit 3d46a042c649e3892d9c68abbc3789a7719f0667)
2026-07-29 23:09:11 +02:00
roboomp f144f5db36 fix(ai): preserved quota details on resource exhaustion
Stripped the resource_exhausted status token before classifying the
remaining provider message. Bare or opaque status errors still use the
short model-capacity backoff, while explicit quota, rate-limit, capacity,
or server details remain authoritative.

Added regression coverage for a Connect resource_exhausted trailer with
an explicit quota-exceeded body.

Fixes #7032

(cherry picked from commit ee04c065692e34ccabe1a07b45b5f5987297ff84)
2026-07-29 23:09:11 +02:00
roboomp 3c7ffa3e08 fix(ai): classify bare resource_exhausted as MODEL_CAPACITY
Connect/gRPC end-streams carry the status name `resource_exhausted`
(underscore), but parseRateLimitReason only matched the space phrase
"resource exhausted" in its MODEL_CAPACITY branch. The underscore form
fell through to the generic includes("exhausted") catch-all and was
classified QUOTA_EXHAUSTED, producing a 30-min credential block and the
retry.maxDelayMs fail-fast at the session layer.

Match both forms via /resource.?exhausted/i, consistent with the
existing resource.?exhausted clause in USAGE_LIMIT_PATTERN, which is left
untouched so stream/session credential rotation is preserved.

Fixes #7032

(cherry picked from commit bc18cbb5b9bcf5c2bf41dc494581ae31061fcfcb)
2026-07-29 23:09:11 +02:00
can1357 672857d238 Merge PR #7025: fix(coding-agent): coalesce models config resource probe (@paralin) 2026-07-29 23:09:10 +02:00
Christian Stewart a43c7a4d36 fix(coding-agent): coalesce models config resource probe
The models config resource regression started two cold child processes inside one five-second test. Under parallel CI chunk load, the second child could still be waiting for pipe drain or process exit after the validator had completed.

Keep the process boundary as the owner of the lifecycle measurement and run the missing and custom phases in one child. The missing phase closes its storage and registry before the baseline snapshot, while the custom phase proves schema identity and retention without changing config loading or validator cleanup semantics.

Signed-off-by: Christian Stewart <christian@aperture.us>
(cherry picked from commit 81fa98491544c7fbcbf075922889e0a9e1a0a3b4)
2026-07-29 23:09:10 +02:00
can1357 5711b763e0 docs(auth): align remaining credential ladders
(cherry picked from commit c606fe3a106611be413f140310ee47a88324cded)
2026-07-29 23:09:09 +02:00