Commit Graph

14235 Commits

Author SHA1 Message Date
Mathews-Tom ebca062175 fix(coding-agent): expect allowAskReopen in merged tree-summary navigateTree assertions
Upstream's shift+enter summarize-and-switch test file (f33465a97, brought in
by the upstream/main merge) asserts navigateTree's options literally, but
this PR's ask-reanswer flow always passes allowAskReopen: true. Update the
NavigateTree mock type and the four call assertions to match.
2026-07-19 15:15:58 +05:30
Mathews-Tom f2338da9a3 fix(coding-agent): match tree-selector onSelect(entryId, options) contract in ask-reanswer test
Upstream's shift+enter pre-answer feature (merged via upstream/main) changed
TreeSelectorComponent's onSelect callback to accept a second (options)
parameter carrying summarize state. The pickEntry() test helper still called
onSelect with a single argument, so options.summarize threw undefined-object
errors once merged.
2026-07-19 15:05:03 +05:30
Mathews-Tom ab1d7db7d1 Merge remote-tracking branch 'upstream/main' into feat/tree-ask-reanswer
# Conflicts:
#	packages/coding-agent/src/modes/controllers/selector-controller.ts
2026-07-19 15:02:33 +05:30
can1357 9fd6e97113 chore: bump version to 17.0.5 2026-07-18 23:51:40 +02:00
can1357 546dce7638 chore: update changelogs 2026-07-18 23:51:15 +02:00
can1357 2bdcdb6277 Merge remote-tracking branch 'origin/farm/ce405561/launch-windows-daemons-spawn-visible-cmd' 2026-07-18 23:50:34 +02:00
roboomp 5b6e8db2d7 fix(launch): hid daemon broker window on Windows
Applied the console-aware launch policy in the original OMP process before spawning the broker. The broker now inherits the caller's console state instead of probing a detached console it created itself.
2026-07-18 21:42:58 +00:00
roboomp 382f932d53 fix(launch): hid Windows daemon console windows
Applied console-aware spawn options to both non-PTY daemon paths. Windows children now stay attached when the host has a console and use CREATE_NO_WINDOW only for headless hosts.

Fixes #6018
2026-07-18 21:35:04 +00:00
can1357 ac8e9e05bb fix(utils): made runtime module resolver uninstallable
installRuntimeModuleResolver patched Module._resolveFilename process-wide
with no way back. In the shared bun test process the leaked patch broke
createRequire relative requires for every later test file (Bun 1.3.14 calls
a JS _resolveFilename override with parent === undefined, so './x' resolves
'from ""'), failing legacy-pi-inplace-load only in full-suite runs.

The installer now returns an uninstaller that drops the registration and
restores the pristine resolver when no runtime roots remain; the known Bun
limitation is documented so the patch stays scoped to worker runtimes.
2026-07-18 22:17:04 +02:00
can1357 29aefbca4a test: restored read-tool context-expansion contract tests
The exact-bounds rewrite matched reverted PR #5812; the ±context expansion
(1 leading + 3 trailing line) around explicit selectors is intended behavior
so edit anchors at range boundaries stay fresh.
2026-07-18 22:05:14 +02:00
can1357 8f2cd23e39 Revert "Merge PR #5812: fix(read): honor exact line selector bounds (@roboomp)"
This reverts commit 58c71d5b50, reversing
changes made to 7c7227bc8e.
2026-07-18 22:04:43 +02:00
can1357 32dc282517 test: aligned read-tool and logout tests with landed contracts
- tools.test.ts still asserted the pre-#5812 ±context expansion for offset/
  limit and archive-entry reads; updated to the exact-bounds contract.
- selector-controller-logout.test.ts mocked the old modelRegistry.refresh;
  #5786 switched logout to a provider-scoped refreshProvider(id, 'online'),
  so the mock never resolved and the test timed out.
2026-07-18 21:58:03 +02:00
can1357 4a6fab5530 Merge PR #6012: fix(tui): preserve history across tmux pane growth (@roboomp) 2026-07-18 21:32:20 +02:00
can1357 f33465a977 feat(tui): added shift+enter summarize-and-switch to the session tree selector
- Shift+Enter on a tree entry forks with a branch summary directly, skipping
  the summary prompt and ignoring the branchSummary.enabled gate.
- Plain Enter keeps existing behavior: direct switch, with the summary prompt
  only for users who enabled branchSummary.enabled.
- Updated the selector help line and added controller-level regression tests.

Fixes #5152
2026-07-18 21:27:12 +02:00
can1357 6a77a4815c feat(robomp): added TUI wontfix rule and prohibit editing prompts and tool shapes
- Adds TUI scrollback classification rule classifying it as wontfix with explanation.
- Adds system rule prohibiting editing prompt files or changing tool shapes; flags root causes instead of modifying them.
2026-07-18 21:20:49 +02:00
roboomp 642c9e2eba fix(tui): preserved history across tmux pane growth
Rebased the committed-row seam when multiplexer reflow exposes native scrollback inside an enlarged viewport.

Added production transcript coverage for a finalized prefix above a live response and verified no ED3 is emitted.

Fixes #6011
2026-07-18 19:17:48 +00:00
can1357 7c769a3d55 chore: fix prompt regressions 2026-07-18 21:16:42 +02:00
can1357 8a57bcd4f0 Revert "Merge PR #5886: fix(robomp): defer rate-limited submissions (@roboomp)"
This reverts commit 81102634c8, reversing
changes made to 5c9b5f7b64.
2026-07-18 21:15:38 +02:00
can1357 c3b9e5415d chore: normalized changelog sections after merges 2026-07-18 21:04:24 +02:00
can1357 4617d71ba7 fix(browser): keep raw AbortSignal identity through run facade
Native combinators (AbortSignal.any, fetch) brand-check internal slots
that a Proxy cannot forward; return signals unwrapped from
bindBrowserRunFacade so tab.signal composes with native cancellation.
2026-07-18 21:04:16 +02:00
can1357 707932e786 Merge PR #5588: fix(browser): observe raw promises before target close (@serverinspector)
# Conflicts:
#	packages/coding-agent/src/tools/browser/tab-worker.ts
#	packages/coding-agent/test/tools/browser-tab-evaluate.test.ts
2026-07-18 21:04:16 +02:00
can1357 30ef04940f Merge PR #5424: fix(github): add dedicated repository file reads (@roboomp)
# Conflicts:
#	packages/coding-agent/src/prompts/tools/bash.md
#	packages/coding-agent/src/prompts/tools/read.md
2026-07-18 21:03:24 +02:00
can1357 ffab5689a0 Merge PR #5497: fix(catalog): prune unsupported Codex account models (@roboomp)
# Conflicts:
#	packages/catalog/src/discovery/codex.ts
#	packages/catalog/src/models.json
#	packages/catalog/test/codex-discovery.test.ts
2026-07-18 21:02:46 +02:00
can1357 ba385a2946 fix(coding-agent): port no-preparation dead-end rescue to the tiered #rescueCompactionDeadEnd API
Main renamed/refactored #tryShakeRescueForDeadEnd + #emitShakeRescueNotice into
the tiered #rescueCompactionDeadEnd (elide, then image drop, notices emitted
internally), so a textually-clean merge of this branch left calls to undefined
private methods. Re-express the !preparation rescue through the new API:
progress = prepareCompaction succeeding on the rewritten branch, skipElide when
falling through from a shake pass (the image tier still gets a chance), and
historyRewritten flagged whenever a tier freed content even without progress.

Restore the baseline dead-end remedy text (image drop is automated now, so the
manual /shake images suggestion is stale) and align the rescue-refit regression
test with main's continuation gating (auto-continue after compaction now
requires an active goal or queued work).
2026-07-18 21:01:58 +02:00
can1357 401fca701b Merge PR #5448: fix(coding-agent): rescue snapcompact dead-end when nothing is summarizable (@roboomp) 2026-07-18 21:01:41 +02:00
can1357 2ed993efa9 Merge PR #5470: fix(auth): keep plan-gated Codex sessions on their sticky OAuth account (@roboomp) 2026-07-18 21:01:41 +02:00
can1357 633b8b091d docs(changelog): move #5060 entry to Unreleased, drop stray Fixed header in released 16.5.2 2026-07-18 21:01:41 +02:00
can1357 046d92ec81 Merge PR #5062: fix(tui): show async task job model badges (@roboomp) 2026-07-18 21:01:41 +02:00
eval c4dcd65358 chore(changelog): keep sticky-codex entry under Unreleased and drop resurrected GLM duplicates 2026-07-18 20:26:36 +02:00
eval 92f7dfa8b7 chore: drop eval scratch baseline copy 2026-07-18 20:25:08 +02:00
eval e5dd488210 test(auth): step past usage-report TTL so the sticky-rerank regression exercises the headroom flip 2026-07-18 20:24:29 +02:00
eval 7b52485da4 merge baseline 449e402a into pr-5470: port sticky Codex promotion onto idle-gated/drain-ranked selection 2026-07-18 20:20:56 +02:00
can1357 449e402a16 style: formatted merge resolutions with biome 2026-07-18 20:14:30 +02:00
can1357 cbd6164e3a chore: normalized changelog sections after merges 2026-07-18 20:14:18 +02:00
eval 3a33b2bb53 fix(coding-agent): restore cache-omitted headers in registry startup loaders and preserve unrelated runtime discoveries in scoped refresh
The v10 model cache never persists request headers (#5780). The registry's
startup cache readers (#loadCachedStandardProviderModels /
#loadCachedDiscoverableModels) read cache.models directly, so cached rows
replaced bundled models (github-copilot, kimi-code, nanogpt) with header-less
copies for the cache TTL after every restart. Restore bundled static headers,
drop unrestorable rows so bundled fallbacks win the merge, and mark
discoverable providers stale when header-bearing models were excluded.

refreshProvider's #reloadStaticModels could also evict models discovered by
other runtime providers; re-merge them from cache with online-if-uncached.
2026-07-18 20:14:11 +02:00
can1357 157e940d5e Merge PR #5786: fix(auth): scoped post-login model refresh and stripped cache credentials (@roboomp)
# Conflicts:
#	packages/catalog/src/model-cache.ts
2026-07-18 20:14:11 +02:00
can1357 31f7aa6d58 Merge PR #5778: fix(browser): reject non-string tab selectors with a named error (@roboomp)
# Conflicts:
#	packages/coding-agent/src/prompts/tools/browser.md
#	packages/coding-agent/src/tools/browser/aria/aria-snapshot.ts
2026-07-18 20:13:44 +02:00
can1357 c6602de1cf Merge PR #5687: feat(config): add PI_CONFIG_FILES settings overlay env var (@roboomp) 2026-07-18 20:12:48 +02:00
can1357 ad9d272efe Merge PR #5757: fix(task): inherit default fallback for single-model subagents (@jeffscottward) 2026-07-18 20:12:48 +02:00
can1357 e38389a01e fix: match terminal.showImages schema path in settings side-effect switch
SettingsSelector dispatches schema settings by full path (terminal.showImages),
so the showImages case never fired from the /settings flow. Add the full-path
case label and cover both ids in the side-effect test.
2026-07-18 20:12:48 +02:00
can1357 8a25d9e517 Merge PR #5767: fix(coding-agent): clear inline images when disabled (@derekszen) 2026-07-18 20:12:48 +02:00
can1357 17212e22e3 Merge PR #5779: fix(tui): prevent vibe_wait TV-wall scrollback stacking (@roboomp) 2026-07-18 20:12:47 +02:00
can1357 376e71d7ca Merge PR #5784: fix(auth): isolate import tests from ambient broker config (@roboomp) 2026-07-18 20:12:47 +02:00
can1357 22b2a1d8f0 Merge PR #5789: fix(browser): support authenticated cmux TCP relays (@roboomp) 2026-07-18 20:12:47 +02:00
can1357 a762379363 Merge PR #5792: fix(session): resume stalled Cursor tool turns (@roboomp) 2026-07-18 20:12:47 +02:00
can1357 f560db8cfe Merge PR #5810: fix(lsp): raise timeout ceiling to 300 seconds (@roboomp) 2026-07-18 20:12:46 +02:00
can1357 58c71d5b50 Merge PR #5812: fix(read): honor exact line selector bounds (@roboomp) 2026-07-18 20:12:46 +02:00
can1357 7c7227bc8e Merge PR #5822: fix(extensions): disambiguate .agent dirs provider tab label (@roboomp) 2026-07-18 20:12:46 +02:00
can1357 69ce192c0b Merge PR #5832: fix(coding-agent): show loop state in status line (@wolfiesch) 2026-07-18 20:12:46 +02:00
can1357 9a2a9e3ffb Merge PR #5849: fix(tui): restore slash description wrapping (@roboomp) 2026-07-18 20:12:45 +02:00