pi-mono/packages/coding-agent/test
Petr Houška 8da141c2ad
fix(coding-agent): take grep context lines from ripgrep instead of reading matched files (#11705)
When `context` is set, the grep tool read every matched file whole and
split it into lines, only to print the lines around each match. Memory
grew with the size of the matched files, not the output. In the issue's
reproduction (8 log files of about 95 MB, one match each, `context: 2`,
`--max-old-space-size=1024`), the process ran out of heap after about 10
s.

ripgrep already supports context. This change passes `--context N` to rg
and formats the `context` events from its JSON output. The tool no
longer opens matched files.

Details:
- After the last allowed match (`limit`), rg still sends that match's
trailing context. The tool keeps those lines, then stops rg. A match
inside that window is shown as a context line, as before.
- Lines past the 50 KB output cap are counted but not stored, since
truncation drops them anyway. Match counts, the match-limit notice, and
`details.matchLimitReached` stay as before.
- rg merges overlapping context, so lines shared by nearby matches are
printed once instead of repeated per match. This is the one intended
output change.
- Context lines are decoded by rg, so UTF-16 files with a BOM show
correctly with context (#11423, closed as no-action). Non-UTF-8 lines
and paths, which rg sends base64-encoded, are decoded too.

Two related grep fixes in the same code:
- **Exact match limit:** with exactly N matches and `limit: N`, grep
said "N matches limit reached. Use limit=2N". It now sets the notice and
`details.matchLimitReached` only after rg sends one more match. Cost:
when no further match exists, rg finishes the search instead of being
stopped at the Nth match, the same as a search with fewer than N
matches.
- **Lone CR:** grep removed every `\r` in a line, so `one\rtwo needle`
showed as `onetwo needle` and text copied from grep failed to match in
edit. It now strips only the line terminator (`\n` or `\r\n`), like the
read tool. The TUI still hides CRs when rendering. This updates the
expectation in the #11398 test from `beforeprogress` to
`before\rprogress`.

Breaking: `GrepOperations.readFile` is removed because nothing uses it
anymore. rg always ran locally, so this hook never made grep work on a
remote backend. Docs now say to override `execute()` for remote search,
as the Gondolin example does. Code that passes `readFile` still runs,
and the value is ignored. Only code that type-checks an object literal
against `GrepOperations` fails to compile.

Known remaining differences and limits:
- Memory no longer grows with file size or match count, but a single
huge matching line (tens of MB) is still buffered whole before being cut
to 500 characters. That was already true for `context: 0` on main.
Bounding it would mean discarding oversized rg JSON records, which is a
separate change.
- In a directory search, rg stops reading a file once it finds a NUL
byte, so context past that point in a text-looking file that turns
binary later is omitted. main reread the file and printed it. Explicit
file paths are unaffected.
- `details.truncation.totalLines`/`totalBytes` count formatted rows.
With deduplicated context, or file names containing newlines, they can
differ from main. No renderer or notice displays them.

**Testing**
- Issue reproduction: before, `FATAL ERROR ... JavaScript heap out of
memory`. After, correct output in about 60 ms with 135 MB RSS.
- `pattern: "line", context: 3, limit: 100000` over the same 770 MB of
logs reports both limit notices and peaks at 154 MB RSS.
- New tests in `test/tools.test.ts`:
- Merged overlapping context, plus trailing context at the limit
including a match inside it. Fails on main.
  - UTF-16 with context. Fails on main.
- Truncation reported when stored output ends exactly at 50 KB. Guards
the counting logic.
- Matches still counted past the byte cap. Passes on main too; it guards
against stopping rg early at the cap.
  - Huge `context` value accepted.
- No limit notice with exactly `limit` matches (with and without
context), notice with more. Fails before this change.
- Lone CR kept and CRLF stripped, with and without context. Fails before
this change.
- All 94 tests in the file pass. `npm run check` passes.

fixes #9276

This PR is AI-generated.
2026-11-03 23:43:40 +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 chore: pin dependencies and use native TypeScript 2026-05-20 12:46:17 +02:00
bash-execution-width.test.ts chore: pin dependencies and use native TypeScript 2026-05-20 12:46:17 +02:00
block-images.test.ts fix(coding-agent): process BMP images from disk 2026-06-25 12:52:21 +02:00
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 fix(coding-agent): ignore prerelease suffix of last seen changelog version (#11753) 2026-11-03 21:59:05 +01:00
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 feat(coding-agent): let Markdown transformers opt into more surfaces (#11756) 2026-11-03 23:10:47 +01: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 feat(coding-agent): let Markdown transformers opt into more surfaces (#11756) 2026-11-03 23:10:47 +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 feat(coding-agent): add experimental feature guard (#5547) 2026-06-09 13:23:07 +02:00
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 fix(coding-agent): strip skill wrapper XML from HTML export user messages (#4234) 2026-05-06 18:06:37 +02:00
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 Fix HTML export URL sanitization 2026-06-02 16:32:18 +02:00
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 feat(coding-agent): let Markdown transformers opt into more surfaces (#11756) 2026-11-03 23:10:47 +01: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 fix(coding-agent): use async operations in tools 2026-05-23 09:50:03 +02:00
first-time-setup-fork.test.ts fix(coding-agent): skip first-time setup for forks (#5627) 2026-06-11 21:36:26 +02:00
first-time-setup.test.ts feat(coding-agent): add experimental first-time setup flow (#5587) 2026-06-10 12:11:49 +02:00
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 feat(coding-agent): print resume hint on interactive exit 2026-05-29 15:56:42 +08:00
frontmatter.test.ts chore: pin dependencies and use native TypeScript 2026-05-20 12:46:17 +02:00
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 fix(coding-agent): harden git package install paths 2026-06-02 18:20:35 +02:00
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 chore: pin dependencies and use native TypeScript 2026-05-20 12:46:17 +02:00
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 fix(coding-agent): preserve startup extension UI 2026-06-21 23:19:34 +02:00
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): let Markdown transformers opt into more surfaces (#11756) 2026-11-03 23:10:47 +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 chore: pin dependencies and use native TypeScript 2026-05-20 12:46:17 +02:00
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 chore: pin dependencies and use native TypeScript 2026-05-20 12:46:17 +02:00
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 feat(coding-agent): let Markdown transformers opt into more surfaces (#11756) 2026-11-03 23:10:47 +01: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 chore: pin dependencies and use native TypeScript 2026-05-20 12:46:17 +02:00
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 fix(coding-agent): Clean up Path Handling (#4873) 2026-05-22 11:25:15 +02:00
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 chore: pin dependencies and use native TypeScript 2026-05-20 12:46:17 +02:00
plan-mode-extension.test.ts fix(coding-agent): fix plan-mode example 2026-06-21 22:10:17 +02:00
plan-mode-utils.test.ts chore: pin dependencies and use native TypeScript 2026-05-20 12:46:17 +02:00
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): let a started RPC or print shutdown finish; only a repeated signal forces exit (#11752) 2026-11-03 22:21:44 +01: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 chore: pin dependencies and use native TypeScript 2026-05-20 12:46:17 +02:00
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 chore: pin dependencies and use native TypeScript 2026-05-20 12:46:17 +02:00
rpc-client-process-exit.test.ts fix(rpc): reject pending requests on child process exit 2026-05-25 00:40:07 +02:00
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 chore: pin dependencies and use native TypeScript 2026-05-20 12:46:17 +02:00
rpc-prompt-response-semantics.test.ts fix(coding-agent): let a started RPC or print shutdown finish; only a repeated signal forces exit (#11752) 2026-11-03 22:21:44 +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 chore: pin dependencies and use native TypeScript 2026-05-20 12:46:17 +02:00
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 chore: pin dependencies and use native TypeScript 2026-05-20 12:46:17 +02:00
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 chore: pin dependencies and use native TypeScript 2026-05-20 12:46:17 +02:00
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 chore: pin dependencies and use native TypeScript 2026-05-20 12:46:17 +02:00
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 chore: pin dependencies and use native TypeScript 2026-05-20 12:46:17 +02:00
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 fix(coding-agent): list themes by content name 2026-05-21 00:10:50 +04:00
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): take grep context lines from ripgrep instead of reading matched files (#11705) 2026-11-03 23:43:40 +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 chore: migrate pi packages to earendil works scope 2026-05-07 15:59:42 +02:00
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