pi-mono/packages/coding-agent/test
robopipi[bot] 1708b47889
fix(coding-agent): process idle ctx.shutdown() requests in RPC mode (#11746)
In RPC mode, `shutdownHandler` only set a `shutdownRequested` flag. That
flag was checked in two places: after a stdin command was handled and on
`agent_settled`. If an extension called `ctx.shutdown()` while the
session was idle (for example from a timer), neither check ever ran. The
process stayed alive until the client sent another command. Interactive
mode already shuts down right away in this case.

Changes in `packages/coding-agent/src/modes/rpc/rpc-mode.ts`:
- **One check for all paths:** `checkShutdownRequested()` shuts down
only when a request is pending, input is attached, no command is being
handled, and the session is idle. Each of those ending calls it again:
command completion, prompt settle, `agent_settled`, and input attach.
- **Idle requests:** the shutdown handler schedules the check on the
next tick, so the requesting handler finishes first. The conditions are
checked when the tick runs, not when it is scheduled: a stdin command
that arrives in between is handled first, and shutdown follows when it
finishes.
- **Requests during startup:** a request made before input is attached
(for example a synchronous `ctx.shutdown()` in `session_start`) is
checked once the input reader is attached.
- **Requests during a command:** shutdown waits until the command
finishes, including extension commands. A `prompt` command returns
before `session.prompt()` settles, so it stays counted as in flight
until the prompt settles, and the shutdown check runs then. This also
fixes an existing ordering problem: an extension command that called
`ctx.shutdown()` could exit the process before its `prompt` response was
written.
- **Repeated requests:** `checkShutdownRequested()` does nothing once
shutdown has started, so a second `ctx.shutdown()` does not call
`process.exit` in the middle of async cleanup. A second stdin EOF or
signal still forces exit, as before.

Shutdown requested during a running turn is still handled on
`agent_settled`, as before. A request made while an extension-started
compaction runs (not idle, no run to settle) still waits for the next
command or run; `docs/rpc.md` and `docs/extensions.md` note this.

Docs (`docs/rpc.md`, `docs/extensions.md`) and the CHANGELOG are
updated.

## Testing
- Added three tests to `test/rpc-prompt-response-semantics.test.ts`:
  - an async `ctx.shutdown()` on an idle session exits;
- an extension command that calls `ctx.shutdown()` gets its `prompt`
response written before exit;
- a command that arrives after an idle request but before the scheduled
check runs gets its response written before exit.

  All three fail without the change and pass with it.
- `npm run check` passes. All `test/rpc*` tests pass.
- In `./test.sh`, all coding-agent tests pass. The only failures were
timeouts in durable/harness tests (`store-storage`, `tools-images`,
connection close), which this change does not touch.
- Reproduction from the issue: run `pi --mode rpc --no-session -ne -e
./shutdown-probe.mjs` with stdin held open and nothing sent.
- Before the change, the process stayed alive until a timeout killed it
(exit 124).
- After the change, `session_shutdown` fires and the process exits with
code 0.
- A synchronous `ctx.shutdown()` in `session_start` also exits with code
0.

Fixes #11599

Requested by @petrroll

---------

Co-authored-by: triagent <triagent@localhost>
Co-authored-by: Petr Houška <houskape@gmail.com>
2026-11-03 21:27:14 +01:00
..
fixtures feat(coding-agent): remove the experimental server stack and the client, protocol, and server packages 2026-10-12 10:41:59 +00:00
mcp-conformance feat(coding-agent): prefer the client ID metadata document for MCP OAuth 2026-10-30 10:36:22 +01:00
session-manager fix(coding-agent): keep session memory in line with the file when a write fails (#11486) 2026-10-27 15:58:08 +01:00
suite feat(mcp): shared tool naming, schema, output limit and config helpers 2026-11-03 14:17:21 +01:00
agent-session-auto-compaction-queue.test.ts fix(agent): restore streamFn extension compatibility 2026-07-21 18:37:07 +02:00
agent-session-branching.test.ts feat(coding-agent): replace model registry with model runtime 2026-07-14 17:48:45 +02:00
agent-session-compaction.test.ts fix(agent): restore streamFn extension compatibility 2026-07-21 18:37:07 +02:00
agent-session-concurrent.test.ts fix(coding-agent): emit before_agent_start for runs started by custom messages (#10739) 2026-10-12 09:53:24 +02:00
agent-session-dynamic-provider.test.ts fix(agent): decouple agent streams from compat 2026-07-20 17:54:36 +02:00
agent-session-dynamic-tools.test.ts refactor(coding-agent): resolve built-in extensions as builtin:<name> paths (#10159) 2026-09-29 10:51:01 +02:00
agent-session-retry.test.ts fix(ai): time responses with private fields; use the real stream in proxy and test mocks 2026-10-06 20:26:27 +02:00
agent-session-runtime-events.test.ts feat(coding-agent): replace model registry with model runtime 2026-07-14 17:48:45 +02:00
agent-session-stats.test.ts feat(coding-agent): add prompt cache warming (#9668) 2026-09-19 21:18:15 +02:00
agent-session-tree-navigation.test.ts feat(coding-agent): replace model registry with model runtime 2026-07-14 17:48:45 +02:00
ansi-utils.test.ts fix(coding-agent): strip private-parameter CSI sequences in stripAnsi 2026-10-28 20:14:09 +01:00
args.test.ts feat(coding-agent): accept +name/-name entries in --tools 2026-10-06 13:51:04 +02:00
assistant-message.test.ts fix(coding-agent,tui): reuse syntax highlighting and rendered Markdown blocks 2026-11-01 14:40:56 +01:00
auth-check.test.ts feat(coding-agent): add auth preflight 2026-08-06 19:43:52 +02:00
auth-storage.test.ts fix(coding-agent): retry transient Windows EPERM when acquiring auth lock 2026-10-12 16:14:55 +02:00
auth-url-copy.test.ts feat(coding-agent): copy OAuth sign-in URLs with app.message.copy 2026-10-02 10:10:50 +02:00
bash-close-hang-windows.test.ts
bash-execution-width.test.ts
block-images.test.ts
branch-summarization.test.ts fix(coding-agent): apply context edits to branch summary input (#11680) 2026-11-02 10:55:30 +01:00
branch-summary-extensions.test.ts Mid conversation system messages (#9548) 2026-09-16 15:54:07 +02:00
bug-report.test.ts fix(coding-agent): preserve multiline bug descriptions 2026-09-20 01:40:27 +02:00
builtin-tool-strict-mode.test.ts feat(coding-agent): prefer strict sampling for built-in tools by default 2026-09-05 23:54:20 +02:00
cache-stats.test.ts feat(coding-agent): add prompt cache warming (#9668) 2026-09-19 21:18:15 +02:00
cache-warmer.test.ts Anthropic message threads (#11545) 2026-11-03 14:07:57 +01:00
changelog.test.ts
chat-viewport.test.ts feat(coding-agent): share fullscreen TUI with experimental client 2026-08-27 19:09:26 +02:00
clipboard-command.test.ts fix(coding-agent): start WSL interop helpers from / and report external editor failures (#11627) 2026-10-30 21:47:58 +01:00
clipboard-image-bmp-conversion.test.ts feat(tui): Simplify clipboard handling (#9163) 2026-09-05 23:52:32 +02:00
clipboard-image-native-errors.test.ts fix(coding-agent,tui): paste Finder file paths instead of icons (#10136) 2026-09-28 20:59:29 +01:00
clipboard-image.test.ts fix(coding-agent): require advertised X11 clipboard images 2026-09-24 09:15:58 +02:00
clipboard-paste-file-paths.test.ts fix(coding-agent,tui): paste Finder file paths instead of icons (#10136) 2026-09-28 20:59:29 +01:00
clipboard.test.ts feat(coding-agent): add PI_CLIPBOARD_OSC52 to force OSC 52 copies 2026-10-12 18:07:27 +02:00
code-highlighter.test.ts fix(coding-agent,tui): reuse syntax highlighting and rendered Markdown blocks 2026-11-01 14:40:56 +01:00
codemode-renderer.test.ts fix(coding-agent): pass host keybinding hints to extension renderers (#11630) 2026-10-30 23:01:20 +01:00
codemode-worker-admission.test.ts fix(coding-agent): queue codemode scripts at the worker limit 2026-10-20 20:50:27 +02:00
codemode-worker-config.test.ts fix(coding-agent): load codemode worker in Windows binary 2026-09-30 13:48:04 +02:00
collapsible-message-components.test.ts fix(coding-agent): toggle summary entries on click 2026-09-16 18:08:06 +02:00
compaction-extensions-example.test.ts fix(coding-agent): preserve extension auth endpoints 2026-08-04 12:37:02 +02:00
compaction-extensions.test.ts fix(agent): restore streamFn extension compatibility 2026-07-21 18:37:07 +02:00
compaction-nested-calls.test.ts feat(coding-agent): codemode and MCP 2026-09-29 09:12:50 +02:00
compaction-serialization.test.ts fix(coding-agent,durable): omit thinking from compaction summaries 2026-10-11 15:45:13 +00:00
compaction-summary-reasoning.test.ts feat(ai): add totalFromProvider flag to usage cost (#11178) 2026-10-22 09:02:01 +02:00
compaction.test.ts fix(coding-agent): compact oversized trailing tool results 2026-09-18 13:38:30 +02:00
config-schemas.test.ts feat(coding-agent): use pi.dev configuration schemas (#10751) 2026-10-11 14:48:42 +01:00
config-value-migration.test.ts feat(coding-agent): replace model registry with model runtime 2026-07-14 17:48:45 +02:00
config.test.ts feat(coding-agent): add PI_SELF_UPDATE_COMMAND and selfUpdateCommand for pi update (#11629) 2026-10-30 22:30:39 +01:00
crash-log.test.ts feat(coding-agent): identify extensions in crash stacks 2026-09-21 01:00:43 +02:00
credential-print.test.ts fix(coding-agent): resolve model references through one provider selection policy (#10913) 2026-10-14 11:00:21 +01:00
custom-editor-keybindings.test.ts fix(tui,coding-agent): handle selection page keys in all scrolling lists 2026-10-28 19:05:21 +01:00
custom-message.test.ts fix(coding-agent): pass host keybinding hints to extension renderers (#11630) 2026-10-30 23:01:20 +01:00
default-tools-setting.test.ts fix(coding-agent): activate extension tools registered after the branch recorded its loadout 2026-10-21 16:39:13 +02:00
deleted-cwd.test.ts fix(coding-agent): report a deleted working directory instead of crashing on startup (#11511) 2026-10-28 09:51:39 +01:00
documentation.test.ts docs: validate documentation navigation and reachability (#9380) 2026-09-09 17:34:42 +02:00
edit-tool-legacy-input.test.ts feat(coding-agent): codemode and MCP 2026-09-29 09:12:50 +02:00
edit-tool-no-full-redraw.test.ts feat(tui,coding-agent): report program status via OSC 7501 2026-10-07 19:05:41 +00:00
exec-runtime-limit.test.ts fix(coding-agent): cap pi.exec output at 256 MiB (#11546) 2026-10-29 00:13:41 +02:00
exec-utf8-chunks.test.ts fix(coding-agent): cap pi.exec output at 256 MiB (#11546) 2026-10-29 00:13:41 +02:00
exec.test.ts fix(coding-agent): cap pi.exec output at 256 MiB (#11546) 2026-10-29 00:13:41 +02:00
experimental.test.ts
export-html-cjk.test.ts fix(coding-agent): render CJK emphasis in HTML export (#11168) 2026-10-20 13:20:37 +02:00
export-html-cost.test.ts fix(ai): use OpenRouter-reported total cost (#10286) 2026-10-22 11:01:39 +02:00
export-html-deep-tree.test.ts fix(coding-agent): render HTML export for sessions deeper than the call stack 2026-10-22 20:51:38 +02:00
export-html-skill-block.test.ts
export-html-system-messages.test.ts fix(coding-agent): render system messages in HTML export 2026-10-22 20:37:03 +02:00
export-html-whitespace.test.ts fix(coding-agent): render MCP tool calls before their server connects 2026-10-03 13:54:18 +02:00
export-html-xss.test.ts
export-jsonl-share.test.ts feat(coding-agent): include context in Radius session shares 2026-08-23 20:45:14 +02:00
extension-keybinding-hints.test.ts fix(coding-agent): pass host keybinding hints to extension renderers (#11630) 2026-10-30 23:01:20 +01:00
extensions-discovery.test.ts fix(coding-agent): prevent duplicate extension runtimes (closes #9863) 2026-09-23 15:33:56 +02:00
extensions-input-event.test.ts fix(coding-agent): keep unit model stores in memory 2026-08-05 16:23:31 +02:00
extensions-runner.test.ts fix(coding-agent): emit before_agent_start for runs started by custom messages (#10739) 2026-10-12 09:53:24 +02:00
external-editor.test.ts fix(coding-agent): start WSL interop helpers from / and report external editor failures (#11627) 2026-10-30 21:47:58 +01:00
file-mutation-queue.test.ts
first-time-setup-fork.test.ts
first-time-setup.test.ts
footer-data-provider.test.ts test(coding-agent): wait for streaming and watcher events instead of fixed sleeps 2026-10-07 23:15:53 +02:00
footer-width.test.ts fix(tui,coding-agent): reduce render cost of theme changes and streaming 2026-09-29 08:23:46 +02:00
format-resume-command.test.ts
frontmatter.test.ts
git-merge-and-resolve-extension.test.ts fix(coding-agent): cap pi.exec output at 256 MiB (#11546) 2026-10-29 00:13:41 +02:00
git-ssh-url.test.ts
git-update.test.ts feat(coding-agent): list updated packages with version changes in pi update (#11707) 2026-11-02 21:21:23 +01:00
http-dispatcher.test.ts fix(coding-agent): tunnel proxied HTTP requests 2026-09-02 09:23:23 +02:00
image-process.test.ts fix: require complete GIF image signatures 2026-09-21 10:30:42 +02:00
image-processing.test.ts fix(coding-agent): pick the smaller of PNG and JPEG when resizing images (#11577) 2026-10-29 16:14:56 +01:00
image-resize-callers.test.ts feat(coding-agent): codemode and MCP 2026-09-29 09:12:50 +02:00
initial-message.test.ts
input-transform-streaming-example.test.ts fix(coding-agent): cap pi.exec output at 256 MiB (#11546) 2026-10-29 00:13:41 +02:00
interactive-mode-anthropic-warning.test.ts feat(coding-agent): replace model registry with model runtime 2026-07-14 17:48:45 +02:00
interactive-mode-assistant-diagnostics.test.ts fix(coding-agent): suppress repeated Anthropic thinking drop notices 2026-09-18 09:58:42 +02:00
interactive-mode-bug-report-hint.test.ts fix(coding-agent,durable): fix CI test stub and macOS watch startup race 2026-10-05 00:02:59 +02:00
interactive-mode-clone-command.test.ts
interactive-mode-compaction.test.ts feat(coding-agent): add messageId and timestamp to markdown transformer context 2026-10-22 20:49:38 +02:00
interactive-mode-extension-changelog.test.ts feat(coding-agent): extensions changelog (#8790) 2026-10-28 11:25:04 +01:00
interactive-mode-extension-dialogs.test.ts feat(coding-agent): let inline ctx.ui.custom() components report blocked program status (#11471) 2026-10-27 09:27:28 +01:00
interactive-mode-import-command.test.ts fix(coding-agent): stabilize interactive status indicators 2026-06-29 16:53:39 +02:00
interactive-mode-model-scope.test.ts fix(coding-agent): show model scope in the fullscreen header instead of the shell (#11512) 2026-10-28 09:54:06 +01:00
interactive-mode-startup-input.test.ts fix(coding-agent): show managed-tool startup status in TUI 2026-08-13 15:54:34 +02:00
interactive-mode-status.test.ts fix(coding-agent): label skill diagnostics as [Skill warnings] (#11566) 2026-10-29 14:25:50 +01:00
interactive-mode-suspend.test.ts
interactive-mode-tree-navigation.test.ts fix(coding-agent): preserve active operation UI during tree navigation 2026-09-07 12:59:20 +02:00
interactive-tui.test.ts fix(tui,coding-agent): clear fullscreen selection on transcript rebuild (#10567) 2026-10-06 16:35:24 +02:00
jev-router-example.test.ts feat(coding-agent): Virtual models (#10035) 2026-09-28 23:30:45 +02:00
keybindings-migration.test.ts
keybindings.test.ts fix(coding-agent): use Windows-friendly keybinding defaults 2026-08-23 23:30:16 +02:00
llama-extension.test.ts feat(coding-agent): use llama.cpp classifier models natively (#10382) 2026-10-06 09:23:07 +02:00
login-dialog-device-code.test.ts fix: harden handling of untrusted URLs, terminal text, and streamed data 2026-10-26 20:46:31 +01:00
management-http.test.ts fix(coding-agent): retry hung model catalog requests 2026-08-17 12:55:56 +02:00
max-thinking.test.ts feat(ai): add max thinking level 2026-07-09 22:30:53 +02:00
mcp-command.test.ts fix(coding-agent): accept -l in pi mcp login and logout 2026-10-30 14:15:25 +01:00
mcp-extension.test.ts feat(mcp): shared tool naming, schema, output limit and config helpers 2026-11-03 14:17:21 +01:00
mcp-manager-view.test.ts fix(tui,coding-agent): handle selection page keys in all scrolling lists 2026-10-28 19:05:21 +01:00
mcp-oauth-refresh.test.ts fix(mcp): refresh with the app's redirect URI, cancel sign-in during the lock wait 2026-11-03 14:17:21 +01:00
mcp-oauth-store.test.ts fix(coding-agent): store MCP OAuth credentials per server name and URL 2026-10-01 11:20:59 +02:00
mermaid.test.ts fix(coding-agent): update runtime dependencies (#9341) 2026-09-08 16:04:35 +02:00
model-catalog-protocol.test.ts fix(coding-agent): serve catalogs without version redirect (#11690) 2026-11-02 14:42:17 +01:00
model-catalog-refresh.test.ts fix(coding-agent): share concurrent model catalog refreshes 2026-08-13 09:43:36 +02:00
model-registry.test.ts fix(coding-agent): use claude-sonnet-4.5 in model registry tests 2026-10-15 15:27:42 +02:00
model-resolver.test.ts fix(coding-agent): default openai provider to gpt-6.1-sol (#11467) 2026-10-27 09:13:12 +01:00
model-runtime-auth-options.test.ts fix(ai,coding-agent): persist rotated OAuth tokens when a refresh is cancelled 2026-10-04 21:48:12 +02:00
model-runtime-classifiers.test.ts feat(ai,coding-agent): image input for System One classifiers 2026-10-21 23:53:47 +02:00
model-runtime-cloudflare-compat.test.ts fix(ai): upgrade openai SDK to 7.19.0 (#10044) 2026-09-25 17:27:12 +02:00
model-runtime-credential-sync.test.ts fix(coding-agent): make model refresh cancellation caller-owned 2026-08-04 00:03:52 +02:00
model-runtime-images.test.ts feat(tui,coding-agent): add color values and theme styling (#8398) 2026-09-24 14:42:22 +02:00
model-runtime-modify-models-compat.test.ts fix(coding-agent): mark native providers with stored credentials as configured on registration (#10190) 2026-09-29 22:16:56 +02:00
model-runtime-test-utils.ts fix(coding-agent): keep unit model stores in memory 2026-08-05 16:23:31 +02:00
model-search.test.ts feat(coding-agent): show model names in model selectors when they add information 2026-10-23 21:19:51 +02:00
model-selector.test.ts fix(tui,coding-agent): handle selection page keys in all scrolling lists 2026-10-28 19:05:21 +01:00
models-store.test.ts fix(coding-agent): preserve managed state file permissions 2026-08-22 01:19:25 +02:00
nested-tool-calls.test.ts feat(coding-agent): report codemode classifier and nested tool usage in session cost 2026-09-29 16:21:39 +02:00
oauth-selector.test.ts fix(coding-agent): rename unconfigured to not configured 2026-10-01 12:37:37 +02:00
output-pad.test.ts fix(coding-agent): apply outputPad to all transcript blocks (#10557) 2026-10-06 17:27:55 +02:00
package-command-paths.test.ts fix(coding-agent): only report packages as up to date when pi update checked them (#11711) 2026-11-02 21:49:07 +01:00
package-distribution.test.ts feat(coding-agent): remove the experimental server stack and the client, protocol, and server packages 2026-10-12 10:41:59 +00:00
package-manager-ssh.test.ts
package-manager.test.ts feat(coding-agent): list updated packages with version changes in pi update (#11707) 2026-11-02 21:21:23 +01:00
path-utils.test.ts
paths.test.ts fix(coding-agent): compare paths case-insensitively on Windows (#11588) 2026-10-29 21:53:06 +01:00
pi-user-agent.test.ts
plan-mode-extension.test.ts
plan-mode-utils.test.ts
powershell-config.test.ts fix(coding-agent): resolve Windows shells from installation directories 2026-10-19 21:55:12 +02:00
powershell-tool.test.ts feat(coding-agent): add optional PowerShell tool (#8512) 2026-08-24 12:27:03 +02:00
print-mode.test.ts fix(coding-agent): warn and exit non-zero in print mode on truncated response 2026-10-12 16:06:42 +02:00
program-status-reporter.test.ts feat(tui,coding-agent): report program status via OSC 7501 2026-10-07 19:05:41 +00:00
project-trust-saved-decision.test.ts fix(coding-agent): honor saved project trust for projects without trust-requiring resources 2026-10-29 21:10:03 +01:00
prompt-templates.test.ts fix(coding-agent): keep empty quoted prompt template arguments 2026-10-14 15:35:39 +02:00
radius.test.ts feat(ai): ship Radius model catalog 2026-09-19 19:23:31 +02:00
read-line-range-display.test.ts fix(coding-agent): normalize read line-range labels (#10938) 2026-10-14 15:20:04 +02:00
references.test.ts docs(ai,coding-agent): generate models.json reference from schemas (#11038) 2026-10-16 21:53:00 +01:00
remote-catalog-provider.test.ts feat(ai,coding-agent): list only the OpenRouter models a key may use (#10672) 2026-10-12 10:17:40 +02:00
resolve-config-value.test.ts feat(coding-agent): replace model registry with model runtime 2026-07-14 17:48:45 +02:00
resource-loader-theme.test.ts feat(coding-agent): publish configuration schemas (#9880) 2026-10-08 10:01:17 +02:00
resource-loader.test.ts fix(coding-agent): start when a configured package fails to install (#11304) 2026-10-23 12:27:45 +02:00
restore-sandbox-env.test.ts
rpc-client-clear-queue.test.ts feat(coding-agent): expose RPC queue clearing 2026-08-25 15:19:49 +02:00
rpc-client-clone.test.ts
rpc-client-process-exit.test.ts
rpc-example.ts feat: build with TypeScript 7 and run sources with plain node 2026-09-25 13:14:33 +02:00
rpc-jsonl.test.ts
rpc-prompt-response-semantics.test.ts fix(coding-agent): process idle ctx.shutdown() requests in RPC mode (#11746) 2026-11-03 21:27:14 +01:00
rpc.test.ts feat: get_available_thinking_levels rpc (#6865) 2026-07-20 16:29:10 +02:00
runtime-credentials.test.ts fix(coding-agent): make model refresh cancellation caller-owned 2026-08-04 00:03:52 +02:00
scoped-models-selector.test.ts feat(coding-agent): show model names in model selectors when they add information 2026-10-23 21:19:51 +02:00
scrollbar-theme.test.ts feat(coding-agent): publish configuration schemas (#9880) 2026-10-08 10:01:17 +02:00
sdk-client-identity.test.ts fix(ai,agent,coding-agent,durable): client identity follow-ups 2026-10-21 11:18:16 +00:00
sdk-codex-cache-probe-tool-loop.ts feat(ai,agent,coding-agent): validate tool arguments with pi-schema, drop TypeBox 2026-11-01 10:08:42 +00:00
sdk-session-manager.test.ts Mid conversation system messages (#9548) 2026-09-16 15:54:07 +02:00
sdk-skills.test.ts fix(coding-agent): show system prompt files in startup context (#7266) 2026-07-29 17:05:22 +02:00
sdk-stream-options.test.ts feat: expose provider stream events to extensions (#9901) 2026-09-23 16:03:30 +02:00
session-context-edit.test.ts feat: add canonical session context boundaries 2026-09-21 16:59:20 +02:00
session-cwd.test.ts
session-file-invalid.test.ts feat: build with TypeScript 7 and run sources with plain node 2026-09-25 13:14:33 +02:00
session-id-readonly.test.ts feat: build with TypeScript 7 and run sources with plain node 2026-09-25 13:14:33 +02:00
session-info-modified-timestamp.test.ts
session-selector-path-delete.test.ts feat(coding-agent): load session picker progressively 2026-09-20 00:48:26 +02:00
session-selector-rename.test.ts
session-selector-search.test.ts fix(tui,coding-agent): rank contiguous fuzzy matches and search session fields separately 2026-10-22 21:39:17 +02:00
session-share.test.ts feat(coding-agent): configure session share destination 2026-10-13 15:41:13 +02:00
settings-diagnostics.test.ts fix(coding-agent): report settings diagnostic paths 2026-08-19 13:07:53 +02:00
settings-manager-bug.test.ts
settings-manager-compaction.test.ts feat(coding-agent): support per-model compaction token budgets 2026-09-10 08:37:20 +02:00
settings-manager.test.ts feat(coding-agent): make fullscreen the default TUI mode 2026-10-01 17:26:35 +02:00
settings-selector.test.ts fix(tui,coding-agent): handle selection page keys in all scrolling lists 2026-10-28 19:05:21 +01:00
shell-kill-process-tree.test.ts fix(coding-agent): stop macOS shell groups before killing them 2026-10-22 20:22:20 +02:00
shell-path-exists.test.ts fix(coding-agent): accept Windows Store shell aliases 2026-10-19 21:24:10 +02:00
skills.test.ts
source-info.test.ts fix(coding-agent): compare paths case-insensitively on Windows (#11588) 2026-10-29 21:53:06 +01:00
startup-session-name.test.ts feat: build with TypeScript 7 and run sources with plain node 2026-09-25 13:14:33 +02:00
status-indicator.test.ts fix(coding-agent): embed all session status spinners in the editor border 2026-09-07 15:31:00 +02:00
stdout-cleanliness.test.ts feat: build with TypeScript 7 and run sources with plain node 2026-09-25 13:14:33 +02:00
streaming-render-debug.ts feat: build with TypeScript 7 and run sources with plain node 2026-09-25 13:14:33 +02:00
syntax-highlight.test.ts fix(coding-agent): keep syntax colors on multiline tokens (#10356) 2026-10-05 10:35:43 +02:00
system-prompt-updates.test.ts fix(coding-agent): keep active tool order when the same tools are set again (#11514) 2026-10-28 10:09:41 +01:00
system-prompt.test.ts fix(coding-agent): tighten system prompt 2026-10-31 16:11:43 +01:00
system-theme.test.ts fix(coding-agent): keep pastel palettes pastel in the system theme (#10293) 2026-10-01 13:40:36 +02:00
test-harness.test.ts fix(coding-agent): avoid custom store lock convoys 2026-08-05 16:16:58 +02:00
test-harness.ts feat(agent): add Pico storage foundation 2026-09-18 12:32:00 +02:00
test-network-env.ts fix(coding-agent): run coding-agent tests offline by default (#7031) 2026-07-27 11:27:43 +02:00
test-theme-colors.ts feat: build with TypeScript 7 and run sources with plain node 2026-09-25 13:14:33 +02:00
theme-controller.test.ts feat(coding-agent,tui): System theme (#10067) 2026-09-26 13:33:47 +02:00
theme-detection.test.ts feat(coding-agent,tui): System theme (#10067) 2026-09-26 13:33:47 +02:00
theme-export.test.ts feat(coding-agent,tui): System theme (#10067) 2026-09-26 13:33:47 +02:00
theme-picker.test.ts
theme-style.test.ts feat(coding-agent,tui): System theme (#10067) 2026-09-26 13:33:47 +02:00
themed-text.test.ts feat(coding-agent,tui): System theme (#10067) 2026-09-26 13:33:47 +02:00
thinking-selector.test.ts fix(coding-agent): selector save keybindings (#9149) 2026-09-04 18:06:21 +02:00
tool-execution-component.test.ts fix(ai,chord,durable,coding-agent): parse streamed tool-call arguments incrementally (fixes #9265) 2026-10-24 08:00:07 +00:00
tool-renderer-examples.test.ts fix(coding-agent): preserve renderer example prompt guidance (#10193) 2026-09-30 08:56:08 +01:00
tool-result-images.test.ts fix(coding-agent): resize images returned by tools (#7330) 2026-08-03 14:02:03 +02:00
tool-search.test.ts fix(durable,coding-agent): support Unicode word segmentation in tool search (#11037) 2026-10-30 23:34:00 +01:00
tool-system-prompt-contributions.test.ts feat(coding-agent): add optional PowerShell tool (#8512) 2026-08-24 12:27:03 +02:00
tools-manager.test.ts fix(coding-agent): skip fd/rg downloads on unsupported architectures 2026-10-23 19:48:59 +02:00
tools.test.ts fix(coding-agent): keep grep context lines aligned with ripgrep when a file has a lone CR (#11465) 2026-10-27 09:07:23 +01:00
tree-selector.test.ts feat: add canonical session context boundaries 2026-09-21 16:59:20 +02:00
trigger-compact-extension.test.ts Revert "fix(coding-agent): build-check-test (#7206)" 2026-07-28 15:09:46 +02:00
truncate-to-width.test.ts
trust-manager.test.ts fix(coding-agent): compare paths case-insensitively on Windows (#11588) 2026-10-29 21:53:06 +01:00
trust-selector.test.ts feat(coding-agent): adjust TUI selections in thinking-mode, models and scoped models (#8900) 2026-09-01 11:02:53 +02:00
usage-totals.test.ts feat(ai): add totalFromProvider flag to usage cost (#11178) 2026-10-22 09:02:01 +02:00
user-message.test.ts feat(coding-agent): add messageId and timestamp to markdown transformer context 2026-10-22 20:49:38 +02:00
utilities.ts fix(coding-agent): save new session file at the first user message 2026-09-25 16:27:51 +02:00
version-check.test.ts fix: retry transient management HTTP requests (#7632) 2026-08-05 09:38:28 +02:00
virtual-models.test.ts fix(coding-agent): resolve branch model selection with one catalog lookup 2026-09-30 14:20:03 +02:00
windows-shell-config.test.ts fix(coding-agent): resolve Windows shells from installation directories 2026-10-19 21:55:12 +02:00