@oh-my-pi-zen/pi-coding-agent 17.2.9-zen.2 → 17.2.10-zen.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (187) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/dist/{CHANGELOG-vdhzt4vy.md → CHANGELOG-05nbnd01.md} +43 -0
  3. package/dist/cli.js +10238 -12635
  4. package/dist/types/cli/args.d.ts +1 -0
  5. package/dist/types/config/model-resolver.d.ts +13 -0
  6. package/dist/types/extensibility/custom-commands/types.d.ts +5 -5
  7. package/dist/types/extensibility/custom-tools/types.d.ts +1 -1
  8. package/dist/types/extensibility/extensions/loader.d.ts +2 -2
  9. package/dist/types/extensibility/extensions/types.d.ts +34 -8
  10. package/dist/types/extensibility/hooks/types.d.ts +5 -5
  11. package/dist/types/index.d.ts +2 -2
  12. package/dist/types/main.d.ts +1 -1
  13. package/dist/types/modes/acp/acp-agent.d.ts +1 -1
  14. package/dist/types/modes/acp/acp-client-bridge.d.ts +1 -1
  15. package/dist/types/modes/acp/acp-event-mapper.d.ts +1 -1
  16. package/dist/types/modes/acp/acp-mode.d.ts +1 -1
  17. package/dist/types/modes/components/agent-hub-projection.d.ts +38 -0
  18. package/dist/types/modes/components/agent-hub-renderer.d.ts +41 -0
  19. package/dist/types/modes/components/agent-hub.d.ts +12 -5
  20. package/dist/types/modes/components/model-browser.d.ts +9 -1
  21. package/dist/types/modes/interactive-mode.d.ts +8 -1
  22. package/dist/types/registry/agent-registry.d.ts +47 -0
  23. package/dist/types/registry/persisted-agents.d.ts +3 -1
  24. package/dist/types/session/agent-session.d.ts +3 -1
  25. package/dist/types/session/session-entries.d.ts +10 -0
  26. package/dist/types/session/session-loader.d.ts +11 -1
  27. package/dist/types/session/session-manager.d.ts +9 -1
  28. package/dist/types/session/session-tools.d.ts +10 -1
  29. package/dist/types/slash-commands/acp-builtins.d.ts +1 -1
  30. package/dist/types/slash-commands/available-commands.d.ts +1 -1
  31. package/dist/types/task/executor.d.ts +6 -0
  32. package/dist/types/task/index.d.ts +2 -3
  33. package/dist/types/task/read-only-policy.d.ts +3 -0
  34. package/dist/types/task/structured-subagent.d.ts +2 -0
  35. package/dist/types/task/types.d.ts +4 -0
  36. package/dist/types/tools/bash.d.ts +3 -3
  37. package/dist/types/tools/browser/launch.d.ts +2 -1
  38. package/dist/types/tools/browser/tab-worker.d.ts +2 -2
  39. package/dist/types/tools/path-utils.d.ts +1 -0
  40. package/dist/types/tools/read.d.ts +1 -5
  41. package/dist/types/tools/run-scope.d.ts +27 -1
  42. package/dist/types/tools/terminal-output.d.ts +1 -1
  43. package/dist/types/utils/turndown.d.ts +1 -1
  44. package/dist/types/vibe/runtime.d.ts +2 -3
  45. package/dist/types/web/scrapers/readthedocs.d.ts +0 -3
  46. package/dist/types/web/search/providers/browser-headers.d.ts +2 -3
  47. package/examples/custom-tools/README.md +1 -1
  48. package/examples/extensions/README.md +1 -1
  49. package/examples/extensions/api-demo.ts +5 -6
  50. package/examples/extensions/chalk-logger.ts +1 -1
  51. package/examples/extensions/hello.ts +2 -2
  52. package/examples/extensions/reload-runtime.ts +1 -1
  53. package/examples/extensions/tools.ts +2 -2
  54. package/examples/extensions/with-deps/index.ts +1 -1
  55. package/examples/sdk/06-extensions.ts +1 -1
  56. package/package.json +15 -31
  57. package/scripts/bundle-dist.ts +1 -11
  58. package/src/advisor/runtime.ts +54 -0
  59. package/src/cli/agents-cli.ts +1 -1
  60. package/src/cli/args.ts +24 -2
  61. package/src/cli/auth-broker-cli.ts +1 -1
  62. package/src/cli/auth-gateway-cli.ts +1 -1
  63. package/src/cli/bench-cli.ts +1 -1
  64. package/src/cli/claude-trace-cli.ts +1 -1
  65. package/src/cli/config-cli.ts +1 -1
  66. package/src/cli/dry-balance-cli.ts +1 -1
  67. package/src/cli/file-processor.ts +1 -1
  68. package/src/cli/flag-tables.ts +4 -0
  69. package/src/cli/grep-cli.ts +1 -1
  70. package/src/cli/grievances-cli.ts +1 -1
  71. package/src/cli/help-extra.ts +1 -1
  72. package/src/cli/models-cli.ts +1 -1
  73. package/src/cli/plugin-cli.ts +1 -1
  74. package/src/cli/read-cli.ts +1 -1
  75. package/src/cli/setup-cli.ts +1 -1
  76. package/src/cli/shell-cli.ts +1 -1
  77. package/src/cli/ssh-cli.ts +1 -1
  78. package/src/cli/stats-cli.ts +1 -1
  79. package/src/cli/tiny-models-cli.ts +1 -1
  80. package/src/cli/ttsr-cli.ts +1 -1
  81. package/src/cli/update-cli.ts +1 -1
  82. package/src/cli/usage-cli.ts +1 -1
  83. package/src/cli/web-search-cli.ts +1 -1
  84. package/src/cli/worktree-cli.ts +1 -1
  85. package/src/commands/say.ts +1 -1
  86. package/src/commands/token.ts +1 -1
  87. package/src/commit/agentic/agent.ts +1 -1
  88. package/src/commit/cli.ts +1 -1
  89. package/src/config/model-resolver.ts +54 -7
  90. package/src/discovery/agents.ts +4 -2
  91. package/src/discovery/builtin-rules/ts-no-inline-cast-access.md +5 -4
  92. package/src/discovery/builtin-rules/ts-no-tiny-functions.md +1 -1
  93. package/src/eval/py/runner.py +38 -1
  94. package/src/extensibility/custom-commands/loader.ts +4 -4
  95. package/src/extensibility/custom-commands/types.ts +5 -5
  96. package/src/extensibility/custom-tools/loader.ts +4 -4
  97. package/src/extensibility/custom-tools/types.ts +1 -1
  98. package/src/extensibility/extensions/loader.ts +7 -6
  99. package/src/extensibility/extensions/types.ts +39 -8
  100. package/src/extensibility/hooks/loader.ts +4 -5
  101. package/src/extensibility/hooks/types.ts +5 -5
  102. package/src/extensibility/plugins/legacy-pi-compat.ts +53 -0
  103. package/src/index.ts +2 -2
  104. package/src/internal-urls/memory-protocol.ts +5 -1
  105. package/src/launch/terminal-output.ts +1 -1
  106. package/src/main.ts +85 -21
  107. package/src/markit/converters/docx.ts +1 -1
  108. package/src/markit/converters/epub.ts +1 -1
  109. package/src/markit/converters/pptx.ts +1 -1
  110. package/src/markit/converters/xlsx.ts +1 -1
  111. package/src/modes/acp/acp-agent.ts +5 -5
  112. package/src/modes/acp/acp-client-bridge.ts +1 -1
  113. package/src/modes/acp/acp-event-mapper.ts +1 -1
  114. package/src/modes/acp/acp-mode.ts +1 -1
  115. package/src/modes/components/agent-hub-projection.ts +248 -0
  116. package/src/modes/components/agent-hub-renderer.ts +194 -0
  117. package/src/modes/components/agent-hub.ts +669 -207
  118. package/src/modes/components/assistant-message.ts +1 -1
  119. package/src/modes/components/extensions/inspector-panel.ts +11 -6
  120. package/src/modes/components/footer.ts +1 -3
  121. package/src/modes/components/model-browser.ts +11 -3
  122. package/src/modes/components/model-hub.ts +4 -1
  123. package/src/modes/components/status-line/segments.ts +4 -3
  124. package/src/modes/controllers/event-controller.ts +29 -5
  125. package/src/modes/controllers/extension-ui-controller.ts +2 -2
  126. package/src/modes/controllers/mcp-command-controller.ts +81 -20
  127. package/src/modes/controllers/selector-controller.ts +40 -49
  128. package/src/modes/controllers/streaming-reveal.ts +1 -1
  129. package/src/modes/interactive-mode.ts +13 -2
  130. package/src/modes/rpc/rpc-mode.ts +2 -2
  131. package/src/modes/runtime-init.ts +1 -1
  132. package/src/modes/theme/theme.ts +2 -2
  133. package/src/prompts/tools/computer.md +1 -1
  134. package/src/registry/agent-lifecycle.ts +14 -7
  135. package/src/registry/agent-registry.ts +65 -2
  136. package/src/registry/persisted-agents.ts +341 -16
  137. package/src/session/agent-session.ts +21 -2
  138. package/src/session/session-entries.ts +10 -0
  139. package/src/session/session-listing.ts +1 -1
  140. package/src/session/session-loader.ts +74 -8
  141. package/src/session/session-manager.ts +22 -2
  142. package/src/session/session-paths.ts +57 -9
  143. package/src/session/session-tools.ts +28 -1
  144. package/src/session/turn-recovery.ts +2 -2
  145. package/src/slash-commands/acp-builtins.ts +1 -1
  146. package/src/slash-commands/available-commands.ts +1 -1
  147. package/src/task/executor.ts +70 -20
  148. package/src/task/index.ts +9 -28
  149. package/src/task/isolation-runner.ts +24 -11
  150. package/src/task/persisted-revive.ts +12 -5
  151. package/src/task/read-only-policy.ts +27 -0
  152. package/src/task/structured-subagent.ts +14 -4
  153. package/src/task/types.ts +4 -0
  154. package/src/tools/auto-generated-guard.ts +1 -1
  155. package/src/tools/bash-interactive.ts +4 -4
  156. package/src/tools/bash.ts +6 -6
  157. package/src/tools/browser/cmux/cmux-tab.ts +66 -18
  158. package/src/tools/browser/launch.ts +41 -12
  159. package/src/tools/browser/readable.ts +9 -9
  160. package/src/tools/browser/tab-supervisor.ts +12 -3
  161. package/src/tools/browser/tab-worker-entry.ts +1 -1
  162. package/src/tools/browser/tab-worker.ts +101 -12
  163. package/src/tools/fetch.ts +1 -1
  164. package/src/tools/path-utils.ts +9 -2
  165. package/src/tools/read.ts +16 -5
  166. package/src/tools/run-scope.ts +290 -4
  167. package/src/tools/terminal-output.ts +1 -1
  168. package/src/tools/todo.ts +1 -1
  169. package/src/utils/clipboard.ts +10 -2
  170. package/src/utils/external-editor.ts +4 -2
  171. package/src/utils/jj.ts +1 -1
  172. package/src/utils/turndown.ts +1 -2
  173. package/src/vibe/runtime.ts +5 -5
  174. package/src/web/scrapers/arxiv.ts +1 -1
  175. package/src/web/scrapers/go-pkg.ts +1 -1
  176. package/src/web/scrapers/iacr.ts +1 -1
  177. package/src/web/scrapers/readthedocs.ts +2 -1
  178. package/src/web/scrapers/twitter.ts +2 -2
  179. package/src/web/scrapers/types.ts +1 -1
  180. package/src/web/scrapers/wikipedia.ts +1 -1
  181. package/src/web/search/providers/browser-headers.ts +12 -39
  182. package/src/web/search/providers/codex.ts +3 -26
  183. package/src/web/search/providers/ecosia.ts +1 -1
  184. package/src/web/search/providers/google.ts +1 -1
  185. package/src/web/search/providers/mojeek.ts +1 -1
  186. package/src/web/search/providers/startpage.ts +1 -1
  187. package/src/markit/converters/mammoth.d.ts +0 -24
package/CHANGELOG.md CHANGED
@@ -2,6 +2,49 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [17.2.10-zen.1] - 2026-08-07
6
+
7
+ ### Breaking Changes
8
+
9
+ - Replaced the re-exported `zod` API with an `omptype`-backed compatibility facade (`@oh-my-pi-zen/omptype/zod`). Plugins retain the standard Zod-style builder interface, but real Zod-specific APIs are no longer available.
10
+
11
+ ### Added
12
+
13
+ - Added a `--trusted-extension <absolute-path>` CLI flag to load an exact extension-module allowlist, bypassing ambient extension discovery.
14
+ - Added resumable session details to fatal crash outputs, including a suggested `omp --resume <session-id>` command to quickly resume persisted live agent sessions.
15
+
16
+ ### Changed
17
+
18
+ - Reworked the Ctrl+S Agent Hub into a responsive fullscreen roster and selected-agent inspector, featuring aggregate status/usage metrics, detailed per-agent views (task, model, activity, usage, lineage), roster and spawn-tree views, stable ordering, asynchronous persisted-session discovery, restored historical metadata, and improved keyboard and mouse navigation.
19
+ - Replaced `arktype` with `@oh-my-pi-zen/omptype` for all tool parameter and configuration schemas, resulting in significantly faster startup times. Configuration schema errors are now reported via `OmpErrors` entries using the standard `path`/`problem` format.
20
+
21
+ ### Fixed
22
+
23
+ - Fixed panel commands (such as `/usage` and `/advisor status`) appearing unresponsive during active turns by flushing the deferred-panel queue at every settle, terminal or not. The deferral itself stays silent: mounting a status line into the transcript mid-turn re-renders rows below the live block and duplicates them in native scrollback (issues #4806/#6767).
24
+ - Fixed the bundled `ts-no-tiny-functions` rule failing to match one-line arrow functions in files with trailing newlines.
25
+ - Fixed advisor refusals skipping the model fallback chain, and bounded refusal recovery to a single attempt per model to prevent infinite fallback loops.
26
+ - Fixed repeated `/mcp reauth` commands getting stuck by ensuring new reauthorization requests cancel and clean up any pending MCP OAuth login flows.
27
+ - Fixed WSL host-home resolution to build `/mnt/<drive>/...` fallback paths using POSIX semantics regardless of the host platform.
28
+ - Fixed Python evaluation shell helpers (`!cmd`, `%%bash`, `%pip`) letting child processes inherit the runner's stdin, which previously caused deadlocks on Windows. Additionally, `%%bash` now correctly resolves Git Bash on Windows.
29
+ - Fixed subagents spawned via model-role aliases incorrectly falling back to the `default` role's retry chain instead of their own configured role chain.
30
+ - Fixed Linux/X11 clipboard reads failing when `xclip` is missing but `xsel` is available.
31
+ - Hardened Linux Chromium executable detection to filter out non-executable files, invalid wrappers, and candidates that hang during version probes.
32
+ - Fixed Bash command preview crashes caused by malformed tool arguments containing non-string environment values.
33
+ - Fixed UI rendering in the model browser and model hub where `nerd`-preset role chips would overlap and obscure the first character of labels.
34
+ - Fixed Codex web search sending incompatible request shapes to certain models, which caused the hosted `web_search` tool to ignore them.
35
+ - Fixed resumed or rebuilt sessions incorrectly applying stale rewind reports from previous checkpoint cycles to new checkpoints.
36
+ - Fixed the `read` tool incorrectly parsing semicolon-delimited internal URLs (such as batched `skill://` resources) as a single invalid resource.
37
+ - Fixed `pi.getAllTools()` returning bare strings instead of `ToolInfo[]` objects, restoring compatibility with extensions built against the upstream contract.
38
+ - Fixed legacy extensions failing to load in compiled binaries when resolving bundled dependencies via dynamic `createRequire` factories.
39
+ - Fixed Wayland window activation and native input handling by correctly reporting them as unavailable rather than attempting unsupported foreground-delivery paths.
40
+ - Fixed live execution progress being hidden in the conversation view after approving a plan in the fullscreen Plan Review.
41
+ - Fixed `omp -r` failing to discover sessions created under the temporary hashed project-directory scheme by adding a one-way migration back to legacy path-based names.
42
+ - Prevented the `read` tool from advertising or resolving `memory://` URIs when the memory backend is disabled.
43
+ - Fixed the Shift-Tab thinking mode UI rendering the `off` state as a blank label, which made it appear that reasoning could not be disabled.
44
+ - Fixed parsing of POSIX `$EDITOR` commands that contain quoted arguments or executable paths with spaces.
45
+ - Fixed persisted Agent Hub rows losing the explicit caller model role when a subagent used a model override, preserving role provenance across restarts.
46
+ - Fixed unobserved promise rejections in browser helpers (such as `tab.waitForResponse()`) causing tab workers to hang or crash.
47
+
5
48
  ## [17.2.9-zen.1] - 2026-08-06
6
49
 
7
50
  ### Changed
@@ -2,6 +2,49 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [17.2.10-zen.1] - 2026-08-07
6
+
7
+ ### Breaking Changes
8
+
9
+ - Replaced the re-exported `zod` API with an `omptype`-backed compatibility facade (`@oh-my-pi-zen/omptype/zod`). Plugins retain the standard Zod-style builder interface, but real Zod-specific APIs are no longer available.
10
+
11
+ ### Added
12
+
13
+ - Added a `--trusted-extension <absolute-path>` CLI flag to load an exact extension-module allowlist, bypassing ambient extension discovery.
14
+ - Added resumable session details to fatal crash outputs, including a suggested `omp --resume <session-id>` command to quickly resume persisted live agent sessions.
15
+
16
+ ### Changed
17
+
18
+ - Reworked the Ctrl+S Agent Hub into a responsive fullscreen roster and selected-agent inspector, featuring aggregate status/usage metrics, detailed per-agent views (task, model, activity, usage, lineage), roster and spawn-tree views, stable ordering, asynchronous persisted-session discovery, restored historical metadata, and improved keyboard and mouse navigation.
19
+ - Replaced `arktype` with `@oh-my-pi-zen/omptype` for all tool parameter and configuration schemas, resulting in significantly faster startup times. Configuration schema errors are now reported via `OmpErrors` entries using the standard `path`/`problem` format.
20
+
21
+ ### Fixed
22
+
23
+ - Fixed panel commands (such as `/usage` and `/advisor status`) appearing unresponsive during active turns by flushing the deferred-panel queue at every settle, terminal or not. The deferral itself stays silent: mounting a status line into the transcript mid-turn re-renders rows below the live block and duplicates them in native scrollback (issues #4806/#6767).
24
+ - Fixed the bundled `ts-no-tiny-functions` rule failing to match one-line arrow functions in files with trailing newlines.
25
+ - Fixed advisor refusals skipping the model fallback chain, and bounded refusal recovery to a single attempt per model to prevent infinite fallback loops.
26
+ - Fixed repeated `/mcp reauth` commands getting stuck by ensuring new reauthorization requests cancel and clean up any pending MCP OAuth login flows.
27
+ - Fixed WSL host-home resolution to build `/mnt/<drive>/...` fallback paths using POSIX semantics regardless of the host platform.
28
+ - Fixed Python evaluation shell helpers (`!cmd`, `%%bash`, `%pip`) letting child processes inherit the runner's stdin, which previously caused deadlocks on Windows. Additionally, `%%bash` now correctly resolves Git Bash on Windows.
29
+ - Fixed subagents spawned via model-role aliases incorrectly falling back to the `default` role's retry chain instead of their own configured role chain.
30
+ - Fixed Linux/X11 clipboard reads failing when `xclip` is missing but `xsel` is available.
31
+ - Hardened Linux Chromium executable detection to filter out non-executable files, invalid wrappers, and candidates that hang during version probes.
32
+ - Fixed Bash command preview crashes caused by malformed tool arguments containing non-string environment values.
33
+ - Fixed UI rendering in the model browser and model hub where `nerd`-preset role chips would overlap and obscure the first character of labels.
34
+ - Fixed Codex web search sending incompatible request shapes to certain models, which caused the hosted `web_search` tool to ignore them.
35
+ - Fixed resumed or rebuilt sessions incorrectly applying stale rewind reports from previous checkpoint cycles to new checkpoints.
36
+ - Fixed the `read` tool incorrectly parsing semicolon-delimited internal URLs (such as batched `skill://` resources) as a single invalid resource.
37
+ - Fixed `pi.getAllTools()` returning bare strings instead of `ToolInfo[]` objects, restoring compatibility with extensions built against the upstream contract.
38
+ - Fixed legacy extensions failing to load in compiled binaries when resolving bundled dependencies via dynamic `createRequire` factories.
39
+ - Fixed Wayland window activation and native input handling by correctly reporting them as unavailable rather than attempting unsupported foreground-delivery paths.
40
+ - Fixed live execution progress being hidden in the conversation view after approving a plan in the fullscreen Plan Review.
41
+ - Fixed `omp -r` failing to discover sessions created under the temporary hashed project-directory scheme by adding a one-way migration back to legacy path-based names.
42
+ - Prevented the `read` tool from advertising or resolving `memory://` URIs when the memory backend is disabled.
43
+ - Fixed the Shift-Tab thinking mode UI rendering the `off` state as a blank label, which made it appear that reasoning could not be disabled.
44
+ - Fixed parsing of POSIX `$EDITOR` commands that contain quoted arguments or executable paths with spaces.
45
+ - Fixed persisted Agent Hub rows losing the explicit caller model role when a subagent used a model override, preserving role provenance across restarts.
46
+ - Fixed unobserved promise rejections in browser helpers (such as `tab.waitForResponse()`) causing tab workers to hang or crash.
47
+
5
48
  ## [17.2.9-zen.1] - 2026-08-06
6
49
 
7
50
  ### Changed