@oh-my-pi/pi-coding-agent 15.1.1 → 15.1.3

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 (844) hide show
  1. package/CHANGELOG.md +54 -0
  2. package/dist/types/async/index.d.ts +2 -0
  3. package/dist/types/async/job-manager.d.ts +87 -0
  4. package/dist/types/async/support.d.ts +2 -0
  5. package/dist/types/autoresearch/dashboard.d.ts +4 -0
  6. package/dist/types/autoresearch/git.d.ts +36 -0
  7. package/dist/types/autoresearch/helpers.d.ts +24 -0
  8. package/dist/types/autoresearch/index.d.ts +2 -0
  9. package/dist/types/autoresearch/state.d.ts +17 -0
  10. package/dist/types/autoresearch/storage.d.ts +142 -0
  11. package/dist/types/autoresearch/tools/init-experiment.d.ts +31 -0
  12. package/dist/types/autoresearch/tools/log-experiment.d.ts +23 -0
  13. package/dist/types/autoresearch/tools/run-experiment.d.ts +8 -0
  14. package/dist/types/autoresearch/tools/update-notes.d.ts +12 -0
  15. package/dist/types/autoresearch/types.d.ts +154 -0
  16. package/dist/types/capability/context-file.d.ts +17 -0
  17. package/dist/types/capability/extension-module.d.ts +15 -0
  18. package/dist/types/capability/extension.d.ts +28 -0
  19. package/dist/types/capability/fs.d.ts +20 -0
  20. package/dist/types/capability/hook.d.ts +19 -0
  21. package/dist/types/capability/index.d.ts +80 -0
  22. package/dist/types/capability/instruction.d.ts +17 -0
  23. package/dist/types/capability/mcp.d.ts +45 -0
  24. package/dist/types/capability/prompt.d.ts +15 -0
  25. package/dist/types/capability/rule.d.ts +61 -0
  26. package/dist/types/capability/settings.d.ts +15 -0
  27. package/dist/types/capability/skill.d.ts +36 -0
  28. package/dist/types/capability/slash-command.d.ts +17 -0
  29. package/dist/types/capability/ssh.d.ts +23 -0
  30. package/dist/types/capability/system-prompt.d.ts +15 -0
  31. package/dist/types/capability/tool.d.ts +19 -0
  32. package/dist/types/capability/types.d.ts +154 -0
  33. package/dist/types/cli/agents-cli.d.ts +12 -0
  34. package/dist/types/cli/args.d.ts +52 -0
  35. package/dist/types/cli/auth-broker-cli.d.ts +25 -0
  36. package/dist/types/cli/auth-gateway-cli.d.ts +18 -0
  37. package/dist/types/cli/classify-install-target.d.ts +18 -0
  38. package/dist/types/cli/commands/init-xdg.d.ts +1 -0
  39. package/dist/types/cli/config-cli.d.ts +22 -0
  40. package/dist/types/cli/file-processor.d.ts +11 -0
  41. package/dist/types/cli/grep-cli.d.ts +17 -0
  42. package/dist/types/cli/grievances-cli.d.ts +37 -0
  43. package/dist/types/cli/initial-message.d.ts +17 -0
  44. package/dist/types/cli/list-models.d.ts +30 -0
  45. package/dist/types/cli/plugin-cli.d.ts +32 -0
  46. package/dist/types/cli/read-cli.d.ts +4 -0
  47. package/dist/types/cli/session-picker.d.ts +3 -0
  48. package/dist/types/cli/setup-cli.d.ts +24 -0
  49. package/dist/types/cli/shell-cli.d.ts +8 -0
  50. package/dist/types/cli/ssh-cli.d.ts +21 -0
  51. package/dist/types/cli/stats-cli.d.ts +17 -0
  52. package/dist/types/cli/update-cli.d.ts +20 -0
  53. package/dist/types/cli/web-search-cli.d.ts +20 -0
  54. package/dist/types/cli.d.ts +3 -0
  55. package/dist/types/commands/acp.d.ts +12 -0
  56. package/dist/types/commands/agents.d.ts +34 -0
  57. package/dist/types/commands/auth-broker.d.ts +54 -0
  58. package/dist/types/commands/auth-gateway.d.ts +32 -0
  59. package/dist/types/commands/commit.d.ts +27 -0
  60. package/dist/types/commands/config.d.ts +30 -0
  61. package/dist/types/commands/grep.d.ts +42 -0
  62. package/dist/types/commands/grievances.d.ts +40 -0
  63. package/dist/types/commands/launch.d.ts +118 -0
  64. package/dist/types/commands/plugin.d.ts +52 -0
  65. package/dist/types/commands/read.d.ts +15 -0
  66. package/dist/types/commands/setup.d.ts +25 -0
  67. package/dist/types/commands/shell.d.ts +21 -0
  68. package/dist/types/commands/ssh.d.ts +48 -0
  69. package/dist/types/commands/stats.d.ts +25 -0
  70. package/dist/types/commands/update.d.ts +20 -0
  71. package/dist/types/commands/web-search.d.ts +33 -0
  72. package/dist/types/commit/agentic/agent.d.ts +31 -0
  73. package/dist/types/commit/agentic/fallback.d.ts +5 -0
  74. package/dist/types/commit/agentic/index.d.ts +2 -0
  75. package/dist/types/commit/agentic/state.d.ts +58 -0
  76. package/dist/types/commit/agentic/tools/analyze-file.d.ts +19 -0
  77. package/dist/types/commit/agentic/tools/git-file-diff.d.ts +10 -0
  78. package/dist/types/commit/agentic/tools/git-hunk.d.ts +9 -0
  79. package/dist/types/commit/agentic/tools/git-overview.d.ts +9 -0
  80. package/dist/types/commit/agentic/tools/index.d.ts +16 -0
  81. package/dist/types/commit/agentic/tools/propose-changelog.d.ts +28 -0
  82. package/dist/types/commit/agentic/tools/propose-commit.d.ts +36 -0
  83. package/dist/types/commit/agentic/tools/recent-commits.d.ts +7 -0
  84. package/dist/types/commit/agentic/tools/schemas.d.ts +27 -0
  85. package/dist/types/commit/agentic/tools/split-commit.d.ts +53 -0
  86. package/dist/types/commit/agentic/topo-sort.d.ts +4 -0
  87. package/dist/types/commit/agentic/trivial.d.ts +7 -0
  88. package/dist/types/commit/agentic/validation.d.ts +20 -0
  89. package/dist/types/commit/analysis/conventional.d.ts +22 -0
  90. package/dist/types/commit/analysis/index.d.ts +4 -0
  91. package/dist/types/commit/analysis/scope.d.ts +6 -0
  92. package/dist/types/commit/analysis/summary.d.ts +19 -0
  93. package/dist/types/commit/analysis/validation.d.ts +8 -0
  94. package/dist/types/commit/changelog/detect.d.ts +2 -0
  95. package/dist/types/commit/changelog/generate.d.ts +30 -0
  96. package/dist/types/commit/changelog/index.d.ts +30 -0
  97. package/dist/types/commit/changelog/parse.d.ts +2 -0
  98. package/dist/types/commit/cli.d.ts +3 -0
  99. package/dist/types/commit/git/diff.d.ts +5 -0
  100. package/dist/types/commit/index.d.ts +4 -0
  101. package/dist/types/commit/map-reduce/index.d.ts +28 -0
  102. package/dist/types/commit/map-reduce/map-phase.d.ts +17 -0
  103. package/dist/types/commit/map-reduce/reduce-phase.d.ts +13 -0
  104. package/dist/types/commit/map-reduce/utils.d.ts +2 -0
  105. package/dist/types/commit/message.d.ts +2 -0
  106. package/dist/types/commit/model-selection.d.ts +15 -0
  107. package/dist/types/commit/pipeline.d.ts +5 -0
  108. package/dist/types/commit/shared-llm.d.ts +54 -0
  109. package/dist/types/commit/types.d.ts +78 -0
  110. package/dist/types/commit/utils/exclusions.d.ts +4 -0
  111. package/dist/types/commit/utils.d.ts +20 -0
  112. package/dist/types/config/config-file.d.ts +58 -0
  113. package/dist/types/config/file-lock.d.ts +6 -0
  114. package/dist/types/config/keybindings.d.ts +334 -0
  115. package/dist/types/config/model-equivalence.d.ts +24 -0
  116. package/dist/types/config/model-registry.d.ts +363 -0
  117. package/dist/types/config/model-resolver.d.ts +230 -0
  118. package/dist/types/config/models-config-schema.d.ts +503 -0
  119. package/dist/types/config/prompt-templates.d.ts +32 -0
  120. package/dist/types/config/resolve-config-value.d.ts +17 -0
  121. package/dist/types/config/settings-schema.d.ts +3361 -0
  122. package/dist/types/config/settings.d.ts +126 -0
  123. package/dist/types/config.d.ts +66 -0
  124. package/dist/types/cursor.d.ts +22 -0
  125. package/dist/types/dap/client.d.ts +38 -0
  126. package/dist/types/dap/config.d.ts +6 -0
  127. package/dist/types/dap/index.d.ts +4 -0
  128. package/dist/types/dap/session.d.ts +108 -0
  129. package/dist/types/dap/types.d.ts +524 -0
  130. package/dist/types/debug/index.d.ts +15 -0
  131. package/dist/types/debug/log-formatting.d.ts +4 -0
  132. package/dist/types/debug/log-viewer.d.ts +68 -0
  133. package/dist/types/debug/profiler.d.ts +24 -0
  134. package/dist/types/debug/raw-sse-buffer.d.ts +44 -0
  135. package/dist/types/debug/raw-sse.d.ts +16 -0
  136. package/dist/types/debug/report-bundle.d.ts +55 -0
  137. package/dist/types/debug/system-info.d.ts +26 -0
  138. package/dist/types/discovery/agents-md.d.ts +1 -0
  139. package/dist/types/discovery/agents.d.ts +12 -0
  140. package/dist/types/discovery/builtin.d.ts +1 -0
  141. package/dist/types/discovery/claude-plugins.d.ts +1 -0
  142. package/dist/types/discovery/claude.d.ts +1 -0
  143. package/dist/types/discovery/cline.d.ts +1 -0
  144. package/dist/types/discovery/codex.d.ts +1 -0
  145. package/dist/types/discovery/cursor.d.ts +16 -0
  146. package/dist/types/discovery/gemini.d.ts +1 -0
  147. package/dist/types/discovery/github.d.ts +1 -0
  148. package/dist/types/discovery/helpers.d.ts +267 -0
  149. package/dist/types/discovery/index.d.ts +51 -0
  150. package/dist/types/discovery/mcp-json.d.ts +1 -0
  151. package/dist/types/discovery/opencode.d.ts +1 -0
  152. package/dist/types/discovery/plugin-dir-roots.d.ts +15 -0
  153. package/dist/types/discovery/ssh.d.ts +1 -0
  154. package/dist/types/discovery/substitute-plugin-root.d.ts +5 -0
  155. package/dist/types/discovery/vscode.d.ts +1 -0
  156. package/dist/types/discovery/windsurf.d.ts +13 -0
  157. package/dist/types/edit/apply-patch/index.d.ts +35 -0
  158. package/dist/types/edit/apply-patch/parser.d.ts +34 -0
  159. package/dist/types/edit/diff.d.ts +59 -0
  160. package/dist/types/edit/file-read-cache.d.ts +25 -0
  161. package/dist/types/edit/index.d.ts +58 -0
  162. package/dist/types/edit/modes/apply-patch.d.ts +24 -0
  163. package/dist/types/edit/modes/patch.d.ts +99 -0
  164. package/dist/types/edit/modes/replace.d.ts +142 -0
  165. package/dist/types/edit/normalize.d.ts +43 -0
  166. package/dist/types/edit/notebook.d.ts +23 -0
  167. package/dist/types/edit/read-file.d.ts +2 -0
  168. package/dist/types/edit/renderer.d.ts +110 -0
  169. package/dist/types/edit/streaming.d.ts +59 -0
  170. package/dist/types/eval/backend.d.ts +40 -0
  171. package/dist/types/eval/index.d.ts +4 -0
  172. package/dist/types/eval/js/context-manager.d.ts +24 -0
  173. package/dist/types/eval/js/executor.d.ts +28 -0
  174. package/dist/types/eval/js/index.d.ts +10 -0
  175. package/dist/types/eval/js/shared/helpers.d.ts +38 -0
  176. package/dist/types/eval/js/shared/indirect-eval.d.ts +14 -0
  177. package/dist/types/eval/js/shared/prelude.d.ts +1 -0
  178. package/dist/types/eval/js/shared/rewrite-imports.d.ts +6 -0
  179. package/dist/types/eval/js/shared/runtime.d.ts +47 -0
  180. package/dist/types/eval/js/shared/types.d.ts +24 -0
  181. package/dist/types/eval/js/tool-bridge.d.ts +18 -0
  182. package/dist/types/eval/js/worker-core.d.ts +5 -0
  183. package/dist/types/eval/js/worker-entry.d.ts +1 -0
  184. package/dist/types/eval/js/worker-protocol.d.ts +77 -0
  185. package/dist/types/eval/py/display.d.ts +25 -0
  186. package/dist/types/eval/py/executor.d.ts +83 -0
  187. package/dist/types/eval/py/index.d.ts +10 -0
  188. package/dist/types/eval/py/kernel.d.ts +55 -0
  189. package/dist/types/eval/py/prelude.d.ts +1 -0
  190. package/dist/types/eval/py/runtime.d.ts +21 -0
  191. package/dist/types/eval/py/tool-bridge.d.ts +20 -0
  192. package/dist/types/eval/types.d.ts +52 -0
  193. package/dist/types/exa/factory.d.ts +13 -0
  194. package/dist/types/exa/index.d.ts +20 -0
  195. package/dist/types/exa/mcp-client.d.ts +45 -0
  196. package/dist/types/exa/render.d.ts +19 -0
  197. package/dist/types/exa/researcher.d.ts +9 -0
  198. package/dist/types/exa/search.d.ts +9 -0
  199. package/dist/types/exa/types.d.ts +155 -0
  200. package/dist/types/exa/websets.d.ts +9 -0
  201. package/dist/types/exec/bash-executor.d.ts +41 -0
  202. package/dist/types/exec/exec.d.ts +25 -0
  203. package/dist/types/exec/idle-timeout-watchdog.d.ts +18 -0
  204. package/dist/types/exec/non-interactive-env.d.ts +1 -0
  205. package/dist/types/export/custom-share.d.ts +20 -0
  206. package/dist/types/export/html/index.d.ts +10 -0
  207. package/dist/types/export/html/template.generated.d.ts +1 -0
  208. package/dist/types/export/html/template.macro.d.ts +5 -0
  209. package/dist/types/export/ttsr.d.ts +44 -0
  210. package/dist/types/extensibility/custom-commands/bundled/ci-green/index.d.ts +9 -0
  211. package/dist/types/extensibility/custom-commands/bundled/review/index.d.ts +10 -0
  212. package/dist/types/extensibility/custom-commands/index.d.ts +2 -0
  213. package/dist/types/extensibility/custom-commands/loader.d.ts +29 -0
  214. package/dist/types/extensibility/custom-commands/types.d.ts +106 -0
  215. package/dist/types/extensibility/custom-tools/index.d.ts +6 -0
  216. package/dist/types/extensibility/custom-tools/loader.d.ts +69 -0
  217. package/dist/types/extensibility/custom-tools/types.d.ts +226 -0
  218. package/dist/types/extensibility/custom-tools/wrapper.d.ts +23 -0
  219. package/dist/types/extensibility/extensions/compact-handler.d.ts +26 -0
  220. package/dist/types/extensibility/extensions/get-commands-handler.d.ts +29 -0
  221. package/dist/types/extensibility/extensions/index.d.ts +8 -0
  222. package/dist/types/extensibility/extensions/loader.d.ts +43 -0
  223. package/dist/types/extensibility/extensions/runner.d.ts +134 -0
  224. package/dist/types/extensibility/extensions/types.d.ts +864 -0
  225. package/dist/types/extensibility/extensions/wrapper.d.ts +54 -0
  226. package/dist/types/extensibility/hooks/index.d.ts +5 -0
  227. package/dist/types/extensibility/hooks/loader.d.ts +89 -0
  228. package/dist/types/extensibility/hooks/runner.d.ts +126 -0
  229. package/dist/types/extensibility/hooks/tool-wrapper.d.ts +25 -0
  230. package/dist/types/extensibility/hooks/types.d.ts +431 -0
  231. package/dist/types/extensibility/plugins/doctor.d.ts +3 -0
  232. package/dist/types/extensibility/plugins/git-url.d.ts +34 -0
  233. package/dist/types/extensibility/plugins/index.d.ts +7 -0
  234. package/dist/types/extensibility/plugins/installer.d.ts +5 -0
  235. package/dist/types/extensibility/plugins/legacy-pi-compat.d.ts +2 -0
  236. package/dist/types/extensibility/plugins/loader.d.ts +31 -0
  237. package/dist/types/extensibility/plugins/manager.d.ts +65 -0
  238. package/dist/types/extensibility/plugins/marketplace/cache.d.ts +41 -0
  239. package/dist/types/extensibility/plugins/marketplace/fetcher.d.ts +48 -0
  240. package/dist/types/extensibility/plugins/marketplace/index.d.ts +6 -0
  241. package/dist/types/extensibility/plugins/marketplace/manager.d.ts +57 -0
  242. package/dist/types/extensibility/plugins/marketplace/registry.d.ts +34 -0
  243. package/dist/types/extensibility/plugins/marketplace/source-resolver.d.ts +28 -0
  244. package/dist/types/extensibility/plugins/marketplace/types.d.ts +130 -0
  245. package/dist/types/extensibility/plugins/parser.d.ts +52 -0
  246. package/dist/types/extensibility/plugins/types.d.ts +149 -0
  247. package/dist/types/extensibility/shared-events.d.ts +279 -0
  248. package/dist/types/extensibility/skills.d.ts +57 -0
  249. package/dist/types/extensibility/slash-commands.d.ts +48 -0
  250. package/dist/types/extensibility/tool-proxy.d.ts +4 -0
  251. package/dist/types/extensibility/typebox.d.ts +155 -0
  252. package/dist/types/extensibility/utils.d.ts +12 -0
  253. package/dist/types/goals/index.d.ts +3 -0
  254. package/dist/types/goals/runtime.d.ts +63 -0
  255. package/dist/types/goals/state.d.ts +35 -0
  256. package/dist/types/goals/tools/goal-tool.d.ts +62 -0
  257. package/dist/types/hashline/anchors.d.ts +20 -0
  258. package/dist/types/hashline/apply.d.ts +14 -0
  259. package/dist/types/hashline/constants.d.ts +21 -0
  260. package/dist/types/hashline/diff-preview.d.ts +2 -0
  261. package/dist/types/hashline/diff.d.ts +17 -0
  262. package/dist/types/hashline/execute.d.ts +4 -0
  263. package/dist/types/hashline/hash.d.ts +149 -0
  264. package/dist/types/hashline/index.d.ts +13 -0
  265. package/dist/types/hashline/input.d.ts +11 -0
  266. package/dist/types/hashline/parser.d.ts +7 -0
  267. package/dist/types/hashline/prefixes.d.ts +7 -0
  268. package/dist/types/hashline/recovery.d.ts +22 -0
  269. package/dist/types/hashline/stream.d.ts +2 -0
  270. package/dist/types/hashline/types.d.ts +77 -0
  271. package/dist/types/hindsight/backend.d.ts +13 -0
  272. package/dist/types/hindsight/bank.d.ts +54 -0
  273. package/dist/types/hindsight/client.d.ts +224 -0
  274. package/dist/types/hindsight/config.d.ts +51 -0
  275. package/dist/types/hindsight/content.d.ts +70 -0
  276. package/dist/types/hindsight/index.d.ts +8 -0
  277. package/dist/types/hindsight/mental-models.d.ts +125 -0
  278. package/dist/types/hindsight/state.d.ts +99 -0
  279. package/dist/types/hindsight/transcript.d.ts +28 -0
  280. package/dist/types/index.d.ts +33 -0
  281. package/dist/types/internal-urls/agent-protocol.d.ts +12 -0
  282. package/dist/types/internal-urls/artifact-protocol.d.ts +6 -0
  283. package/dist/types/internal-urls/docs-index.generated.d.ts +2 -0
  284. package/dist/types/internal-urls/index.d.ts +22 -0
  285. package/dist/types/internal-urls/issue-pr-protocol.d.ts +17 -0
  286. package/dist/types/internal-urls/json-query.d.ts +30 -0
  287. package/dist/types/internal-urls/local-protocol.d.ts +39 -0
  288. package/dist/types/internal-urls/mcp-protocol.d.ts +12 -0
  289. package/dist/types/internal-urls/memory-protocol.d.ts +17 -0
  290. package/dist/types/internal-urls/omp-protocol.d.ts +12 -0
  291. package/dist/types/internal-urls/parse.d.ts +19 -0
  292. package/dist/types/internal-urls/registry-helpers.d.ts +10 -0
  293. package/dist/types/internal-urls/router.d.ts +14 -0
  294. package/dist/types/internal-urls/rule-protocol.d.ts +6 -0
  295. package/dist/types/internal-urls/skill-protocol.d.ts +13 -0
  296. package/dist/types/internal-urls/types.d.ts +105 -0
  297. package/dist/types/lsp/client.d.ts +65 -0
  298. package/dist/types/lsp/clients/biome-client.d.ts +16 -0
  299. package/dist/types/lsp/clients/index.d.ts +19 -0
  300. package/dist/types/lsp/clients/lsp-linter-client.d.ts +16 -0
  301. package/dist/types/lsp/clients/swiftlint-client.d.ts +20 -0
  302. package/dist/types/lsp/config.d.ts +65 -0
  303. package/dist/types/lsp/edits.d.ts +16 -0
  304. package/dist/types/lsp/index.d.ts +130 -0
  305. package/dist/types/lsp/lspmux.d.ts +58 -0
  306. package/dist/types/lsp/render.d.ts +32 -0
  307. package/dist/types/lsp/startup-events.d.ts +11 -0
  308. package/dist/types/lsp/types.d.ts +302 -0
  309. package/dist/types/lsp/utils.d.ts +108 -0
  310. package/dist/types/main.d.ts +17 -0
  311. package/dist/types/mcp/client.d.ts +74 -0
  312. package/dist/types/mcp/config-writer.d.ts +53 -0
  313. package/dist/types/mcp/config.d.ts +75 -0
  314. package/dist/types/mcp/discoverable-tool-metadata.d.ts +7 -0
  315. package/dist/types/mcp/index.d.ts +18 -0
  316. package/dist/types/mcp/json-rpc.d.ts +22 -0
  317. package/dist/types/mcp/loader.d.ts +43 -0
  318. package/dist/types/mcp/manager.d.ts +193 -0
  319. package/dist/types/mcp/oauth-discovery.d.ts +40 -0
  320. package/dist/types/mcp/oauth-flow.d.ts +59 -0
  321. package/dist/types/mcp/render.d.ts +25 -0
  322. package/dist/types/mcp/smithery-auth.d.ts +16 -0
  323. package/dist/types/mcp/smithery-connect.d.ts +38 -0
  324. package/dist/types/mcp/smithery-registry.d.ts +51 -0
  325. package/dist/types/mcp/tool-bridge.d.ts +86 -0
  326. package/dist/types/mcp/tool-cache.d.ts +8 -0
  327. package/dist/types/mcp/transports/http.d.ts +36 -0
  328. package/dist/types/mcp/transports/index.d.ts +5 -0
  329. package/dist/types/mcp/transports/stdio.d.ts +32 -0
  330. package/dist/types/mcp/types.d.ts +333 -0
  331. package/dist/types/memories/index.d.ts +28 -0
  332. package/dist/types/memories/storage.d.ts +110 -0
  333. package/dist/types/memory-backend/index.d.ts +4 -0
  334. package/dist/types/memory-backend/local-backend.d.ts +9 -0
  335. package/dist/types/memory-backend/off-backend.d.ts +7 -0
  336. package/dist/types/memory-backend/resolve.d.ts +15 -0
  337. package/dist/types/memory-backend/types.d.ts +61 -0
  338. package/dist/types/modes/acp/acp-agent.d.ts +61 -0
  339. package/dist/types/modes/acp/acp-client-bridge.d.ts +9 -0
  340. package/dist/types/modes/acp/acp-event-mapper.d.ts +20 -0
  341. package/dist/types/modes/acp/acp-mode.d.ts +3 -0
  342. package/dist/types/modes/acp/index.d.ts +2 -0
  343. package/dist/types/modes/acp/terminal-auth.d.ts +6 -0
  344. package/dist/types/modes/components/agent-dashboard.d.ts +21 -0
  345. package/dist/types/modes/components/assistant-message.d.ts +16 -0
  346. package/dist/types/modes/components/bash-execution.d.ts +29 -0
  347. package/dist/types/modes/components/bordered-loader.d.ts +11 -0
  348. package/dist/types/modes/components/branch-summary-message.d.ts +13 -0
  349. package/dist/types/modes/components/btw-panel.d.ts +16 -0
  350. package/dist/types/modes/components/compaction-summary-message.d.ts +13 -0
  351. package/dist/types/modes/components/countdown-timer.d.ts +14 -0
  352. package/dist/types/modes/components/custom-editor.d.ts +47 -0
  353. package/dist/types/modes/components/custom-message.d.ts +15 -0
  354. package/dist/types/modes/components/diff.d.ts +11 -0
  355. package/dist/types/modes/components/dynamic-border.d.ts +14 -0
  356. package/dist/types/modes/components/eval-execution.d.ts +23 -0
  357. package/dist/types/modes/components/execution-shared.d.ts +46 -0
  358. package/dist/types/modes/components/extensions/extension-dashboard.d.ts +26 -0
  359. package/dist/types/modes/components/extensions/extension-list.d.ts +39 -0
  360. package/dist/types/modes/components/extensions/index.d.ts +8 -0
  361. package/dist/types/modes/components/extensions/inspector-panel.d.ts +8 -0
  362. package/dist/types/modes/components/extensions/state-manager.d.ts +50 -0
  363. package/dist/types/modes/components/extensions/types.d.ts +151 -0
  364. package/dist/types/modes/components/footer.d.ts +30 -0
  365. package/dist/types/modes/components/history-search.d.ts +7 -0
  366. package/dist/types/modes/components/hook-editor.d.ts +18 -0
  367. package/dist/types/modes/components/hook-input.d.ts +15 -0
  368. package/dist/types/modes/components/hook-message.d.ts +15 -0
  369. package/dist/types/modes/components/hook-selector.d.ts +23 -0
  370. package/dist/types/modes/components/index.d.ts +35 -0
  371. package/dist/types/modes/components/keybinding-hints.d.ts +40 -0
  372. package/dist/types/modes/components/login-dialog.d.ts +32 -0
  373. package/dist/types/modes/components/mcp-add-wizard.d.ts +25 -0
  374. package/dist/types/modes/components/message-frame.d.ts +42 -0
  375. package/dist/types/modes/components/model-selector.d.ts +26 -0
  376. package/dist/types/modes/components/oauth-selector.d.ts +14 -0
  377. package/dist/types/modes/components/plugin-selector.d.ts +26 -0
  378. package/dist/types/modes/components/plugin-settings.d.ts +66 -0
  379. package/dist/types/modes/components/queue-mode-selector.d.ts +9 -0
  380. package/dist/types/modes/components/read-tool-group.d.ts +30 -0
  381. package/dist/types/modes/components/session-observer-overlay.d.ts +11 -0
  382. package/dist/types/modes/components/session-selector.d.ts +30 -0
  383. package/dist/types/modes/components/settings-defs.d.ts +50 -0
  384. package/dist/types/modes/components/settings-selector.d.ts +54 -0
  385. package/dist/types/modes/components/show-images-selector.d.ts +9 -0
  386. package/dist/types/modes/components/skill-message.d.ts +9 -0
  387. package/dist/types/modes/components/status-line/context-thresholds.d.ts +4 -0
  388. package/dist/types/modes/components/status-line/git-utils.d.ts +22 -0
  389. package/dist/types/modes/components/status-line/index.d.ts +4 -0
  390. package/dist/types/modes/components/status-line/presets.d.ts +3 -0
  391. package/dist/types/modes/components/status-line/segments.d.ts +5 -0
  392. package/dist/types/modes/components/status-line/separators.d.ts +3 -0
  393. package/dist/types/modes/components/status-line/token-rate.d.ts +10 -0
  394. package/dist/types/modes/components/status-line/types.d.ts +70 -0
  395. package/dist/types/modes/components/status-line-segment-editor.d.ts +24 -0
  396. package/dist/types/modes/components/status-line.d.ts +61 -0
  397. package/dist/types/modes/components/theme-selector.d.ts +10 -0
  398. package/dist/types/modes/components/thinking-selector.d.ts +10 -0
  399. package/dist/types/modes/components/todo-reminder.d.ts +13 -0
  400. package/dist/types/modes/components/tool-execution.d.ts +53 -0
  401. package/dist/types/modes/components/tree-selector.d.ts +31 -0
  402. package/dist/types/modes/components/ttsr-notification.d.ts +13 -0
  403. package/dist/types/modes/components/user-message-selector.d.ts +28 -0
  404. package/dist/types/modes/components/user-message.d.ts +8 -0
  405. package/dist/types/modes/components/visual-truncate.d.ts +19 -0
  406. package/dist/types/modes/components/welcome.d.ts +33 -0
  407. package/dist/types/modes/controllers/btw-controller.d.ts +10 -0
  408. package/dist/types/modes/controllers/command-controller-shared.d.ts +47 -0
  409. package/dist/types/modes/controllers/command-controller.d.ts +36 -0
  410. package/dist/types/modes/controllers/event-controller.d.ts +12 -0
  411. package/dist/types/modes/controllers/extension-ui-controller.d.ts +80 -0
  412. package/dist/types/modes/controllers/input-controller.d.ts +35 -0
  413. package/dist/types/modes/controllers/mcp-command-controller.d.ts +10 -0
  414. package/dist/types/modes/controllers/selector-controller.d.ts +45 -0
  415. package/dist/types/modes/controllers/ssh-command-controller.d.ts +10 -0
  416. package/dist/types/modes/controllers/todo-command-controller.d.ts +7 -0
  417. package/dist/types/modes/emoji-autocomplete.d.ts +16 -0
  418. package/dist/types/modes/index.d.ts +9 -0
  419. package/dist/types/modes/interactive-mode.d.ts +267 -0
  420. package/dist/types/modes/loop-limit.d.ts +22 -0
  421. package/dist/types/modes/oauth-manual-input.d.ts +8 -0
  422. package/dist/types/modes/print-mode.d.ts +27 -0
  423. package/dist/types/modes/prompt-action-autocomplete.d.ts +46 -0
  424. package/dist/types/modes/rpc/host-tools.d.ts +16 -0
  425. package/dist/types/modes/rpc/host-uris.d.ts +38 -0
  426. package/dist/types/modes/rpc/rpc-client.d.ts +249 -0
  427. package/dist/types/modes/rpc/rpc-mode.d.ts +17 -0
  428. package/dist/types/modes/rpc/rpc-types.d.ts +586 -0
  429. package/dist/types/modes/runtime-init.d.ts +21 -0
  430. package/dist/types/modes/session-observer-registry.d.ts +26 -0
  431. package/dist/types/modes/shared.d.ts +6 -0
  432. package/dist/types/modes/theme/defaults/index.d.ts +9436 -0
  433. package/dist/types/modes/theme/mermaid-cache.d.ts +9 -0
  434. package/dist/types/modes/theme/theme.d.ts +273 -0
  435. package/dist/types/modes/types.d.ts +274 -0
  436. package/dist/types/modes/utils/context-usage.d.ts +30 -0
  437. package/dist/types/modes/utils/hotkeys-markdown.d.ts +5 -0
  438. package/dist/types/modes/utils/keybinding-matchers.d.ts +10 -0
  439. package/dist/types/modes/utils/tools-markdown.d.ts +5 -0
  440. package/dist/types/modes/utils/ui-helpers.d.ts +49 -0
  441. package/dist/types/plan-mode/approved-plan.d.ts +29 -0
  442. package/dist/types/plan-mode/state.d.ts +6 -0
  443. package/dist/types/registry/agent-registry.d.ts +62 -0
  444. package/dist/types/sdk.d.ts +253 -0
  445. package/dist/types/secrets/index.d.ts +9 -0
  446. package/dist/types/secrets/obfuscator.d.ts +23 -0
  447. package/dist/types/secrets/regex.d.ts +2 -0
  448. package/dist/types/session/agent-session.d.ts +898 -0
  449. package/dist/types/session/agent-storage.d.ts +93 -0
  450. package/dist/types/session/artifacts.d.ts +61 -0
  451. package/dist/types/session/auth-broker-config.d.ts +13 -0
  452. package/dist/types/session/auth-storage.d.ts +6 -0
  453. package/dist/types/session/blob-store.d.ts +63 -0
  454. package/dist/types/session/client-bridge.d.ts +84 -0
  455. package/dist/types/session/history-storage.d.ts +16 -0
  456. package/dist/types/session/messages.d.ts +162 -0
  457. package/dist/types/session/session-dump-format.d.ts +22 -0
  458. package/dist/types/session/session-manager.d.ts +539 -0
  459. package/dist/types/session/session-storage.d.ts +82 -0
  460. package/dist/types/session/streaming-output.d.ts +185 -0
  461. package/dist/types/session/tool-choice-queue.d.ts +78 -0
  462. package/dist/types/slash-commands/acp-builtins.d.ts +18 -0
  463. package/dist/types/slash-commands/builtin-registry.d.ts +23 -0
  464. package/dist/types/slash-commands/helpers/context-report.d.ts +7 -0
  465. package/dist/types/slash-commands/helpers/format.d.ts +7 -0
  466. package/dist/types/slash-commands/helpers/marketplace-manager.d.ts +8 -0
  467. package/dist/types/slash-commands/helpers/mcp.d.ts +3 -0
  468. package/dist/types/slash-commands/helpers/parse.d.ts +33 -0
  469. package/dist/types/slash-commands/helpers/ssh.d.ts +3 -0
  470. package/dist/types/slash-commands/helpers/todo.d.ts +3 -0
  471. package/dist/types/slash-commands/helpers/usage-report.d.ts +7 -0
  472. package/dist/types/slash-commands/marketplace-install-parser.d.ts +33 -0
  473. package/dist/types/slash-commands/types.d.ts +119 -0
  474. package/dist/types/ssh/config-writer.d.ts +49 -0
  475. package/dist/types/ssh/connection-manager.d.ts +33 -0
  476. package/dist/types/ssh/ssh-executor.d.ts +37 -0
  477. package/dist/types/ssh/sshfs-mount.d.ts +6 -0
  478. package/dist/types/ssh/utils.d.ts +2 -0
  479. package/dist/types/stt/downloader.d.ts +9 -0
  480. package/dist/types/stt/index.d.ts +3 -0
  481. package/dist/types/stt/recorder.d.ts +13 -0
  482. package/dist/types/stt/setup.d.ts +18 -0
  483. package/dist/types/stt/stt-controller.d.ts +16 -0
  484. package/dist/types/stt/transcriber.d.ts +16 -0
  485. package/dist/types/system-prompt.d.ts +93 -0
  486. package/dist/types/task/agents.d.ts +28 -0
  487. package/dist/types/task/commands.d.ts +35 -0
  488. package/dist/types/task/discovery.d.ts +18 -0
  489. package/dist/types/task/executor.d.ts +106 -0
  490. package/dist/types/task/index.d.ts +38 -0
  491. package/dist/types/task/name-generator.d.ts +16 -0
  492. package/dist/types/task/omp-command.d.ts +7 -0
  493. package/dist/types/task/output-manager.d.ts +36 -0
  494. package/dist/types/task/parallel.d.ts +34 -0
  495. package/dist/types/task/render.d.ts +22 -0
  496. package/dist/types/task/simple-mode.d.ts +8 -0
  497. package/dist/types/task/subprocess-tool-registry.d.ts +72 -0
  498. package/dist/types/task/types.d.ts +251 -0
  499. package/dist/types/task/worktree.d.ts +95 -0
  500. package/dist/types/thinking.d.ts +30 -0
  501. package/dist/types/tool-discovery/tool-index.d.ts +107 -0
  502. package/dist/types/tools/archive-reader.d.ts +40 -0
  503. package/dist/types/tools/ask.d.ts +109 -0
  504. package/dist/types/tools/ast-edit.d.ts +72 -0
  505. package/dist/types/tools/ast-grep.d.ts +64 -0
  506. package/dist/types/tools/auto-generated-guard.d.ts +17 -0
  507. package/dist/types/tools/bash-command-fixup.d.ts +16 -0
  508. package/dist/types/tools/bash-interactive.d.ts +16 -0
  509. package/dist/types/tools/bash-interceptor.d.ts +24 -0
  510. package/dist/types/tools/bash-pty-selection.d.ts +7 -0
  511. package/dist/types/tools/bash-skill-urls.d.ts +31 -0
  512. package/dist/types/tools/bash.d.ts +130 -0
  513. package/dist/types/tools/browser/attach.d.ts +34 -0
  514. package/dist/types/tools/browser/launch.d.ts +60 -0
  515. package/dist/types/tools/browser/readable.d.ts +17 -0
  516. package/dist/types/tools/browser/registry.d.ts +42 -0
  517. package/dist/types/tools/browser/render.d.ts +50 -0
  518. package/dist/types/tools/browser/tab-protocol.d.ts +144 -0
  519. package/dist/types/tools/browser/tab-supervisor.d.ts +63 -0
  520. package/dist/types/tools/browser/tab-worker-entry.d.ts +1 -0
  521. package/dist/types/tools/browser/tab-worker.d.ts +19 -0
  522. package/dist/types/tools/browser.d.ts +114 -0
  523. package/dist/types/tools/calculator.d.ts +76 -0
  524. package/dist/types/tools/checkpoint.d.ts +63 -0
  525. package/dist/types/tools/conflict-detect.d.ts +205 -0
  526. package/dist/types/tools/context.d.ts +19 -0
  527. package/dist/types/tools/debug.d.ts +209 -0
  528. package/dist/types/tools/eval.d.ts +108 -0
  529. package/dist/types/tools/fetch.d.ts +61 -0
  530. package/dist/types/tools/file-recorder.d.ts +13 -0
  531. package/dist/types/tools/find.d.ts +88 -0
  532. package/dist/types/tools/fs-cache-invalidation.d.ts +15 -0
  533. package/dist/types/tools/gh-format.d.ts +6 -0
  534. package/dist/types/tools/gh-renderer.d.ts +25 -0
  535. package/dist/types/tools/gh.d.ts +356 -0
  536. package/dist/types/tools/github-cache.d.ts +103 -0
  537. package/dist/types/tools/grouped-file-output.d.ts +36 -0
  538. package/dist/types/tools/hindsight-recall.d.ts +23 -0
  539. package/dist/types/tools/hindsight-reflect.d.ts +25 -0
  540. package/dist/types/tools/hindsight-retain.d.ts +29 -0
  541. package/dist/types/tools/image-gen.d.ts +78 -0
  542. package/dist/types/tools/index.d.ts +244 -0
  543. package/dist/types/tools/inspect-image-renderer.d.ts +26 -0
  544. package/dist/types/tools/inspect-image.d.ts +31 -0
  545. package/dist/types/tools/irc.d.ts +79 -0
  546. package/dist/types/tools/job.d.ts +65 -0
  547. package/dist/types/tools/json-tree.d.ts +23 -0
  548. package/dist/types/tools/jtd-to-json-schema.d.ts +29 -0
  549. package/dist/types/tools/jtd-to-typescript.d.ts +26 -0
  550. package/dist/types/tools/jtd-utils.d.ts +42 -0
  551. package/dist/types/tools/list-limit.d.ts +12 -0
  552. package/dist/types/tools/match-line-format.d.ts +11 -0
  553. package/dist/types/tools/output-meta.d.ts +204 -0
  554. package/dist/types/tools/path-utils.d.ts +125 -0
  555. package/dist/types/tools/plan-mode-guard.d.ts +18 -0
  556. package/dist/types/tools/read.d.ts +85 -0
  557. package/dist/types/tools/recipe/index.d.ts +45 -0
  558. package/dist/types/tools/recipe/render.d.ts +36 -0
  559. package/dist/types/tools/recipe/runner.d.ts +60 -0
  560. package/dist/types/tools/recipe/runners/cargo.d.ts +16 -0
  561. package/dist/types/tools/recipe/runners/index.d.ts +2 -0
  562. package/dist/types/tools/recipe/runners/just.d.ts +2 -0
  563. package/dist/types/tools/recipe/runners/make.d.ts +2 -0
  564. package/dist/types/tools/recipe/runners/pkg.d.ts +2 -0
  565. package/dist/types/tools/recipe/runners/task.d.ts +2 -0
  566. package/dist/types/tools/render-mermaid.d.ts +37 -0
  567. package/dist/types/tools/render-utils.d.ts +148 -0
  568. package/dist/types/tools/renderers.d.ts +26 -0
  569. package/dist/types/tools/report-tool-issue.d.ts +123 -0
  570. package/dist/types/tools/resolve.d.ts +85 -0
  571. package/dist/types/tools/review.d.ts +50 -0
  572. package/dist/types/tools/search-tool-bm25.d.ts +65 -0
  573. package/dist/types/tools/search.d.ts +90 -0
  574. package/dist/types/tools/sqlite-reader.d.ts +93 -0
  575. package/dist/types/tools/ssh.d.ts +67 -0
  576. package/dist/types/tools/todo-write.d.ts +120 -0
  577. package/dist/types/tools/tool-errors.d.ts +33 -0
  578. package/dist/types/tools/tool-result.d.ts +30 -0
  579. package/dist/types/tools/tool-timeouts.d.ts +51 -0
  580. package/dist/types/tools/vim.d.ts +58 -0
  581. package/dist/types/tools/write.d.ts +59 -0
  582. package/dist/types/tools/yield.d.ts +25 -0
  583. package/dist/types/tui/code-cell.d.ts +32 -0
  584. package/dist/types/tui/file-list.d.ts +16 -0
  585. package/dist/types/tui/index.d.ts +10 -0
  586. package/dist/types/tui/output-block.d.ts +28 -0
  587. package/dist/types/tui/status-line.d.ts +18 -0
  588. package/dist/types/tui/tree-list.d.ts +19 -0
  589. package/dist/types/tui/types.d.ts +13 -0
  590. package/dist/types/tui/utils.d.ts +36 -0
  591. package/dist/types/utils/changelog.d.ts +20 -0
  592. package/dist/types/utils/clipboard.d.ts +20 -0
  593. package/dist/types/utils/command-args.d.ts +9 -0
  594. package/dist/types/utils/commit-message-generator.d.ts +7 -0
  595. package/dist/types/utils/edit-mode.d.ts +13 -0
  596. package/dist/types/utils/event-bus.d.ts +6 -0
  597. package/dist/types/utils/external-editor.d.ts +17 -0
  598. package/dist/types/utils/file-display-mode.d.ts +27 -0
  599. package/dist/types/utils/file-mentions.d.ts +11 -0
  600. package/dist/types/utils/git.d.ts +360 -0
  601. package/dist/types/utils/image-loading.d.ts +26 -0
  602. package/dist/types/utils/image-resize.d.ts +36 -0
  603. package/dist/types/utils/lang-from-path.d.ts +8 -0
  604. package/dist/types/utils/markit.d.ts +7 -0
  605. package/dist/types/utils/open.d.ts +2 -0
  606. package/dist/types/utils/session-color.d.ts +10 -0
  607. package/dist/types/utils/shell-snapshot.d.ts +5 -0
  608. package/dist/types/utils/sixel.d.ts +21 -0
  609. package/dist/types/utils/title-generator.d.ts +31 -0
  610. package/dist/types/utils/tool-choice.d.ts +6 -0
  611. package/dist/types/utils/tools-manager.d.ts +9 -0
  612. package/dist/types/vim/buffer.d.ts +41 -0
  613. package/dist/types/vim/commands.d.ts +6 -0
  614. package/dist/types/vim/engine.d.ts +47 -0
  615. package/dist/types/vim/parser.d.ts +3 -0
  616. package/dist/types/vim/render.d.ts +25 -0
  617. package/dist/types/vim/types.d.ts +182 -0
  618. package/dist/types/web/kagi.d.ts +21 -0
  619. package/dist/types/web/parallel.d.ts +57 -0
  620. package/dist/types/web/scrapers/artifacthub.d.ts +6 -0
  621. package/dist/types/web/scrapers/arxiv.d.ts +5 -0
  622. package/dist/types/web/scrapers/aur.d.ts +5 -0
  623. package/dist/types/web/scrapers/biorxiv.d.ts +5 -0
  624. package/dist/types/web/scrapers/bluesky.d.ts +5 -0
  625. package/dist/types/web/scrapers/brew.d.ts +5 -0
  626. package/dist/types/web/scrapers/cheatsh.d.ts +8 -0
  627. package/dist/types/web/scrapers/chocolatey.d.ts +5 -0
  628. package/dist/types/web/scrapers/choosealicense.d.ts +2 -0
  629. package/dist/types/web/scrapers/cisa-kev.d.ts +5 -0
  630. package/dist/types/web/scrapers/clojars.d.ts +5 -0
  631. package/dist/types/web/scrapers/coingecko.d.ts +5 -0
  632. package/dist/types/web/scrapers/crates-io.d.ts +5 -0
  633. package/dist/types/web/scrapers/crossref.d.ts +2 -0
  634. package/dist/types/web/scrapers/devto.d.ts +5 -0
  635. package/dist/types/web/scrapers/discogs.d.ts +8 -0
  636. package/dist/types/web/scrapers/discourse.d.ts +5 -0
  637. package/dist/types/web/scrapers/dockerhub.d.ts +5 -0
  638. package/dist/types/web/scrapers/docs-rs.d.ts +2 -0
  639. package/dist/types/web/scrapers/fdroid.d.ts +5 -0
  640. package/dist/types/web/scrapers/firefox-addons.d.ts +2 -0
  641. package/dist/types/web/scrapers/flathub.d.ts +2 -0
  642. package/dist/types/web/scrapers/github-gist.d.ts +5 -0
  643. package/dist/types/web/scrapers/github.d.ts +12 -0
  644. package/dist/types/web/scrapers/gitlab.d.ts +5 -0
  645. package/dist/types/web/scrapers/go-pkg.d.ts +5 -0
  646. package/dist/types/web/scrapers/hackage.d.ts +5 -0
  647. package/dist/types/web/scrapers/hackernews.d.ts +2 -0
  648. package/dist/types/web/scrapers/hex.d.ts +5 -0
  649. package/dist/types/web/scrapers/huggingface.d.ts +2 -0
  650. package/dist/types/web/scrapers/iacr.d.ts +5 -0
  651. package/dist/types/web/scrapers/index.d.ts +84 -0
  652. package/dist/types/web/scrapers/jetbrains-marketplace.d.ts +2 -0
  653. package/dist/types/web/scrapers/lemmy.d.ts +2 -0
  654. package/dist/types/web/scrapers/lobsters.d.ts +5 -0
  655. package/dist/types/web/scrapers/mastodon.d.ts +5 -0
  656. package/dist/types/web/scrapers/maven.d.ts +6 -0
  657. package/dist/types/web/scrapers/mdn.d.ts +2 -0
  658. package/dist/types/web/scrapers/metacpan.d.ts +5 -0
  659. package/dist/types/web/scrapers/musicbrainz.d.ts +5 -0
  660. package/dist/types/web/scrapers/npm.d.ts +5 -0
  661. package/dist/types/web/scrapers/nuget.d.ts +5 -0
  662. package/dist/types/web/scrapers/nvd.d.ts +5 -0
  663. package/dist/types/web/scrapers/ollama.d.ts +2 -0
  664. package/dist/types/web/scrapers/open-vsx.d.ts +5 -0
  665. package/dist/types/web/scrapers/opencorporates.d.ts +5 -0
  666. package/dist/types/web/scrapers/openlibrary.d.ts +5 -0
  667. package/dist/types/web/scrapers/orcid.d.ts +5 -0
  668. package/dist/types/web/scrapers/osv.d.ts +5 -0
  669. package/dist/types/web/scrapers/packagist.d.ts +5 -0
  670. package/dist/types/web/scrapers/pub-dev.d.ts +5 -0
  671. package/dist/types/web/scrapers/pubmed.d.ts +5 -0
  672. package/dist/types/web/scrapers/pypi.d.ts +5 -0
  673. package/dist/types/web/scrapers/rawg.d.ts +2 -0
  674. package/dist/types/web/scrapers/readthedocs.d.ts +2 -0
  675. package/dist/types/web/scrapers/reddit.d.ts +5 -0
  676. package/dist/types/web/scrapers/repology.d.ts +5 -0
  677. package/dist/types/web/scrapers/rfc.d.ts +5 -0
  678. package/dist/types/web/scrapers/rubygems.d.ts +5 -0
  679. package/dist/types/web/scrapers/searchcode.d.ts +2 -0
  680. package/dist/types/web/scrapers/sec-edgar.d.ts +5 -0
  681. package/dist/types/web/scrapers/semantic-scholar.d.ts +2 -0
  682. package/dist/types/web/scrapers/snapcraft.d.ts +2 -0
  683. package/dist/types/web/scrapers/sourcegraph.d.ts +2 -0
  684. package/dist/types/web/scrapers/spdx.d.ts +5 -0
  685. package/dist/types/web/scrapers/spotify.d.ts +8 -0
  686. package/dist/types/web/scrapers/stackoverflow.d.ts +6 -0
  687. package/dist/types/web/scrapers/terraform.d.ts +5 -0
  688. package/dist/types/web/scrapers/tldr.d.ts +7 -0
  689. package/dist/types/web/scrapers/twitter.d.ts +5 -0
  690. package/dist/types/web/scrapers/types.d.ts +77 -0
  691. package/dist/types/web/scrapers/utils.d.ts +26 -0
  692. package/dist/types/web/scrapers/vimeo.d.ts +5 -0
  693. package/dist/types/web/scrapers/vscode-marketplace.d.ts +5 -0
  694. package/dist/types/web/scrapers/w3c.d.ts +2 -0
  695. package/dist/types/web/scrapers/wikidata.d.ts +5 -0
  696. package/dist/types/web/scrapers/wikipedia.d.ts +5 -0
  697. package/dist/types/web/scrapers/youtube.d.ts +5 -0
  698. package/dist/types/web/search/index.d.ts +76 -0
  699. package/dist/types/web/search/provider.d.ts +20 -0
  700. package/dist/types/web/search/providers/anthropic.d.ts +27 -0
  701. package/dist/types/web/search/providers/base.d.ts +35 -0
  702. package/dist/types/web/search/providers/brave.d.ts +20 -0
  703. package/dist/types/web/search/providers/codex.d.ts +31 -0
  704. package/dist/types/web/search/providers/exa.d.ts +43 -0
  705. package/dist/types/web/search/providers/gemini.d.ts +60 -0
  706. package/dist/types/web/search/providers/jina.d.ts +25 -0
  707. package/dist/types/web/search/providers/kagi.d.ts +21 -0
  708. package/dist/types/web/search/providers/kimi.d.ts +18 -0
  709. package/dist/types/web/search/providers/parallel.d.ts +14 -0
  710. package/dist/types/web/search/providers/perplexity.d.ts +35 -0
  711. package/dist/types/web/search/providers/searxng.d.ts +43 -0
  712. package/dist/types/web/search/providers/synthetic.d.ts +24 -0
  713. package/dist/types/web/search/providers/tavily.d.ts +22 -0
  714. package/dist/types/web/search/providers/utils.d.ts +24 -0
  715. package/dist/types/web/search/providers/zai.d.ts +19 -0
  716. package/dist/types/web/search/render.d.ts +35 -0
  717. package/dist/types/web/search/types.d.ts +344 -0
  718. package/dist/types/web/search/utils.d.ts +4 -0
  719. package/dist/types/workspace-tree.d.ts +42 -0
  720. package/examples/custom-tools/README.md +3 -12
  721. package/examples/extensions/README.md +2 -15
  722. package/examples/extensions/api-demo.ts +1 -7
  723. package/package.json +124 -123
  724. package/src/autoresearch/tools/init-experiment.ts +11 -33
  725. package/src/autoresearch/tools/log-experiment.ts +10 -24
  726. package/src/autoresearch/tools/run-experiment.ts +1 -1
  727. package/src/autoresearch/tools/update-notes.ts +2 -9
  728. package/src/cli/auth-broker-cli.ts +746 -0
  729. package/src/cli/auth-gateway-cli.ts +342 -0
  730. package/src/cli/grievances-cli.ts +109 -16
  731. package/src/cli.ts +4 -2
  732. package/src/commands/auth-broker.ts +96 -0
  733. package/src/commands/auth-gateway.ts +61 -0
  734. package/src/commands/grievances.ts +13 -8
  735. package/src/commands/launch.ts +1 -1
  736. package/src/commit/agentic/agent.ts +2 -0
  737. package/src/commit/agentic/tools/analyze-file.ts +2 -2
  738. package/src/commit/agentic/tools/git-file-diff.ts +2 -2
  739. package/src/commit/agentic/tools/git-hunk.ts +3 -3
  740. package/src/commit/agentic/tools/git-overview.ts +2 -2
  741. package/src/commit/agentic/tools/propose-changelog.ts +1 -3
  742. package/src/commit/agentic/tools/recent-commits.ts +1 -1
  743. package/src/commit/agentic/tools/schemas.ts +1 -9
  744. package/src/config/mcp-schema.json +1 -1
  745. package/src/config/model-equivalence.ts +279 -174
  746. package/src/config/model-registry.ts +37 -6
  747. package/src/config/model-resolver.ts +13 -8
  748. package/src/config/models-config-schema.ts +8 -0
  749. package/src/config/settings-schema.ts +52 -0
  750. package/src/cursor.ts +1 -1
  751. package/src/debug/log-formatting.ts +1 -1
  752. package/src/debug/log-viewer.ts +1 -1
  753. package/src/debug/profiler.ts +4 -0
  754. package/src/debug/raw-sse-buffer.ts +100 -59
  755. package/src/debug/raw-sse.ts +1 -1
  756. package/src/discovery/agents.ts +15 -4
  757. package/src/edit/modes/apply-patch.ts +1 -5
  758. package/src/edit/modes/patch.ts +5 -5
  759. package/src/edit/modes/replace.ts +5 -5
  760. package/src/edit/normalize.ts +1 -1
  761. package/src/edit/renderer.ts +2 -1
  762. package/src/edit/streaming.ts +1 -1
  763. package/src/eval/index.ts +0 -2
  764. package/src/eval/js/shared/runtime.ts +25 -0
  765. package/src/eval/py/kernel.ts +1 -1
  766. package/src/exa/researcher.ts +4 -4
  767. package/src/exa/search.ts +10 -22
  768. package/src/exa/websets.ts +33 -33
  769. package/src/extensibility/typebox.ts +1 -1
  770. package/src/goals/tools/goal-tool.ts +3 -3
  771. package/src/hashline/index.ts +0 -1
  772. package/src/hashline/input.ts +8 -11
  773. package/src/hashline/parser.ts +6 -8
  774. package/src/index.ts +0 -3
  775. package/src/internal-urls/docs-index.generated.ts +21 -18
  776. package/src/internal-urls/index.ts +1 -1
  777. package/src/internal-urls/{pi-protocol.ts → omp-protocol.ts} +10 -10
  778. package/src/internal-urls/router.ts +3 -3
  779. package/src/internal-urls/types.ts +1 -1
  780. package/src/lsp/types.ts +8 -11
  781. package/src/main.ts +3 -0
  782. package/src/mcp/tool-bridge.ts +3 -3
  783. package/src/modes/acp/acp-agent.ts +89 -25
  784. package/src/modes/components/bash-execution.ts +1 -1
  785. package/src/modes/components/diff.ts +1 -2
  786. package/src/modes/components/eval-execution.ts +1 -1
  787. package/src/modes/components/oauth-selector.ts +38 -2
  788. package/src/modes/components/tool-execution.ts +1 -2
  789. package/src/modes/controllers/command-controller.ts +96 -34
  790. package/src/modes/controllers/input-controller.ts +4 -3
  791. package/src/modes/controllers/ssh-command-controller.ts +2 -0
  792. package/src/modes/data/emojis.json +1 -0
  793. package/src/modes/emoji-autocomplete.ts +285 -0
  794. package/src/modes/interactive-mode.ts +92 -19
  795. package/src/modes/print-mode.ts +3 -3
  796. package/src/modes/prompt-action-autocomplete.ts +14 -0
  797. package/src/modes/theme/theme-schema.json +1 -1
  798. package/src/plan-mode/approved-plan.ts +9 -0
  799. package/src/prompts/system/system-prompt.md +1 -1
  800. package/src/prompts/system/ttsr-tool-reminder.md +5 -0
  801. package/src/prompts/tools/eval.md +25 -26
  802. package/src/prompts/tools/hashline.md +1 -0
  803. package/src/prompts/tools/read.md +2 -2
  804. package/src/prompts/tools/resolve.md +1 -1
  805. package/src/prompts/tools/search.md +1 -1
  806. package/src/prompts/tools/web-search.md +1 -1
  807. package/src/sdk.ts +92 -7
  808. package/src/session/agent-session.ts +225 -77
  809. package/src/session/agent-storage.ts +7 -2
  810. package/src/session/auth-broker-config.ts +102 -0
  811. package/src/session/auth-storage.ts +7 -1
  812. package/src/session/streaming-output.ts +1 -1
  813. package/src/slash-commands/builtin-registry.ts +2 -0
  814. package/src/slash-commands/helpers/ssh.ts +2 -0
  815. package/src/ssh/connection-manager.ts +28 -7
  816. package/src/task/types.ts +10 -35
  817. package/src/tools/bash-interactive.ts +5 -2
  818. package/src/tools/bash-pty-selection.ts +14 -0
  819. package/src/tools/bash.ts +5 -4
  820. package/src/tools/browser.ts +12 -20
  821. package/src/tools/eval.ts +77 -100
  822. package/src/tools/gh.ts +21 -45
  823. package/src/tools/hindsight-recall.ts +1 -1
  824. package/src/tools/hindsight-reflect.ts +2 -2
  825. package/src/tools/hindsight-retain.ts +3 -7
  826. package/src/tools/index.ts +8 -1
  827. package/src/tools/inspect-image.ts +4 -1
  828. package/src/tools/irc.ts +4 -12
  829. package/src/tools/job.ts +3 -11
  830. package/src/tools/path-utils.ts +2 -2
  831. package/src/tools/read.ts +7 -4
  832. package/src/tools/report-tool-issue.ts +462 -17
  833. package/src/tools/resolve.ts +2 -7
  834. package/src/tools/search.ts +7 -0
  835. package/src/tools/todo-write.ts +8 -15
  836. package/src/tools/yield.ts +17 -5
  837. package/src/tui/code-cell.ts +18 -3
  838. package/src/utils/title-generator.ts +3 -0
  839. package/src/web/scrapers/searchcode.ts +1 -2
  840. package/src/web/search/index.ts +6 -6
  841. package/src/eval/eval.lark +0 -36
  842. package/src/eval/parse.ts +0 -407
  843. package/src/eval/sniff.ts +0 -28
  844. package/src/hashline/utils.ts +0 -3
@@ -55,6 +55,16 @@ function getHostInfoPath(name: string): string {
55
55
  return path.join(HOST_INFO_DIR, `${sanitizeHostName(name)}.json`);
56
56
  }
57
57
 
58
+ async function deleteHostInfoFromDisk(hostName: string): Promise<void> {
59
+ const path = getHostInfoPath(hostName);
60
+ try {
61
+ await fs.promises.unlink(path);
62
+ } catch (err) {
63
+ if (isEnoent(err)) return;
64
+ logger.warn("Failed to delete SSH host info", { host: hostName, error: String(err) });
65
+ }
66
+ }
67
+
58
68
  async function validateKeyPermissions(keyPath?: string): Promise<void> {
59
69
  if (!keyPath) return;
60
70
  let stats: fs.Stats;
@@ -429,6 +439,23 @@ export async function ensureConnection(host: SSHConnectionTarget): Promise<void>
429
439
  }
430
440
  }
431
441
 
442
+ export async function invalidateHostMetadata(hostNames: Iterable<string>): Promise<void> {
443
+ const names = [...hostNames];
444
+ for (const hostName of names) {
445
+ hostInfoCache.delete(hostName);
446
+ await deleteHostInfoFromDisk(hostName);
447
+ }
448
+ for (const hostName of names) {
449
+ const activeHost = activeHosts.get(hostName);
450
+ if (activeHost) {
451
+ await closeConnectionInternal(activeHost);
452
+ activeHosts.delete(hostName);
453
+ continue;
454
+ }
455
+ await closeConnectionInternal({ name: hostName, host: hostName });
456
+ }
457
+ }
458
+
432
459
  async function closeConnectionInternal(host: SSHConnectionTarget): Promise<void> {
433
460
  if (!supportsSshControlMaster()) return;
434
461
  const target = buildSshTarget(host.username, host.host);
@@ -436,13 +463,7 @@ async function closeConnectionInternal(host: SSHConnectionTarget): Promise<void>
436
463
  }
437
464
 
438
465
  export async function closeConnection(hostName: string): Promise<void> {
439
- const host = activeHosts.get(hostName);
440
- if (!host) {
441
- await closeConnectionInternal({ name: hostName, host: hostName });
442
- return;
443
- }
444
- await closeConnectionInternal(host);
445
- activeHosts.delete(hostName);
466
+ await invalidateHostMetadata([hostName]);
446
467
  }
447
468
 
448
469
  export async function closeAllConnections(): Promise<void> {
package/src/task/types.ts CHANGED
@@ -57,18 +57,13 @@ export interface SubagentLifecyclePayload {
57
57
  index: number;
58
58
  }
59
59
 
60
- const assignmentDescriptionForContextEnabled =
61
- "Complete per-task instructions the subagent executes. Must follow the Target/Change/Edge Cases/Acceptance structure. Only include per-task deltas — shared background belongs in `context`.";
62
- const assignmentDescriptionForContextDisabled =
63
- "Complete per-task instructions the subagent executes. Must follow the Target/Change/Edge Cases/Acceptance structure, and include any background that would otherwise live in `context` since shared context is disabled in this mode.";
60
+ const assignmentDescription = "per-task instructions; self-contained";
64
61
 
65
- const createTaskItemSchema = (contextEnabled: boolean) =>
62
+ const createTaskItemSchema = (_contextEnabled: boolean) =>
66
63
  z.object({
67
- id: z.string().max(48).describe("CamelCase identifier, max 48 chars"),
68
- description: z.string().describe("Short one-liner for UI display only — not seen by the subagent"),
69
- assignment: z
70
- .string()
71
- .describe(contextEnabled ? assignmentDescriptionForContextEnabled : assignmentDescriptionForContextDisabled),
64
+ id: z.string().max(48).describe("camelcase identifier"),
65
+ description: z.string().describe("ui label, not seen by subagent"),
66
+ assignment: z.string().describe(assignmentDescription),
72
67
  });
73
68
 
74
69
  /** Single task item for parallel execution (default shape with context enabled). */
@@ -80,44 +75,24 @@ const createTaskSchema = (options: { isolationEnabled: boolean; simpleMode: Task
80
75
  const itemSchema = createTaskItemSchema(contextEnabled);
81
76
 
82
77
  let schema = z.object({
83
- agent: z.string().describe("Agent type for all tasks in this batch"),
84
- tasks: z
85
- .array(itemSchema)
86
- .describe(
87
- contextEnabled
88
- ? "Tasks to execute in parallel. Each must be small-scoped (3-5 files max) and self-contained given context + assignment."
89
- : "Tasks to execute in parallel. Each must be small-scoped (3-5 files max) and fully self-contained inside assignment because shared context is disabled.",
90
- ),
78
+ agent: z.string().describe("agent type"),
79
+ tasks: z.array(itemSchema).describe("tasks to execute in parallel"),
91
80
  });
92
-
93
81
  if (contextEnabled) {
94
82
  schema = schema.extend({
95
- context: z
96
- .string()
97
- .optional()
98
- .describe(
99
- "Shared background prepended to every task's assignment. Put goal, non-goals, constraints, conventions, reference paths, API contracts, and global acceptance commands here once — instead of duplicating across assignments.",
100
- ),
83
+ context: z.string().optional().describe("shared background prepended to each assignment"),
101
84
  });
102
85
  }
103
86
 
104
87
  if (customSchemaEnabled) {
105
88
  schema = schema.extend({
106
- schema: z
107
- .string()
108
- .optional()
109
- .describe(
110
- "JSON-encoded JTD schema defining expected response structure. Output format belongs here — never in context or assignment.",
111
- ),
89
+ schema: z.string().optional().describe("jtd schema for expected response shape"),
112
90
  });
113
91
  }
114
92
 
115
93
  if (options.isolationEnabled) {
116
94
  schema = schema.extend({
117
- isolated: z
118
- .boolean()
119
- .optional()
120
- .describe("Run in isolated environment; returns patches. Use when tasks edit overlapping files."),
95
+ isolated: z.boolean().optional().describe("run in isolated env; returns patches"),
121
96
  });
122
97
  }
123
98
 
@@ -1,5 +1,5 @@
1
1
  import type { AgentToolContext } from "@oh-my-pi/pi-agent-core";
2
- import { type PtyRunResult, PtySession, sanitizeText } from "@oh-my-pi/pi-natives";
2
+ import { type PtyRunResult, PtySession } from "@oh-my-pi/pi-natives";
3
3
  import {
4
4
  type Component,
5
5
  extractPrintableText,
@@ -10,6 +10,7 @@ import {
10
10
  truncateToWidth,
11
11
  visibleWidth,
12
12
  } from "@oh-my-pi/pi-tui";
13
+ import { sanitizeText } from "@oh-my-pi/pi-utils";
13
14
  import type { Terminal as XtermTerminalType } from "@xterm/headless";
14
15
  import xterm from "@xterm/headless";
15
16
  import { Settings } from "../config/settings";
@@ -27,7 +28,7 @@ export interface BashInteractiveResult extends OutputSummary {
27
28
  }
28
29
 
29
30
  function normalizeCaptureChunk(chunk: string): string {
30
- const normalized = chunk.replace(/\r\n/gu, "\n").replace(/\r/gu, "\n");
31
+ const normalized = chunk.replace(/\r\n?/gu, "\n");
31
32
  return sanitizeWithOptionalSixelPassthrough(normalized, sanitizeText);
32
33
  }
33
34
 
@@ -297,6 +298,7 @@ export async function runInteractiveBashPty(
297
298
  },
298
299
  ): Promise<BashInteractiveResult> {
299
300
  const settings = await Settings.init();
301
+ const { shell: resolvedShell } = settings.getShellConfig();
300
302
  const sink = new OutputSink({
301
303
  artifactPath: options.artifactPath,
302
304
  artifactId: options.artifactId,
@@ -363,6 +365,7 @@ export async function runInteractiveBashPty(
363
365
  signal: options.signal,
364
366
  cols,
365
367
  rows,
368
+ shell: resolvedShell,
366
369
  },
367
370
  (err, chunk) => {
368
371
  if (finished || err || !chunk) return;
@@ -0,0 +1,14 @@
1
+ import { $env } from "@oh-my-pi/pi-utils/env";
2
+
3
+ /** Minimal UI-capability fields needed to decide whether bash can use the local PTY overlay. */
4
+ export interface BashPtyContext {
5
+ hasUI?: boolean;
6
+ ui?: unknown;
7
+ }
8
+
9
+ /** Return whether a bash tool call should use the local interactive PTY overlay. */
10
+ export function canUseInteractiveBashPty(pty: boolean, ctx: BashPtyContext | undefined): boolean {
11
+ if (!pty) return false;
12
+ if ($env.PI_NO_PTY === "1") return false;
13
+ return ctx?.hasUI === true && ctx.ui !== undefined;
14
+ }
package/src/tools/bash.ts CHANGED
@@ -2,7 +2,7 @@ import * as fs from "node:fs";
2
2
  import type { AgentTool, AgentToolContext, AgentToolResult, AgentToolUpdateCallback } from "@oh-my-pi/pi-agent-core";
3
3
  import type { Component } from "@oh-my-pi/pi-tui";
4
4
  import { ImageProtocol, TERMINAL, Text } from "@oh-my-pi/pi-tui";
5
- import { $env, getProjectDir, isEnoent, logger, prompt } from "@oh-my-pi/pi-utils";
5
+ import { getProjectDir, isEnoent, logger, prompt } from "@oh-my-pi/pi-utils";
6
6
  import * as z from "zod/v4";
7
7
  import { AsyncJobManager } from "../async";
8
8
  import { type BashResult, executeBash } from "../exec/bash-executor";
@@ -20,6 +20,7 @@ import type { ToolSession } from ".";
20
20
  import { applyBashFixups, formatBashFixupNotice } from "./bash-command-fixup";
21
21
  import { type BashInteractiveResult, runInteractiveBashPty } from "./bash-interactive";
22
22
  import { checkBashInterception } from "./bash-interceptor";
23
+ import { canUseInteractiveBashPty } from "./bash-pty-selection";
23
24
  import { expandInternalUrls, type InternalUrlExpansionOptions } from "./bash-skill-urls";
24
25
  import { formatStyledTruncationWarning, type OutputMeta, stripOutputNotice } from "./output-meta";
25
26
  import { resolveToCwd } from "./path-utils";
@@ -807,9 +808,9 @@ export class BashTool implements AgentTool<BashToolSchema, BashToolDetails> {
807
808
  // Allocate artifact for truncated output storage
808
809
  const { path: artifactPath, id: artifactId } = (await this.session.allocateOutputArtifact?.("bash")) ?? {};
809
810
 
810
- const usePty = pty && $env.PI_NO_PTY !== "1" && ctx?.hasUI === true && ctx.ui !== undefined;
811
- const result: BashResult | BashInteractiveResult = usePty
812
- ? await runInteractiveBashPty(ctx.ui!, {
811
+ const interactiveUi = canUseInteractiveBashPty(pty, ctx) ? ctx?.ui : undefined;
812
+ const result: BashResult | BashInteractiveResult = interactiveUi
813
+ ? await runInteractiveBashPty(interactiveUi, {
813
814
  command,
814
815
  cwd: commandCwd,
815
816
  timeoutMs,
@@ -18,19 +18,16 @@ export type { Observation, ObservationEntry } from "./browser/tab-protocol";
18
18
  const DEFAULT_TAB_NAME = "main";
19
19
 
20
20
  const appSchema = z.object({
21
- path: z.string().describe("absolute path to a binary to spawn (single-instance reuse)").optional(),
22
- cdp_url: z.string().describe("existing CDP endpoint to connect to (e.g. http://127.0.0.1:9222)").optional(),
23
- args: z.array(z.string()).describe("extra CLI args when spawning").optional(),
24
- target: z.string().describe("substring matched against url+title to pick a BrowserWindow").optional(),
21
+ path: z.string().describe("binary path to spawn").optional(),
22
+ cdp_url: z.string().describe("existing cdp endpoint").optional(),
23
+ args: z.array(z.string()).describe("extra cli args").optional(),
24
+ target: z.string().describe("substring to pick a window").optional(),
25
25
  });
26
26
 
27
27
  const browserSchema = z.object({
28
- action: z.enum(["open", "close", "run"] as const).describe("tab/browser operation"),
29
- name: z
30
- .string()
31
- .describe("tab id; default 'main'. Multiple tabs can coexist; reusable across run() calls and subagents.")
32
- .optional(),
33
- url: z.string().describe("open: navigate after acquiring tab").optional(),
28
+ action: z.enum(["open", "close", "run"] as const).describe("operation"),
29
+ name: z.string().describe("tab id (default 'main')").optional(),
30
+ url: z.string().describe("url to open").optional(),
34
31
  app: appSchema.optional(),
35
32
  viewport: z
36
33
  .object({
@@ -41,21 +38,16 @@ const browserSchema = z.object({
41
38
  .optional(),
42
39
  wait_until: z
43
40
  .enum(["load", "domcontentloaded", "networkidle0", "networkidle2"] as const)
44
- .describe("navigation wait condition for url")
41
+ .describe("navigation wait condition")
45
42
  .optional(),
46
43
  dialogs: z
47
44
  .enum(["accept", "dismiss"] as const)
48
- .describe("open: auto-handle alert/confirm/beforeunload dialogs (default: leave for caller to handle)")
49
- .optional(),
50
- code: z
51
- .string()
52
- .describe(
53
- "run: JS body executed with `page`, `browser`, `tab`, `display`, `assert`, `wait` in scope. Treated as the body of an async function. Use `display(value)` to attach text/JSON/images; the function's return value is JSON-serialized as a final block.",
54
- )
45
+ .describe("auto-handle dialogs")
55
46
  .optional(),
47
+ code: z.string().describe("js body to run in tab").optional(),
56
48
  timeout: z.number().default(30).describe("timeout in seconds").optional(),
57
- all: z.boolean().describe("close: close every tab").optional(),
58
- kill: z.boolean().describe("close: also kill spawned-app browsers (default: leave running)").optional(),
49
+ all: z.boolean().describe("close every tab").optional(),
50
+ kill: z.boolean().describe("also kill spawned-app browsers").optional(),
59
51
  });
60
52
 
61
53
  /** Input schema for the browser tool. */
package/src/tools/eval.ts CHANGED
@@ -4,10 +4,8 @@ import type { Component } from "@oh-my-pi/pi-tui";
4
4
  import { Markdown, Text } from "@oh-my-pi/pi-tui";
5
5
  import { prompt } from "@oh-my-pi/pi-utils";
6
6
  import * as z from "zod/v4";
7
- import { jsBackend, parseEvalInput, pythonBackend, sniffEvalLanguage } from "../eval";
7
+ import { jsBackend, pythonBackend } from "../eval";
8
8
  import type { ExecutorBackend } from "../eval/backend";
9
- import evalGrammar from "../eval/eval.lark" with { type: "text" };
10
- import { ABORT_WARNING, type ParsedEvalCell } from "../eval/parse";
11
9
  import type { EvalCellResult, EvalDisplayOutput, EvalLanguage, EvalStatusEvent, EvalToolDetails } from "../eval/types";
12
10
  import type { RenderResultOptions } from "../extensibility/custom-tools/types";
13
11
  import { truncateToVisualLines } from "../modes/components/visual-truncate";
@@ -29,8 +27,27 @@ import { clampTimeout } from "./tool-timeouts";
29
27
 
30
28
  export const EVAL_DEFAULT_PREVIEW_LINES = 10;
31
29
 
30
+ /**
31
+ * Per-cell input. Each cell runs in order; state persists within a language
32
+ * across cells and across tool calls.
33
+ */
34
+ const evalCellSchema = z.object({
35
+ language: z.enum(["py", "js"]).describe('runtime: "py" for the IPython kernel, "js" for the persistent JS VM'),
36
+ code: z.string().describe("cell body, verbatim. Use top-level await freely."),
37
+ title: z.string().optional().describe('short label shown in transcript (e.g. "imports", "load config")'),
38
+ timeout: z.number().int().min(1).max(600).optional().describe("per-cell timeout in seconds (1-600, default 30)"),
39
+ reset: z
40
+ .boolean()
41
+ .optional()
42
+ .describe("wipe this cell's language kernel before running. Other languages are untouched."),
43
+ });
44
+ export type EvalCellInput = z.infer<typeof evalCellSchema>;
45
+
32
46
  export const evalSchema = z.object({
33
- input: z.string().describe('eval input as a sequence of `*** Cell <lang>:"title"` cell headers followed by code'),
47
+ cells: z
48
+ .array(evalCellSchema)
49
+ .min(1)
50
+ .describe("cells executed in order. State persists within each language across cells and tool calls."),
34
51
  });
35
52
  export type EvalToolParams = z.infer<typeof evalSchema>;
36
53
 
@@ -134,7 +151,6 @@ export interface EvalToolOptions {
134
151
 
135
152
  interface ResolvedBackend {
136
153
  backend: ExecutorBackend;
137
- fallback: boolean;
138
154
  notice?: string;
139
155
  }
140
156
 
@@ -166,51 +182,21 @@ function timeoutSecondsFromMs(timeoutMs: number): number {
166
182
  return clampTimeout("eval", timeoutMs / 1000);
167
183
  }
168
184
 
169
- async function resolveBackend(
170
- session: ToolSession,
171
- requested: EvalLanguage | undefined,
172
- code: string,
173
- ): Promise<ResolvedBackend> {
185
+ async function resolveBackend(session: ToolSession, language: EvalLanguage): Promise<ResolvedBackend> {
174
186
  const allowPy = (session.settings.get("eval.py") as boolean | undefined) ?? true;
175
187
  const allowJs = (session.settings.get("eval.js") as boolean | undefined) ?? true;
176
188
 
177
- if (requested === "python") {
189
+ if (language === "python") {
178
190
  if (!allowPy) throw new ToolError("Python backend is disabled (eval.py = false).");
179
191
  if (!(await pythonBackend.isAvailable(session))) {
180
192
  throw new ToolError(
181
193
  'Python backend is unavailable in this session. Pass language: "js" or install the python kernel.',
182
194
  );
183
195
  }
184
- return { backend: pythonBackend, fallback: false };
185
- }
186
- if (requested === "js") {
187
- if (!allowJs) throw new ToolError("JavaScript backend is disabled (eval.js = false).");
188
- return { backend: jsBackend, fallback: false };
189
- }
190
- // Auto-detect.
191
- const sniffed = sniffEvalLanguage(code);
192
- if (sniffed === "python" && allowPy && (await pythonBackend.isAvailable(session))) {
193
- return { backend: pythonBackend, fallback: false };
194
- }
195
- if (sniffed === "js" && allowJs) {
196
- return { backend: jsBackend, fallback: false };
196
+ return { backend: pythonBackend };
197
197
  }
198
-
199
- // Sniffer returned undefined or the preferred backend was disabled. Prefer
200
- // python when its kernel is up, else fall back to js.
201
- if (allowPy && (await pythonBackend.isAvailable(session))) {
202
- const notice =
203
- sniffed === "js" ? "JavaScript markers detected but eval.js is disabled; using Python." : undefined;
204
- return { backend: pythonBackend, fallback: false, notice };
205
- }
206
- if (allowJs) {
207
- const notice =
208
- sniffed === "python"
209
- ? "Python markers detected but the python kernel is unavailable; using JavaScript."
210
- : undefined;
211
- return { backend: jsBackend, fallback: true, notice };
212
- }
213
- throw new ToolError("No eval backend is available; enable eval.py or eval.js.");
198
+ if (!allowJs) throw new ToolError("JavaScript backend is disabled (eval.js = false).");
199
+ return { backend: jsBackend };
214
200
  }
215
201
 
216
202
  export class EvalTool implements AgentTool<typeof evalSchema> {
@@ -227,20 +213,15 @@ export class EvalTool implements AgentTool<typeof evalSchema> {
227
213
  readonly concurrency = "exclusive";
228
214
  readonly strict = true;
229
215
  readonly intent = (args: Partial<z.infer<typeof evalSchema>>): string | undefined => {
230
- const input = args.input;
231
- if (input) {
232
- try {
233
- const cells = parseEvalInput(input).cells;
234
- return cells.map(cell => cell.title || `running ${cell.language}`).join("\n");
235
- } catch {}
236
- }
237
- return "evaluating";
216
+ const cells = Array.isArray(args.cells) ? args.cells : [];
217
+ const first = cells.find(c => c && typeof c === "object");
218
+ if (!first) return "evaluating";
219
+ const title = typeof first.title === "string" ? first.title : undefined;
220
+ const language = typeof first.language === "string" ? first.language : "?";
221
+ const label = title || `running ${language}`;
222
+ return cells.length > 1 ? `${label} (+${cells.length - 1})` : label;
238
223
  };
239
224
 
240
- get customFormat(): { syntax: "lark"; definition: string } {
241
- return { syntax: "lark", definition: evalGrammar };
242
- }
243
-
244
225
  readonly #proxyExecutor?: EvalProxyExecutor;
245
226
 
246
227
  constructor(
@@ -266,19 +247,17 @@ export class EvalTool implements AgentTool<typeof evalSchema> {
266
247
  }
267
248
  const session = this.session;
268
249
 
269
- const parsedInput = parseEvalInput(params.input);
270
- let previousRuntimeLanguage: EvalLanguage | undefined;
271
250
  const cells: ResolvedEvalCell[] = [];
272
- for (const cell of parsedInput.cells) {
273
- const requested = cell.languageOrigin === "header" ? cell.language : (previousRuntimeLanguage ?? undefined);
274
- const resolved = await resolveBackend(session, requested, cell.code);
275
- previousRuntimeLanguage = resolved.backend.id;
251
+ for (let i = 0; i < params.cells.length; i++) {
252
+ const cell = params.cells[i];
253
+ const language: EvalLanguage = cell.language === "py" ? "python" : "js";
254
+ const resolved = await resolveBackend(session, language);
276
255
  cells.push({
277
- index: cell.index,
256
+ index: i,
278
257
  title: cell.title,
279
258
  code: cell.code,
280
- timeoutMs: cell.timeoutMs,
281
- reset: cell.reset,
259
+ timeoutMs: (cell.timeout ?? 30) * 1000,
260
+ reset: cell.reset ?? false,
282
261
  resolved,
283
262
  });
284
263
  }
@@ -462,11 +441,10 @@ export class EvalTool implements AgentTool<typeof evalSchema> {
462
441
  pushUpdate();
463
442
  const errorMsg = result.output || "Command aborted";
464
443
  const combinedOutput = cellOutputs.join("\n\n");
465
- const abortSuffix = parsedInput.aborted ? `\n\n${ABORT_WARNING}` : "";
466
444
  const outputText =
467
- (cells.length > 1
445
+ cells.length > 1
468
446
  ? `${combinedOutput}\n\nCell ${i + 1} aborted: ${errorMsg}`
469
- : combinedOutput || errorMsg) + abortSuffix;
447
+ : combinedOutput || errorMsg;
470
448
 
471
449
  const summaryForMeta = await summarizeFinal(combinedOutput, finalizeOutput);
472
450
  const details: EvalToolDetails = {
@@ -489,13 +467,12 @@ export class EvalTool implements AgentTool<typeof evalSchema> {
489
467
  cellResult.status = "error";
490
468
  pushUpdate();
491
469
  const combinedOutput = cellOutputs.join("\n\n");
492
- const abortSuffix = parsedInput.aborted ? `\n\n${ABORT_WARNING}` : "";
493
470
  const outputText =
494
- (cells.length > 1
471
+ cells.length > 1
495
472
  ? `${combinedOutput}\n\nCell ${i + 1} failed (exit code ${result.exitCode}). Earlier cells succeeded—their state persists. Fix only cell ${i + 1}.`
496
473
  : combinedOutput
497
474
  ? `${combinedOutput}\n\nCommand exited with code ${result.exitCode}`
498
- : `Command exited with code ${result.exitCode}`) + abortSuffix;
475
+ : `Command exited with code ${result.exitCode}`;
499
476
 
500
477
  const summaryForMeta = await summarizeFinal(combinedOutput, finalizeOutput);
501
478
  const details: EvalToolDetails = {
@@ -519,13 +496,12 @@ export class EvalTool implements AgentTool<typeof evalSchema> {
519
496
  }
520
497
 
521
498
  const combinedOutput = cellOutputs.join("\n\n");
522
- const abortSuffix = parsedInput.aborted ? `\n\n${ABORT_WARNING}` : "";
523
499
  const hasImages = images.length > 0;
524
500
  const outputText =
525
- (combinedOutput ||
526
- (hasImages
527
- ? `(displayed ${images.length} image${images.length === 1 ? "" : "s"}; no text output)`
528
- : "(no output)")) + abortSuffix;
501
+ combinedOutput ||
502
+ (hasImages
503
+ ? `(displayed ${images.length} image${images.length === 1 ? "" : "s"}; no text output)`
504
+ : "(no output)");
529
505
  const summaryForMeta = await summarizeFinal(combinedOutput, finalizeOutput);
530
506
 
531
507
  const details: EvalToolDetails = {
@@ -581,8 +557,14 @@ async function summarizeFinal(
581
557
  };
582
558
  }
583
559
 
560
+ interface EvalRenderCellArg {
561
+ language?: string;
562
+ code?: string;
563
+ title?: string;
564
+ }
565
+
584
566
  interface EvalRenderArgs {
585
- input?: string;
567
+ cells?: EvalRenderCellArg[];
586
568
  __partialJson?: string;
587
569
  }
588
570
 
@@ -593,27 +575,30 @@ interface EvalRenderContext {
593
575
  timeout?: number;
594
576
  }
595
577
 
596
- function decodePartialJsonStringFragment(fragment: string): string {
597
- let text = fragment.replace(/\\u[0-9a-fA-F]{0,3}$/, "");
598
- const trailingBackslashes = text.match(/\\+$/)?.[0].length ?? 0;
599
- if (trailingBackslashes % 2 === 1) text = text.slice(0, -1);
600
- try {
601
- return JSON.parse(`"${text}"`) as string;
602
- } catch {
603
- return text;
604
- }
578
+ interface EvalRenderCell {
579
+ language: EvalLanguage;
580
+ code: string;
581
+ title?: string;
605
582
  }
606
583
 
607
- function extractPartialJsonString(partialJson: string | undefined, key: string): string | undefined {
608
- if (!partialJson) return undefined;
609
- const pattern = new RegExp(`"${key}"\\s*:\\s*"((?:\\\\.|[^"\\\\])*)`, "u");
610
- const match = pattern.exec(partialJson);
611
- if (!match) return undefined;
612
- return decodePartialJsonStringFragment(match[1]);
584
+ function normalizeRenderLanguage(value: string | undefined): EvalLanguage {
585
+ return value === "js" ? "js" : "python";
613
586
  }
614
587
 
615
- function getRenderInput(args: EvalRenderArgs | undefined): string | undefined {
616
- return args?.input ?? extractPartialJsonString(args?.__partialJson, "input");
588
+ function getRenderCells(args: EvalRenderArgs | undefined): EvalRenderCell[] {
589
+ const raw = args?.cells;
590
+ if (!Array.isArray(raw)) return [];
591
+ const out: EvalRenderCell[] = [];
592
+ for (const cell of raw) {
593
+ if (!cell || typeof cell !== "object") continue;
594
+ const code = typeof cell.code === "string" ? cell.code : "";
595
+ out.push({
596
+ language: normalizeRenderLanguage(typeof cell.language === "string" ? cell.language : undefined),
597
+ code,
598
+ title: typeof cell.title === "string" ? cell.title : undefined,
599
+ });
600
+ }
601
+ return out;
617
602
  }
618
603
 
619
604
  /** Format a status event as a single line for display. */
@@ -861,15 +846,7 @@ function formatCellOutputLines(
861
846
 
862
847
  export const evalToolRenderer = {
863
848
  renderCall(args: EvalRenderArgs, _options: RenderResultOptions, uiTheme: Theme): Component {
864
- const input = getRenderInput(args);
865
- let cells: ParsedEvalCell[] = [];
866
- if (input) {
867
- try {
868
- cells = parseEvalInput(input).cells;
869
- } catch {
870
- cells = [];
871
- }
872
- }
849
+ const cells = getRenderCells(args);
873
850
 
874
851
  if (cells.length === 0) {
875
852
  const promptSym = uiTheme.fg("accent", ">>>");
@@ -881,7 +858,7 @@ export const evalToolRenderer = {
881
858
 
882
859
  return {
883
860
  render: (width: number): string[] => {
884
- const key = `${input?.length ?? 0}`;
861
+ const key = cells.map(c => `${c.language}:${c.title ?? ""}:${c.code.length}`).join("|");
885
862
  if (cached && cached.key === key && cached.width === width) {
886
863
  return cached.result;
887
864
  }
package/src/tools/gh.ts CHANGED
@@ -213,58 +213,34 @@ const githubSchema = z
213
213
  "run_watch",
214
214
  ] as const)
215
215
  .describe("github operation"),
216
- repo: z.string().describe("owner/repo (any op)").optional(),
217
- branch: z.string().describe("branch (repo_view, pr_push local branch, run_watch)").optional(),
216
+ repo: z.string().describe("owner/repo").optional(),
217
+ branch: z.string().describe("branch").optional(),
218
218
  pr: z
219
219
  .union([z.string(), z.array(z.string())])
220
- .describe(
221
- "pr number, url, or branch (pr_checkout); pass an array to batch-process multiple pull requests in one call",
222
- )
223
- .optional(),
224
- force: z.boolean().describe("reset existing local branch (pr_checkout)").optional(),
225
- forceWithLease: z.boolean().describe("force-with-lease push (pr_push)").optional(),
226
- title: z.string().describe("PR title (pr_create)").optional(),
227
- body: z.string().describe("PR body markdown (pr_create); mutually exclusive with fill").optional(),
228
- base: z.string().describe("PR base branch (pr_create); defaults to repo default branch").optional(),
229
- head: z.string().describe("PR head branch (pr_create); defaults to current branch").optional(),
230
- draft: z.boolean().describe("open PR as draft (pr_create)").optional(),
231
- fill: z
232
- .boolean()
233
- .describe("auto-fill PR title/body from commits (pr_create); mutually exclusive with title/body")
234
- .optional(),
235
- reviewer: z.array(z.string()).describe("reviewers to request (pr_create); accepts users or org/team").optional(),
236
- assignee: z.array(z.string()).describe("assignees (pr_create); use @me for the authenticated user").optional(),
237
- label: z.array(z.string()).describe("labels to apply (pr_create)").optional(),
238
- query: z
239
- .string()
240
- .describe("search query (search_issues, search_prs, search_code, search_commits, search_repos)")
241
- .optional(),
242
- since: z
243
- .string()
244
- .describe(
245
- "lower-bound date for search_issues/search_prs/search_commits/search_repos. Accepts a relative duration (`<n><unit>` with unit `m`/`h`/`d`/`w`/`mo`/`y`, e.g. `3d`, `12h`, `2w`) or an ISO date (`YYYY-MM-DD`) / datetime. Translated to a `created:>=…` (or `committer-date:`/`pushed:`) qualifier; not supported by search_code.",
246
- )
247
- .optional(),
248
- until: z
249
- .string()
250
- .describe(
251
- "upper-bound date in the same format as `since`. With both, builds a `field:since..until` range qualifier.",
252
- )
220
+ .describe("pr number, url, or branch")
253
221
  .optional(),
222
+ force: z.boolean().describe("reset existing local branch").optional(),
223
+ forceWithLease: z.boolean().describe("force-with-lease push").optional(),
224
+ title: z.string().describe("pr title").optional(),
225
+ body: z.string().describe("pr body markdown").optional(),
226
+ base: z.string().describe("pr base branch").optional(),
227
+ head: z.string().describe("pr head branch").optional(),
228
+ draft: z.boolean().describe("open pr as draft").optional(),
229
+ fill: z.boolean().describe("auto-fill pr title/body from commits").optional(),
230
+ reviewer: z.array(z.string()).describe("reviewers").optional(),
231
+ assignee: z.array(z.string()).describe("assignees").optional(),
232
+ label: z.array(z.string()).describe("labels").optional(),
233
+ query: z.string().describe("search query").optional(),
234
+ since: z.string().describe("lower-bound date filter").optional(),
235
+ until: z.string().describe("upper-bound date filter").optional(),
254
236
  dateField: z
255
237
  .enum(["created", "updated"] as const)
256
- .describe(
257
- "date field used by `since`/`until`. issues/prs: `created` (default) or `updated`. repos: `created` (default) or `updated` (mapped to GitHub's `pushed:`). commits: ignored — always uses `committer-date`.",
258
- )
238
+ .describe("date field")
259
239
  .default("created")
260
240
  .optional(),
261
- limit: z
262
- .number()
263
- .default(10)
264
- .describe("max results (search_issues, search_prs, search_code, search_commits, search_repos)")
265
- .optional(),
266
- run: z.string().describe("actions run id or url (run_watch)").optional(),
267
- tail: z.number().default(15).describe("log lines per failed job (run_watch)").optional(),
241
+ limit: z.number().default(10).describe("max results").optional(),
242
+ run: z.string().describe("actions run id or url").optional(),
243
+ tail: z.number().default(15).describe("log lines per failed job").optional(),
268
244
  })
269
245
  .strict();
270
246
 
@@ -6,7 +6,7 @@ import recallDescription from "../prompts/tools/recall.md" with { type: "text" }
6
6
  import type { ToolSession } from ".";
7
7
 
8
8
  const hindsightRecallSchema = z.object({
9
- query: z.string().describe("Natural language search query. Be specific about what you need to know."),
9
+ query: z.string().describe("natural language search query"),
10
10
  });
11
11
 
12
12
  export type HindsightRecallParams = z.infer<typeof hindsightRecallSchema>;