Commit Graph

14660 Commits

Author SHA1 Message Date
can1357 bf8e07ae1b Merge PR #6733: fix(coding-agent): safely glob memory directories (@usr-bin-roygbiv) 2026-07-27 04:58:26 +02:00
can1357 03d9b7f048 fix(coding-agent): canonicalized config paths in failure-safety test injections
The lock-race and EPERM regression tests compared injection predicates
against the uncanonicalized temp config path, but the atomic writer
resolves it via realpath; on macOS /var -> /private/var made the mocks
never fire and both tests failed. Compared against the realpath instead.
2026-07-27 04:58:26 +02:00
can1357 4aa5d0b6b2 Merge PR #6726: fix(coding-agent): prevented invalid configs from being overwritten (@Ant39140) 2026-07-27 04:58:25 +02:00
can1357 350cc6c0d1 perf(catalog): skipped global reference enrichment on provider-local hits 2026-07-27 04:58:25 +02:00
can1357 d64eba7187 Merge PR #6746: perf(catalog): lazily materialize provider models (@usr-bin-roygbiv) 2026-07-27 04:58:25 +02:00
can1357 a83ab0dddc Merge PR #6713: fix(catalog): derive kimi-code output caps per family (@roboomp) 2026-07-27 04:58:25 +02:00
can1357 b485b902ab Merge PR #6645: fix(ai): avoid OAuth barrel import cycle (@usr-bin-roygbiv) 2026-07-27 04:58:25 +02:00
can1357 d7ce99b907 Merge PR #6744: perf(ai): lazily construct auth broker wire schemas (@usr-bin-roygbiv) 2026-07-27 04:58:25 +02:00
can1357 4be05b373a Merge PR #6722: fix(auth-broker): revalidate fresh snapshot caches (@Git-on-my-level) 2026-07-27 04:58:25 +02:00
can1357 679d26a71f Merge PR #6721: fix(ai): preserve Kimi Code cache affinity (@usr-bin-roygbiv) 2026-07-27 04:58:24 +02:00
can1357 955ee4ce34 fix(ai): honored non-official compat signing classification for interleaved beta
Provider ids (ZenMux mirrors) and explicit compat.signingEndpoint spec
overrides on opaque proxies now qualify alongside URL-recognized signing
routes; stale-official compat and the Vertex/Copilot header exclusions
are preserved (#6717).
2026-07-27 04:58:24 +02:00
can1357 bf7441ed96 Merge PR #6718: fix(ai): send interleaved beta through signing proxies (@roboomp) 2026-07-27 04:58:24 +02:00
can1357 9d76e168ba Merge PR #6706: fix(ai): preserve custom Anthropic web-search history (@roboomp) 2026-07-27 04:58:24 +02:00
Roy 54ae233ebc refactor(catalog): centralize provider cache IDs 2026-07-27 01:25:13 +00:00
Roy ef21aae4f6 test(catalog): measure lazy constructor RSS 2026-07-27 01:05:53 +00:00
Roy 8cef3ab94d test(catalog): probe reference enrichment directly 2026-07-27 00:50:02 +00:00
Roy ce79d59cd5 style(catalog): apply project formatting 2026-07-27 00:48:01 +00:00
usr-bin-roygbiv 19fdbe2835 perf(ai): lazily construct auth broker wire schemas 2026-07-27 00:46:39 +00:00
Roy 773a0aee6d perf(catalog): materialize bundled models per provider 2026-07-27 00:43:15 +00:00
Roy 6b348471d9 test(catalog): cover lazy provider materialization 2026-07-27 00:36:56 +00:00
usr-bin-roygbiv 49d5145fff fix(coding-agent): preserve encoded memory glob bases 2026-07-26 21:33:13 +00:00
usr-bin-roygbiv 19beceb00a test(ai): cover both public OAuth barrels 2026-07-26 21:05:10 +00:00
usr-bin-roygbiv 57f006abd5 Merge commit '403931b9687012ec83754e0826b7d97f551e5a17' into fix/pi-ai-responses-order-aware-pairing 2026-07-26 20:58:41 +00:00
usr-bin-roygbiv 6b65fd2996 fix(coding-agent): preserve question-mark memory globs 2026-07-26 20:58:33 +00:00
usr-bin-roygbiv 2e8e107e2b Merge remote-tracking branch 'origin/main' into agent/kimi-provider-optimization 2026-07-26 20:57:43 +00:00
Ant39140 d68c9dadf9 fix(coding-agent): rejected configs quarantined during startup 2026-07-27 03:49:51 +08:00
Ant39140 20d96304f2 fix(coding-agent): prevented invalid configs from being overwritten
- Treated missing files separately from malformed or unreadable configs.
- Backed up malformed YAML and wrote settings atomically without dropping pending changes.
- Reported success only after saving, with regression tests for global and project configs.
2026-07-27 03:26:40 +08:00
can1357 403931b968 docs(changelog): documented windows built-in shell fallback in 17.1.4
- Recorded the scoop/no-bash startup fix (No bash shell found) in pi-utils
  and pi-coding-agent 17.1.4 sections, which were finalized before the fix
  commit landed on the release.
2026-07-26 21:00:39 +02:00
Git-on-my-level 263126cb5c test(auth-broker): assert canonical rejection class 2026-07-26 18:27:47 +00:00
can1357 f8dbb3669f feat(utils): implemented windows shell resolution for bash execution
- Added resolveWindowsShell to locate Git Bash, scoop installs, and path binaries with a fallback to cmd.exe.
- Updated bash-executor to prevent wrapping user commands in cmd.exe when using fallback shell paths.
- Updated installation script to report optional shell status rather than failing when bash is absent.
2026-07-26 20:27:16 +02:00
Git-on-my-level 98d25e3c67 fix(auth-broker): retain cache resilience on server errors 2026-07-26 18:24:56 +00:00
Hermes DevOps Bot 3a73349d93 fix(auth-broker): revalidate fresh snapshot caches 2026-07-26 18:05:30 +00:00
Roy ff76dfd298 docs(ai): clarify Kimi cache identity normalization 2026-07-26 17:20:24 +00:00
Roy 2d71251188 fix(ai): preserve Kimi cache affinity 2026-07-26 16:57:28 +00:00
Roy 90cb91489e fix(coding-agent): safely glob memory directories 2026-07-26 16:36:47 +00:00
Roy 3e0ec9daec fix(ai): respect Responses replay pair order 2026-07-26 16:33:24 +00:00
roboomp 8a0cb21092 fix(ai): excluded copilot urls from interleaved http beta
- Excluded effective github-copilot URLs from the interleaved beta path so custom-provider and rerouted Copilot hosts don't send the rejected header.
- Covered a custom provider on a Copilot host omitting the beta.

Fixes #6717
2026-07-26 16:03:56 +00:00
roboomp 6c254ca4f1 fix(ai): classified interleaved beta by effective endpoint
- Classified known signing proxies from the resolved request URL instead of materialized model compat.
- Excluded Vertex rawPredict by URL regardless of provider id.
- Covered canonical-model reroutes and custom-provider Vertex routes.

Fixes #6717
2026-07-26 15:58:12 +00:00
roboomp 5c3a7d8d5f fix(ai): excluded vertex rawpredict from interleaved http beta
- Gated the signing-endpoint interleaved beta on non-vertex providers so Vertex rawPredict keeps body-only betas.
- Asserted the google-vertex adaptive path omits the anthropic-beta HTTP header.

Fixes #6717
2026-07-26 15:48:54 +00:00
roboomp dc86bc2e15 fix(ai): sent interleaved beta through signing proxies
- Sent the interleaved-thinking beta for adaptive models on recognized non-official signing endpoints.
- Covered signing and non-signing proxy header behavior.
- Documented the replay failure fix in the AI changelog.

Fixes #6717
2026-07-26 15:42:24 +00:00
can1357 6d2a8de1bb chore: bump version to 17.1.4 2026-07-26 17:01:19 +02:00
can1357 cba08d803c chore: bump models 2026-07-26 17:00:56 +02:00
roboomp b008bfc34d fix(catalog): invalidate stale kimi-code cache rows
Bump CACHE_SCHEMA_VERSION to 12 so upgrades drop cached kimi-code rows
carrying the pre-fix blanket maxTokens=32000. Without this, offline or
fresh-cache refreshes never re-run the discovery mapper, and the
discovery-only k3-256k (absent from the bundle) is not reconciled by
static-fingerprint handling, so the wrong cap persisted until a network
refresh.

Fixes #6711
2026-07-26 14:48:47 +00:00
roboomp b09b82946b fix(catalog): derive kimi-code output caps per family
kimi-code discovery mapModel and the bundled catalog hardcoded
maxTokens=32000 for every model, truncating k3/k3-256k output at ~4x
below their real 131072 ceiling and kimi-for-coding[-highspeed] below
32768. Add kimiCodeMaxTokens() (k3* -> 131072, kimi-for-coding* ->
32768, else fallback), wire it into the discovery mapper and the
generator cap policy, and correct the bundled kimi-code entries.

Fixes #6711
2026-07-26 14:41:32 +00:00
can1357 5a6334a508 fix(ai): surfaced inactive Claude scoped weekly limits in omp usage
- Stopped dropping /usage limits[] entries with is_active: false. Anthropic marks only the currently binding limit active (an account pinned at a 100% Fable cap reports its 77% shared weekly row as inactive), so is_active signals severity, not bucket existence; filtering on it rendered real utilization as "not reported". Exhaustion gating unchanged: tier rows still hard-block only at confirmed 100% with a future reset.
- Moved the Claude Code fingerprint constants into the leaf module providers/claude-code-fingerprint (star re-exported from providers/anthropic, import paths unchanged). Fixes the providers/anthropic -> stream -> registry -> registry/oauth/anthropic init cycle that TDZ-crashed on claudeCodeVersion whenever providers/anthropic was the first module loaded, which blocked the covering test file.
2026-07-26 16:12:51 +02:00
can1357 c4ef6bbaee docs(utils): changelog entry for shellPath cache masking fix 2026-07-26 16:09:24 +02:00
can1357 aaa31eca32 fix(utils): surface invalid shellPath even when a shell config is cached
- getShellConfig returned the module cache before validating customShellPath, so a broken configured shell was silently masked once any earlier caller resolved a shell in the same process; PR #6581's settings-manager tests exposed the ordering under the full suite.
- A differing valid customShellPath now rebuilds the cached config instead of being ignored.
2026-07-26 16:06:19 +02:00
can1357 741b32b773 refactor(agent): drop unused beforeSteeringPoll hook left over from gate split
setBeforeSteeringPoll/#beforeSteeringPoll had no callers anywhere at the PR
head (the pre-model-call gate moved to #6543, which does not reference it).
Restores hasSteeringMessages to its synchronous baseline form.
2026-07-26 15:55:40 +02:00
can1357 0d3fd6197c Merge PR #6544: feat(agent): wake steering on an event instead of polling for it (@paralin) 2026-07-26 15:55:40 +02:00
can1357 b622601499 fix(ai): exclude output lifecycle status from Responses delta prefix identity
- PR #6513 strips status from sanitized replay items, which made buildResponsesDeltaInput's strict prefix compare treat raw response output items as history mutations and break previous_response_id chaining on every websocket continuation.
- Prefix identity now ignores the status field on both sides; regression covered by the existing openai-codex-stream websocket delta tests.
2026-07-26 15:55:16 +02:00