@prometheus-ai/agent 0.5.3 → 0.5.8

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 (1160) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/dist/cli.js +25110 -0
  3. package/dist/types/async/index.d.ts +0 -1
  4. package/dist/types/async/job-manager.d.ts +33 -0
  5. package/dist/types/autolearn/controller.d.ts +25 -0
  6. package/dist/types/autolearn/managed-skills.d.ts +45 -0
  7. package/dist/types/autoresearch/state.d.ts +1 -1
  8. package/dist/types/autoresearch/tools/init-experiment.d.ts +1 -1
  9. package/dist/types/autoresearch/tools/log-experiment.d.ts +1 -1
  10. package/dist/types/autoresearch/tools/run-experiment.d.ts +1 -1
  11. package/dist/types/autoresearch/tools/update-notes.d.ts +1 -1
  12. package/dist/types/autoresearch/types.d.ts +1 -1
  13. package/dist/types/capability/context-file.d.ts +0 -13
  14. package/dist/types/capability/mcp.d.ts +1 -0
  15. package/dist/types/capability/rule-buckets.d.ts +1 -1
  16. package/dist/types/capability/rule.d.ts +6 -1
  17. package/dist/types/capability/types.d.ts +0 -4
  18. package/dist/types/cli/args.d.ts +23 -3
  19. package/dist/types/cli/bench-cli.d.ts +78 -0
  20. package/dist/types/cli/claude-trace-cli.d.ts +7 -0
  21. package/dist/types/cli/dry-balance-cli.d.ts +16 -2
  22. package/dist/types/cli/gallery-cli.d.ts +43 -0
  23. package/dist/types/cli/gallery-fixtures/agentic.d.ts +2 -0
  24. package/dist/types/cli/gallery-fixtures/codeintel.d.ts +3 -0
  25. package/dist/types/cli/gallery-fixtures/edit.d.ts +3 -0
  26. package/dist/types/cli/gallery-fixtures/fs.d.ts +2 -0
  27. package/dist/types/cli/gallery-fixtures/index.d.ts +4 -0
  28. package/dist/types/cli/gallery-fixtures/interaction.d.ts +3 -0
  29. package/dist/types/cli/gallery-fixtures/memory.d.ts +2 -0
  30. package/dist/types/cli/gallery-fixtures/misc.d.ts +3 -0
  31. package/dist/types/cli/gallery-fixtures/search.d.ts +3 -0
  32. package/dist/types/cli/gallery-fixtures/shell.d.ts +3 -0
  33. package/dist/types/cli/gallery-fixtures/types.d.ts +55 -0
  34. package/dist/types/cli/gallery-fixtures/web.d.ts +2 -0
  35. package/dist/types/cli/gallery-screenshot.d.ts +35 -0
  36. package/dist/types/cli/gateway-cli.d.ts +4 -0
  37. package/dist/types/cli/grievances-cli.d.ts +1 -1
  38. package/dist/types/cli/list-models.d.ts +6 -14
  39. package/dist/types/cli/models-cli.d.ts +49 -0
  40. package/dist/types/cli/session-picker.d.ts +1 -1
  41. package/dist/types/cli/setup-cli.d.ts +1 -1
  42. package/dist/types/cli/setup-model-picker.d.ts +14 -0
  43. package/dist/types/cli/startup-cwd.d.ts +2 -0
  44. package/dist/types/cli/update-cli.d.ts +13 -40
  45. package/dist/types/cli/usage-cli.d.ts +81 -0
  46. package/dist/types/cli-commands.d.ts +12 -0
  47. package/dist/types/collab/crypto.d.ts +7 -0
  48. package/dist/types/collab/guest.d.ts +37 -0
  49. package/dist/types/collab/host.d.ts +29 -0
  50. package/dist/types/collab/protocol.d.ts +119 -0
  51. package/dist/types/collab/relay-client.d.ts +22 -0
  52. package/dist/types/commands/bench.d.ts +29 -0
  53. package/dist/types/commands/gallery.d.ts +47 -0
  54. package/dist/types/commands/gateway.d.ts +3 -0
  55. package/dist/types/commands/install.d.ts +1 -1
  56. package/dist/types/commands/join.d.ts +12 -0
  57. package/dist/types/commands/launch.d.ts +8 -4
  58. package/dist/types/commands/models.d.ts +33 -0
  59. package/dist/types/commands/read.d.ts +1 -1
  60. package/dist/types/commands/say.d.ts +24 -0
  61. package/dist/types/commands/token.d.ts +25 -0
  62. package/dist/types/commands/usage.d.ts +34 -0
  63. package/dist/types/commit/agentic/tools/analyze-file.d.ts +1 -1
  64. package/dist/types/commit/agentic/tools/git-file-diff.d.ts +1 -1
  65. package/dist/types/commit/agentic/tools/git-hunk.d.ts +1 -1
  66. package/dist/types/commit/agentic/tools/git-overview.d.ts +1 -1
  67. package/dist/types/commit/agentic/tools/propose-changelog.d.ts +1 -1
  68. package/dist/types/commit/agentic/tools/propose-commit.d.ts +1 -1
  69. package/dist/types/commit/agentic/tools/recent-commits.d.ts +1 -1
  70. package/dist/types/commit/agentic/tools/schemas.d.ts +1 -1
  71. package/dist/types/commit/agentic/tools/split-commit.d.ts +1 -1
  72. package/dist/types/commit/analysis/conventional.d.ts +2 -2
  73. package/dist/types/commit/analysis/summary.d.ts +2 -2
  74. package/dist/types/commit/changelog/generate.d.ts +3 -3
  75. package/dist/types/commit/changelog/index.d.ts +2 -2
  76. package/dist/types/commit/map-reduce/index.d.ts +3 -3
  77. package/dist/types/commit/map-reduce/map-phase.d.ts +2 -2
  78. package/dist/types/commit/map-reduce/reduce-phase.d.ts +2 -2
  79. package/dist/types/commit/model-selection.d.ts +10 -4
  80. package/dist/types/commit/shared-llm.d.ts +1 -1
  81. package/dist/types/config/api-key-resolver.d.ts +43 -0
  82. package/dist/types/config/append-only-context-mode.d.ts +2 -1
  83. package/dist/types/config/keybindings.d.ts +12 -7
  84. package/dist/types/config/model-discovery.d.ts +57 -0
  85. package/dist/types/config/model-equivalence.d.ts +1 -1
  86. package/dist/types/config/model-registry.d.ts +86 -222
  87. package/dist/types/config/model-resolver.d.ts +43 -12
  88. package/dist/types/config/model-roles.d.ts +29 -0
  89. package/dist/types/config/models-config-schema.d.ts +536 -43
  90. package/dist/types/config/models-config.d.ts +391 -0
  91. package/dist/types/config/settings-schema.d.ts +1211 -324
  92. package/dist/types/config/settings.d.ts +15 -3
  93. package/dist/types/dap/config.d.ts +14 -1
  94. package/dist/types/dap/types.d.ts +10 -0
  95. package/dist/types/debug/log-viewer.d.ts +1 -1
  96. package/dist/types/debug/raw-sse.d.ts +1 -1
  97. package/dist/types/debug/report-bundle.d.ts +3 -0
  98. package/dist/types/debug/terminal-info.d.ts +0 -1
  99. package/dist/types/discovery/at-imports.d.ts +15 -0
  100. package/dist/types/discovery/prometheus-extension-roots.d.ts +7 -7
  101. package/dist/types/edit/diff.d.ts +3 -2
  102. package/dist/types/edit/file-snapshot-store.d.ts +18 -0
  103. package/dist/types/edit/hashline/noop-loop-guard.d.ts +72 -0
  104. package/dist/types/edit/hashline/params.d.ts +1 -1
  105. package/dist/types/edit/index.d.ts +0 -1
  106. package/dist/types/edit/modes/apply-patch.d.ts +1 -1
  107. package/dist/types/edit/modes/patch.d.ts +1 -1
  108. package/dist/types/edit/modes/replace.d.ts +1 -1
  109. package/dist/types/edit/renderer.d.ts +1 -0
  110. package/dist/types/eval/__tests__/completion-bridge.test.d.ts +1 -0
  111. package/dist/types/eval/__tests__/helpers-local-roots.test.d.ts +1 -0
  112. package/dist/types/eval/__tests__/js-context-manager.test.d.ts +1 -0
  113. package/dist/types/eval/backend.d.ts +7 -2
  114. package/dist/types/eval/bridge-timeout.d.ts +1 -1
  115. package/dist/types/eval/completion-bridge.d.ts +25 -0
  116. package/dist/types/eval/idle-timeout.d.ts +1 -5
  117. package/dist/types/eval/js/context-manager.d.ts +1 -0
  118. package/dist/types/eval/js/executor.d.ts +2 -0
  119. package/dist/types/eval/js/index.d.ts +1 -1
  120. package/dist/types/eval/js/shared/helpers.d.ts +7 -1
  121. package/dist/types/eval/js/shared/rewrite-imports.d.ts +6 -6
  122. package/dist/types/eval/js/shared/runtime.d.ts +6 -1
  123. package/dist/types/eval/js/worker-protocol.d.ts +6 -0
  124. package/dist/types/eval/py/__tests__/prelude.test.d.ts +1 -0
  125. package/dist/types/eval/py/executor.d.ts +12 -0
  126. package/dist/types/eval/py/index.d.ts +1 -1
  127. package/dist/types/eval/py/kernel.d.ts +6 -1
  128. package/dist/types/eval/py/runtime.d.ts +9 -0
  129. package/dist/types/exa/index.d.ts +1 -19
  130. package/dist/types/exa/mcp-client.d.ts +10 -3
  131. package/dist/types/exa/types.d.ts +0 -83
  132. package/dist/types/exec/bash-executor.d.ts +7 -0
  133. package/dist/types/export/custom-share.d.ts +1 -2
  134. package/dist/types/export/html/index.d.ts +39 -0
  135. package/dist/types/export/html/template-js.d.ts +2 -0
  136. package/dist/types/export/share.d.ts +61 -0
  137. package/dist/types/export/ttsr.d.ts +14 -0
  138. package/dist/types/extensibility/custom-commands/types.d.ts +9 -4
  139. package/dist/types/extensibility/custom-tools/loader.d.ts +30 -4
  140. package/dist/types/extensibility/custom-tools/types.d.ts +16 -8
  141. package/dist/types/extensibility/extensions/index.d.ts +1 -1
  142. package/dist/types/extensibility/extensions/loader.d.ts +20 -1
  143. package/dist/types/extensibility/extensions/model-api.d.ts +17 -0
  144. package/dist/types/extensibility/extensions/runner.d.ts +5 -2
  145. package/dist/types/extensibility/extensions/types.d.ts +72 -11
  146. package/dist/types/extensibility/hooks/index.d.ts +2 -1
  147. package/dist/types/extensibility/hooks/loader.d.ts +1 -1
  148. package/dist/types/extensibility/hooks/types.d.ts +11 -5
  149. package/dist/types/extensibility/{legacy-pi-ai-shim.d.ts → legacy-package-ai-shim.d.ts} +2 -2
  150. package/dist/types/extensibility/plugins/{legacy-pi-compat.d.ts → legacy-package-compat.d.ts} +20 -3
  151. package/dist/types/extensibility/plugins/loader.d.ts +11 -0
  152. package/dist/types/extensibility/plugins/marketplace-auto-update.d.ts +8 -0
  153. package/dist/types/extensibility/plugins/types.d.ts +2 -2
  154. package/dist/types/extensibility/shared-events.d.ts +3 -3
  155. package/dist/types/extensibility/skills.d.ts +10 -0
  156. package/dist/types/extensibility/slash-commands.d.ts +1 -11
  157. package/dist/types/gateway/adapters/telegram/access.d.ts +4 -1
  158. package/dist/types/gateway/adapters/telegram/setup-api.d.ts +1 -1
  159. package/dist/types/gateway/adapters/telegram/webhook.d.ts +1 -1
  160. package/dist/types/gateway/types.d.ts +1 -1
  161. package/dist/types/goals/guided-setup.d.ts +18 -0
  162. package/dist/types/goals/state.d.ts +1 -1
  163. package/dist/types/goals/tools/goal-tool.d.ts +1 -1
  164. package/dist/types/hindsight/mental-models.d.ts +17 -8
  165. package/dist/types/hindsight/transcript.d.ts +1 -1
  166. package/dist/types/index.d.ts +5 -0
  167. package/dist/types/internal-urls/artifact-protocol.d.ts +2 -2
  168. package/dist/types/internal-urls/history-protocol.d.ts +14 -0
  169. package/dist/types/internal-urls/index.d.ts +1 -0
  170. package/dist/types/internal-urls/local-protocol.d.ts +14 -2
  171. package/dist/types/internal-urls/types.d.ts +1 -1
  172. package/dist/types/irc/bus.d.ts +79 -0
  173. package/dist/types/lib/xai-http.d.ts +1 -1
  174. package/dist/types/lsp/client.d.ts +10 -0
  175. package/dist/types/lsp/config.d.ts +2 -2
  176. package/dist/types/lsp/edits.d.ts +9 -0
  177. package/dist/types/lsp/format-options.d.ts +32 -0
  178. package/dist/types/lsp/index.d.ts +2 -7
  179. package/dist/types/lsp/types.d.ts +13 -1
  180. package/dist/types/lsp/utils.d.ts +6 -2
  181. package/dist/types/main.d.ts +23 -8
  182. package/dist/types/mcp/json-rpc.d.ts +5 -0
  183. package/dist/types/mcp/manager.d.ts +8 -0
  184. package/dist/types/mcp/oauth-discovery.d.ts +6 -1
  185. package/dist/types/mcp/oauth-flow.d.ts +13 -3
  186. package/dist/types/mcp/startup-events.d.ts +11 -0
  187. package/dist/types/mcp/tool-bridge.d.ts +2 -0
  188. package/dist/types/mcp/transports/stdio.d.ts +13 -0
  189. package/dist/types/mcp/types.d.ts +2 -0
  190. package/dist/types/memories/index.d.ts +7 -15
  191. package/dist/types/memories/storage.d.ts +0 -10
  192. package/dist/types/memory-backend/index.d.ts +3 -1
  193. package/dist/types/memory-backend/local-backend.d.ts +4 -3
  194. package/dist/types/memory-backend/resolve.d.ts +2 -2
  195. package/dist/types/memory-backend/runtime.d.ts +4 -0
  196. package/dist/types/memory-backend/types.d.ts +67 -2
  197. package/dist/types/mnemopi/config.d.ts +31 -1
  198. package/dist/types/mnemopi/state.d.ts +40 -2
  199. package/dist/types/modes/acp/acp-agent.d.ts +1 -2
  200. package/dist/types/modes/components/agent-dashboard.d.ts +17 -1
  201. package/dist/types/modes/components/agent-hub.d.ts +82 -0
  202. package/dist/types/modes/components/assistant-message.d.ts +5 -12
  203. package/dist/types/modes/components/bash-execution.d.ts +1 -1
  204. package/dist/types/modes/components/chat-block.d.ts +64 -0
  205. package/dist/types/modes/components/collab-prompt-message.d.ts +10 -0
  206. package/dist/types/modes/components/compaction-summary-message.d.ts +25 -5
  207. package/dist/types/modes/components/copy-selector.d.ts +1 -1
  208. package/dist/types/modes/components/custom-editor.d.ts +49 -2
  209. package/dist/types/modes/components/custom-editor.test.d.ts +1 -0
  210. package/dist/types/modes/components/dynamic-border.d.ts +1 -1
  211. package/dist/types/modes/components/extensions/extension-dashboard.d.ts +1 -1
  212. package/dist/types/modes/components/extensions/extension-list.d.ts +1 -1
  213. package/dist/types/modes/components/extensions/inspector-panel.d.ts +1 -1
  214. package/dist/types/modes/components/footer.d.ts +1 -1
  215. package/dist/types/modes/components/hook-editor.d.ts +5 -0
  216. package/dist/types/modes/components/hook-input.d.ts +4 -0
  217. package/dist/types/modes/components/hook-selector.d.ts +5 -7
  218. package/dist/types/modes/components/index.d.ts +1 -0
  219. package/dist/types/modes/components/late-diagnostics-message.d.ts +20 -0
  220. package/dist/types/modes/components/logout-account-selector.d.ts +8 -0
  221. package/dist/types/modes/components/mcp-add-wizard.d.ts +2 -1
  222. package/dist/types/modes/components/model-selector.d.ts +1 -1
  223. package/dist/types/modes/components/oauth-selector.d.ts +10 -1
  224. package/dist/types/modes/components/overlay-box.d.ts +17 -0
  225. package/dist/types/modes/components/plan-review-overlay.d.ts +61 -0
  226. package/dist/types/modes/components/plan-toc.d.ts +41 -0
  227. package/dist/types/modes/components/read-tool-group.d.ts +8 -0
  228. package/dist/types/modes/components/reset-usage-selector.d.ts +12 -0
  229. package/dist/types/modes/components/segment-track.d.ts +11 -6
  230. package/dist/types/modes/components/session-selector.d.ts +18 -9
  231. package/dist/types/modes/components/settings-defs.d.ts +9 -2
  232. package/dist/types/modes/components/settings-selector.d.ts +17 -4
  233. package/dist/types/modes/components/snapcompact-shape-preview.d.ts +31 -0
  234. package/dist/types/modes/components/status-line/component.d.ts +61 -0
  235. package/dist/types/modes/components/status-line/index.d.ts +1 -0
  236. package/dist/types/modes/components/status-line/types.d.ts +47 -3
  237. package/dist/types/modes/components/tiny-title-download-progress.d.ts +1 -1
  238. package/dist/types/modes/components/tool-execution.d.ts +49 -2
  239. package/dist/types/modes/components/transcript-container.d.ts +76 -26
  240. package/dist/types/modes/components/tree-selector.d.ts +2 -2
  241. package/dist/types/modes/components/ttsr-notification.d.ts +5 -1
  242. package/dist/types/modes/components/usage-row.d.ts +3 -0
  243. package/dist/types/modes/components/user-message-selector.d.ts +1 -1
  244. package/dist/types/modes/components/user-message.d.ts +2 -1
  245. package/dist/types/modes/components/visual-truncate.d.ts +1 -1
  246. package/dist/types/modes/components/welcome.d.ts +12 -2
  247. package/dist/types/modes/controllers/command-controller.d.ts +3 -2
  248. package/dist/types/modes/controllers/event-controller.d.ts +7 -1
  249. package/dist/types/modes/controllers/extension-ui-controller.d.ts +0 -1
  250. package/dist/types/modes/controllers/input-controller.d.ts +25 -3
  251. package/dist/types/modes/controllers/mcp-command-controller.d.ts +8 -0
  252. package/dist/types/modes/controllers/selector-controller.d.ts +5 -2
  253. package/dist/types/modes/controllers/session-focus-controller.d.ts +31 -0
  254. package/dist/types/modes/controllers/streaming-reveal.d.ts +22 -0
  255. package/dist/types/modes/controllers/tan-command-controller.d.ts +6 -0
  256. package/dist/types/modes/controllers/tool-args-reveal.d.ts +43 -0
  257. package/dist/types/modes/gradient-highlight.d.ts +9 -4
  258. package/dist/types/modes/image-references.d.ts +14 -3
  259. package/dist/types/modes/index.d.ts +8 -7
  260. package/dist/types/modes/interactive-mode.d.ts +92 -16
  261. package/dist/types/modes/magic-keywords.d.ts +14 -2
  262. package/dist/types/modes/markdown-prose.d.ts +1 -1
  263. package/dist/types/modes/oauth-manual-input.d.ts +7 -0
  264. package/dist/types/modes/rpc/rpc-client.d.ts +48 -2
  265. package/dist/types/modes/rpc/rpc-mode.d.ts +67 -2
  266. package/dist/types/modes/rpc/rpc-subagents.d.ts +24 -0
  267. package/dist/types/modes/rpc/rpc-types.d.ts +113 -1
  268. package/dist/types/modes/runtime-init.d.ts +4 -0
  269. package/dist/types/modes/session-observer-registry.d.ts +9 -0
  270. package/dist/types/modes/setup-version.d.ts +11 -0
  271. package/dist/types/modes/setup-wizard/index.d.ts +7 -2
  272. package/dist/types/modes/setup-wizard/lazy.d.ts +2 -0
  273. package/dist/types/modes/setup-wizard/scenes/sign-in.d.ts +4 -1
  274. package/dist/types/modes/setup-wizard/scenes/types.d.ts +11 -2
  275. package/dist/types/modes/setup-wizard/scenes/web-search.d.ts +6 -2
  276. package/dist/types/modes/setup-wizard/wizard-overlay.d.ts +1 -1
  277. package/dist/types/modes/theme/theme.d.ts +42 -7
  278. package/dist/types/modes/types.d.ts +62 -13
  279. package/dist/types/modes/utils/context-usage.d.ts +6 -1
  280. package/dist/types/modes/utils/copy-targets.d.ts +21 -1
  281. package/dist/types/modes/utils/ui-helpers.d.ts +4 -4
  282. package/dist/types/modes/workflow.d.ts +3 -3
  283. package/dist/types/plan-mode/approved-plan.d.ts +27 -8
  284. package/dist/types/plan-mode/plan-protection.d.ts +4 -4
  285. package/dist/types/registry/agent-lifecycle.d.ts +51 -0
  286. package/dist/types/registry/agent-registry.d.ts +33 -5
  287. package/dist/types/sdk.d.ts +46 -4
  288. package/dist/types/secrets/index.d.ts +1 -1
  289. package/dist/types/secrets/obfuscator.d.ts +9 -3
  290. package/dist/types/session/agent-session.d.ts +136 -66
  291. package/dist/types/session/agent-storage.d.ts +2 -1
  292. package/dist/types/session/auth-broker-config.d.ts +4 -0
  293. package/dist/types/session/auth-storage.d.ts +1 -1
  294. package/dist/types/session/codex-auto-reset.d.ts +111 -0
  295. package/dist/types/session/indexed-session-storage.d.ts +3 -3
  296. package/dist/types/session/messages.d.ts +26 -15
  297. package/dist/types/session/session-context.d.ts +39 -0
  298. package/dist/types/session/session-entries.d.ts +159 -0
  299. package/dist/types/session/session-history-format.d.ts +12 -0
  300. package/dist/types/session/session-listing.d.ts +69 -0
  301. package/dist/types/session/session-loader.d.ts +16 -0
  302. package/dist/types/session/session-manager.d.ts +107 -440
  303. package/dist/types/session/session-migrations.d.ts +12 -0
  304. package/dist/types/session/session-paths.d.ts +25 -0
  305. package/dist/types/session/session-persistence.d.ts +8 -0
  306. package/dist/types/session/session-storage.d.ts +11 -7
  307. package/dist/types/session/snapcompact-inline.d.ts +145 -0
  308. package/dist/types/session/snapcompact-savings-journal.d.ts +46 -0
  309. package/dist/types/session/streaming-output.d.ts +46 -0
  310. package/dist/types/session/tool-choice-queue.d.ts +6 -6
  311. package/dist/types/session/yield-queue.d.ts +10 -1
  312. package/dist/types/slash-commands/acp-builtins.d.ts +16 -0
  313. package/dist/types/slash-commands/available-commands.d.ts +34 -0
  314. package/dist/types/slash-commands/builtin-registry.d.ts +10 -0
  315. package/dist/types/slash-commands/helpers/active-oauth-account.d.ts +14 -0
  316. package/dist/types/slash-commands/helpers/logout.d.ts +15 -0
  317. package/dist/types/slash-commands/helpers/reset-usage.d.ts +27 -0
  318. package/dist/types/slash-commands/helpers/stats-dashboard.d.ts +13 -0
  319. package/dist/types/slash-commands/types.d.ts +5 -9
  320. package/dist/types/ssh/connection-manager.d.ts +8 -0
  321. package/dist/types/stt/asr-client.d.ts +90 -0
  322. package/dist/types/stt/asr-protocol.d.ts +97 -0
  323. package/dist/types/stt/asr-worker.d.ts +2 -0
  324. package/dist/types/stt/downloader.d.ts +38 -0
  325. package/dist/types/stt/endpointer.d.ts +59 -0
  326. package/dist/types/stt/index.d.ts +5 -1
  327. package/dist/types/stt/models.d.ts +120 -0
  328. package/dist/types/stt/recorder.d.ts +17 -0
  329. package/dist/types/stt/stt-controller.d.ts +6 -0
  330. package/dist/types/stt/transcriber.d.ts +5 -7
  331. package/dist/types/stt/wav.d.ts +29 -0
  332. package/dist/types/system-prompt.d.ts +9 -1
  333. package/dist/types/task/commands.d.ts +1 -1
  334. package/dist/types/task/discovery.d.ts +1 -2
  335. package/dist/types/task/executor.d.ts +61 -2
  336. package/dist/types/task/index.d.ts +37 -6
  337. package/dist/types/task/output-manager.d.ts +0 -7
  338. package/dist/types/task/parallel.d.ts +2 -2
  339. package/dist/types/task/prometheus-command.d.ts +2 -2
  340. package/dist/types/task/render.d.ts +20 -7
  341. package/dist/types/task/repair-args.d.ts +8 -7
  342. package/dist/types/task/types.d.ts +109 -52
  343. package/dist/types/task/worktree.d.ts +2 -0
  344. package/dist/types/telemetry-export.d.ts +2 -2
  345. package/dist/types/thinking.d.ts +4 -0
  346. package/dist/types/tiny/models.d.ts +1 -1
  347. package/dist/types/tiny/title-client.d.ts +12 -1
  348. package/dist/types/tiny/title-protocol.d.ts +1 -0
  349. package/dist/types/tools/archive-reader.d.ts +5 -0
  350. package/dist/types/tools/ask.d.ts +6 -1
  351. package/dist/types/tools/ast-edit.d.ts +4 -1
  352. package/dist/types/tools/ast-grep.d.ts +4 -1
  353. package/dist/types/tools/bash.d.ts +5 -2
  354. package/dist/types/tools/browser/attach.d.ts +4 -4
  355. package/dist/types/tools/browser/cmux/cmux-tab.d.ts +202 -0
  356. package/dist/types/tools/browser/cmux/rpc.d.ts +70 -0
  357. package/dist/types/tools/browser/cmux/socket-client.d.ts +19 -0
  358. package/dist/types/tools/browser/registry.d.ts +17 -3
  359. package/dist/types/tools/browser/render.d.ts +2 -0
  360. package/dist/types/tools/browser/tab-protocol.d.ts +2 -0
  361. package/dist/types/tools/browser/tab-supervisor.d.ts +16 -4
  362. package/dist/types/tools/browser/tab-worker.d.ts +18 -1
  363. package/dist/types/tools/browser.d.ts +3 -1
  364. package/dist/types/tools/checkpoint.d.ts +1 -1
  365. package/dist/types/tools/conflict-detect.d.ts +16 -0
  366. package/dist/types/tools/debug.d.ts +1 -1
  367. package/dist/types/tools/eval-render.d.ts +1 -8
  368. package/dist/types/tools/eval.d.ts +9 -1
  369. package/dist/types/tools/fetch.d.ts +17 -8
  370. package/dist/types/tools/find.d.ts +1 -8
  371. package/dist/types/tools/gh-cache-invalidation.d.ts +6 -0
  372. package/dist/types/tools/gh.d.ts +4 -1
  373. package/dist/types/tools/github-cache.d.ts +19 -0
  374. package/dist/types/tools/grouped-file-output.d.ts +46 -12
  375. package/dist/types/tools/image-gen.d.ts +1 -1
  376. package/dist/types/tools/index.d.ts +89 -8
  377. package/dist/types/tools/inspect-image.d.ts +1 -1
  378. package/dist/types/tools/irc.d.ts +79 -39
  379. package/dist/types/tools/job.d.ts +8 -2
  380. package/dist/types/tools/learn.d.ts +51 -0
  381. package/dist/types/tools/manage-skill.d.ts +40 -0
  382. package/dist/types/tools/memory-edit.d.ts +2 -2
  383. package/dist/types/tools/memory-recall.d.ts +1 -1
  384. package/dist/types/tools/memory-reflect.d.ts +1 -1
  385. package/dist/types/tools/memory-render.d.ts +4 -1
  386. package/dist/types/tools/memory-retain.d.ts +1 -1
  387. package/dist/types/tools/path-utils.d.ts +17 -5
  388. package/dist/types/tools/plan-mode-guard.d.ts +18 -9
  389. package/dist/types/tools/read.d.ts +3 -2
  390. package/dist/types/tools/render-mermaid.d.ts +1 -1
  391. package/dist/types/tools/render-utils.d.ts +47 -27
  392. package/dist/types/tools/renderers.d.ts +10 -2
  393. package/dist/types/tools/report-tool-issue.d.ts +6 -1
  394. package/dist/types/tools/resolve.d.ts +1 -1
  395. package/dist/types/tools/review.d.ts +1 -1
  396. package/dist/types/tools/search-tool-bm25.d.ts +1 -1
  397. package/dist/types/tools/search.d.ts +7 -3
  398. package/dist/types/tools/sqlite-reader.d.ts +4 -0
  399. package/dist/types/tools/ssh.d.ts +2 -1
  400. package/dist/types/tools/todo.d.ts +7 -15
  401. package/dist/types/tools/tool-result.d.ts +2 -0
  402. package/dist/types/tools/tool-timeouts.d.ts +1 -1
  403. package/dist/types/tools/tts.d.ts +26 -1
  404. package/dist/types/tools/write.d.ts +6 -3
  405. package/dist/types/tools/yield.d.ts +8 -0
  406. package/dist/types/tts/downloader.d.ts +20 -0
  407. package/dist/types/tts/index.d.ts +8 -0
  408. package/dist/types/tts/models.d.ts +82 -0
  409. package/dist/types/tts/player.d.ts +32 -0
  410. package/dist/types/tts/runtime.d.ts +6 -0
  411. package/dist/types/tts/streaming-player.d.ts +41 -0
  412. package/dist/types/tts/tts-client.d.ts +93 -0
  413. package/dist/types/tts/tts-protocol.d.ts +95 -0
  414. package/dist/types/tts/tts-worker.d.ts +2 -0
  415. package/dist/types/tts/vocalizer.d.ts +41 -0
  416. package/dist/types/tts/wav.d.ts +8 -0
  417. package/dist/types/tui/code-cell.d.ts +0 -2
  418. package/dist/types/tui/hyperlink.d.ts +13 -7
  419. package/dist/types/tui/output-block.d.ts +16 -22
  420. package/dist/types/tui/status-line.d.ts +3 -0
  421. package/dist/types/utils/block-context.d.ts +35 -0
  422. package/dist/types/utils/changelog.d.ts +8 -0
  423. package/dist/types/utils/clipboard.d.ts +4 -3
  424. package/dist/types/utils/enhanced-paste.d.ts +20 -0
  425. package/dist/types/utils/file-mentions.d.ts +7 -0
  426. package/dist/types/utils/git.d.ts +22 -3
  427. package/dist/types/utils/image-loading.d.ts +30 -1
  428. package/dist/types/utils/session-color.d.ts +15 -3
  429. package/dist/types/utils/thinking-display.d.ts +17 -0
  430. package/dist/types/utils/title-generator.d.ts +3 -2
  431. package/dist/types/utils/tool-choice.d.ts +8 -0
  432. package/dist/types/utils/tools-manager.d.ts +2 -1
  433. package/dist/types/web/kagi.d.ts +2 -2
  434. package/dist/types/web/parallel.d.ts +3 -0
  435. package/dist/types/web/scrapers/github.d.ts +22 -0
  436. package/dist/types/web/scrapers/readthedocs.d.ts +3 -0
  437. package/dist/types/web/scrapers/types.d.ts +12 -0
  438. package/dist/types/web/search/index.d.ts +1 -1
  439. package/dist/types/web/search/providers/anthropic.d.ts +2 -1
  440. package/dist/types/web/search/providers/base.d.ts +2 -1
  441. package/dist/types/web/search/providers/brave.d.ts +2 -1
  442. package/dist/types/web/search/providers/codex.d.ts +2 -1
  443. package/dist/types/web/search/providers/exa.d.ts +2 -1
  444. package/dist/types/web/search/providers/gemini.d.ts +10 -6
  445. package/dist/types/web/search/providers/jina.d.ts +7 -2
  446. package/dist/types/web/search/providers/kagi.d.ts +7 -2
  447. package/dist/types/web/search/providers/kimi.d.ts +7 -2
  448. package/dist/types/web/search/providers/parallel.d.ts +2 -1
  449. package/dist/types/web/search/providers/perplexity.d.ts +10 -2
  450. package/dist/types/web/search/providers/searxng.d.ts +2 -1
  451. package/dist/types/web/search/providers/synthetic.d.ts +7 -3
  452. package/dist/types/web/search/providers/tavily.d.ts +2 -1
  453. package/dist/types/web/search/providers/zai.d.ts +2 -1
  454. package/dist/types/web/search/types.d.ts +1 -1
  455. package/examples/extensions/api-demo.ts +2 -2
  456. package/package.json +41 -15
  457. package/scripts/bench-guard.ts +71 -0
  458. package/scripts/build-binary.ts +24 -25
  459. package/scripts/bundle-dist.ts +97 -0
  460. package/scripts/generate-share-viewer.ts +34 -0
  461. package/scripts/prometheus +42 -0
  462. package/scripts/prometheus.ts +20 -0
  463. package/src/async/index.ts +0 -1
  464. package/src/async/job-manager.ts +106 -3
  465. package/src/auto-thinking/classifier.ts +2 -1
  466. package/src/autolearn/controller.ts +139 -0
  467. package/src/autolearn/managed-skills.ts +257 -0
  468. package/src/autoresearch/dashboard.ts +1 -1
  469. package/src/autoresearch/prompt-setup.md +6 -6
  470. package/src/autoresearch/prompt.md +6 -6
  471. package/src/autoresearch/state.ts +1 -1
  472. package/src/autoresearch/storage.ts +2 -1
  473. package/src/autoresearch/tools/init-experiment.ts +1 -1
  474. package/src/autoresearch/tools/log-experiment.ts +1 -1
  475. package/src/autoresearch/tools/run-experiment.ts +1 -1
  476. package/src/autoresearch/tools/update-notes.ts +1 -1
  477. package/src/autoresearch/types.ts +1 -1
  478. package/src/capability/context-file.ts +0 -14
  479. package/src/capability/fs.ts +10 -0
  480. package/src/capability/index.ts +1 -6
  481. package/src/capability/mcp.ts +1 -0
  482. package/src/capability/rule-buckets.ts +4 -2
  483. package/src/capability/rule.ts +10 -1
  484. package/src/capability/types.ts +0 -4
  485. package/src/cli/args.ts +66 -13
  486. package/src/cli/auth-broker-cli.ts +6 -7
  487. package/src/cli/auth-gateway-cli.ts +8 -9
  488. package/src/cli/bench-cli.ts +437 -0
  489. package/src/cli/claude-trace-cli.ts +28 -50
  490. package/src/cli/completion-gen.ts +28 -28
  491. package/src/cli/dry-balance-cli.ts +56 -23
  492. package/src/cli/gallery-cli.ts +231 -0
  493. package/src/cli/gallery-fixtures/agentic.ts +407 -0
  494. package/src/cli/gallery-fixtures/codeintel.ts +187 -0
  495. package/src/cli/gallery-fixtures/edit.ts +194 -0
  496. package/src/cli/gallery-fixtures/fs.ts +220 -0
  497. package/src/cli/gallery-fixtures/index.ts +40 -0
  498. package/src/cli/gallery-fixtures/interaction.ts +49 -0
  499. package/src/cli/gallery-fixtures/memory.ts +81 -0
  500. package/src/cli/gallery-fixtures/misc.ts +250 -0
  501. package/src/cli/gallery-fixtures/search.ts +213 -0
  502. package/src/cli/gallery-fixtures/shell.ts +167 -0
  503. package/src/cli/gallery-fixtures/types.ts +57 -0
  504. package/src/cli/gallery-fixtures/web.ts +158 -0
  505. package/src/cli/gallery-screenshot.ts +279 -0
  506. package/src/cli/gateway-cli.ts +32 -2
  507. package/src/cli/grievances-cli.ts +1 -1
  508. package/src/cli/list-models.ts +16 -174
  509. package/src/cli/models-cli.ts +429 -0
  510. package/src/cli/session-picker.ts +2 -1
  511. package/src/cli/setup-cli.ts +148 -47
  512. package/src/cli/setup-model-picker.ts +43 -0
  513. package/src/cli/startup-cwd.ts +68 -0
  514. package/src/cli/update-cli.ts +144 -272
  515. package/src/cli/usage-cli.ts +774 -0
  516. package/src/cli-commands.ts +36 -0
  517. package/src/cli.ts +141 -32
  518. package/src/collab/crypto.ts +63 -0
  519. package/src/collab/guest.ts +451 -0
  520. package/src/collab/host.ts +565 -0
  521. package/src/collab/protocol.ts +241 -0
  522. package/src/collab/relay-client.ts +216 -0
  523. package/src/commands/bench.ts +42 -0
  524. package/src/commands/complete.ts +1 -1
  525. package/src/commands/gallery.ts +52 -0
  526. package/src/commands/gateway.ts +4 -0
  527. package/src/commands/install.ts +1 -1
  528. package/src/commands/join.ts +39 -0
  529. package/src/commands/launch.ts +8 -4
  530. package/src/commands/models.ts +61 -0
  531. package/src/commands/read.ts +6 -3
  532. package/src/commands/say.ts +102 -0
  533. package/src/commands/setup.ts +1 -1
  534. package/src/commands/token.ts +89 -0
  535. package/src/commands/usage.ts +43 -0
  536. package/src/commit/agentic/agent.ts +2 -1
  537. package/src/commit/agentic/tools/analyze-file.ts +42 -20
  538. package/src/commit/agentic/tools/git-file-diff.ts +1 -1
  539. package/src/commit/agentic/tools/git-hunk.ts +1 -1
  540. package/src/commit/agentic/tools/git-overview.ts +1 -1
  541. package/src/commit/agentic/tools/propose-changelog.ts +1 -1
  542. package/src/commit/agentic/tools/propose-commit.ts +1 -1
  543. package/src/commit/agentic/tools/recent-commits.ts +1 -1
  544. package/src/commit/agentic/tools/schemas.ts +1 -1
  545. package/src/commit/agentic/tools/split-commit.ts +9 -2
  546. package/src/commit/analysis/conventional.ts +2 -2
  547. package/src/commit/analysis/summary.ts +3 -3
  548. package/src/commit/changelog/generate.ts +3 -3
  549. package/src/commit/changelog/index.ts +2 -2
  550. package/src/commit/map-reduce/index.ts +3 -3
  551. package/src/commit/map-reduce/map-phase.ts +2 -2
  552. package/src/commit/map-reduce/reduce-phase.ts +2 -2
  553. package/src/commit/model-selection.ts +35 -12
  554. package/src/commit/pipeline.ts +4 -4
  555. package/src/commit/shared-llm.ts +1 -1
  556. package/src/config/api-key-resolver.ts +67 -0
  557. package/src/config/append-only-context-mode.ts +6 -12
  558. package/src/config/keybindings.ts +9 -4
  559. package/src/config/mcp-schema.json +4 -0
  560. package/src/config/model-discovery.ts +574 -0
  561. package/src/config/model-equivalence.ts +5 -4
  562. package/src/config/model-registry.ts +659 -1093
  563. package/src/config/model-resolver.ts +374 -174
  564. package/src/config/model-roles.ts +88 -0
  565. package/src/config/models-config-schema.ts +61 -9
  566. package/src/config/models-config.ts +130 -0
  567. package/src/config/settings-schema.ts +1445 -382
  568. package/src/config/settings.ts +261 -69
  569. package/src/dap/client.ts +138 -53
  570. package/src/dap/config.ts +41 -2
  571. package/src/dap/defaults.json +1 -0
  572. package/src/dap/session.ts +263 -161
  573. package/src/dap/types.ts +10 -0
  574. package/src/debug/index.ts +50 -60
  575. package/src/debug/log-viewer.ts +1 -1
  576. package/src/debug/protocol-probe.ts +1 -1
  577. package/src/debug/raw-sse-buffer.ts +7 -4
  578. package/src/debug/raw-sse.ts +1 -1
  579. package/src/debug/report-bundle.ts +9 -0
  580. package/src/debug/terminal-info.ts +0 -3
  581. package/src/discovery/agents-md.ts +25 -21
  582. package/src/discovery/agents.ts +9 -15
  583. package/src/discovery/at-imports.ts +273 -0
  584. package/src/discovery/builtin-rules/index.ts +4 -0
  585. package/src/discovery/builtin-rules/ts-no-test-timers.md +55 -0
  586. package/src/discovery/builtin-rules/ts-redundant-clear-guard.md +75 -0
  587. package/src/discovery/builtin.ts +45 -23
  588. package/src/discovery/claude-plugins.ts +44 -5
  589. package/src/discovery/helpers.ts +50 -9
  590. package/src/discovery/prometheus-extension-roots.ts +10 -10
  591. package/src/discovery/prometheus-plugins.ts +10 -10
  592. package/src/edit/diff.ts +191 -4
  593. package/src/edit/file-snapshot-store.ts +34 -1
  594. package/src/edit/hashline/block-resolver.ts +20 -1
  595. package/src/edit/hashline/diff.ts +123 -2
  596. package/src/edit/hashline/execute.ts +60 -4
  597. package/src/edit/hashline/filesystem.ts +2 -1
  598. package/src/edit/hashline/noop-loop-guard.ts +99 -0
  599. package/src/edit/hashline/params.ts +1 -1
  600. package/src/edit/index.ts +47 -18
  601. package/src/edit/modes/apply-patch.ts +1 -1
  602. package/src/edit/modes/patch.ts +59 -3
  603. package/src/edit/modes/replace.ts +58 -24
  604. package/src/edit/notebook.ts +22 -2
  605. package/src/edit/renderer.ts +315 -151
  606. package/src/eval/__tests__/agent-bridge.test.ts +105 -39
  607. package/src/eval/__tests__/budget-bridge.test.ts +1 -1
  608. package/src/eval/__tests__/completion-bridge.test.ts +412 -0
  609. package/src/eval/__tests__/helpers-local-roots.test.ts +58 -0
  610. package/src/eval/__tests__/js-context-manager.test.ts +241 -0
  611. package/src/eval/__tests__/llm-bridge.test.ts +6 -4
  612. package/src/eval/__tests__/shared-executors.test.ts +34 -92
  613. package/src/eval/agent-bridge.ts +39 -23
  614. package/src/eval/backend.ts +15 -2
  615. package/src/eval/bridge-timeout.ts +1 -1
  616. package/src/eval/completion-bridge.ts +203 -0
  617. package/src/eval/idle-timeout.ts +3 -10
  618. package/src/eval/js/context-manager.ts +108 -31
  619. package/src/eval/js/executor.ts +9 -2
  620. package/src/eval/js/index.ts +7 -3
  621. package/src/eval/js/shared/helpers.ts +59 -13
  622. package/src/eval/js/shared/local-module-loader.ts +2 -2
  623. package/src/eval/js/shared/prelude.txt +167 -30
  624. package/src/eval/js/shared/rewrite-imports.ts +58 -34
  625. package/src/eval/js/shared/runtime.ts +24 -16
  626. package/src/eval/js/tool-bridge.ts +4 -0
  627. package/src/eval/js/worker-core.ts +1 -0
  628. package/src/eval/js/worker-entry.ts +6 -0
  629. package/src/eval/js/worker-protocol.ts +6 -0
  630. package/src/eval/llm-bridge.ts +2 -1
  631. package/src/eval/py/__tests__/prelude.test.ts +19 -0
  632. package/src/eval/py/executor.ts +70 -26
  633. package/src/eval/py/index.ts +13 -4
  634. package/src/eval/py/kernel.ts +48 -9
  635. package/src/eval/py/prelude.py +73 -24
  636. package/src/eval/py/runner.py +133 -28
  637. package/src/eval/py/runtime.ts +38 -1
  638. package/src/exa/index.ts +1 -26
  639. package/src/exa/mcp-client.ts +10 -10
  640. package/src/exa/types.ts +0 -97
  641. package/src/exec/bash-executor.ts +104 -7
  642. package/src/export/custom-share.ts +1 -1
  643. package/src/export/html/index.ts +119 -17
  644. package/src/export/html/share-loader.js +102 -0
  645. package/src/export/html/template-js.ts +6 -0
  646. package/src/export/html/template.css +745 -459
  647. package/src/export/html/template.css.d.ts +2 -0
  648. package/src/export/html/template.html +6 -3
  649. package/src/export/html/template.js +277 -891
  650. package/src/export/html/tool-views.generated.d.ts +2 -0
  651. package/src/export/html/tool-views.generated.js +38 -0
  652. package/src/export/share.ts +269 -0
  653. package/src/export/ttsr.ts +122 -1
  654. package/src/extensibility/custom-commands/loader.ts +7 -4
  655. package/src/extensibility/custom-commands/types.ts +9 -4
  656. package/src/extensibility/custom-tools/loader.ts +51 -23
  657. package/src/extensibility/custom-tools/types.ts +16 -8
  658. package/src/extensibility/extensions/get-commands-handler.ts +2 -1
  659. package/src/extensibility/extensions/index.ts +1 -0
  660. package/src/extensibility/extensions/loader.ts +70 -20
  661. package/src/extensibility/extensions/model-api.ts +41 -0
  662. package/src/extensibility/extensions/runner.ts +12 -2
  663. package/src/extensibility/extensions/types.ts +83 -11
  664. package/src/extensibility/extensions/wrapper.ts +41 -5
  665. package/src/extensibility/hooks/index.ts +2 -1
  666. package/src/extensibility/hooks/loader.ts +6 -3
  667. package/src/extensibility/hooks/types.ts +11 -5
  668. package/src/extensibility/{legacy-pi-ai-shim.ts → legacy-package-ai-shim.ts} +2 -2
  669. package/src/extensibility/plugins/doctor.ts +1 -2
  670. package/src/extensibility/plugins/installer.ts +2 -2
  671. package/src/extensibility/plugins/{legacy-pi-compat.ts → legacy-package-compat.ts} +165 -77
  672. package/src/extensibility/plugins/loader.ts +34 -23
  673. package/src/extensibility/plugins/manager.ts +226 -95
  674. package/src/extensibility/plugins/marketplace-auto-update.ts +49 -0
  675. package/src/extensibility/plugins/types.ts +3 -3
  676. package/src/extensibility/shared-events.ts +3 -3
  677. package/src/extensibility/skills.ts +113 -9
  678. package/src/extensibility/slash-commands.ts +1 -97
  679. package/src/gateway/adapters/telegram/access.ts +39 -4
  680. package/src/gateway/adapters/telegram/normalize.ts +16 -1
  681. package/src/gateway/adapters/telegram/setup-api.ts +7 -1
  682. package/src/gateway/adapters/telegram/webhook.ts +26 -5
  683. package/src/gateway/context.ts +9 -1
  684. package/src/gateway/types.ts +1 -1
  685. package/src/goals/guided-setup.ts +133 -0
  686. package/src/goals/state.ts +1 -1
  687. package/src/goals/tools/goal-tool.ts +38 -28
  688. package/src/hindsight/bank.ts +17 -2
  689. package/src/hindsight/client.ts +27 -2
  690. package/src/hindsight/mental-models.ts +59 -12
  691. package/src/hindsight/state.ts +12 -3
  692. package/src/hindsight/transcript.ts +1 -1
  693. package/src/index.ts +5 -0
  694. package/src/internal-urls/artifact-protocol.ts +11 -2
  695. package/src/internal-urls/docs-index.generated.ts +11 -9
  696. package/src/internal-urls/history-protocol.ts +113 -0
  697. package/src/internal-urls/index.ts +1 -0
  698. package/src/internal-urls/issue-pr-protocol.ts +22 -9
  699. package/src/internal-urls/local-protocol.ts +42 -7
  700. package/src/internal-urls/memory-protocol.ts +4 -31
  701. package/src/internal-urls/router.ts +3 -1
  702. package/src/internal-urls/types.ts +1 -1
  703. package/src/irc/bus.ts +303 -0
  704. package/src/lib/xai-http.ts +3 -3
  705. package/src/lsp/client.ts +245 -104
  706. package/src/lsp/clients/biome-client.ts +101 -39
  707. package/src/lsp/clients/lsp-linter-client.ts +2 -10
  708. package/src/lsp/config.ts +15 -5
  709. package/src/lsp/defaults.json +6 -0
  710. package/src/lsp/edits.ts +143 -95
  711. package/src/lsp/format-options.ts +119 -0
  712. package/src/lsp/index.ts +233 -93
  713. package/src/lsp/render.ts +11 -35
  714. package/src/lsp/types.ts +13 -1
  715. package/src/lsp/utils.ts +31 -12
  716. package/src/main.ts +396 -216
  717. package/src/mcp/config-writer.ts +7 -3
  718. package/src/mcp/json-rpc.ts +35 -5
  719. package/src/mcp/manager.ts +31 -16
  720. package/src/mcp/oauth-discovery.ts +34 -4
  721. package/src/mcp/oauth-flow.ts +61 -8
  722. package/src/mcp/render.ts +7 -1
  723. package/src/mcp/startup-events.ts +21 -0
  724. package/src/mcp/tool-bridge.ts +2 -0
  725. package/src/mcp/transports/stdio.ts +224 -4
  726. package/src/mcp/types.ts +2 -0
  727. package/src/memories/index.ts +174 -1128
  728. package/src/memories/storage.ts +2 -41
  729. package/src/memory-backend/index.ts +14 -1
  730. package/src/memory-backend/local-backend.ts +18 -3
  731. package/src/memory-backend/off-backend.ts +9 -0
  732. package/src/memory-backend/resolve.ts +4 -6
  733. package/src/memory-backend/runtime.ts +66 -0
  734. package/src/memory-backend/types.ts +82 -2
  735. package/src/mnemopi/backend.ts +220 -28
  736. package/src/mnemopi/config.ts +138 -33
  737. package/src/mnemopi/state.ts +91 -11
  738. package/src/modes/acp/acp-agent.ts +149 -142
  739. package/src/modes/acp/acp-event-mapper.ts +5 -1
  740. package/src/modes/components/agent-dashboard.ts +17 -11
  741. package/src/modes/components/agent-hub.ts +1346 -0
  742. package/src/modes/components/assistant-message.ts +190 -80
  743. package/src/modes/components/bash-execution.ts +1 -1
  744. package/src/modes/components/btw-panel.ts +5 -1
  745. package/src/modes/components/chat-block.ts +111 -0
  746. package/src/modes/components/collab-prompt-message.ts +30 -0
  747. package/src/modes/components/compaction-summary-message.ts +168 -33
  748. package/src/modes/components/copy-selector.ts +2 -45
  749. package/src/modes/components/custom-editor.test.ts +96 -0
  750. package/src/modes/components/custom-editor.ts +405 -118
  751. package/src/modes/components/custom-message.ts +1 -3
  752. package/src/modes/components/diff.ts +13 -2
  753. package/src/modes/components/dynamic-border.ts +12 -3
  754. package/src/modes/components/execution-shared.ts +1 -2
  755. package/src/modes/components/extensions/extension-dashboard.ts +8 -5
  756. package/src/modes/components/extensions/extension-list.ts +1 -1
  757. package/src/modes/components/extensions/inspector-panel.ts +7 -3
  758. package/src/modes/components/extensions/state-manager.ts +36 -41
  759. package/src/modes/components/footer.ts +4 -2
  760. package/src/modes/components/history-search.ts +1 -1
  761. package/src/modes/components/hook-editor.ts +8 -0
  762. package/src/modes/components/hook-input.ts +8 -0
  763. package/src/modes/components/hook-message.ts +1 -3
  764. package/src/modes/components/hook-selector.ts +6 -7
  765. package/src/modes/components/index.ts +1 -0
  766. package/src/modes/components/late-diagnostics-message.ts +60 -0
  767. package/src/modes/components/login-dialog.ts +1 -1
  768. package/src/modes/components/logout-account-selector.ts +130 -0
  769. package/src/modes/components/mcp-add-wizard.ts +14 -1
  770. package/src/modes/components/model-selector.ts +177 -75
  771. package/src/modes/components/oauth-selector.ts +102 -16
  772. package/src/modes/components/overlay-box.ts +108 -0
  773. package/src/modes/components/plan-review-overlay.ts +845 -0
  774. package/src/modes/components/plan-toc.ts +138 -0
  775. package/src/modes/components/plugin-settings.ts +22 -5
  776. package/src/modes/components/read-tool-group.ts +442 -39
  777. package/src/modes/components/reset-usage-selector.ts +161 -0
  778. package/src/modes/components/segment-track.ts +44 -7
  779. package/src/modes/components/session-selector.ts +97 -37
  780. package/src/modes/components/settings-defs.ts +28 -6
  781. package/src/modes/components/settings-selector.ts +541 -93
  782. package/src/modes/components/skill-message.ts +0 -1
  783. package/src/modes/components/snapcompact-shape-preview-doc.md +11 -0
  784. package/src/modes/components/snapcompact-shape-preview.ts +193 -0
  785. package/src/modes/components/{status-line.ts → status-line/component.ts} +205 -168
  786. package/src/modes/components/status-line/index.ts +1 -0
  787. package/src/modes/components/status-line/presets.ts +3 -3
  788. package/src/modes/components/status-line/segments.ts +26 -7
  789. package/src/modes/components/status-line/types.ts +40 -9
  790. package/src/modes/components/tiny-title-download-progress.ts +1 -1
  791. package/src/modes/components/tips.txt +7 -3
  792. package/src/modes/components/todo-reminder.ts +0 -2
  793. package/src/modes/components/tool-execution.ts +236 -103
  794. package/src/modes/components/transcript-container.ts +724 -99
  795. package/src/modes/components/tree-selector.ts +19 -4
  796. package/src/modes/components/ttsr-notification.ts +72 -30
  797. package/src/modes/components/usage-row.ts +18 -0
  798. package/src/modes/components/user-message-selector.ts +1 -1
  799. package/src/modes/components/user-message.ts +28 -12
  800. package/src/modes/components/visual-truncate.ts +1 -1
  801. package/src/modes/components/welcome.ts +80 -22
  802. package/src/modes/controllers/command-controller-shared.ts +7 -6
  803. package/src/modes/controllers/command-controller.ts +210 -180
  804. package/src/modes/controllers/event-controller.ts +352 -142
  805. package/src/modes/controllers/extension-ui-controller.ts +167 -208
  806. package/src/modes/controllers/input-controller.ts +778 -162
  807. package/src/modes/controllers/mcp-command-controller.ts +232 -80
  808. package/src/modes/controllers/selector-controller.ts +284 -145
  809. package/src/modes/controllers/session-focus-controller.ts +112 -0
  810. package/src/modes/controllers/ssh-command-controller.ts +2 -2
  811. package/src/modes/controllers/streaming-reveal.ts +295 -0
  812. package/src/modes/controllers/tan-command-controller.ts +173 -0
  813. package/src/modes/controllers/tool-args-reveal.ts +174 -0
  814. package/src/modes/gradient-highlight.ts +21 -9
  815. package/src/modes/image-references.ts +33 -7
  816. package/src/modes/index.ts +8 -25
  817. package/src/modes/interactive-mode.ts +840 -186
  818. package/src/modes/magic-keywords.ts +28 -6
  819. package/src/modes/markdown-prose.ts +1 -1
  820. package/src/modes/oauth-manual-input.ts +30 -3
  821. package/src/modes/rpc/rpc-client.ts +186 -3
  822. package/src/modes/rpc/rpc-mode.ts +318 -24
  823. package/src/modes/rpc/rpc-subagents.ts +265 -0
  824. package/src/modes/rpc/rpc-types.ts +111 -2
  825. package/src/modes/runtime-init.ts +28 -3
  826. package/src/modes/session-observer-registry.ts +72 -3
  827. package/src/modes/setup-version.ts +11 -0
  828. package/src/modes/setup-wizard/index.ts +16 -4
  829. package/src/modes/setup-wizard/lazy.ts +16 -0
  830. package/src/modes/setup-wizard/scenes/glyph.ts +25 -7
  831. package/src/modes/setup-wizard/scenes/providers.ts +45 -12
  832. package/src/modes/setup-wizard/scenes/sign-in.ts +14 -13
  833. package/src/modes/setup-wizard/scenes/splash.ts +1 -1
  834. package/src/modes/setup-wizard/scenes/telegram.ts +77 -22
  835. package/src/modes/setup-wizard/scenes/theme.ts +29 -2
  836. package/src/modes/setup-wizard/scenes/types.ts +11 -2
  837. package/src/modes/setup-wizard/scenes/web-search.ts +26 -9
  838. package/src/modes/setup-wizard/wizard-overlay.ts +40 -3
  839. package/src/modes/shared.ts +2 -0
  840. package/src/modes/theme/defaults/dark-poimandres.json +1 -1
  841. package/src/modes/theme/defaults/light-poimandres.json +1 -1
  842. package/src/modes/theme/shimmer.ts +20 -9
  843. package/src/modes/theme/theme-schema.json +1 -1
  844. package/src/modes/theme/theme.ts +342 -82
  845. package/src/modes/types.ts +60 -18
  846. package/src/modes/utils/context-usage.ts +88 -8
  847. package/src/modes/utils/copy-targets.ts +133 -27
  848. package/src/modes/utils/hotkeys-markdown.ts +3 -2
  849. package/src/modes/utils/ui-helpers.ts +191 -110
  850. package/src/modes/workflow.ts +10 -10
  851. package/src/plan-mode/approved-plan.ts +66 -43
  852. package/src/plan-mode/plan-protection.ts +4 -4
  853. package/src/priority.json +5 -1
  854. package/src/prompts/agents/designer.md +1 -1
  855. package/src/prompts/agents/explore.md +3 -3
  856. package/src/prompts/agents/librarian.md +2 -3
  857. package/src/prompts/agents/oracle.md +2 -2
  858. package/src/prompts/agents/plan.md +6 -6
  859. package/src/prompts/agents/reviewer.md +1 -1
  860. package/src/prompts/agents/task.md +6 -5
  861. package/src/prompts/bench.md +12 -0
  862. package/src/prompts/ci-green-request.md +5 -7
  863. package/src/prompts/goals/goal-budget-limit.md +2 -2
  864. package/src/prompts/goals/goal-continuation.md +4 -4
  865. package/src/prompts/goals/goal-mode-active.md +1 -1
  866. package/src/prompts/goals/guided-goal-interview.md +8 -0
  867. package/src/prompts/goals/guided-goal-system.md +12 -0
  868. package/src/prompts/memories/consolidation.md +2 -7
  869. package/src/prompts/memories/consolidation_system.md +4 -0
  870. package/src/prompts/memories/identity_review.md +2 -2
  871. package/src/prompts/memories/read-path.md +11 -10
  872. package/src/prompts/memories/stage_one_system.md +2 -2
  873. package/src/prompts/review-custom-request.md +1 -1
  874. package/src/prompts/system/agent-creation-architect.md +2 -2
  875. package/src/prompts/system/auto-continue.md +1 -1
  876. package/src/prompts/system/autolearn-guidance-learn.md +1 -0
  877. package/src/prompts/system/autolearn-guidance.md +7 -0
  878. package/src/prompts/system/autolearn-nudge.md +3 -0
  879. package/src/prompts/system/background-tan-dispatch.md +8 -0
  880. package/src/prompts/system/btw-user.md +2 -2
  881. package/src/prompts/system/commit-message-system.md +13 -1
  882. package/src/prompts/system/custom-system-prompt.md +1 -1
  883. package/src/prompts/system/eager-task.md +7 -0
  884. package/src/prompts/system/eager-todo.md +11 -6
  885. package/src/prompts/system/empty-stop-retry.md +4 -6
  886. package/src/prompts/system/irc-autoreply.md +6 -0
  887. package/src/prompts/system/irc-incoming.md +3 -4
  888. package/src/prompts/system/manual-continue.md +7 -0
  889. package/src/prompts/system/omfg-user.md +3 -4
  890. package/src/prompts/system/orchestrate-notice.md +10 -10
  891. package/src/prompts/system/personalities/default.md +26 -0
  892. package/src/prompts/system/personalities/friendly.md +17 -0
  893. package/src/prompts/system/personalities/pragmatic.md +15 -0
  894. package/src/prompts/system/plan-mode-active.md +70 -77
  895. package/src/prompts/system/plan-mode-approved.md +1 -1
  896. package/src/prompts/system/plan-mode-subagent.md +4 -5
  897. package/src/prompts/system/plan-mode-tool-decision-reminder.md +1 -1
  898. package/src/prompts/system/project-prompt.md +2 -2
  899. package/src/prompts/system/snapcompact-context-frames-note.md +1 -0
  900. package/src/prompts/system/snapcompact-context-stub.md +1 -0
  901. package/src/prompts/system/snapcompact-system-frames-note.md +1 -0
  902. package/src/prompts/system/snapcompact-system-stub.md +1 -0
  903. package/src/prompts/system/snapcompact-toolresult-note.md +1 -0
  904. package/src/prompts/system/subagent-system-prompt.md +7 -8
  905. package/src/prompts/system/system-prompt.md +28 -57
  906. package/src/prompts/system/tiny-title-system.md +1 -1
  907. package/src/prompts/system/title-marker-instruction.md +1 -0
  908. package/src/prompts/system/title-system-marker.md +16 -0
  909. package/src/prompts/system/title-system.md +16 -3
  910. package/src/prompts/system/ttsr-tool-reminder.md +1 -1
  911. package/src/prompts/system/workflow-notice.md +4 -4
  912. package/src/prompts/tools/ast-edit.md +1 -1
  913. package/src/prompts/tools/ast-grep.md +2 -2
  914. package/src/prompts/tools/bash.md +16 -8
  915. package/src/prompts/tools/browser.md +33 -43
  916. package/src/prompts/tools/debug.md +1 -1
  917. package/src/prompts/tools/eval.md +31 -51
  918. package/src/prompts/tools/find.md +0 -1
  919. package/src/prompts/tools/github.md +8 -7
  920. package/src/prompts/tools/goal.md +1 -1
  921. package/src/prompts/tools/image-gen.md +1 -1
  922. package/src/prompts/tools/inspect-image-system.md +1 -1
  923. package/src/prompts/tools/irc.md +39 -31
  924. package/src/prompts/tools/job.md +2 -1
  925. package/src/prompts/tools/learn.md +7 -0
  926. package/src/prompts/tools/lsp-late-diagnostic.md +8 -0
  927. package/src/prompts/tools/lsp.md +2 -2
  928. package/src/prompts/tools/manage-skill.md +9 -0
  929. package/src/prompts/tools/memory-edit.md +1 -1
  930. package/src/prompts/tools/patch.md +2 -2
  931. package/src/prompts/tools/read.md +31 -39
  932. package/src/prompts/tools/recall.md +1 -1
  933. package/src/prompts/tools/reflect.md +1 -1
  934. package/src/prompts/tools/render-mermaid.md +2 -2
  935. package/src/prompts/tools/replace.md +4 -10
  936. package/src/prompts/tools/rewind.md +2 -2
  937. package/src/prompts/tools/search-tool-bm25.md +1 -9
  938. package/src/prompts/tools/search.md +0 -1
  939. package/src/prompts/tools/ssh.md +0 -4
  940. package/src/prompts/tools/task-summary.md +5 -16
  941. package/src/prompts/tools/task.md +47 -31
  942. package/src/prompts/tools/todo.md +6 -3
  943. package/src/registry/agent-lifecycle.ts +218 -0
  944. package/src/registry/agent-registry.ts +46 -5
  945. package/src/sdk.ts +692 -219
  946. package/src/secrets/index.ts +8 -1
  947. package/src/secrets/obfuscator.ts +40 -19
  948. package/src/session/agent-session.ts +1577 -806
  949. package/src/session/agent-storage.ts +18 -9
  950. package/src/session/auth-broker-config.ts +30 -1
  951. package/src/session/auth-storage.ts +6 -0
  952. package/src/session/codex-auto-reset.ts +202 -0
  953. package/src/session/history-storage.ts +3 -2
  954. package/src/session/indexed-session-storage.ts +7 -10
  955. package/src/session/messages.ts +59 -95
  956. package/src/session/session-context.ts +352 -0
  957. package/src/session/session-dump-format.ts +12 -3
  958. package/src/session/session-entries.ts +194 -0
  959. package/src/session/session-history-format.ts +246 -0
  960. package/src/session/session-listing.ts +588 -0
  961. package/src/session/session-loader.ts +106 -0
  962. package/src/session/session-manager.ts +1003 -2920
  963. package/src/session/session-migrations.ts +78 -0
  964. package/src/session/session-paths.ts +193 -0
  965. package/src/session/session-persistence.ts +131 -0
  966. package/src/session/session-storage.ts +91 -30
  967. package/src/session/snapcompact-inline.ts +542 -0
  968. package/src/session/snapcompact-savings-journal.ts +113 -0
  969. package/src/session/streaming-output.ts +248 -11
  970. package/src/session/tool-choice-queue.ts +23 -11
  971. package/src/session/yield-queue.ts +20 -2
  972. package/src/slash-commands/acp-builtins.ts +25 -1
  973. package/src/slash-commands/available-commands.ts +105 -0
  974. package/src/slash-commands/builtin-registry.ts +575 -49
  975. package/src/slash-commands/helpers/active-oauth-account.ts +44 -0
  976. package/src/slash-commands/helpers/context-report.ts +28 -1
  977. package/src/slash-commands/helpers/logout.ts +88 -0
  978. package/src/slash-commands/helpers/reset-usage.ts +66 -0
  979. package/src/slash-commands/helpers/stats-dashboard.ts +85 -0
  980. package/src/slash-commands/helpers/usage-report.ts +38 -3
  981. package/src/slash-commands/types.ts +5 -9
  982. package/src/ssh/connection-manager.ts +27 -0
  983. package/src/ssh/ssh-executor.ts +60 -4
  984. package/src/stt/asr-client.ts +520 -0
  985. package/src/stt/asr-protocol.ts +65 -0
  986. package/src/stt/asr-worker.ts +790 -0
  987. package/src/stt/downloader.ts +107 -47
  988. package/src/stt/endpointer.ts +259 -0
  989. package/src/stt/index.ts +5 -1
  990. package/src/stt/models.ts +150 -0
  991. package/src/stt/recorder.ts +254 -67
  992. package/src/stt/stt-controller.ts +201 -22
  993. package/src/stt/transcriber.ts +37 -68
  994. package/src/stt/wav.ts +173 -0
  995. package/src/system-prompt.ts +52 -10
  996. package/src/task/agents.ts +3 -4
  997. package/src/task/commands.ts +3 -2
  998. package/src/task/discovery.ts +17 -24
  999. package/src/task/executor.ts +1054 -529
  1000. package/src/task/index.ts +862 -757
  1001. package/src/task/output-manager.ts +0 -11
  1002. package/src/task/parallel.ts +3 -3
  1003. package/src/task/prometheus-command.ts +2 -2
  1004. package/src/task/render.ts +529 -182
  1005. package/src/task/repair-args.ts +21 -9
  1006. package/src/task/types.ts +144 -66
  1007. package/src/task/worktree.ts +64 -56
  1008. package/src/telemetry-export.ts +27 -9
  1009. package/src/thinking.ts +9 -7
  1010. package/src/tiny/models.ts +2 -2
  1011. package/src/tiny/text.ts +5 -1
  1012. package/src/tiny/title-client.ts +72 -20
  1013. package/src/tiny/title-protocol.ts +1 -1
  1014. package/src/tiny/worker.ts +23 -99
  1015. package/src/tool-discovery/tool-index.ts +2 -0
  1016. package/src/tools/archive-reader.ts +94 -2
  1017. package/src/tools/ask.ts +234 -177
  1018. package/src/tools/ast-edit.ts +136 -80
  1019. package/src/tools/ast-grep.ts +41 -45
  1020. package/src/tools/auto-generated-guard.ts +20 -3
  1021. package/src/tools/bash-interactive.ts +28 -8
  1022. package/src/tools/bash.ts +198 -35
  1023. package/src/tools/browser/attach.ts +26 -7
  1024. package/src/tools/browser/cmux/cmux-tab.ts +1264 -0
  1025. package/src/tools/browser/cmux/rpc.ts +156 -0
  1026. package/src/tools/browser/cmux/socket-client.ts +309 -0
  1027. package/src/tools/browser/launch.ts +11 -2
  1028. package/src/tools/browser/readable.ts +19 -2
  1029. package/src/tools/browser/registry.ts +52 -5
  1030. package/src/tools/browser/render.ts +13 -5
  1031. package/src/tools/browser/tab-protocol.ts +2 -0
  1032. package/src/tools/browser/tab-supervisor.ts +256 -34
  1033. package/src/tools/browser/tab-worker.ts +259 -91
  1034. package/src/tools/browser.ts +44 -2
  1035. package/src/tools/checkpoint.ts +1 -1
  1036. package/src/tools/conflict-detect.ts +50 -4
  1037. package/src/tools/debug.ts +27 -12
  1038. package/src/tools/eval-render.ts +32 -35
  1039. package/src/tools/eval.ts +26 -12
  1040. package/src/tools/fetch.ts +450 -99
  1041. package/src/tools/find.ts +182 -142
  1042. package/src/tools/gh-cache-invalidation.ts +255 -0
  1043. package/src/tools/gh-renderer.ts +104 -51
  1044. package/src/tools/gh.ts +232 -37
  1045. package/src/tools/github-cache.ts +97 -7
  1046. package/src/tools/grouped-file-output.ts +159 -52
  1047. package/src/tools/image-gen.ts +237 -132
  1048. package/src/tools/index.ts +147 -26
  1049. package/src/tools/inspect-image-renderer.ts +74 -45
  1050. package/src/tools/inspect-image.ts +12 -6
  1051. package/src/tools/irc.ts +626 -173
  1052. package/src/tools/job.ts +106 -29
  1053. package/src/tools/learn.ts +144 -0
  1054. package/src/tools/manage-skill.ts +104 -0
  1055. package/src/tools/memory-edit.ts +4 -4
  1056. package/src/tools/memory-recall.ts +7 -9
  1057. package/src/tools/memory-reflect.ts +5 -9
  1058. package/src/tools/memory-render.ts +23 -6
  1059. package/src/tools/memory-retain.ts +4 -4
  1060. package/src/tools/path-utils.ts +102 -48
  1061. package/src/tools/plan-mode-guard.ts +101 -40
  1062. package/src/tools/read.ts +475 -120
  1063. package/src/tools/render-mermaid.ts +1 -1
  1064. package/src/tools/render-utils.ts +132 -76
  1065. package/src/tools/renderers.ts +12 -1
  1066. package/src/tools/report-tool-issue.ts +14 -6
  1067. package/src/tools/resolve.ts +20 -3
  1068. package/src/tools/review.ts +2 -2
  1069. package/src/tools/search-tool-bm25.ts +37 -24
  1070. package/src/tools/search.ts +233 -115
  1071. package/src/tools/sqlite-reader.ts +26 -17
  1072. package/src/tools/ssh.ts +20 -14
  1073. package/src/tools/todo.ts +197 -191
  1074. package/src/tools/tool-result.ts +8 -0
  1075. package/src/tools/tool-timeouts.ts +1 -1
  1076. package/src/tools/tts.ts +205 -74
  1077. package/src/tools/write.ts +291 -155
  1078. package/src/tools/yield.ts +10 -1
  1079. package/src/tts/downloader.ts +64 -0
  1080. package/src/tts/index.ts +8 -0
  1081. package/src/tts/models.ts +137 -0
  1082. package/src/tts/player.ts +137 -0
  1083. package/src/tts/runtime.ts +21 -0
  1084. package/src/tts/streaming-player.ts +266 -0
  1085. package/src/tts/tts-client.ts +647 -0
  1086. package/src/tts/tts-protocol.ts +60 -0
  1087. package/src/tts/tts-worker.ts +505 -0
  1088. package/src/tts/vocalizer.ts +162 -0
  1089. package/src/tts/wav.ts +58 -0
  1090. package/src/tui/code-cell.ts +2 -7
  1091. package/src/tui/hyperlink.ts +40 -26
  1092. package/src/tui/output-block.ts +60 -108
  1093. package/src/tui/status-line.ts +5 -1
  1094. package/src/utils/block-context.ts +312 -0
  1095. package/src/utils/changelog.ts +27 -1
  1096. package/src/utils/clipboard.ts +91 -22
  1097. package/src/utils/commit-message-generator.ts +8 -3
  1098. package/src/utils/enhanced-paste.ts +230 -0
  1099. package/src/utils/file-mentions.ts +3 -1
  1100. package/src/utils/git.ts +315 -15
  1101. package/src/utils/image-loading.ts +65 -4
  1102. package/src/utils/session-color.ts +83 -9
  1103. package/src/utils/thinking-display.ts +37 -0
  1104. package/src/utils/title-generator.ts +73 -10
  1105. package/src/utils/tool-choice.ts +16 -0
  1106. package/src/utils/tools-manager.ts +19 -1
  1107. package/src/web/kagi.ts +28 -26
  1108. package/src/web/parallel.ts +7 -3
  1109. package/src/web/scrapers/arxiv.ts +1 -1
  1110. package/src/web/scrapers/github.ts +351 -3
  1111. package/src/web/scrapers/go-pkg.ts +1 -1
  1112. package/src/web/scrapers/iacr.ts +1 -1
  1113. package/src/web/scrapers/readthedocs.ts +1 -1
  1114. package/src/web/scrapers/twitter.ts +2 -1
  1115. package/src/web/scrapers/types.ts +87 -8
  1116. package/src/web/scrapers/wikipedia.ts +1 -1
  1117. package/src/web/scrapers/youtube.ts +9 -3
  1118. package/src/web/search/index.ts +15 -2
  1119. package/src/web/search/providers/anthropic.ts +62 -21
  1120. package/src/web/search/providers/base.ts +2 -1
  1121. package/src/web/search/providers/brave.ts +5 -2
  1122. package/src/web/search/providers/codex.ts +87 -51
  1123. package/src/web/search/providers/exa.ts +101 -10
  1124. package/src/web/search/providers/gemini.ts +49 -24
  1125. package/src/web/search/providers/jina.ts +15 -5
  1126. package/src/web/search/providers/kagi.ts +9 -2
  1127. package/src/web/search/providers/kimi.ts +45 -20
  1128. package/src/web/search/providers/parallel.ts +39 -24
  1129. package/src/web/search/providers/perplexity.ts +226 -63
  1130. package/src/web/search/providers/searxng.ts +19 -3
  1131. package/src/web/search/providers/synthetic.ts +16 -11
  1132. package/src/web/search/providers/tavily.ts +12 -9
  1133. package/src/web/search/providers/zai.ts +22 -9
  1134. package/src/web/search/render.ts +59 -64
  1135. package/src/web/search/types.ts +5 -1
  1136. package/dist/types/discovery/context-files.d.ts +0 -17
  1137. package/dist/types/exa/factory.d.ts +0 -13
  1138. package/dist/types/exa/render.d.ts +0 -19
  1139. package/dist/types/exa/researcher.d.ts +0 -9
  1140. package/dist/types/exa/search.d.ts +0 -9
  1141. package/dist/types/exa/websets.d.ts +0 -9
  1142. package/dist/types/export/html/template.generated.d.ts +0 -1
  1143. package/dist/types/modes/components/session-observer-overlay.d.ts +0 -11
  1144. package/dist/types/modes/components/status-line.d.ts +0 -77
  1145. package/dist/types/slash-commands/headless-plan.d.ts +0 -3
  1146. package/dist/types/stt/setup.d.ts +0 -18
  1147. package/scripts/generate-template.ts +0 -33
  1148. package/src/discovery/context-files.ts +0 -49
  1149. package/src/exa/factory.ts +0 -60
  1150. package/src/exa/render.ts +0 -244
  1151. package/src/exa/researcher.ts +0 -36
  1152. package/src/exa/search.ts +0 -47
  1153. package/src/exa/websets.ts +0 -248
  1154. package/src/export/html/template.generated.ts +0 -2
  1155. package/src/modes/components/session-observer-overlay.ts +0 -852
  1156. package/src/slash-commands/headless-plan.ts +0 -142
  1157. package/src/stt/setup.ts +0 -52
  1158. package/src/stt/transcribe.py +0 -70
  1159. /package/dist/types/extensibility/{legacy-pi-coding-agent-shim.d.ts → legacy-package-agent-shim.d.ts} +0 -0
  1160. /package/src/extensibility/{legacy-pi-coding-agent-shim.ts → legacy-package-agent-shim.ts} +0 -0
@@ -102,7 +102,7 @@ export class LocalModuleLoader {
102
102
  });
103
103
  const moduleDir = path.dirname(modulePath);
104
104
  const localDeps = new Set<string>();
105
- for (const specifier of collectModuleSourceSpecifiers(stripped)) {
105
+ for (const specifier of await collectModuleSourceSpecifiers(stripped)) {
106
106
  const resolved = resolveImportSpecifier(moduleDir, specifier);
107
107
  if (isLocalPathSpecifier(specifier) && isManagedLocalModulePath(resolved)) {
108
108
  localDeps.add(resolved);
@@ -291,7 +291,7 @@ function buildRequire(fromPath: string): NodeJS.Require {
291
291
  function buildModuleSource(source: string, modulePath: string): string {
292
292
  const moduleDir = path.dirname(modulePath);
293
293
  return [
294
- `const require = globalThis.__prometheus_get_require__(${JSON.stringify(pathToFileURL(modulePath).href)});`,
294
+ `const require = globalThis.__omp_get_require__(${JSON.stringify(pathToFileURL(modulePath).href)});`,
295
295
  `const __filename = ${JSON.stringify(modulePath)};`,
296
296
  `const __dirname = ${JSON.stringify(moduleDir)};`,
297
297
  source,
@@ -1,17 +1,85 @@
1
- if (!globalThis.__prometheus_js_prelude_loaded__) {
2
- globalThis.__prometheus_js_prelude_loaded__ = true;
1
+ if (!globalThis.__omp_js_prelude_loaded__) {
2
+ globalThis.__omp_js_prelude_loaded__ = true;
3
3
 
4
- const toOptions = value => (value && typeof value === "object" && !Array.isArray(value) ? value : {});
5
- const callHelper = (name, ...args) => globalThis.__prometheus_helpers__[name](...args);
4
+ const isNil = value => value === undefined || value === null;
5
+ const isPlainObject = value => value !== null && typeof value === "object" && !Array.isArray(value);
6
+ const positionalOptions = (name, args, keys, example) => {
7
+ for (let index = keys.length; index < args.length; index++) {
8
+ if (!isNil(args[index])) {
9
+ throw new TypeError(
10
+ `${name}() accepts at most ${keys.length} positional optional args; got ${args.length}. Pass ${name}(..., ${example}) for named options.`,
11
+ );
12
+ }
13
+ }
14
+ const options = {};
15
+ for (let index = 0; index < keys.length && index < args.length; index++) {
16
+ const value = args[index];
17
+ if (!isNil(value)) options[keys[index]] = value;
18
+ }
19
+ return options;
20
+ };
21
+ const optionsArg = (name, value, rest, keys, example) => {
22
+ if (isNil(value)) return positionalOptions(name, [value, ...rest], keys, example);
23
+ if (isPlainObject(value)) {
24
+ if (rest.some(arg => !isNil(arg))) {
25
+ throw new TypeError(
26
+ `${name}() takes either a single trailing options object like ${example} or positional optional args; do not mix both forms.`,
27
+ );
28
+ }
29
+ return value;
30
+ }
31
+ if (typeof value === "object") {
32
+ const kind = Array.isArray(value) ? "an array" : value.constructor?.name ?? "object";
33
+ throw new TypeError(
34
+ `${name}() options must be a plain object like ${example}, null/undefined, or positional optional args, not ${kind}.`,
35
+ );
36
+ }
37
+ return positionalOptions(name, [value, ...rest], keys, example);
38
+ };
39
+ const callHelper = (name, ...args) => globalThis.__omp_helpers__[name](...args);
40
+ const hasScheme = path => typeof path === "string" && /^[A-Za-z][A-Za-z0-9+.-]*:\/\//.test(path);
41
+ const shouldDelegateRead = path => hasScheme(path) && !path.toLowerCase().startsWith("local://");
42
+ const withReadLineSelector = (path, options) => {
43
+ const offset = typeof options.offset === "number" ? options.offset : 1;
44
+ const limit = typeof options.limit === "number" ? options.limit : undefined;
45
+ if (offset <= 1 && limit === undefined) return path;
46
+ if (limit !== undefined && limit <= 0) return null;
47
+ const start = Math.max(1, offset);
48
+ if (limit === undefined) return `${path}:${start}-`;
49
+ return `${path}:${start}-${start + limit - 1}`;
50
+ };
51
+ const readToolText = async path => {
52
+ const res = await globalThis.__omp_call_tool__("read", { path });
53
+ return res && typeof res === "object" && "text" in res ? res.text : res;
54
+ };
6
55
 
7
- const read = (path, opts = {}) => callHelper("read", path, toOptions(opts));
56
+
57
+ const read = async (path, opts, ...rest) => {
58
+ const options = optionsArg("read", opts, rest, ["offset", "limit"], "{ offset, limit }");
59
+ if (shouldDelegateRead(path)) {
60
+ const toolPath = withReadLineSelector(path, options);
61
+ return toolPath === null ? "" : readToolText(toolPath);
62
+ }
63
+ return callHelper("read", path, options);
64
+ };
8
65
  const write = async (path, data) => callHelper("writeFile", path, data);
9
66
  const append = (path, content) => callHelper("append", path, content);
10
- const sort = (text, opts = {}) => callHelper("sortText", text, toOptions(opts));
11
- const uniq = (text, opts = {}) => callHelper("uniqText", text, toOptions(opts));
12
- const counter = (items, opts = {}) => callHelper("counter", items, toOptions(opts));
67
+ const sort = (text, opts, ...rest) =>
68
+ callHelper("sortText", text, optionsArg("sort", opts, rest, ["reverse", "unique"], "{ reverse, unique }"));
69
+ const uniq = (text, opts, ...rest) => callHelper("uniqText", text, optionsArg("uniq", opts, rest, ["count"], "{ count }"));
70
+ const counter = (items, opts, ...rest) =>
71
+ callHelper("counter", items, optionsArg("counter", opts, rest, ["limit", "reverse"], "{ limit, reverse }"));
13
72
  const diff = (a, b) => callHelper("diff", a, b);
14
- const tree = (path = ".", opts = {}) => callHelper("tree", path, toOptions(opts));
73
+ const tree = (path = ".", opts, ...rest) => {
74
+ if (isPlainObject(path) && opts === undefined && rest.length === 0) {
75
+ return callHelper("tree", ".", path);
76
+ }
77
+ return callHelper(
78
+ "tree",
79
+ isNil(path) ? "." : path,
80
+ optionsArg("tree", opts, rest, ["maxDepth", "showHidden"], "{ maxDepth, showHidden }"),
81
+ );
82
+ };
15
83
  const env = (key, value) => callHelper("env", key, value);
16
84
 
17
85
  const tool = new Proxy(
@@ -19,7 +87,7 @@ if (!globalThis.__prometheus_js_prelude_loaded__) {
19
87
  {
20
88
  get(_target, prop) {
21
89
  if (typeof prop !== "string") return undefined;
22
- return async args => globalThis.__prometheus_call_tool__(prop, args ?? {});
90
+ return async args => globalThis.__omp_call_tool__(prop, args ?? {});
23
91
  },
24
92
  },
25
93
  );
@@ -41,16 +109,23 @@ if (!globalThis.__prometheus_js_prelude_loaded__) {
41
109
 
42
110
  const hasOwn = (object, key) => Object.prototype.hasOwnProperty.call(object, key);
43
111
 
44
- const llm = async (prompt, opts = {}) => {
45
- const o = toOptions(opts);
46
- const res = await globalThis.__prometheus_call_tool__("__llm__", { prompt, ...o });
112
+ const completion = async (prompt, opts, ...rest) => {
113
+ const o = optionsArg("completion", opts, rest, ["model", "system", "schema"], "{ model, system, schema }");
114
+ const res = await globalThis.__omp_call_tool__("__completion__", { prompt, ...o });
47
115
  const text = res && typeof res === "object" ? res.text : res;
48
116
  return hasOwn(o, "schema") ? JSON.parse(text) : text;
49
117
  };
50
118
 
51
- const agent = async (prompt, opts = {}) => {
52
- const o = toOptions(opts);
53
- const res = await globalThis.__prometheus_call_tool__("__agent__", { prompt, ...o });
119
+ const llm = async (prompt, opts, ...rest) => {
120
+ const o = optionsArg("llm", opts, rest, ["model", "system", "schema"], "{ model, system, schema }");
121
+ const res = await globalThis.__omp_call_tool__("__llm__", { prompt, ...o });
122
+ const text = res && typeof res === "object" ? res.text : res;
123
+ return hasOwn(o, "schema") ? JSON.parse(text) : text;
124
+ };
125
+
126
+ const agent = async (prompt, opts, ...rest) => {
127
+ const o = optionsArg("agent", opts, rest, ["agentType", "model", "label", "schema"], "{ agentType, model, label, schema }");
128
+ const res = await globalThis.__omp_call_tool__("__agent__", { prompt, ...o });
54
129
  const text = res && typeof res === "object" ? res.text : res;
55
130
  return hasOwn(o, "schema") ? JSON.parse(text) : text;
56
131
  };
@@ -60,7 +135,7 @@ if (!globalThis.__prometheus_js_prelude_loaded__) {
60
135
  // reply) means unbounded — run every item at once.
61
136
  const __concurrencyLimit = async () => {
62
137
  try {
63
- const r = await globalThis.__prometheus_call_tool__("__concurrency__", {});
138
+ const r = await globalThis.__omp_call_tool__("__concurrency__", {});
64
139
  const n = Math.trunc(Number(r && typeof r === "object" ? r.limit : r));
65
140
  return Number.isFinite(n) && n > 0 ? n : 0;
66
141
  } catch {
@@ -74,15 +149,25 @@ if (!globalThis.__prometheus_js_prelude_loaded__) {
74
149
  const limit = await __concurrencyLimit();
75
150
  const concurrency = limit > 0 ? Math.min(limit, list.length) : list.length;
76
151
  const results = new Array(list.length);
152
+ // Barrier semantics (mirrors the Python _pool_map): every item settles
153
+ // before we return or throw, then the lowest-index error propagates.
154
+ // Early-rejecting would orphan in-flight thunks (e.g. live agent()
155
+ // subagents) whose worker-side promises would never be observed.
156
+ const errors = new Map();
77
157
  let next = 0;
78
158
  const worker = async () => {
79
159
  while (true) {
80
160
  const index = next++;
81
161
  if (index >= list.length) return;
82
- results[index] = await fn(list[index], index);
162
+ try {
163
+ results[index] = await fn(list[index], index);
164
+ } catch (error) {
165
+ errors.set(index, error);
166
+ }
83
167
  }
84
168
  };
85
169
  await Promise.all(Array.from({ length: concurrency }, () => worker()));
170
+ if (errors.size > 0) throw errors.get(Math.min(...errors.keys()));
86
171
  return results;
87
172
  };
88
173
 
@@ -101,15 +186,15 @@ if (!globalThis.__prometheus_js_prelude_loaded__) {
101
186
  return current;
102
187
  };
103
188
 
104
- const log = message => globalThis.__prometheus_emit_status__("log", { message: String(message) });
189
+ const log = message => globalThis.__omp_emit_status__("log", { message: String(message) });
105
190
 
106
191
  const phase = title => {
107
- globalThis.__prometheus_phase__ = String(title);
108
- globalThis.__prometheus_emit_status__("phase", { title: String(title) });
192
+ globalThis.__omp_phase__ = String(title);
193
+ globalThis.__omp_emit_status__("phase", { title: String(title) });
109
194
  };
110
195
 
111
196
  const __budgetSnap = async () => {
112
- const r = await globalThis.__prometheus_call_tool__("__budget__", {});
197
+ const r = await globalThis.__omp_call_tool__("__budget__", {});
113
198
  return r && typeof r === "object" ? r : {};
114
199
  };
115
200
 
@@ -127,27 +212,79 @@ if (!globalThis.__prometheus_js_prelude_loaded__) {
127
212
  };
128
213
 
129
214
  const display = value => {
130
- globalThis.__prometheus_display__(value);
215
+ globalThis.__omp_display__(value);
131
216
  };
132
217
 
133
218
  const formatArgs = args => args.map(arg => (typeof arg === "string" ? arg : arg));
134
219
 
220
+ const consoleTimers = new Map();
221
+ const consoleCounts = new Map();
135
222
  const consoleBridge = {
136
- log: (...args) => globalThis.__prometheus_log__("log", ...formatArgs(args)),
137
- info: (...args) => globalThis.__prometheus_log__("info", ...formatArgs(args)),
138
- warn: (...args) => globalThis.__prometheus_log__("warn", ...formatArgs(args)),
139
- error: (...args) => globalThis.__prometheus_log__("error", ...formatArgs(args)),
140
- debug: (...args) => globalThis.__prometheus_log__("debug", ...formatArgs(args)),
223
+ log: (...args) => globalThis.__omp_log__("log", ...formatArgs(args)),
224
+ info: (...args) => globalThis.__omp_log__("info", ...formatArgs(args)),
225
+ warn: (...args) => globalThis.__omp_log__("warn", ...formatArgs(args)),
226
+ error: (...args) => globalThis.__omp_log__("error", ...formatArgs(args)),
227
+ debug: (...args) => globalThis.__omp_log__("debug", ...formatArgs(args)),
141
228
  table: (data, columns) =>
142
229
  columns === undefined
143
- ? globalThis.__prometheus_table__(data)
144
- : globalThis.__prometheus_table__(data, columns),
230
+ ? globalThis.__omp_table__(data)
231
+ : globalThis.__omp_table__(data, columns),
232
+ dir: (value, _options) => globalThis.__omp_log__("log", value),
233
+ dirxml: (...args) => globalThis.__omp_log__("log", ...formatArgs(args)),
234
+ trace: (...args) => {
235
+ const stack = (new Error().stack ?? "").split("\n").slice(2).join("\n");
236
+ globalThis.__omp_log__("log", args.length > 0 ? `Trace: ${formatArgs(args).join(" ")}` : "Trace", `\n${stack}`);
237
+ },
238
+ assert: (condition, ...args) => {
239
+ if (condition) return;
240
+ if (args.length > 0) globalThis.__omp_log__("error", "Assertion failed:", ...formatArgs(args));
241
+ else globalThis.__omp_log__("error", "Assertion failed");
242
+ },
243
+ group: (...args) => {
244
+ if (args.length > 0) globalThis.__omp_log__("log", ...formatArgs(args));
245
+ },
246
+ groupCollapsed: (...args) => {
247
+ if (args.length > 0) globalThis.__omp_log__("log", ...formatArgs(args));
248
+ },
249
+ groupEnd: () => {},
250
+ time: label => {
251
+ consoleTimers.set(String(label ?? "default"), Date.now());
252
+ },
253
+ timeLog: (label, ...args) => {
254
+ const key = String(label ?? "default");
255
+ const start = consoleTimers.get(key);
256
+ if (start === undefined) {
257
+ globalThis.__omp_log__("warn", `Timer '${key}' does not exist`);
258
+ return;
259
+ }
260
+ globalThis.__omp_log__("log", `${key}: ${Date.now() - start}ms`, ...formatArgs(args));
261
+ },
262
+ timeEnd: label => {
263
+ const key = String(label ?? "default");
264
+ const start = consoleTimers.get(key);
265
+ if (start === undefined) {
266
+ globalThis.__omp_log__("warn", `Timer '${key}' does not exist`);
267
+ return;
268
+ }
269
+ consoleTimers.delete(key);
270
+ globalThis.__omp_log__("log", `${key}: ${Date.now() - start}ms`);
271
+ },
272
+ count: label => {
273
+ const key = String(label ?? "default");
274
+ const next = (consoleCounts.get(key) ?? 0) + 1;
275
+ consoleCounts.set(key, next);
276
+ globalThis.__omp_log__("log", `${key}: ${next}`);
277
+ },
278
+ countReset: label => {
279
+ consoleCounts.delete(String(label ?? "default"));
280
+ },
145
281
  };
146
282
 
147
283
  globalThis.console = consoleBridge;
148
284
  globalThis.print = consoleBridge.log;
149
285
  globalThis.display = display;
150
286
  globalThis.tool = tool;
287
+ globalThis.completion = completion;
151
288
  globalThis.llm = llm;
152
289
  globalThis.output = output;
153
290
  globalThis.agent = agent;
@@ -1,9 +1,9 @@
1
- import { parse as babelParse } from "@babel/parser";
1
+ import type * as BabelParser from "@babel/parser";
2
2
 
3
3
  // Static ESM `import` declarations are not valid inside vm.runInContext (script-mode parsing),
4
4
  // and dynamic `import(...)` would otherwise resolve specifiers against the worker module's URL
5
5
  // instead of the session cwd. We rewrite both forms so they route through the worker-injected
6
- // `__prometheus_import__` helper, which resolves the specifier against the active session cwd. A real
6
+ // `__omp_import__` helper, which resolves the specifier against the active session cwd. A real
7
7
  // parser keeps imports embedded in string literals, template literals, or comments intact.
8
8
 
9
9
  type BabelImportDeclaration = {
@@ -64,9 +64,22 @@ type BabelModuleSourceDeclaration = {
64
64
 
65
65
  type BabelNode = { type: string; start: number; end: number; [key: string]: unknown };
66
66
 
67
- function parseProgram(code: string): { program: { body: ReadonlyArray<BabelProgramNode> } } | null {
67
+ // @babel/parser sits on the CLI launch graph (tools eval backend → worker-core →
68
+ // runtime → this module) but only runs when an eval cell executes, so it is loaded
69
+ // lazily and memoized.
70
+ let babelParser: typeof BabelParser | undefined;
71
+
72
+ async function loadBabelParser(): Promise<typeof BabelParser> {
73
+ if (!babelParser) {
74
+ babelParser = await import("@babel/parser");
75
+ }
76
+ return babelParser;
77
+ }
78
+
79
+ async function parseProgram(code: string): Promise<{ program: { body: ReadonlyArray<BabelProgramNode> } } | null> {
80
+ const { parse } = await loadBabelParser();
68
81
  try {
69
- return babelParse(code, {
82
+ return parse(code, {
70
83
  sourceType: "module",
71
84
  allowAwaitOutsideFunction: true,
72
85
  allowReturnOutsideFunction: true,
@@ -82,12 +95,18 @@ function parseProgram(code: string): { program: { body: ReadonlyArray<BabelProgr
82
95
  }
83
96
  }
84
97
 
98
+ // Callee substituted for dynamic `import(...)` calls. Functions handed to puppeteer
99
+ // (`tab.evaluate`, `page.evaluate`, `waitForFunction`, `$$eval`, ...) are serialized with
100
+ // `Function.prototype.toString()` and re-evaluated inside the browser page, where the
101
+ // worker-injected `__omp_import__` global does not exist. The swap therefore guards on the
102
+ // helper's presence and falls back to native dynamic import, so serialized code keeps
103
+ // working in foreign realms while in-worker code still resolves against the session cwd.
104
+ const DYNAMIC_IMPORT_CALLEE = '(typeof __omp_import__ === "function" ? __omp_import__ : (s, o) => import(s, o))';
105
+
85
106
  function buildOmpImportCall(sourceLiteral: string, optionsLiteral: string | undefined): string {
86
- // Route every static import through the worker-injected `__prometheus_import__` helper so the
107
+ // Route every static import through the worker-injected `__omp_import__` helper so the
87
108
  // specifier resolves against the session cwd (and `with`-attribute imports keep working).
88
- return optionsLiteral
89
- ? `__prometheus_import__(${sourceLiteral}, ${optionsLiteral})`
90
- : `__prometheus_import__(${sourceLiteral})`;
109
+ return optionsLiteral ? `__omp_import__(${sourceLiteral}, ${optionsLiteral})` : `__omp_import__(${sourceLiteral})`;
91
110
  }
92
111
 
93
112
  // Walks every node in `root`, depth-first, invoking `visit` on each one. Skips Babel's
@@ -119,7 +138,7 @@ function buildOptionsLiteral(node: BabelImportDeclaration): string | undefined {
119
138
  const key = attr.key.type === "Identifier" ? attr.key.name : JSON.stringify(attr.key.value);
120
139
  return `${key}: ${JSON.stringify(attr.value.value)}`;
121
140
  });
122
- // Native dynamic import takes options as `{ with: { ... } }`. `__prometheus_import__` forwards the
141
+ // Native dynamic import takes options as `{ with: { ... } }`. `__omp_import__` forwards the
123
142
  // options bag verbatim, so we wrap the attribute pairs accordingly.
124
143
  return `{ with: { ${pairs.join(", ")} } }`;
125
144
  }
@@ -156,10 +175,10 @@ function rewriteImportNode(node: BabelImportDeclaration): string {
156
175
  return `await ${importCall};`;
157
176
  }
158
177
 
159
- export function rewriteImports(code: string): string {
178
+ export async function rewriteImports(code: string): Promise<string> {
160
179
  if (!code.includes("import")) return code;
161
180
 
162
- const ast = parseProgram(code);
181
+ const ast = await parseProgram(code);
163
182
  if (!ast) {
164
183
  // Parser bailed entirely — let the VM surface the real syntax error.
165
184
  return code;
@@ -168,21 +187,21 @@ export function rewriteImports(code: string): string {
168
187
  type Edit = { start: number; end: number; text: string };
169
188
  const edits: Edit[] = [];
170
189
 
171
- // Top-level static `import` declarations become `await __prometheus_import__(...)` calls.
190
+ // Top-level static `import` declarations become `await __omp_import__(...)` calls.
172
191
  for (const node of ast.program.body) {
173
192
  if (node.type !== "ImportDeclaration") continue;
174
193
  const decl = node as unknown as BabelImportDeclaration;
175
194
  edits.push({ start: decl.start, end: decl.end, text: rewriteImportNode(decl) });
176
195
  }
177
196
 
178
- // Dynamic `import(...)` expressions (anywhere) get their callee swapped for `__prometheus_import__`
197
+ // Dynamic `import(...)` expressions (anywhere) get their callee swapped for `__omp_import__`
179
198
  // so the specifier resolves against the session cwd instead of the worker module's URL.
180
199
  walkNodes(ast, node => {
181
200
  if (node.type !== "CallExpression") return;
182
201
  const call = node as unknown as { callee?: { type?: string; start?: number; end?: number } };
183
202
  const callee = call.callee;
184
203
  if (callee?.type !== "Import" || typeof callee.start !== "number" || typeof callee.end !== "number") return;
185
- edits.push({ start: callee.start, end: callee.end, text: "__prometheus_import__" });
204
+ edits.push({ start: callee.start, end: callee.end, text: DYNAMIC_IMPORT_CALLEE });
186
205
  });
187
206
 
188
207
  if (edits.length === 0) return code;
@@ -195,8 +214,8 @@ export function rewriteImports(code: string): string {
195
214
  }
196
215
  return result;
197
216
  }
198
- export function collectModuleSourceSpecifiers(code: string): string[] {
199
- const ast = parseProgram(code);
217
+ export async function collectModuleSourceSpecifiers(code: string): Promise<string[]> {
218
+ const ast = await parseProgram(code);
200
219
  if (!ast) return [];
201
220
  const sources: string[] = [];
202
221
  for (const node of ast.program.body) {
@@ -212,8 +231,11 @@ export function collectModuleSourceSpecifiers(code: string): string[] {
212
231
  return sources;
213
232
  }
214
233
 
215
- export function rewriteModuleSourceSpecifiers(code: string, replacer: (source: string) => string): string {
216
- const ast = parseProgram(code);
234
+ export async function rewriteModuleSourceSpecifiers(
235
+ code: string,
236
+ replacer: (source: string) => string,
237
+ ): Promise<string> {
238
+ const ast = await parseProgram(code);
217
239
  if (!ast) return code;
218
240
 
219
241
  type Edit = { start: number; end: number; text: string };
@@ -243,9 +265,9 @@ export function rewriteModuleSourceSpecifiers(code: string, replacer: (source: s
243
265
  return result;
244
266
  }
245
267
 
246
- export function rewriteDynamicImports(code: string, callee = "__prometheus_import__"): string {
268
+ export async function rewriteDynamicImports(code: string, callee = "__omp_import__"): Promise<string> {
247
269
  if (!code.includes("import")) return code;
248
- const ast = parseProgram(code);
270
+ const ast = await parseProgram(code);
249
271
  if (!ast) return code;
250
272
 
251
273
  type Edit = { start: number; end: number; text: string };
@@ -333,10 +355,10 @@ function appendGlobalBindingPublish(source: string, names: readonly string[]): s
333
355
  * Nested declarations (inside functions, blocks, classes) are left alone \u2014 they're
334
356
  * scoped to their enclosing function/block regardless of `var` vs `let`/`const`.
335
357
  */
336
- function demoteTopLevelLexicals(code: string, options: { publishGlobals?: boolean } = {}): string {
358
+ async function demoteTopLevelLexicals(code: string, options: { publishGlobals?: boolean } = {}): Promise<string> {
337
359
  if (!/\b(?:const|let|class)\b/.test(code)) return code;
338
360
 
339
- const ast = parseProgram(code);
361
+ const ast = await parseProgram(code);
340
362
  if (!ast) {
341
363
  return code;
342
364
  }
@@ -375,8 +397,8 @@ function demoteTopLevelLexicals(code: string, options: { publishGlobals?: boolea
375
397
  return result;
376
398
  }
377
399
 
378
- function returnFinalExpression(code: string): { source: string; returned: boolean } {
379
- const ast = parseProgram(code);
400
+ async function returnFinalExpression(code: string): Promise<{ source: string; returned: boolean }> {
401
+ const ast = await parseProgram(code);
380
402
  const body = ast?.program.body;
381
403
  if (!body) return { source: code, returned: false };
382
404
  let lastIndex = body.length - 1;
@@ -389,18 +411,18 @@ function returnFinalExpression(code: string): { source: string; returned: boolea
389
411
  const suffix = code.slice(expression.end);
390
412
  const semicolonMatch = statement.match(/;\s*$/);
391
413
  const trimmedStatement = semicolonMatch ? statement.slice(0, semicolonMatch.index) : statement;
392
- return { source: `${prefix}__prometheus_set_final_expr__((${trimmedStatement}));${suffix}`, returned: true };
414
+ return { source: `${prefix}__omp_set_final_expr__((${trimmedStatement}));${suffix}`, returned: true };
393
415
  }
394
416
  if (last?.type === "ReturnStatement") {
395
417
  // Top-level `return value;` is otherwise swallowed: it forces the cell into an async IIFE
396
- // wrapper that discards the returned value. Rewrite into `__prometheus_set_final_expr__((expr))`
418
+ // wrapper that discards the returned value. Rewrite into `__omp_set_final_expr__((expr))`
397
419
  // so the runtime can surface the value to the caller just like a trailing expression.
398
420
  const ret = last as unknown as { start: number; end: number; argument?: { start: number; end: number } | null };
399
421
  if (!ret.argument) return { source: code, returned: false };
400
422
  const prefix = code.slice(0, ret.start);
401
423
  const suffix = code.slice(ret.end);
402
424
  const expr = code.slice(ret.argument.start, ret.argument.end);
403
- return { source: `${prefix}__prometheus_set_final_expr__((${expr}));${suffix}`, returned: true };
425
+ return { source: `${prefix}__omp_set_final_expr__((${expr}));${suffix}`, returned: true };
404
426
  }
405
427
  return { source: code, returned: false };
406
428
  }
@@ -440,8 +462,8 @@ function containsAsyncWrapperSyntax(value: unknown): boolean {
440
462
  return false;
441
463
  }
442
464
 
443
- function requiresAsyncWrapper(code: string): boolean {
444
- const ast = parseProgram(code);
465
+ async function requiresAsyncWrapper(code: string): Promise<boolean> {
466
+ const ast = await parseProgram(code);
445
467
  if (!ast) return false;
446
468
  for (const node of ast.program.body) {
447
469
  if (containsAsyncWrapperSyntax(node)) return true;
@@ -488,13 +510,15 @@ export function stripTypeScriptSyntax(
488
510
  const LOOKS_LIKE_TS =
489
511
  /(?:\bimport\s+type\b|\bexport\s+type\b|\b(?:import|export)\s*\{[^}\n]*\btype\s+\w|\binterface\s+\w|\btype\s+\w+\s*=|\b(?:as|satisfies)\s+(?:[A-Z]|\bconst\b)|:\s*(?:string|number|boolean|any|unknown|void|never|object|[A-Z]\w*)\b|<\s*[A-Z]\w*\s*[,>])/;
490
512
 
491
- export function wrapCode(code: string): { source: string; asyncWrapped: boolean; finalExpressionReturned: boolean } {
492
- const finalExpression = returnFinalExpression(code);
513
+ export async function wrapCode(
514
+ code: string,
515
+ ): Promise<{ source: string; asyncWrapped: boolean; finalExpressionReturned: boolean }> {
516
+ const finalExpression = await returnFinalExpression(code);
493
517
  const stripped = stripTypeScript(finalExpression.source);
494
- const importsRewritten = rewriteImports(stripped);
495
- const needsAsyncWrapper = requiresAsyncWrapper(importsRewritten);
518
+ const importsRewritten = await rewriteImports(stripped);
519
+ const needsAsyncWrapper = await requiresAsyncWrapper(importsRewritten);
496
520
  const rewritten = {
497
- source: demoteTopLevelLexicals(importsRewritten, { publishGlobals: needsAsyncWrapper }),
521
+ source: await demoteTopLevelLexicals(importsRewritten, { publishGlobals: needsAsyncWrapper }),
498
522
  returned: finalExpression.returned,
499
523
  };
500
524
  if (!needsAsyncWrapper) {
@@ -37,11 +37,16 @@ export interface RuntimeOptions {
37
37
  initialCwd: string;
38
38
  sessionId: string;
39
39
  /**
40
- * Extra globals installed alongside `__prometheus_helpers__` / prelude. Use for stable, lifetime-
40
+ * Extra globals installed alongside `__omp_helpers__` / prelude. Use for stable, lifetime-
41
41
  * of-the-worker bindings (e.g. browser's `page`, `browser`). Per-run scope should be set
42
42
  * via `setRunScope()` instead.
43
43
  */
44
44
  extraGlobals?: Record<string, unknown>;
45
+ /**
46
+ * On-disk roots the helpers substitute for internal-URL schemes (e.g.
47
+ * `{ local: "/…/artifacts/local" }`). Stable for the worker's lifetime.
48
+ */
49
+ localRoots?: Record<string, string>;
45
50
  }
46
51
 
47
52
  // Strict base64: characters from the standard alphabet plus optional `=` padding, and a
@@ -126,15 +131,18 @@ export class JsRuntime {
126
131
  #env: Map<string, string>;
127
132
  #als = new AsyncLocalStorage<RunContext>();
128
133
  #moduleLoader: LocalModuleLoader;
134
+ #localRoots: Record<string, string>;
129
135
 
130
136
  constructor(opts: RuntimeOptions) {
131
137
  this.#cwd = opts.initialCwd;
132
138
  this.sessionId = opts.sessionId;
133
139
  this.#env = new Map();
134
140
  this.#moduleLoader = new LocalModuleLoader(this.sessionId);
141
+ this.#localRoots = opts.localRoots ?? {};
135
142
  this.helpers = createHelpers({
136
143
  cwd: () => this.#activeCwd(),
137
144
  env: this.#env,
145
+ localRoots: () => this.#localRoots,
138
146
  emitStatus: event => this.#activeHooks("emitStatus")?.onDisplay({ type: "status", event }),
139
147
  });
140
148
  this.#install(opts.extraGlobals);
@@ -146,7 +154,7 @@ export class JsRuntime {
146
154
 
147
155
  setCwd(cwd: string): void {
148
156
  this.#cwd = cwd;
149
- const session = (globalThis as { __prometheus_session__?: { cwd?: string } }).__prometheus_session__;
157
+ const session = (globalThis as { __omp_session__?: { cwd?: string } }).__omp_session__;
150
158
  if (session) session.cwd = cwd;
151
159
  }
152
160
 
@@ -173,7 +181,7 @@ export class JsRuntime {
173
181
  finalExpressionValue: undefined,
174
182
  };
175
183
  return await this.#als.run(context, async () => {
176
- const wrapped = wrapCode(code);
184
+ const wrapped = await wrapCode(code);
177
185
  const value = indirectEval(wrapped.source, filename);
178
186
  if (wrapped.finalExpressionReturned) {
179
187
  const awaited = await awaitMaybePromise(value);
@@ -267,38 +275,38 @@ export class JsRuntime {
267
275
 
268
276
  #install(extraGlobals: Record<string, unknown> | undefined): void {
269
277
  const injected: Record<string, unknown> = {
270
- __prometheus_session__: { cwd: this.#cwd, sessionId: this.sessionId },
271
- __prometheus_helpers__: this.helpers,
272
- __prometheus_call_tool__: async (name: string, args: unknown) => {
278
+ __omp_session__: { cwd: this.#cwd, sessionId: this.sessionId },
279
+ __omp_helpers__: this.helpers,
280
+ __omp_call_tool__: async (name: string, args: unknown) => {
273
281
  const hooks = this.#activeHooks("tool");
274
282
  if (!hooks) return undefined;
275
283
  return await hooks.callTool(name, args);
276
284
  },
277
- __prometheus_import__: async (source: string, options?: ImportCallOptions) => {
285
+ __omp_import__: async (source: string, options?: ImportCallOptions) => {
278
286
  const resolved = await this.#moduleLoader.resolveForRun(this.#activeCwd(), source);
279
287
  if (resolved.mode === "local") return resolved.value;
280
288
  const target = resolved.target;
281
289
  return options !== undefined ? await import(target, options) : await import(target);
282
290
  },
283
- __prometheus_import_from__: async (moduleUrl: string, source: string, options?: ImportCallOptions) => {
291
+ __omp_import_from__: async (moduleUrl: string, source: string, options?: ImportCallOptions) => {
284
292
  const resolved = await this.#moduleLoader.resolveForModule(moduleUrl, source, this.#activeCwd());
285
293
  if (resolved.mode === "local") return resolved.value;
286
294
  const target = resolved.target;
287
295
  return options !== undefined ? await import(target, options) : await import(target);
288
296
  },
289
- __prometheus_get_require__: (moduleUrl?: string) => this.#activeRequire(moduleUrl),
290
- __prometheus_get_filename__: (moduleUrl?: string) => this.#moduleFilename(moduleUrl),
291
- __prometheus_get_dirname__: (moduleUrl?: string) => this.#moduleDirname(moduleUrl),
292
- __prometheus_emit_status__: (op: string, data: Record<string, unknown> = {}) => {
297
+ __omp_get_require__: (moduleUrl?: string) => this.#activeRequire(moduleUrl),
298
+ __omp_get_filename__: (moduleUrl?: string) => this.#moduleFilename(moduleUrl),
299
+ __omp_get_dirname__: (moduleUrl?: string) => this.#moduleDirname(moduleUrl),
300
+ __omp_emit_status__: (op: string, data: Record<string, unknown> = {}) => {
293
301
  const event: JsStatusEvent = { op, ...data };
294
302
  this.#activeHooks("emitStatus")?.onDisplay({ type: "status", event });
295
303
  },
296
- __prometheus_log__: (level: string, ...args: unknown[]) => {
304
+ __omp_log__: (level: string, ...args: unknown[]) => {
297
305
  const prefix = level === "error" ? "[error] " : level === "warn" ? "[warn] " : "";
298
306
  const text = `${prefix}${formatConsoleArgs(args)}`;
299
307
  this.#activeHooks("log")?.onText(text.endsWith("\n") ? text : `${text}\n`);
300
308
  },
301
- __prometheus_table__: (...args: unknown[]) => {
309
+ __omp_table__: (...args: unknown[]) => {
302
310
  const hooks = this.#activeHooks("table");
303
311
  if (!hooks) return;
304
312
  let buffer = "";
@@ -312,8 +320,8 @@ export class JsRuntime {
312
320
  (tableConsole.table as (...a: unknown[]) => void)(...args);
313
321
  hooks.onText(buffer.endsWith("\n") ? buffer : `${buffer}\n`);
314
322
  },
315
- __prometheus_display__: (value: unknown) => this.displayValue(value),
316
- __prometheus_set_final_expr__: (value: unknown) => {
323
+ __omp_display__: (value: unknown) => this.displayValue(value),
324
+ __omp_set_final_expr__: (value: unknown) => {
317
325
  const context = this.#als.getStore();
318
326
  if (!context) {
319
327
  logger.warn("js runtime final expression set outside an active run");
@@ -3,6 +3,7 @@ import type { ToolSession } from "../../tools";
3
3
  import { ToolError } from "../../tools/tool-errors";
4
4
  import { EVAL_AGENT_BRIDGE_NAME, runEvalAgent } from "../agent-bridge";
5
5
  import { EVAL_BUDGET_BRIDGE_NAME, type EvalBudgetResult, runEvalBudget } from "../budget-bridge";
6
+ import { EVAL_COMPLETION_BRIDGE_NAME, runEvalCompletion } from "../completion-bridge";
6
7
  import { EVAL_CONCURRENCY_BRIDGE_NAME, type EvalConcurrencyResult, runEvalConcurrency } from "../concurrency-bridge";
7
8
  import { EVAL_LLM_BRIDGE_NAME, runEvalLlm } from "../llm-bridge";
8
9
  import type { JsStatusEvent } from "./shared/types";
@@ -107,6 +108,9 @@ function summarizeToolResult(
107
108
  }
108
109
 
109
110
  export async function callSessionTool(name: string, args: unknown, options: ToolBridgeOptions): Promise<ToolValue> {
111
+ if (name === EVAL_COMPLETION_BRIDGE_NAME) {
112
+ return await runEvalCompletion(args, options);
113
+ }
110
114
  if (name === EVAL_LLM_BRIDGE_NAME) {
111
115
  return await runEvalLlm(args, options);
112
116
  }
@@ -71,6 +71,7 @@ export class WorkerCore {
71
71
  this.#runtime = new JsRuntime({
72
72
  initialCwd: snapshot.cwd,
73
73
  sessionId: snapshot.sessionId,
74
+ localRoots: snapshot.localRoots,
74
75
  });
75
76
  return this.#runtime;
76
77
  }