Commit Graph

15638 Commits

Author SHA1 Message Date
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
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
can1357 4b8323b872 fix(natives): use Self for capture reference in desktop batch dispatch
- Clippy use_self violation introduced by the PR #6595 dispatch-closure refactor surfaced under -D warnings.
2026-07-26 15:48:29 +02:00
can1357 7420dfb1dc chore: normalized changelogs after merging 54 pull requests 2026-07-26 15:46:20 +02:00
can1357 4b0eb5a35e Merge PR #6650: feat(ai): report MiniMax Token Plan quota in usage (@everton-dgn) 2026-07-26 15:46:04 +02:00
can1357 351788f2f4 test(catalog): actually include the claimed tool_call:false fixture row
The fixture comment and PR body claimed a non-tool row exercised the
bedrock descriptor's tool_call filter, but every row had tool_call: true.
Add the row and assert the mapper drops it (verified non-vacuous: with
tool_call: true the row and its derived eu. variant survive mapping).
2026-07-26 15:46:04 +02:00
can1357 ea4597b024 Merge PR #6599: feat(catalog): add Claude Opus 5 entries for Amazon Bedrock (@k1riiiii) 2026-07-26 15:46:04 +02:00
can1357 0758245eeb docs(task): fix effort-omission and settings-snapshot wording per review
- effort row: omission keeps the agent's configured selector (auto only for
  agents configured auto, e.g. bundled task; scout/sonic use medium)
- Flow step 12: settings snapshot is not a verbatim copy — tier.* re-resolved
  via tier.subagent, plus per-spawn read-summarize / workspace-root overrides
2026-07-26 15:45:32 +02:00
can1357 8550a0af54 Merge PR #6597: docs: reconcile omp:// task/eval docs with 17.1.3 runtime (@roboomp) 2026-07-26 15:45:32 +02:00
can1357 f6e6ad5bea Merge PR #6617: docs(bash): document bundled jaq divergence (@roboomp) 2026-07-26 15:45:31 +02:00
can1357 713856c9e0 Merge PR #6557: fix(update): verify GitHub release asset and digest (@rvagg) 2026-07-26 15:45:31 +02:00
can1357 8df56b58d7 Merge PR #6595: fix(natives): settle macOS input before capture (@wolfiesch) 2026-07-26 15:45:31 +02:00
can1357 87bf250484 Merge PR #6606: fix(natives): preserve newer cache versions (@wolfiesch) 2026-07-26 15:45:31 +02:00
omp-eval 24e0497574 fix(tui): treat dot-relative anchors as multi-path signals in whole-path fallback
Codex review flagged that /tmp/a.png ./b shot.png slipped past the
interior-anchor guard (absolute prefixes only) and fused into one bogus
attach that swallows the paste. Add ./, ../ and .\ as second-path
anchors; bare relatives (dir/b shot.png) stay recoverable because an
interior token/ after a space is exactly the shape of a spaced
directory name (/Users/me/My Photos/shot 1.png). 4 tests pin both
sides of the boundary.
2026-07-26 15:45:31 +02:00
can1357 9000ab0ab3 Merge PR #6582: fix(tui): attach drag-dropped image paths with unescaped spaces (@rcbran) 2026-07-26 15:45:31 +02:00
can1357 c8cb3a1424 Merge PR #6471: fix(tui): keep full-width overlays above inline images (@oleksoleksoleks) 2026-07-26 15:45:30 +02:00
can1357 6eee23de4b Merge PR #6553: fix(tui): stop Ctrl+O expand truncating the session on ConPTY (@roboomp)
# Conflicts:
#	packages/tui/src/tui.ts
2026-07-26 15:45:30 +02:00
can1357 87c0aa38bb Merge PR #6558: fix(tui): make provider error blocks expandable via ctrl+o (@roboomp) 2026-07-26 15:45:10 +02:00
can1357 a6dfc78c73 Merge PR #6644: fix(utils): contain ptree timeout rejections (@roboomp) 2026-07-26 15:45:10 +02:00
can1357 9f0507c65c Merge PR #6662: fix(advisor): notify the user when a quarantined turn drops advice (@roboomp) 2026-07-26 15:45:10 +02:00
can1357 460cee4485 fix(coding-agent): propagate caller cancellation from threads aggregation
A cancelled/timed-out threads() call was swallowed by the per-session
catch and returned as a successful partial (or empty) list; rethrow when
the caller's signal is aborted, keeping best-effort handling for
individual adapter failures.
2026-07-26 15:45:10 +02:00
can1357 cc5f5a29a6 Merge PR #6665: fix(coding-agent): route js-debug commands to the stopped script child (@roboomp) 2026-07-26 15:45:09 +02:00
can1357 fb38343a89 Merge PR #6581: fix(utils): correct shell path config guidance (@roboomp) 2026-07-26 15:45:09 +02:00
can1357 e1cdacd89a Merge PR #6691: fix(stt): resolve Windows workspace sherpa addon (@roboomp) 2026-07-26 15:45:09 +02:00
can1357 90c2142eee fix(secrets): document $$HASH$$ placeholder format in system prompts 2026-07-26 15:45:09 +02:00
can1357 b646234c41 Merge PR #6646: fix(secrets): avoid hashline placeholder collisions (@roboomp) 2026-07-26 15:45:09 +02:00
can1357 d1dc436d1e Merge PR #6596: fix(coding-agent): preserve Claude computer coordinates (@wolfiesch)
# Conflicts:
#	docs/computer-use.md
#	packages/coding-agent/src/tools/computer.ts
#	packages/coding-agent/test/tools/computer.test.ts
2026-07-26 15:44:51 +02:00
can1357 4892f48493 Merge PR #6618: fix(coding-agent): source auth-gateway catalog from ModelRegistry (@roboomp) 2026-07-26 15:41:31 +02:00
omp-eval c8b37c8d2e fix(plugins): return bare Kitty delete sequences from legacy pi-tui shim
Upstream Pi's deleteKittyImage/deleteAllKittyImages return unwrapped control
sequences; legacy callers such as pi-sprite wrap tmux passthrough themselves.
Aliasing OMP's auto-wrapping encodeKittyDeleteImage (and hand-wrapping
deleteAllKittyImages) double-wrapped under tmux, so the outer terminal dropped
the delete command. Match the upstream bare-sequence contract and pin it in
the regression test.
2026-07-26 15:41:31 +02:00
can1357 5905ec0430 Merge PR #6507: fix(plugins): restore pi-sprite legacy compatibility (@roboomp) 2026-07-26 15:41:31 +02:00
can1357 9b8715ee78 Merge PR #6493: fix(coding-agent): bypass extension guards during shutdown (@roboomp) 2026-07-26 15:41:31 +02:00
can1357 60b0968e1f Merge PR #6484: fix(coding-agent): resume agent after /tree ask re-answer (@roboomp) 2026-07-26 15:41:31 +02:00
can1357 525173615c Merge PR #6500: fix(coding-agent): count only rendered skills in /context accounting (@roboomp) 2026-07-26 15:41:30 +02:00
can1357 0a83d9f364 Merge PR #6570: fix(plan-mode): prefer newest draft during review (@roboomp) 2026-07-26 15:41:30 +02:00
can1357 e1b607f9ee Merge PR #6584: fix(coding-agent): re-export estimateTokens from legacy pi shim (@roboomp) 2026-07-26 15:41:30 +02:00
can1357 bc5b660d19 Merge PR #6649: fix(coding-agent): restore legacy pi automode compatibility (@roboomp) 2026-07-26 15:41:30 +02:00
can1357 1ebe2cc63a Merge PR #6608: fix(coding-agent): handle vibe session commands safely (@roboomp) 2026-07-26 15:41:30 +02:00
can1357 97ea63920b fix(coding-agent): keep bun/npm routing for regular-file entries on Windows
Bun's global bin entry on Windows is a regular-file .exe shim, not a
symlink, so the standalone-binary override would have rerouted a
legitimate bun-managed install to in-place binary replacement and
clobbered the shim. Gate the override on POSIX, where package-manager
bin entries are always symlinks; add a regression test.
2026-07-26 15:41:30 +02:00
can1357 e0c26cc262 Merge PR #6527: fix(coding-agent): self-update binary install when its dir overlaps npm/bun bin dir (@am423) 2026-07-26 15:41:29 +02:00
can1357 5aa599f9ac fix(cli): treat cleared (empty-string) credentials as unset in config list
The settings panel persists "" when a credential is cleared and renders
that as unset; config list now uses the same semantics instead of
masking the empty string as a configured credential.
2026-07-26 15:41:29 +02:00
can1357 a0f03309a9 Merge PR #6588: fix(cli): redact credential settings in config list (@wolfiesch) 2026-07-26 15:41:29 +02:00
can1357 18bd043c86 fix(cli): keep CLI --models scope pinned and defer scoped thinking with the role
The #6694 deferral must not apply when the scope comes from the --models
flag: createAgentSession re-resolves the default role against
settings.enabledModels only and never sees parsed.models, so leaving
options.model unset let a saved out-of-scope default silently escape an
explicit CLI scope. Pin scopedModels[0] for CLI scopes as before.

When the default role IS deferred (settings-derived scope), also skip
seeding options.thinkingLevel from scopedModels[0]'s explicit suffix —
explicit options win in createAgentSession and would override the
re-resolved role's own thinking selector.
2026-07-26 15:41:29 +02:00
can1357 57bfdbc4c1 Merge PR #6698: fix(cli): defer out-of-scope default role so extension models resolve (@roboomp) 2026-07-26 15:41:29 +02:00
can1357 56a8ab1413 Merge PR #6697: fix(coding-agent): match bash deny/prompt patterns per command segment (@roboomp) 2026-07-26 15:41:28 +02:00