Commit Graph
7572 Commits
Author SHA1 Message Date
can1357 2c355102ce chore: applied biome formatting to merged sources 2026-07-16 03:52:48 +02:00
can1357 fd54f897f4 merged PR #5419: fix(acp): await teardown on stdio disconnect
# Conflicts:
#	packages/coding-agent/src/modes/acp/acp-mode.ts
2026-07-16 03:50:06 +02:00
can1357 3a75368b92 fix(images): preserve replay and transcript invariants 2026-07-16 03:48:59 +02:00
can1357 93cc1fed1c merged PR #5417: fix(openai): render native response images
# Conflicts:
#	packages/coding-agent/src/modes/components/chat-transcript-builder.ts
#	packages/coding-agent/test/agent-session-skill-keywords.test.ts
2026-07-16 03:48:21 +02:00
can1357 34f8eb70f0 fix(tui): honor ends during plan review reflow 2026-07-16 03:44:10 +02:00
can1357 37d38e1485 merged PR #5444: fix(tui): preserve Plan Review scroll position
# Conflicts:
#	packages/coding-agent/src/modes/components/plan-review-overlay.ts
2026-07-16 03:44:10 +02:00
can1357 7363684cb6 merged PR #5453: fix(browser): bound tab teardown waits
# Conflicts:
#	packages/coding-agent/src/tools/browser/registry.ts
#	packages/coding-agent/src/tools/browser/tab-supervisor.ts
2026-07-16 03:43:17 +02:00
can1357 5c9fa528c7 test(coding-agent): cover nested output priority 2026-07-16 03:41:51 +02:00
can1357 0533ec005f merged PR #5462: fix(coding-agent): resolve agent:// slash form for nested subagent output
# Conflicts:
#	packages/coding-agent/src/prompts/system/system-prompt.md
2026-07-16 03:41:51 +02:00
can1357 5641722ec2 merged PR #5554: fix(session): skip ssh paths during streaming edit pre-cache
# Conflicts:
#	packages/coding-agent/src/session/agent-session.ts
2026-07-16 03:35:05 +02:00
can1357 f39c1ce103 merged PR #5412: fix(tui): anchor IME candidates in interactive inputs 2026-07-16 03:32:04 +02:00
can1357 b3bf0ab4ae merged PR #5415: fix(editor): accept upstream-pi editor constructor in CustomEditor 2026-07-16 03:32:04 +02:00
can1357 056c53189e merged PR #5421: fix(tui): use Nerd Fonts v3 session icon 2026-07-16 03:32:04 +02:00
can1357 1678607617 fix(eval): preserve column truncation metadata 2026-07-16 03:32:03 +02:00
can1357 a049ed4ca7 merged PR #5422: fix(tools): stop column cap from faking window truncation 2026-07-16 03:32:03 +02:00
can1357 217678bfd8 fix(tui): discard deferred output after session changes 2026-07-16 03:32:03 +02:00
can1357 e0c717e07f merged PR #5427: fix(tui): defer command output during streaming 2026-07-16 03:32:03 +02:00
can1357 17a38cefaf fix(cli): guard scoped plugin verb aliases 2026-07-16 03:32:02 +02:00
can1357 ad036c0965 merged PR #5436: fix(cli): guard documented marketplace verbs from launch leak 2026-07-16 03:32:01 +02:00
can1357 8e80eae501 merged PR #5438: fix(tui): guard plugin tool renderer components against render crashes 2026-07-16 03:32:01 +02:00
can1357 f9cc18c45a fix(tools): skip incompatible image providers 2026-07-16 03:32:01 +02:00
can1357 a3283a157c merged PR #5443: fix(tools): prefer active image provider and fall back 2026-07-16 03:32:01 +02:00
can1357 a55e4b1a7b fix(model-resolver): preserve fuzzy literal thinking suffixes 2026-07-16 03:32:01 +02:00
can1357 0b6ce1d185 merged PR #5447: fix(model-resolver): strip thinking suffix before fuzzy model match 2026-07-16 03:32:01 +02:00
can1357 ebaed59dda fix(tui): preserve deferred alternate exit 2026-07-16 03:32:00 +02:00
can1357 2a05d36be5 merged PR #5476: fix(tui): prevent stale-buffer flicker 2026-07-16 03:32:00 +02:00
can1357 015d575231 fix(auth): preserve dialog paste routing 2026-07-16 03:31:59 +02:00
can1357 46f811bf86 merged PR #5484: fix(auth): mount login dialog input for paste-code fallback URL 2026-07-16 03:31:59 +02:00
can1357 b16aa7a815 fix(skills): refresh interactive skill commands 2026-07-16 03:31:59 +02:00
can1357 3601692c8d merged PR #5515: fix(skills): reload runtime skill state 2026-07-16 03:31:59 +02:00
can1357 8760c6367f merged PR #5574: fix(tui): stabilize streamed table scrollback 2026-07-16 03:31:59 +02:00
can1357 6356873927 fix(web-search): reuse supplied registry auth 2026-07-16 03:31:58 +02:00
can1357 c098e8679d merged PR #5601: fix(web-search): honor configured xAI transport 2026-07-16 03:31:58 +02:00
can1357 6783c3a473 merged PR #5573: fix: disable eager tool streaming for custom Anthropic endpoints 2026-07-16 03:31:57 +02:00
can1357 ac0f9f795f docs(advisor): clarify terminal blocker routing 2026-07-16 03:31:56 +02:00
can1357 b3ac21a2e1 test(advisor): cover terminal blocker continuation 2026-07-16 03:31:56 +02:00
can1357 6c45f5a63a merged PR #5631: fix(advisor): steer late blocker after terminal answer 2026-07-16 03:31:56 +02:00
can1357 61cb9cb4e3 merged PR #5562: fix(discovery): root Codex config.toml MCP command/cwd at config dir 2026-07-16 03:31:55 +02:00
can1357 dfd90b6203 merged PR #5619: fix(tui): render keyed hook statuses separately 2026-07-16 03:31:55 +02:00
roboomp aff195a91c fix(advisor): arm immune window only when a turn is steered
`#recordAdvisorInterruptDelivered()` ran before the plan-mode and ACP-defer
preserve branches, so a blocker that was merely preserved (never interrupting
or starting a turn) still armed the post-interrupt immune window. With the
default `advisor.immuneTurns = 3`, the next three turns' concerns/blockers
were then downgraded to skip-idle-flush asides and could again be deferred.

Move the cooldown arm below every preserve branch so it fires only on the
actual steer/trigger path.

Fixes #5628
2026-07-15 23:26:03 +00:00
roboomp 581bfed6b5 fix(advisor): preserve terminal blocker when ACP defers agent turns
An idle ACP session sets `deferAgentInitiatedTurns`, so a steered terminal
blocker routed through `sendCustomMessage({ triggerTurn: true })` was buried
in `#pendingNextTurnMessages` instead of starting a turn — invisible and
deferred to the next user prompt, the exact regression #5628 avoids.

`#routeAdvice` now preserves the blocker as a visible card when a turn cannot
auto-trigger (idle + ACP defer without an explicit allow), folding the
existing plan-mode preserve branch into the same guard.

Fixes #5628
2026-07-15 23:20:35 +00:00
roboomp 54df76be81 fix(advisor): steer late blocker after terminal answer
A late interrupting advisor note delivered after the primary ended with a
terminal text answer (no queued work) was routed to `preserve` for every
severity, so a `blocker` flagging a mistake in the final output became a
passive card that the model ignored until the next user turn.

Scope the terminal-answer preserve rule to non-blocker severities: a
`blocker` now steers a triggered turn so the primary acknowledges and
continues before the turn is considered done, while a late `concern` still
preserves as a visible card (keeps the #4840 no-duplicate-completion path).

Fixes #5628
2026-07-15 23:12:42 +00:00
roboomp f512d99614 fix(tool): strip leading colon before Windows path shapes
expandPath's leading-colon strip only fired before POSIX prefixes
(`/`, `~/`, `./`, `../`), so Windows-mangled inputs like `:C:\repo\file`
or `:.\src` slipped through and path.resolve treated them as relative
children of cwd. The omp grep subcommand is the Windows grep path, so it
hit the common Windows form of the same bug.

Broaden the lookahead to admit `\` separators, `.\`/`..\` relatives, and
drive-letter absolutes (`[A-Za-z]:`). Add expandPath regression tests
for the Windows forms and the bare-token non-strip cases.

Fixes #5624
2026-07-15 22:25:44 +00:00
roboomp e291d77cb0 fix(tool): routed omp grep CLI path through expandPath
The `omp grep` subcommand resolved its path argument with a bare
`path.resolve` in `runGrepCommand`, bypassing `expandPath`. The
leading-colon strip from #5529 never fired, so `:/abs/path` was
mangled into `<cwd>/:/abs/path` and failed to resolve.

Route the path arg through `expandPath` so it inherits the leading-`:`
strip plus `@`-prefix, tilde, and unicode-space normalizations, matching
`read`/`edit`/in-agent `grep`.

Fixes #5624
2026-07-15 22:17:35 +00:00
roboomp 34b4598918 fix(tui): rendered keyed hook statuses separately
Rendered each keyed extension status on an independently truncated line while preserving deterministic key ordering.

Added narrow-width regression coverage for multiple extension status keys.

Fixes #5617
2026-07-15 21:07:05 +00:00
roboomp 188985eb0f fix(models): isolated provider header defaults
- Resolved provider headers only from static and runtime provider overrides.
- Kept unrelated per-model header overrides out of native tool requests.
- Added regression coverage for xAI model-scoped tenant headers.

Fixes #5599
2026-07-15 17:53:47 +00:00
can1357 d25d9300ed chore: fixed remaining stale tests after prompt and session api changes
- coordination advisory now points at hub, not irc
- eval description renders 'Allowed:' list instead of removed default-agent prose
- task description no longer renders spawn-policy text; assert agent-list filtering instead
- issue-2750 mock session gained getEnabledToolNames (renamed session api)
2026-07-15 19:50:46 +02:00
roboomp 91b67c7b0f fix(web-search): honored configured xai transport
- Routed native xAI Responses search through configured provider base URLs and headers.
- Kept endpoint credentials coupled and rejected official OAuth tokens for custom endpoints.
- Added proxy routing and credential-leak regression coverage.

Fixes #5599
2026-07-15 17:44:30 +00:00
can1357 c2a659df34 chore: fix stale tests 2026-07-15 19:16:41 +02:00
can1357 46ad908245 fix(coding-agent): renamed settings keys to avoid nested-value lookup collisions
- Updated schema and runtime paths to use `dev.autoqaConsent` and `todo.remindersMax`, including auto-QA consent reads/persistence and todo reminder limit checks.
- Adjusted settings expectations so obsolete BM25-discovery keys were dropped on load and `tools.xdev` now kept its default unless explicitly set.
- Added/updated tests for the setting key migration and refreshed issue-consent flows, plus a new `refreshMCPTools` test for steered `xdev-mount-notice` updates without prompt rebuilds.
2026-07-15 19:08:37 +02:00