@astralyn/pi 1.0.5 → 1.2.0

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 (436) hide show
  1. package/CHANGELOG.md +79 -0
  2. package/dist/bundle/chunks/anthropic-messages-NVP5OPIM.js +6 -0
  3. package/dist/bundle/chunks/anthropic.js +1 -1
  4. package/dist/bundle/chunks/{azure-openai-responses-LDW4FGAQ.js → azure-openai-responses-IBTOZ5MH.js} +1 -1
  5. package/dist/bundle/chunks/bedrock-converse-stream.js +2 -2
  6. package/dist/bundle/chunks/chunk-4XZYHGVN.js +11 -0
  7. package/dist/bundle/chunks/{chunk-GIG5IHES.js → chunk-5KJH3GGH.js} +1 -1
  8. package/dist/bundle/chunks/chunk-6VYRLG5F.js +2 -0
  9. package/dist/bundle/chunks/{chunk-UCXU7KLO.js → chunk-7HJ6CHUB.js} +1 -1
  10. package/dist/bundle/chunks/chunk-7UBIBLPN.js +2 -0
  11. package/dist/bundle/chunks/{chunk-IE3Z7ESB.js → chunk-A5HU4TE6.js} +418 -362
  12. package/dist/bundle/chunks/{chunk-HDHRZ7GT.js → chunk-B2UOWO4A.js} +1 -1
  13. package/dist/bundle/chunks/chunk-J75WV3FL.js +2 -0
  14. package/dist/bundle/chunks/{chunk-A6ALEEY5.js → chunk-LHSPN2IO.js} +1 -1
  15. package/dist/bundle/chunks/chunk-Q74S7ILH.js +2 -0
  16. package/dist/bundle/chunks/chunk-QDDSFJ35.js +2 -0
  17. package/dist/bundle/chunks/{chunk-IFELM7MW.js → chunk-UQECUCUH.js} +1 -1
  18. package/dist/bundle/chunks/cloudflare-workers-ai-system-one-HGOVFZDC.js +2 -0
  19. package/dist/bundle/chunks/codemode-worker.js +18 -10
  20. package/dist/bundle/chunks/github-copilot.js +1 -1
  21. package/dist/bundle/chunks/{google-generative-ai-S5A5IBU4.js → google-generative-ai-M44TSMAN.js} +1 -1
  22. package/dist/bundle/chunks/{google-vertex-UBRQFDB4.js → google-vertex-3C4OWLFX.js} +1 -1
  23. package/dist/bundle/chunks/image-resize-worker.js +1 -1
  24. package/dist/bundle/chunks/{llama-cpp-classify-R7DQLTQN.js → llama-cpp-classify-H3IZDR5O.js} +2 -2
  25. package/dist/bundle/chunks/mistral-conversations-I5PL4VCZ.js +5 -0
  26. package/dist/bundle/chunks/openai-chatgpt.js +1 -1
  27. package/dist/bundle/chunks/openai-codex-responses-O5EUDL54.js +10 -0
  28. package/dist/bundle/chunks/openai-codex.js +1 -1
  29. package/dist/bundle/chunks/{openai-completions-H4VMO7AU.js → openai-completions-X3SSG5BQ.js} +1 -1
  30. package/dist/bundle/chunks/openai-decisions-TVCDIPZX.js +5 -0
  31. package/dist/bundle/chunks/{openai-responses-G4PGNM2H.js → openai-responses-NYPNKVDV.js} +1 -1
  32. package/dist/bundle/chunks/{openrouter-images-YP3YVB54.js → openrouter-images-TDLJV5N4.js} +1 -1
  33. package/dist/bundle/chunks/{pi-messages-HZZ7GEEW.js → pi-messages-ZXNERWJG.js} +1 -1
  34. package/dist/bundle/chunks/typesafe-system-one-LWPJYTJP.js +2 -0
  35. package/dist/bundle/chunks/{virtual-modules-46MSJGKO.js → virtual-modules-OZTPKGU7.js} +1 -1
  36. package/dist/bundle/cli.js +1 -1
  37. package/dist/bundle/index.js +1 -1
  38. package/dist/bundle/rpc-entry.js +1 -1
  39. package/dist/cli/args.d.ts +1 -1
  40. package/dist/cli/args.d.ts.map +1 -1
  41. package/dist/cli/args.js +13 -1
  42. package/dist/cli/args.js.map +1 -1
  43. package/dist/core/agent-session.d.ts +26 -7
  44. package/dist/core/agent-session.d.ts.map +1 -1
  45. package/dist/core/agent-session.js +190 -183
  46. package/dist/core/agent-session.js.map +1 -1
  47. package/dist/core/auth-storage.d.ts.map +1 -1
  48. package/dist/core/auth-storage.js +20 -13
  49. package/dist/core/auth-storage.js.map +1 -1
  50. package/dist/core/bash-executor.d.ts.map +1 -1
  51. package/dist/core/bash-executor.js +40 -45
  52. package/dist/core/bash-executor.js.map +1 -1
  53. package/dist/core/bug-report.d.ts +9 -1
  54. package/dist/core/bug-report.d.ts.map +1 -1
  55. package/dist/core/compaction/utils.d.ts +6 -0
  56. package/dist/core/compaction/utils.d.ts.map +1 -1
  57. package/dist/core/compaction/utils.js +7 -8
  58. package/dist/core/compaction/utils.js.map +1 -1
  59. package/dist/core/context-snapshot.d.ts +4 -1
  60. package/dist/core/context-snapshot.d.ts.map +1 -1
  61. package/dist/core/context-snapshot.js +45 -0
  62. package/dist/core/context-snapshot.js.map +1 -1
  63. package/dist/core/export-html/tool-renderer.d.ts.map +1 -1
  64. package/dist/core/export-html/tool-renderer.js +2 -0
  65. package/dist/core/export-html/tool-renderer.js.map +1 -1
  66. package/dist/core/extensions/index.d.ts +1 -1
  67. package/dist/core/extensions/index.d.ts.map +1 -1
  68. package/dist/core/extensions/index.js.map +1 -1
  69. package/dist/core/extensions/runner.d.ts +4 -2
  70. package/dist/core/extensions/runner.d.ts.map +1 -1
  71. package/dist/core/extensions/runner.js +2 -3
  72. package/dist/core/extensions/runner.js.map +1 -1
  73. package/dist/core/extensions/types.d.ts +42 -7
  74. package/dist/core/extensions/types.d.ts.map +1 -1
  75. package/dist/core/extensions/types.js.map +1 -1
  76. package/dist/core/key-id-schema.d.ts +6 -0
  77. package/dist/core/key-id-schema.d.ts.map +1 -0
  78. package/dist/core/key-id-schema.js +16 -0
  79. package/dist/core/key-id-schema.js.map +1 -0
  80. package/dist/core/keybinding-registry.d.ts +4 -3
  81. package/dist/core/keybinding-registry.d.ts.map +1 -1
  82. package/dist/core/keybinding-registry.js +4 -3
  83. package/dist/core/keybinding-registry.js.map +1 -1
  84. package/dist/core/keybindings-schema.d.ts +4 -0
  85. package/dist/core/keybindings-schema.d.ts.map +1 -0
  86. package/dist/core/keybindings-schema.js +16 -0
  87. package/dist/core/keybindings-schema.js.map +1 -0
  88. package/dist/core/keybindings.d.ts +258 -81
  89. package/dist/core/keybindings.d.ts.map +1 -1
  90. package/dist/core/keybindings.js +27 -24
  91. package/dist/core/keybindings.js.map +1 -1
  92. package/dist/core/model-config.d.ts +713 -180
  93. package/dist/core/model-config.d.ts.map +1 -1
  94. package/dist/core/model-config.js +18 -179
  95. package/dist/core/model-config.js.map +1 -1
  96. package/dist/core/model-runtime.d.ts.map +1 -1
  97. package/dist/core/model-runtime.js +13 -7
  98. package/dist/core/model-runtime.js.map +1 -1
  99. package/dist/core/nested-tool-calls.d.ts +1 -0
  100. package/dist/core/nested-tool-calls.d.ts.map +1 -1
  101. package/dist/core/nested-tool-calls.js +1 -0
  102. package/dist/core/nested-tool-calls.js.map +1 -1
  103. package/dist/core/package-manager.d.ts.map +1 -1
  104. package/dist/core/package-manager.js +3 -3
  105. package/dist/core/package-manager.js.map +1 -1
  106. package/dist/core/project-trust.d.ts.map +1 -1
  107. package/dist/core/project-trust.js +2 -1
  108. package/dist/core/project-trust.js.map +1 -1
  109. package/dist/core/remote-catalog-provider.d.ts +12 -1
  110. package/dist/core/remote-catalog-provider.d.ts.map +1 -1
  111. package/dist/core/remote-catalog-provider.js +82 -24
  112. package/dist/core/remote-catalog-provider.js.map +1 -1
  113. package/dist/core/resource-loader.d.ts.map +1 -1
  114. package/dist/core/resource-loader.js +7 -2
  115. package/dist/core/resource-loader.js.map +1 -1
  116. package/dist/core/sdk.d.ts +4 -0
  117. package/dist/core/sdk.d.ts.map +1 -1
  118. package/dist/core/sdk.js +17 -5
  119. package/dist/core/sdk.js.map +1 -1
  120. package/dist/core/settings-defaults.d.ts +65 -0
  121. package/dist/core/settings-defaults.d.ts.map +1 -0
  122. package/dist/core/settings-defaults.js +66 -0
  123. package/dist/core/settings-defaults.js.map +1 -0
  124. package/dist/core/settings-manager.d.ts +15 -147
  125. package/dist/core/settings-manager.d.ts.map +1 -1
  126. package/dist/core/settings-manager.js +85 -57
  127. package/dist/core/settings-manager.js.map +1 -1
  128. package/dist/core/settings-schema.d.ts +231 -0
  129. package/dist/core/settings-schema.d.ts.map +1 -0
  130. package/dist/core/settings-schema.js +294 -0
  131. package/dist/core/settings-schema.js.map +1 -0
  132. package/dist/core/tasks/session.d.ts +9 -0
  133. package/dist/core/tasks/session.d.ts.map +1 -1
  134. package/dist/core/tasks/session.js +21 -0
  135. package/dist/core/tasks/session.js.map +1 -1
  136. package/dist/core/tools/render-utils.d.ts +18 -0
  137. package/dist/core/tools/render-utils.d.ts.map +1 -1
  138. package/dist/core/tools/render-utils.js +46 -0
  139. package/dist/core/tools/render-utils.js.map +1 -1
  140. package/dist/core/tools/renderers/bash.d.ts.map +1 -1
  141. package/dist/core/tools/renderers/bash.js +21 -45
  142. package/dist/core/tools/renderers/bash.js.map +1 -1
  143. package/dist/core/tools/renderers/edit.js +1 -1
  144. package/dist/core/tools/renderers/edit.js.map +1 -1
  145. package/dist/extensions/btw/keybindings.d.ts +2 -2
  146. package/dist/extensions/btw/keybindings.d.ts.map +1 -1
  147. package/dist/extensions/btw/keybindings.js.map +1 -1
  148. package/dist/extensions/codemode/execute.d.ts.map +1 -1
  149. package/dist/extensions/codemode/execute.js +115 -40
  150. package/dist/extensions/codemode/execute.js.map +1 -1
  151. package/dist/extensions/codemode/index.d.ts.map +1 -1
  152. package/dist/extensions/codemode/index.js +3 -7
  153. package/dist/extensions/codemode/index.js.map +1 -1
  154. package/dist/extensions/codemode/renderer.d.ts +2 -2
  155. package/dist/extensions/codemode/renderer.d.ts.map +1 -1
  156. package/dist/extensions/codemode/renderer.js +9 -3
  157. package/dist/extensions/codemode/renderer.js.map +1 -1
  158. package/dist/extensions/codemode/tool.d.ts +6 -12
  159. package/dist/extensions/codemode/tool.d.ts.map +1 -1
  160. package/dist/extensions/codemode/tool.js +46 -34
  161. package/dist/extensions/codemode/tool.js.map +1 -1
  162. package/dist/extensions/index.js +2 -2
  163. package/dist/extensions/index.js.map +1 -1
  164. package/dist/extensions/list-keybindings.d.ts +2 -2
  165. package/dist/extensions/list-keybindings.d.ts.map +1 -1
  166. package/dist/extensions/list-keybindings.js.map +1 -1
  167. package/dist/extensions/llama/provider.d.ts.map +1 -1
  168. package/dist/extensions/llama/provider.js +34 -11
  169. package/dist/extensions/llama/provider.js.map +1 -1
  170. package/dist/extensions/mcp/cli.js +22 -31
  171. package/dist/extensions/mcp/cli.js.map +1 -1
  172. package/dist/extensions/mcp/index.d.ts.map +1 -1
  173. package/dist/extensions/mcp/index.js +187 -95
  174. package/dist/extensions/mcp/index.js.map +1 -1
  175. package/dist/extensions/mcp/oauth.d.ts +5 -3
  176. package/dist/extensions/mcp/oauth.d.ts.map +1 -1
  177. package/dist/extensions/mcp/oauth.js +36 -10
  178. package/dist/extensions/mcp/oauth.js.map +1 -1
  179. package/dist/extensions/mcp/resources.d.ts +0 -6
  180. package/dist/extensions/mcp/resources.d.ts.map +1 -1
  181. package/dist/extensions/mcp/resources.js +1 -1
  182. package/dist/extensions/mcp/resources.js.map +1 -1
  183. package/dist/extensions/mcp/runtime.d.ts +3 -6
  184. package/dist/extensions/mcp/runtime.d.ts.map +1 -1
  185. package/dist/extensions/mcp/runtime.js +4 -39
  186. package/dist/extensions/mcp/runtime.js.map +1 -1
  187. package/dist/extensions/mcp/tools.d.ts +2 -3
  188. package/dist/extensions/mcp/tools.d.ts.map +1 -1
  189. package/dist/extensions/mcp/tools.js +62 -6
  190. package/dist/extensions/mcp/tools.js.map +1 -1
  191. package/dist/extensions/mcp/ui.d.ts +3 -3
  192. package/dist/extensions/mcp/ui.d.ts.map +1 -1
  193. package/dist/extensions/mcp/ui.js +10 -2
  194. package/dist/extensions/mcp/ui.js.map +1 -1
  195. package/dist/extensions/provider/keybindings.d.ts +2 -2
  196. package/dist/extensions/provider/keybindings.d.ts.map +1 -1
  197. package/dist/extensions/provider/keybindings.js.map +1 -1
  198. package/dist/extensions/search/code-search.d.ts +27 -0
  199. package/dist/extensions/search/code-search.d.ts.map +1 -0
  200. package/dist/extensions/search/code-search.js +120 -0
  201. package/dist/extensions/search/code-search.js.map +1 -0
  202. package/dist/extensions/search/command.d.ts +5 -0
  203. package/dist/extensions/search/command.d.ts.map +1 -0
  204. package/dist/extensions/search/command.js +69 -0
  205. package/dist/extensions/search/command.js.map +1 -0
  206. package/dist/extensions/search/credential.d.ts +25 -0
  207. package/dist/extensions/search/credential.d.ts.map +1 -0
  208. package/dist/extensions/search/credential.js +117 -0
  209. package/dist/extensions/search/credential.js.map +1 -0
  210. package/dist/extensions/search/devin.d.ts +34 -0
  211. package/dist/extensions/search/devin.d.ts.map +1 -0
  212. package/dist/extensions/search/devin.js +210 -0
  213. package/dist/extensions/search/devin.js.map +1 -0
  214. package/dist/extensions/search/index.d.ts +5 -0
  215. package/dist/extensions/search/index.d.ts.map +1 -0
  216. package/dist/extensions/search/index.js +113 -0
  217. package/dist/extensions/search/index.js.map +1 -0
  218. package/dist/extensions/search/panel.d.ts +53 -0
  219. package/dist/extensions/search/panel.d.ts.map +1 -0
  220. package/dist/extensions/search/panel.js +157 -0
  221. package/dist/extensions/search/panel.js.map +1 -0
  222. package/dist/extensions/search/prompt.d.ts +14 -0
  223. package/dist/extensions/search/prompt.d.ts.map +1 -0
  224. package/dist/extensions/search/prompt.js +221 -0
  225. package/dist/extensions/search/prompt.js.map +1 -0
  226. package/dist/extensions/search/render.d.ts +28 -0
  227. package/dist/extensions/search/render.d.ts.map +1 -0
  228. package/dist/extensions/search/render.js +86 -0
  229. package/dist/extensions/search/render.js.map +1 -0
  230. package/dist/extensions/search/workspace.d.ts +39 -0
  231. package/dist/extensions/search/workspace.d.ts.map +1 -0
  232. package/dist/extensions/search/workspace.js +363 -0
  233. package/dist/extensions/search/workspace.js.map +1 -0
  234. package/dist/extensions/tool-search/index.d.ts.map +1 -1
  235. package/dist/extensions/tool-search/index.js +1 -6
  236. package/dist/extensions/tool-search/index.js.map +1 -1
  237. package/dist/extensions/tool-search/tool.d.ts +0 -2
  238. package/dist/extensions/tool-search/tool.d.ts.map +1 -1
  239. package/dist/extensions/tool-search/tool.js +2 -4
  240. package/dist/extensions/tool-search/tool.js.map +1 -1
  241. package/dist/index.d.ts +1 -1
  242. package/dist/index.d.ts.map +1 -1
  243. package/dist/index.js.map +1 -1
  244. package/dist/main.js +3 -3
  245. package/dist/main.js.map +1 -1
  246. package/dist/modes/interactive/components/bash-execution.d.ts +5 -1
  247. package/dist/modes/interactive/components/bash-execution.d.ts.map +1 -1
  248. package/dist/modes/interactive/components/bash-execution.js +14 -14
  249. package/dist/modes/interactive/components/bash-execution.js.map +1 -1
  250. package/dist/modes/interactive/components/branch-summary-message.d.ts +2 -1
  251. package/dist/modes/interactive/components/branch-summary-message.d.ts.map +1 -1
  252. package/dist/modes/interactive/components/branch-summary-message.js +5 -2
  253. package/dist/modes/interactive/components/branch-summary-message.js.map +1 -1
  254. package/dist/modes/interactive/components/compaction-summary-message.d.ts +2 -1
  255. package/dist/modes/interactive/components/compaction-summary-message.d.ts.map +1 -1
  256. package/dist/modes/interactive/components/compaction-summary-message.js +5 -2
  257. package/dist/modes/interactive/components/compaction-summary-message.js.map +1 -1
  258. package/dist/modes/interactive/components/custom-entry.d.ts +3 -1
  259. package/dist/modes/interactive/components/custom-entry.d.ts.map +1 -1
  260. package/dist/modes/interactive/components/custom-entry.js +7 -2
  261. package/dist/modes/interactive/components/custom-entry.js.map +1 -1
  262. package/dist/modes/interactive/components/custom-message.d.ts.map +1 -1
  263. package/dist/modes/interactive/components/custom-message.js +1 -0
  264. package/dist/modes/interactive/components/custom-message.js.map +1 -1
  265. package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
  266. package/dist/modes/interactive/components/settings-selector.js +4 -3
  267. package/dist/modes/interactive/components/settings-selector.js.map +1 -1
  268. package/dist/modes/interactive/components/skill-invocation-message.d.ts +2 -1
  269. package/dist/modes/interactive/components/skill-invocation-message.d.ts.map +1 -1
  270. package/dist/modes/interactive/components/skill-invocation-message.js +5 -2
  271. package/dist/modes/interactive/components/skill-invocation-message.js.map +1 -1
  272. package/dist/modes/interactive/components/status-indicator.d.ts +1 -1
  273. package/dist/modes/interactive/components/status-indicator.d.ts.map +1 -1
  274. package/dist/modes/interactive/components/status-indicator.js +2 -2
  275. package/dist/modes/interactive/components/status-indicator.js.map +1 -1
  276. package/dist/modes/interactive/interactive-mode.d.ts +2 -0
  277. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  278. package/dist/modes/interactive/interactive-mode.js +63 -64
  279. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  280. package/dist/modes/interactive/program-status-reporter.d.ts +34 -0
  281. package/dist/modes/interactive/program-status-reporter.d.ts.map +1 -0
  282. package/dist/modes/interactive/program-status-reporter.js +107 -0
  283. package/dist/modes/interactive/program-status-reporter.js.map +1 -0
  284. package/dist/modes/interactive/tasks/host-hooks.d.ts +14 -0
  285. package/dist/modes/interactive/tasks/host-hooks.d.ts.map +1 -0
  286. package/dist/modes/interactive/tasks/host-hooks.js +31 -0
  287. package/dist/modes/interactive/tasks/host-hooks.js.map +1 -0
  288. package/dist/modes/interactive/theme/dark.json +1 -1
  289. package/dist/modes/interactive/theme/light.json +1 -1
  290. package/dist/modes/interactive/theme/theme-schema.d.ts +28 -0
  291. package/dist/modes/interactive/theme/theme-schema.d.ts.map +1 -0
  292. package/dist/modes/interactive/theme/theme-schema.js +105 -0
  293. package/dist/modes/interactive/theme/theme-schema.js.map +1 -0
  294. package/dist/modes/interactive/theme/theme-tokens.d.ts +257 -0
  295. package/dist/modes/interactive/theme/theme-tokens.d.ts.map +1 -0
  296. package/dist/modes/interactive/theme/theme-tokens.js +94 -0
  297. package/dist/modes/interactive/theme/theme-tokens.js.map +1 -0
  298. package/dist/modes/interactive/theme/theme.d.ts +13 -16
  299. package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
  300. package/dist/modes/interactive/theme/theme.js +23 -31
  301. package/dist/modes/interactive/theme/theme.js.map +1 -1
  302. package/dist/modes/interactive/tool-view/tool-execution.d.ts +5 -0
  303. package/dist/modes/interactive/tool-view/tool-execution.d.ts.map +1 -1
  304. package/dist/modes/interactive/tool-view/tool-execution.js +7 -0
  305. package/dist/modes/interactive/tool-view/tool-execution.js.map +1 -1
  306. package/dist/modes/print-mode.d.ts.map +1 -1
  307. package/dist/modes/print-mode.js +4 -0
  308. package/dist/modes/print-mode.js.map +1 -1
  309. package/dist/package-manager-cli.d.ts.map +1 -1
  310. package/dist/package-manager-cli.js +24 -0
  311. package/dist/package-manager-cli.js.map +1 -1
  312. package/dist/utils/ansi.d.ts +8 -0
  313. package/dist/utils/ansi.d.ts.map +1 -1
  314. package/dist/utils/ansi.js +30 -11
  315. package/dist/utils/ansi.js.map +1 -1
  316. package/dist/utils/clipboard.d.ts.map +1 -1
  317. package/dist/utils/clipboard.js +18 -12
  318. package/dist/utils/clipboard.js.map +1 -1
  319. package/dist/utils/image-resize-core.d.ts +12 -0
  320. package/dist/utils/image-resize-core.d.ts.map +1 -1
  321. package/dist/utils/image-resize-core.js +5 -0
  322. package/dist/utils/image-resize-core.js.map +1 -1
  323. package/dist/utils/image-resize-worker.js +3 -2
  324. package/dist/utils/image-resize-worker.js.map +1 -1
  325. package/dist/utils/image-resize.d.ts.map +1 -1
  326. package/dist/utils/image-resize.js +9 -10
  327. package/dist/utils/image-resize.js.map +1 -1
  328. package/docs/bundled/README.md +1 -1
  329. package/docs/bundled/extensions/provider.md +1 -1
  330. package/docs/bundled/extensions/question.md +1 -1
  331. package/docs/bundled/extensions/search.md +51 -0
  332. package/docs/bundled/extensions/statusline.md +15 -41
  333. package/docs/codemode.md +24 -4
  334. package/docs/compaction.md +2 -2
  335. package/docs/docs.json +0 -4
  336. package/docs/environment-variables.md +3 -1
  337. package/docs/extensions.md +15 -5
  338. package/docs/json.md +2 -2
  339. package/docs/keybindings.md +1 -0
  340. package/docs/llama-cpp.md +8 -1
  341. package/docs/mcp.md +1 -1
  342. package/docs/models.md +5 -1
  343. package/docs/providers.md +33 -0
  344. package/docs/rpc.md +6 -3
  345. package/docs/session-format.md +1 -0
  346. package/docs/settings.md +5 -5
  347. package/docs/terminal-setup.md +14 -0
  348. package/docs/themes.md +4 -2
  349. package/docs/tui.md +1 -1
  350. package/docs/usage.md +7 -3
  351. package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
  352. package/examples/extensions/custom-provider-anthropic/package.json +1 -1
  353. package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
  354. package/examples/extensions/dynamic-resources/dynamic.json +1 -1
  355. package/examples/extensions/gondolin/package-lock.json +2 -2
  356. package/examples/extensions/gondolin/package.json +1 -1
  357. package/examples/extensions/overlay-test.ts +2 -2
  358. package/examples/extensions/plan-mode/index.ts +6 -2
  359. package/examples/extensions/sandbox/package-lock.json +2 -2
  360. package/examples/extensions/sandbox/package.json +1 -1
  361. package/examples/extensions/with-deps/package-lock.json +2 -2
  362. package/examples/extensions/with-deps/package.json +1 -1
  363. package/npm-shrinkwrap.json +54 -102
  364. package/package.json +10 -20
  365. package/schemas/keybindings.schema.json +453 -0
  366. package/schemas/models.schema.json +1157 -0
  367. package/schemas/settings.schema.json +782 -0
  368. package/schemas/theme.schema.json +365 -0
  369. package/dist/bundle/chunks/anthropic-messages-YIOJIMVL.js +0 -6
  370. package/dist/bundle/chunks/chunk-57XI7YJH.js +0 -2
  371. package/dist/bundle/chunks/chunk-JI4WGISU.js +0 -2
  372. package/dist/bundle/chunks/chunk-TCQ4HHQD.js +0 -2
  373. package/dist/bundle/chunks/chunk-TXJO4AJ7.js +0 -11
  374. package/dist/bundle/chunks/cloudflare-workers-ai-system-one-OWU5SM6J.js +0 -2
  375. package/dist/bundle/chunks/mistral-conversations-A2N5FSOV.js +0 -5
  376. package/dist/bundle/chunks/openai-codex-responses-Q6JHCWLE.js +0 -10
  377. package/dist/bundle/chunks/typesafe-system-one-KYKKNU3E.js +0 -2
  378. package/dist/extensions/web-search/auth.d.ts +0 -12
  379. package/dist/extensions/web-search/auth.d.ts.map +0 -1
  380. package/dist/extensions/web-search/auth.js +0 -90
  381. package/dist/extensions/web-search/auth.js.map +0 -1
  382. package/dist/extensions/web-search/constants.d.ts +0 -13
  383. package/dist/extensions/web-search/constants.d.ts.map +0 -1
  384. package/dist/extensions/web-search/constants.js +0 -26
  385. package/dist/extensions/web-search/constants.js.map +0 -1
  386. package/dist/extensions/web-search/execute.d.ts +0 -9
  387. package/dist/extensions/web-search/execute.d.ts.map +0 -1
  388. package/dist/extensions/web-search/execute.js +0 -96
  389. package/dist/extensions/web-search/execute.js.map +0 -1
  390. package/dist/extensions/web-search/format.d.ts +0 -21
  391. package/dist/extensions/web-search/format.d.ts.map +0 -1
  392. package/dist/extensions/web-search/format.js +0 -117
  393. package/dist/extensions/web-search/format.js.map +0 -1
  394. package/dist/extensions/web-search/index.d.ts +0 -6
  395. package/dist/extensions/web-search/index.d.ts.map +0 -1
  396. package/dist/extensions/web-search/index.js +0 -50
  397. package/dist/extensions/web-search/index.js.map +0 -1
  398. package/dist/extensions/web-search/providers/deepseek.d.ts +0 -13
  399. package/dist/extensions/web-search/providers/deepseek.d.ts.map +0 -1
  400. package/dist/extensions/web-search/providers/deepseek.js +0 -110
  401. package/dist/extensions/web-search/providers/deepseek.js.map +0 -1
  402. package/dist/extensions/web-search/providers/http.d.ts +0 -4
  403. package/dist/extensions/web-search/providers/http.d.ts.map +0 -1
  404. package/dist/extensions/web-search/providers/http.js +0 -42
  405. package/dist/extensions/web-search/providers/http.js.map +0 -1
  406. package/dist/extensions/web-search/providers/minimax.d.ts +0 -12
  407. package/dist/extensions/web-search/providers/minimax.d.ts.map +0 -1
  408. package/dist/extensions/web-search/providers/minimax.js +0 -61
  409. package/dist/extensions/web-search/providers/minimax.js.map +0 -1
  410. package/dist/extensions/web-search/render.d.ts +0 -15
  411. package/dist/extensions/web-search/render.d.ts.map +0 -1
  412. package/dist/extensions/web-search/render.js +0 -142
  413. package/dist/extensions/web-search/render.js.map +0 -1
  414. package/dist/extensions/web-search/results.d.ts +0 -35
  415. package/dist/extensions/web-search/results.d.ts.map +0 -1
  416. package/dist/extensions/web-search/results.js +0 -167
  417. package/dist/extensions/web-search/results.js.map +0 -1
  418. package/dist/extensions/web-search/schema.d.ts +0 -10
  419. package/dist/extensions/web-search/schema.d.ts.map +0 -1
  420. package/dist/extensions/web-search/schema.js +0 -36
  421. package/dist/extensions/web-search/schema.js.map +0 -1
  422. package/dist/extensions/web-search/types.d.ts +0 -51
  423. package/dist/extensions/web-search/types.d.ts.map +0 -1
  424. package/dist/extensions/web-search/types.js +0 -5
  425. package/dist/extensions/web-search/types.js.map +0 -1
  426. package/dist/modes/interactive/theme/theme-json.d.ts +0 -85
  427. package/dist/modes/interactive/theme/theme-json.d.ts.map +0 -1
  428. package/dist/modes/interactive/theme/theme-json.js +0 -132
  429. package/dist/modes/interactive/theme/theme-json.js.map +0 -1
  430. package/dist/modes/interactive/theme/theme-schema.json +0 -361
  431. package/docs/bundled/extensions/web-search.md +0 -46
  432. package/examples/plugins/pi-example-plugin/README.md +0 -38
  433. package/examples/plugins/pi-example-plugin/package.json +0 -10
  434. package/examples/plugins/pi-example-plugin/src/contract.ts +0 -13
  435. package/examples/plugins/pi-example-plugin/src/session.ts +0 -24
  436. package/examples/plugins/pi-example-plugin/src/tui.ts +0 -31
@@ -1,4 +1,49 @@
1
1
  import { isDeepStrictEqual } from "node:util";
2
+ import { getCurrentSystemMessage, getSystemMessageText, } from "@earendil-works/pi-ai";
3
+ /** Capture a session's stable state before any asynchronous context preparation. Never includes a partial stream. */
4
+ export async function captureContextSnapshot(session, source) {
5
+ const model = session.model;
6
+ if (!model)
7
+ throw new Error("No model selected");
8
+ const requestOptions = {
9
+ sessionId: session.agent.sessionId ?? session.sessionManager.getSessionId(),
10
+ transport: session.agent.transport,
11
+ thinkingBudgets: structuredClone(session.agent.thinkingBudgets),
12
+ maxRetryDelayMs: session.agent.maxRetryDelayMs,
13
+ onPayload: session.agent.onPayload,
14
+ onResponse: session.agent.onResponse,
15
+ };
16
+ const snapshot = {
17
+ capturedAt: Date.now(),
18
+ sessionId: session.sessionManager.getSessionId(),
19
+ leafId: session.sessionManager.getLeafId(),
20
+ model: structuredClone(model),
21
+ thinkingLevel: session.thinkingLevel,
22
+ tools: session.agent.state.tools.map(({ name, description, parameters, constrainedSampling }) => ({
23
+ name,
24
+ description,
25
+ parameters: structuredClone(parameters),
26
+ ...(constrainedSampling === undefined ? {} : { constrainedSampling: structuredClone(constrainedSampling) }),
27
+ })),
28
+ streamOptions: source?.resolveStreamOptions(model, requestOptions) ?? requestOptions,
29
+ };
30
+ const currentSystemPrompt = session.systemPrompt;
31
+ // The canonical projection is what the next request converts; the inspection cache may lag it.
32
+ const messages = structuredClone(session.sessionManager.buildSessionProjection().messages);
33
+ const convert = session.agent.convertToLlm;
34
+ const transform = session.agent.transformContext;
35
+ const prepared = source
36
+ ? await source.prepareMessages(messages)
37
+ : await convert(transform ? await transform(messages) : messages);
38
+ // The prepared transcript declares the prompt the provider received, including a forced
39
+ // prompt projected for the last request; before the first request there is none yet.
40
+ const declared = getCurrentSystemMessage(prepared);
41
+ return {
42
+ ...snapshot,
43
+ systemPrompt: declared ? getSystemMessageText(declared) : currentSystemPrompt,
44
+ messages: structuredClone(prepared),
45
+ };
46
+ }
2
47
  /**
3
48
  * Records the actual pre-provider message prefix, after context hooks, the session's request
4
49
  * projections, and image policy. A snapshot can reuse it and convert only newly settled
@@ -1 +1 @@
1
- {"version":3,"file":"context-snapshot.js","sourceRoot":"","sources":["../../src/core/context-snapshot.ts"],"names":[],"mappings":"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","sourcesContent":["import { isDeepStrictEqual } from \"node:util\";\nimport type { Agent, AgentMessage, ThinkingLevel } from \"@earendil-works/pi-agent-core\";\nimport type { Api, Message, Model, ModelsSimpleStreamOptions, Tool } from \"@earendil-works/pi-ai\";\nimport type { ExtensionRunner } from \"./extensions/runner.ts\";\nimport type { SettingsManager } from \"./settings-manager.ts\";\n\n/** Detached model input and request configuration. Contains no tool executors or session writer. */\nexport interface ContextSnapshot {\n\tcapturedAt: number;\n\tsessionId: string;\n\tleafId: string | null;\n\tmodel: Model<Api>;\n\tthinkingLevel: ThinkingLevel;\n\t/**\n\t * The prompt replayed from the prepared transcript, which is the text the provider received.\n\t * Before the first request it is the session's current prompt, which a consumer's Agent\n\t * declares itself when `messages` carry no system message.\n\t */\n\tsystemPrompt: string;\n\tmessages: Message[];\n\ttools: Tool[];\n\t/** Includes provider hooks and header transforms, but never the main run's abort signal. */\n\tstreamOptions: ModelsSimpleStreamOptions;\n}\n\n/** What a session needs from the SDK to describe the request it would send next. */\nexport interface ContextSnapshotSource {\n\t/** Prepare `messages` exactly as the next request would, reusing the recorded main prefix. */\n\tprepareMessages(messages: AgentMessage[]): Promise<Message[]>;\n\t/** The stream options the SDK would send for `model`, including provider hooks and header transforms. */\n\tresolveStreamOptions(model: Model<Api>, options: ModelsSimpleStreamOptions): ModelsSimpleStreamOptions;\n}\n\ninterface PreparedSource {\n\tmessages: AgentMessage[];\n\trunner: ExtensionRunner | undefined;\n}\n\n/**\n * Records the actual pre-provider message prefix, after context hooks, the session's request\n * projections, and image policy. A snapshot can reuse it and convert only newly settled\n * messages. In particular, a time-dependent context hook is not rerun over an already\n * prepared cache prefix.\n *\n * The SDK's own `convertToLlm` and request-option builder stay where upstream defines them;\n * this class wraps the former and borrows the latter, so it never keeps a second copy of\n * either.\n */\nexport class ContextSnapshotCapture implements ContextSnapshotSource {\n\tprivate readonly settings: SettingsManager;\n\tprivate readonly runnerRef: { current?: ExtensionRunner };\n\tprivate readonly buildRequestOptions: ContextSnapshotSource[\"resolveStreamOptions\"];\n\tprivate readonly pending = new WeakMap<AgentMessage[], PreparedSource>();\n\tprivate prepared: { source: PreparedSource; messages: Message[]; blockImages: boolean } | undefined;\n\tprivate agent: Agent | undefined;\n\n\tconstructor(\n\t\tsettings: SettingsManager,\n\t\trunnerRef: { current?: ExtensionRunner },\n\t\tbuildRequestOptions: ContextSnapshotSource[\"resolveStreamOptions\"],\n\t) {\n\t\tthis.settings = settings;\n\t\tthis.runnerRef = runnerRef;\n\t\tthis.buildRequestOptions = buildRequestOptions;\n\t}\n\n\t/**\n\t * Record the source of every request context. Install after all other `transformContext`\n\t * wrappers so the recorded prefix is exactly the array the request converts; a wrapper\n\t * installed later would return a different array and the prefix would never be reused.\n\t */\n\tinstall(agent: Agent): void {\n\t\tthis.agent = agent;\n\t\tconst transform = agent.transformContext;\n\t\tagent.transformContext = async (messages, signal) => {\n\t\t\tconst runner = this.runnerRef.current;\n\t\t\tconst source = { messages: structuredClone(messages), runner };\n\t\t\tconst transformed = transform ? await transform(messages, signal) : messages;\n\t\t\tthis.pending.set(transformed, source);\n\t\t\treturn transformed;\n\t\t};\n\t\tconst convert = agent.convertToLlm;\n\t\tconst record = (messages: AgentMessage[], converted: Message[]): Message[] => {\n\t\t\tconst source = this.pending.get(messages);\n\t\t\tif (source) {\n\t\t\t\tthis.pending.delete(messages);\n\t\t\t\tthis.prepared = {\n\t\t\t\t\tsource,\n\t\t\t\t\tmessages: structuredClone(converted),\n\t\t\t\t\tblockImages: this.settings.getBlockImages(),\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn converted;\n\t\t};\n\t\tagent.convertToLlm = (messages) => {\n\t\t\tconst converted = convert(messages);\n\t\t\treturn Array.isArray(converted) ? record(messages, converted) : converted.then((all) => record(messages, all));\n\t\t};\n\t}\n\n\tresolveStreamOptions(model: Model<Api>, options: ModelsSimpleStreamOptions): ModelsSimpleStreamOptions {\n\t\treturn this.buildRequestOptions(model, options);\n\t}\n\n\tasync prepareMessages(messages: AgentMessage[]): Promise<Message[]> {\n\t\tconst agent = this.agent;\n\t\tif (!agent) throw new Error(\"Context snapshot capture is not installed\");\n\t\tconst runner = this.runnerRef.current;\n\t\tconst blockImages = this.settings.getBlockImages();\n\t\tconst prepared = this.prepared;\n\t\tif (\n\t\t\tprepared &&\n\t\t\tprepared.source.runner === runner &&\n\t\t\tprepared.blockImages === blockImages &&\n\t\t\tisDeepStrictEqual(messages.slice(0, prepared.source.messages.length), prepared.source.messages)\n\t\t) {\n\t\t\treturn [\n\t\t\t\t...structuredClone(prepared.messages),\n\t\t\t\t...(await agent.convertToLlm(messages.slice(prepared.source.messages.length))),\n\t\t\t];\n\t\t}\n\t\t// No request yet, or the branch/context policy changed. Prepare this detached\n\t\t// snapshot once; it never replaces the prefix recorded from the main request.\n\t\tconst transformed = runner ? await runner.emitContext(messages) : messages;\n\t\treturn structuredClone(await agent.convertToLlm(transformed));\n\t}\n}\n"]}
1
+ {"version":3,"file":"context-snapshot.js","sourceRoot":"","sources":["../../src/core/context-snapshot.ts"],"names":[],"mappings":"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","sourcesContent":["import { isDeepStrictEqual } from \"node:util\";\nimport type { Agent, AgentMessage, ThinkingLevel } from \"@earendil-works/pi-agent-core\";\nimport {\n\ttype Api,\n\tgetCurrentSystemMessage,\n\tgetSystemMessageText,\n\ttype Message,\n\ttype Model,\n\ttype ModelsSimpleStreamOptions,\n\ttype Tool,\n} from \"@earendil-works/pi-ai\";\nimport type { AgentSession } from \"./agent-session.ts\";\nimport type { ExtensionRunner } from \"./extensions/runner.ts\";\nimport type { SettingsManager } from \"./settings-manager.ts\";\n\n/** Detached model input and request configuration. Contains no tool executors or session writer. */\nexport interface ContextSnapshot {\n\tcapturedAt: number;\n\tsessionId: string;\n\tleafId: string | null;\n\tmodel: Model<Api>;\n\tthinkingLevel: ThinkingLevel;\n\t/**\n\t * The prompt replayed from the prepared transcript, which is the text the provider received.\n\t * Before the first request it is the session's current prompt, which a consumer's Agent\n\t * declares itself when `messages` carry no system message.\n\t */\n\tsystemPrompt: string;\n\tmessages: Message[];\n\ttools: Tool[];\n\t/** Includes provider hooks and header transforms, but never the main run's abort signal. */\n\tstreamOptions: ModelsSimpleStreamOptions;\n}\n\n/** Capture a session's stable state before any asynchronous context preparation. Never includes a partial stream. */\nexport async function captureContextSnapshot(\n\tsession: Pick<AgentSession, \"agent\" | \"model\" | \"sessionManager\" | \"systemPrompt\" | \"thinkingLevel\">,\n\tsource: ContextSnapshotSource | undefined,\n): Promise<ContextSnapshot> {\n\tconst model = session.model;\n\tif (!model) throw new Error(\"No model selected\");\n\tconst requestOptions = {\n\t\tsessionId: session.agent.sessionId ?? session.sessionManager.getSessionId(),\n\t\ttransport: session.agent.transport,\n\t\tthinkingBudgets: structuredClone(session.agent.thinkingBudgets),\n\t\tmaxRetryDelayMs: session.agent.maxRetryDelayMs,\n\t\tonPayload: session.agent.onPayload,\n\t\tonResponse: session.agent.onResponse,\n\t};\n\tconst snapshot = {\n\t\tcapturedAt: Date.now(),\n\t\tsessionId: session.sessionManager.getSessionId(),\n\t\tleafId: session.sessionManager.getLeafId(),\n\t\tmodel: structuredClone(model),\n\t\tthinkingLevel: session.thinkingLevel,\n\t\ttools: session.agent.state.tools.map(({ name, description, parameters, constrainedSampling }) => ({\n\t\t\tname,\n\t\t\tdescription,\n\t\t\tparameters: structuredClone(parameters),\n\t\t\t...(constrainedSampling === undefined ? {} : { constrainedSampling: structuredClone(constrainedSampling) }),\n\t\t})),\n\t\tstreamOptions: source?.resolveStreamOptions(model, requestOptions) ?? requestOptions,\n\t};\n\tconst currentSystemPrompt = session.systemPrompt;\n\t// The canonical projection is what the next request converts; the inspection cache may lag it.\n\tconst messages = structuredClone(session.sessionManager.buildSessionProjection().messages);\n\tconst convert = session.agent.convertToLlm;\n\tconst transform = session.agent.transformContext;\n\tconst prepared = source\n\t\t? await source.prepareMessages(messages)\n\t\t: await convert(transform ? await transform(messages) : messages);\n\t// The prepared transcript declares the prompt the provider received, including a forced\n\t// prompt projected for the last request; before the first request there is none yet.\n\tconst declared = getCurrentSystemMessage(prepared);\n\treturn {\n\t\t...snapshot,\n\t\tsystemPrompt: declared ? getSystemMessageText(declared) : currentSystemPrompt,\n\t\tmessages: structuredClone(prepared),\n\t};\n}\n\n/** What a session needs from the SDK to describe the request it would send next. */\nexport interface ContextSnapshotSource {\n\t/** Prepare `messages` exactly as the next request would, reusing the recorded main prefix. */\n\tprepareMessages(messages: AgentMessage[]): Promise<Message[]>;\n\t/** The stream options the SDK would send for `model`, including provider hooks and header transforms. */\n\tresolveStreamOptions(model: Model<Api>, options: ModelsSimpleStreamOptions): ModelsSimpleStreamOptions;\n}\n\ninterface PreparedSource {\n\tmessages: AgentMessage[];\n\trunner: ExtensionRunner | undefined;\n}\n\n/**\n * Records the actual pre-provider message prefix, after context hooks, the session's request\n * projections, and image policy. A snapshot can reuse it and convert only newly settled\n * messages. In particular, a time-dependent context hook is not rerun over an already\n * prepared cache prefix.\n *\n * The SDK's own `convertToLlm` and request-option builder stay where upstream defines them;\n * this class wraps the former and borrows the latter, so it never keeps a second copy of\n * either.\n */\nexport class ContextSnapshotCapture implements ContextSnapshotSource {\n\tprivate readonly settings: SettingsManager;\n\tprivate readonly runnerRef: { current?: ExtensionRunner };\n\tprivate readonly buildRequestOptions: ContextSnapshotSource[\"resolveStreamOptions\"];\n\tprivate readonly pending = new WeakMap<AgentMessage[], PreparedSource>();\n\tprivate prepared: { source: PreparedSource; messages: Message[]; blockImages: boolean } | undefined;\n\tprivate agent: Agent | undefined;\n\n\tconstructor(\n\t\tsettings: SettingsManager,\n\t\trunnerRef: { current?: ExtensionRunner },\n\t\tbuildRequestOptions: ContextSnapshotSource[\"resolveStreamOptions\"],\n\t) {\n\t\tthis.settings = settings;\n\t\tthis.runnerRef = runnerRef;\n\t\tthis.buildRequestOptions = buildRequestOptions;\n\t}\n\n\t/**\n\t * Record the source of every request context. Install after all other `transformContext`\n\t * wrappers so the recorded prefix is exactly the array the request converts; a wrapper\n\t * installed later would return a different array and the prefix would never be reused.\n\t */\n\tinstall(agent: Agent): void {\n\t\tthis.agent = agent;\n\t\tconst transform = agent.transformContext;\n\t\tagent.transformContext = async (messages, signal) => {\n\t\t\tconst runner = this.runnerRef.current;\n\t\t\tconst source = { messages: structuredClone(messages), runner };\n\t\t\tconst transformed = transform ? await transform(messages, signal) : messages;\n\t\t\tthis.pending.set(transformed, source);\n\t\t\treturn transformed;\n\t\t};\n\t\tconst convert = agent.convertToLlm;\n\t\tconst record = (messages: AgentMessage[], converted: Message[]): Message[] => {\n\t\t\tconst source = this.pending.get(messages);\n\t\t\tif (source) {\n\t\t\t\tthis.pending.delete(messages);\n\t\t\t\tthis.prepared = {\n\t\t\t\t\tsource,\n\t\t\t\t\tmessages: structuredClone(converted),\n\t\t\t\t\tblockImages: this.settings.getBlockImages(),\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn converted;\n\t\t};\n\t\tagent.convertToLlm = (messages) => {\n\t\t\tconst converted = convert(messages);\n\t\t\treturn Array.isArray(converted) ? record(messages, converted) : converted.then((all) => record(messages, all));\n\t\t};\n\t}\n\n\tresolveStreamOptions(model: Model<Api>, options: ModelsSimpleStreamOptions): ModelsSimpleStreamOptions {\n\t\treturn this.buildRequestOptions(model, options);\n\t}\n\n\tasync prepareMessages(messages: AgentMessage[]): Promise<Message[]> {\n\t\tconst agent = this.agent;\n\t\tif (!agent) throw new Error(\"Context snapshot capture is not installed\");\n\t\tconst runner = this.runnerRef.current;\n\t\tconst blockImages = this.settings.getBlockImages();\n\t\tconst prepared = this.prepared;\n\t\tif (\n\t\t\tprepared &&\n\t\t\tprepared.source.runner === runner &&\n\t\t\tprepared.blockImages === blockImages &&\n\t\t\tisDeepStrictEqual(messages.slice(0, prepared.source.messages.length), prepared.source.messages)\n\t\t) {\n\t\t\treturn [\n\t\t\t\t...structuredClone(prepared.messages),\n\t\t\t\t...(await agent.convertToLlm(messages.slice(prepared.source.messages.length))),\n\t\t\t];\n\t\t}\n\t\t// No request yet, or the branch/context policy changed. Prepare this detached\n\t\t// snapshot once; it never replaces the prefix recorded from the main request.\n\t\tconst transformed = runner ? await runner.emitContext(messages) : messages;\n\t\treturn structuredClone(await agent.convertToLlm(transformed));\n\t}\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"tool-renderer.d.ts","sourceRoot":"","sources":["../../../src/core/export-html/tool-renderer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wCAAwC,CAAC;AACpE,OAAO,KAAK,EAAqB,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAG/E,MAAM,WAAW,oBAAoB;IACpC,sFAAsF;IACtF,gBAAgB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,aAAa,GAAG,SAAS,CAAC;IAC9D,wBAAwB;IACxB,KAAK,EAAE,KAAK,CAAC;IACb,2CAA2C;IAC3C,GAAG,EAAE,MAAM,CAAC;IACZ,kDAAkD;IAClD,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,gBAAgB;IAChC,oFAAoF;IACpF,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;IACpF,yGAAyG;IACzG,YAAY,CACX,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,EAChF,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,GACd;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;CACzD;AAsBD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,oBAAoB,GAAG,gBAAgB,CAoHnF"}
1
+ {"version":3,"file":"tool-renderer.d.ts","sourceRoot":"","sources":["../../../src/core/export-html/tool-renderer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wCAAwC,CAAC;AACpE,OAAO,KAAK,EAAqB,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAG/E,MAAM,WAAW,oBAAoB;IACpC,sFAAsF;IACtF,gBAAgB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,aAAa,GAAG,SAAS,CAAC;IAC9D,wBAAwB;IACxB,KAAK,EAAE,KAAK,CAAC;IACb,2CAA2C;IAC3C,GAAG,EAAE,MAAM,CAAC;IACZ,kDAAkD;IAClD,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,gBAAgB;IAChC,oFAAoF;IACpF,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;IACpF,yGAAyG;IACzG,YAAY,CACX,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,EAChF,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,GACd;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;CACzD;AAsBD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,oBAAoB,GAAG,gBAAgB,CAsHnF"}
@@ -52,6 +52,8 @@ export function createToolHtmlRenderer(deps) {
52
52
  expanded,
53
53
  showImages: false,
54
54
  isError,
55
+ durationMs: undefined,
56
+ outputPad: 1,
55
57
  };
56
58
  };
57
59
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"tool-renderer.js","sourceRoot":"","sources":["../../../src/core/export-html/tool-renderer.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Tool HTML renderer for custom tools in HTML export.\n *\n * Renders custom tool calls and results to HTML by invoking their TUI renderers\n * and converting the ANSI output to HTML.\n */\n\nimport type { ImageContent, TextContent } from \"@earendil-works/pi-ai\";\nimport type { Component } from \"@earendil-works/pi-tui\";\nimport type { Theme } from \"../../modes/interactive/theme/theme.ts\";\nimport type { ToolRenderContext, ToolRenderers } from \"../extensions/types.ts\";\nimport { ansiLinesToHtml } from \"./ansi-to-html.ts\";\n\nexport interface ToolHtmlRendererDeps {\n\t/** Renderers of calls to a tool, as resolved by extensions and the registered tool */\n\tgetToolRenderers: (name: string) => ToolRenderers | undefined;\n\t/** Theme for styling */\n\ttheme: Theme;\n\t/** Working directory for render context */\n\tcwd: string;\n\t/** Terminal width for rendering (default: 100) */\n\twidth?: number;\n}\n\nexport interface ToolHtmlRenderer {\n\t/** Render a tool call to HTML. Returns undefined if tool has no custom renderer. */\n\trenderCall(toolCallId: string, toolName: string, args: unknown): string | undefined;\n\t/** Render a tool result to collapsed/expanded HTML. Returns undefined if tool has no custom renderer. */\n\trenderResult(\n\t\ttoolCallId: string,\n\t\ttoolName: string,\n\t\tresult: Array<{ type: string; text?: string; data?: string; mimeType?: string }>,\n\t\tdetails: unknown,\n\t\tisError: boolean,\n\t): { collapsed?: string; expanded?: string } | undefined;\n}\n\n/**\n * Create a tool HTML renderer.\n *\n * The renderer looks up tool definitions and invokes their renderCall/renderResult\n * methods, converting the resulting TUI Component output (ANSI) to HTML.\n */\nconst ANSI_ESCAPE_REGEX = /\\x1b\\[[\\d;]*m/g;\n\nfunction isBlankRenderedLine(line: string): boolean {\n\treturn line.replace(ANSI_ESCAPE_REGEX, \"\").trim().length === 0;\n}\n\nfunction trimRenderedResultLines(lines: string[]): string[] {\n\tlet start = 0;\n\tlet end = lines.length;\n\twhile (start < end && isBlankRenderedLine(lines[start])) start++;\n\twhile (end > start && isBlankRenderedLine(lines[end - 1])) end--;\n\treturn lines.slice(start, end);\n}\n\nexport function createToolHtmlRenderer(deps: ToolHtmlRendererDeps): ToolHtmlRenderer {\n\tconst { getToolRenderers, theme, cwd, width = 100 } = deps;\n\n\tconst renderedCallComponents = new Map<string, Component>();\n\tconst renderedResultComponents = new Map<string, Component>();\n\tconst renderedStates = new Map<string, any>();\n\tconst renderedArgs = new Map<string, unknown>();\n\n\tconst getState = (toolCallId: string): any => {\n\t\tlet state = renderedStates.get(toolCallId);\n\t\tif (!state) {\n\t\t\tstate = {};\n\t\t\trenderedStates.set(toolCallId, state);\n\t\t}\n\t\treturn state;\n\t};\n\n\tconst createRenderContext = (\n\t\ttoolCallId: string,\n\t\tlastComponent: Component | undefined,\n\t\texpanded: boolean,\n\t\tisPartial: boolean,\n\t\tisError: boolean,\n\t): ToolRenderContext => {\n\t\treturn {\n\t\t\targs: renderedArgs.get(toolCallId),\n\t\t\ttoolCallId,\n\t\t\tinvalidate: () => {},\n\t\t\tlastComponent,\n\t\t\tstate: getState(toolCallId),\n\t\t\tcwd,\n\t\t\texecutionStarted: true,\n\t\t\targsComplete: true,\n\t\t\tisPartial,\n\t\t\texpanded,\n\t\t\tshowImages: false,\n\t\t\tisError,\n\t\t};\n\t};\n\n\treturn {\n\t\trenderCall(toolCallId: string, toolName: string, args: unknown): string | undefined {\n\t\t\ttry {\n\t\t\t\trenderedArgs.set(toolCallId, args);\n\t\t\t\tconst toolDef = getToolRenderers(toolName);\n\t\t\t\tif (!toolDef?.renderCall) {\n\t\t\t\t\treturn undefined;\n\t\t\t\t}\n\n\t\t\t\t// A static export has no in-flight execution: isPartial stays false so\n\t\t\t\t// historical calls render settled and never arm live-refresh timers.\n\t\t\t\tconst component = toolDef.renderCall(\n\t\t\t\t\targs,\n\t\t\t\t\ttheme,\n\t\t\t\t\tcreateRenderContext(toolCallId, renderedCallComponents.get(toolCallId), false, false, false),\n\t\t\t\t);\n\t\t\t\trenderedCallComponents.set(toolCallId, component);\n\t\t\t\tconst lines = component.render(width);\n\t\t\t\treturn ansiLinesToHtml(lines);\n\t\t\t} catch {\n\t\t\t\t// On error, return undefined so HTML export can fall back to structured result rendering\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t},\n\n\t\trenderResult(\n\t\t\ttoolCallId: string,\n\t\t\ttoolName: string,\n\t\t\tresult: Array<{ type: string; text?: string; data?: string; mimeType?: string }>,\n\t\t\tdetails: unknown,\n\t\t\tisError: boolean,\n\t\t): { collapsed?: string; expanded?: string } | undefined {\n\t\t\ttry {\n\t\t\t\tconst toolDef = getToolRenderers(toolName);\n\t\t\t\tif (!toolDef?.renderResult) {\n\t\t\t\t\treturn undefined;\n\t\t\t\t}\n\n\t\t\t\t// Build AgentToolResult from content array\n\t\t\t\t// Cast content since session storage uses generic object types\n\t\t\t\tconst agentToolResult = {\n\t\t\t\t\tcontent: result as (TextContent | ImageContent)[],\n\t\t\t\t\tdetails,\n\t\t\t\t\tisError,\n\t\t\t\t};\n\n\t\t\t\t// Render collapsed\n\t\t\t\tconst collapsedComponent = toolDef.renderResult(\n\t\t\t\t\tagentToolResult,\n\t\t\t\t\t{ expanded: false, isPartial: false },\n\t\t\t\t\ttheme,\n\t\t\t\t\tcreateRenderContext(toolCallId, renderedResultComponents.get(toolCallId), false, false, isError),\n\t\t\t\t);\n\t\t\t\trenderedResultComponents.set(toolCallId, collapsedComponent);\n\t\t\t\tconst collapsed = ansiLinesToHtml(trimRenderedResultLines(collapsedComponent.render(width)));\n\n\t\t\t\t// Render expanded\n\t\t\t\tconst expandedComponent = toolDef.renderResult(\n\t\t\t\t\tagentToolResult,\n\t\t\t\t\t{ expanded: true, isPartial: false },\n\t\t\t\t\ttheme,\n\t\t\t\t\tcreateRenderContext(toolCallId, renderedResultComponents.get(toolCallId), true, false, isError),\n\t\t\t\t);\n\t\t\t\trenderedResultComponents.set(toolCallId, expandedComponent);\n\t\t\t\tconst expanded = ansiLinesToHtml(trimRenderedResultLines(expandedComponent.render(width)));\n\n\t\t\t\treturn {\n\t\t\t\t\t...(collapsed && collapsed !== expanded ? { collapsed } : {}),\n\t\t\t\t\texpanded,\n\t\t\t\t};\n\t\t\t} catch {\n\t\t\t\t// On error, return undefined so HTML export can fall back to structured result rendering\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t},\n\t};\n}\n"]}
1
+ {"version":3,"file":"tool-renderer.js","sourceRoot":"","sources":["../../../src/core/export-html/tool-renderer.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Tool HTML renderer for custom tools in HTML export.\n *\n * Renders custom tool calls and results to HTML by invoking their TUI renderers\n * and converting the ANSI output to HTML.\n */\n\nimport type { ImageContent, TextContent } from \"@earendil-works/pi-ai\";\nimport type { Component } from \"@earendil-works/pi-tui\";\nimport type { Theme } from \"../../modes/interactive/theme/theme.ts\";\nimport type { ToolRenderContext, ToolRenderers } from \"../extensions/types.ts\";\nimport { ansiLinesToHtml } from \"./ansi-to-html.ts\";\n\nexport interface ToolHtmlRendererDeps {\n\t/** Renderers of calls to a tool, as resolved by extensions and the registered tool */\n\tgetToolRenderers: (name: string) => ToolRenderers | undefined;\n\t/** Theme for styling */\n\ttheme: Theme;\n\t/** Working directory for render context */\n\tcwd: string;\n\t/** Terminal width for rendering (default: 100) */\n\twidth?: number;\n}\n\nexport interface ToolHtmlRenderer {\n\t/** Render a tool call to HTML. Returns undefined if tool has no custom renderer. */\n\trenderCall(toolCallId: string, toolName: string, args: unknown): string | undefined;\n\t/** Render a tool result to collapsed/expanded HTML. Returns undefined if tool has no custom renderer. */\n\trenderResult(\n\t\ttoolCallId: string,\n\t\ttoolName: string,\n\t\tresult: Array<{ type: string; text?: string; data?: string; mimeType?: string }>,\n\t\tdetails: unknown,\n\t\tisError: boolean,\n\t): { collapsed?: string; expanded?: string } | undefined;\n}\n\n/**\n * Create a tool HTML renderer.\n *\n * The renderer looks up tool definitions and invokes their renderCall/renderResult\n * methods, converting the resulting TUI Component output (ANSI) to HTML.\n */\nconst ANSI_ESCAPE_REGEX = /\\x1b\\[[\\d;]*m/g;\n\nfunction isBlankRenderedLine(line: string): boolean {\n\treturn line.replace(ANSI_ESCAPE_REGEX, \"\").trim().length === 0;\n}\n\nfunction trimRenderedResultLines(lines: string[]): string[] {\n\tlet start = 0;\n\tlet end = lines.length;\n\twhile (start < end && isBlankRenderedLine(lines[start])) start++;\n\twhile (end > start && isBlankRenderedLine(lines[end - 1])) end--;\n\treturn lines.slice(start, end);\n}\n\nexport function createToolHtmlRenderer(deps: ToolHtmlRendererDeps): ToolHtmlRenderer {\n\tconst { getToolRenderers, theme, cwd, width = 100 } = deps;\n\n\tconst renderedCallComponents = new Map<string, Component>();\n\tconst renderedResultComponents = new Map<string, Component>();\n\tconst renderedStates = new Map<string, any>();\n\tconst renderedArgs = new Map<string, unknown>();\n\n\tconst getState = (toolCallId: string): any => {\n\t\tlet state = renderedStates.get(toolCallId);\n\t\tif (!state) {\n\t\t\tstate = {};\n\t\t\trenderedStates.set(toolCallId, state);\n\t\t}\n\t\treturn state;\n\t};\n\n\tconst createRenderContext = (\n\t\ttoolCallId: string,\n\t\tlastComponent: Component | undefined,\n\t\texpanded: boolean,\n\t\tisPartial: boolean,\n\t\tisError: boolean,\n\t): ToolRenderContext => {\n\t\treturn {\n\t\t\targs: renderedArgs.get(toolCallId),\n\t\t\ttoolCallId,\n\t\t\tinvalidate: () => {},\n\t\t\tlastComponent,\n\t\t\tstate: getState(toolCallId),\n\t\t\tcwd,\n\t\t\texecutionStarted: true,\n\t\t\targsComplete: true,\n\t\t\tisPartial,\n\t\t\texpanded,\n\t\t\tshowImages: false,\n\t\t\tisError,\n\t\t\tdurationMs: undefined,\n\t\t\toutputPad: 1,\n\t\t};\n\t};\n\n\treturn {\n\t\trenderCall(toolCallId: string, toolName: string, args: unknown): string | undefined {\n\t\t\ttry {\n\t\t\t\trenderedArgs.set(toolCallId, args);\n\t\t\t\tconst toolDef = getToolRenderers(toolName);\n\t\t\t\tif (!toolDef?.renderCall) {\n\t\t\t\t\treturn undefined;\n\t\t\t\t}\n\n\t\t\t\t// A static export has no in-flight execution: isPartial stays false so\n\t\t\t\t// historical calls render settled and never arm live-refresh timers.\n\t\t\t\tconst component = toolDef.renderCall(\n\t\t\t\t\targs,\n\t\t\t\t\ttheme,\n\t\t\t\t\tcreateRenderContext(toolCallId, renderedCallComponents.get(toolCallId), false, false, false),\n\t\t\t\t);\n\t\t\t\trenderedCallComponents.set(toolCallId, component);\n\t\t\t\tconst lines = component.render(width);\n\t\t\t\treturn ansiLinesToHtml(lines);\n\t\t\t} catch {\n\t\t\t\t// On error, return undefined so HTML export can fall back to structured result rendering\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t},\n\n\t\trenderResult(\n\t\t\ttoolCallId: string,\n\t\t\ttoolName: string,\n\t\t\tresult: Array<{ type: string; text?: string; data?: string; mimeType?: string }>,\n\t\t\tdetails: unknown,\n\t\t\tisError: boolean,\n\t\t): { collapsed?: string; expanded?: string } | undefined {\n\t\t\ttry {\n\t\t\t\tconst toolDef = getToolRenderers(toolName);\n\t\t\t\tif (!toolDef?.renderResult) {\n\t\t\t\t\treturn undefined;\n\t\t\t\t}\n\n\t\t\t\t// Build AgentToolResult from content array\n\t\t\t\t// Cast content since session storage uses generic object types\n\t\t\t\tconst agentToolResult = {\n\t\t\t\t\tcontent: result as (TextContent | ImageContent)[],\n\t\t\t\t\tdetails,\n\t\t\t\t\tisError,\n\t\t\t\t};\n\n\t\t\t\t// Render collapsed\n\t\t\t\tconst collapsedComponent = toolDef.renderResult(\n\t\t\t\t\tagentToolResult,\n\t\t\t\t\t{ expanded: false, isPartial: false },\n\t\t\t\t\ttheme,\n\t\t\t\t\tcreateRenderContext(toolCallId, renderedResultComponents.get(toolCallId), false, false, isError),\n\t\t\t\t);\n\t\t\t\trenderedResultComponents.set(toolCallId, collapsedComponent);\n\t\t\t\tconst collapsed = ansiLinesToHtml(trimRenderedResultLines(collapsedComponent.render(width)));\n\n\t\t\t\t// Render expanded\n\t\t\t\tconst expandedComponent = toolDef.renderResult(\n\t\t\t\t\tagentToolResult,\n\t\t\t\t\t{ expanded: true, isPartial: false },\n\t\t\t\t\ttheme,\n\t\t\t\t\tcreateRenderContext(toolCallId, renderedResultComponents.get(toolCallId), true, false, isError),\n\t\t\t\t);\n\t\t\t\trenderedResultComponents.set(toolCallId, expandedComponent);\n\t\t\t\tconst expanded = ansiLinesToHtml(trimRenderedResultLines(expandedComponent.render(width)));\n\n\t\t\t\treturn {\n\t\t\t\t\t...(collapsed && collapsed !== expanded ? { collapsed } : {}),\n\t\t\t\t\texpanded,\n\t\t\t\t};\n\t\t\t} catch {\n\t\t\t\t// On error, return undefined so HTML export can fall back to structured result rendering\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t},\n\t};\n}\n"]}
@@ -7,7 +7,7 @@ export type { TaskCompletion, TaskControl, TaskExecution, TaskKind, TaskMode, Ta
7
7
  export { createExtensionRuntime, discoverAndLoadExtensions, loadExtensionFromFactory, loadExtensions, } from "./loader.ts";
8
8
  export type { ExtensionErrorListener, ForkHandler, NavigateTreeHandler, NewSessionHandler, ShutdownHandler, SwitchSessionHandler, } from "./runner.ts";
9
9
  export { ExtensionRunner } from "./runner.ts";
10
- export type { AfterProviderResponseEvent, AgentActivityOutcome, AgentBeforeSettleEvent, AgentBeforeSettleEventResult, AgentEndEvent, AgentSettledEvent, AgentStartEvent, AgentToolResult, AgentToolUpdateCallback, AppendEntryHandler, AppKeybinding, AutocompleteProviderFactory, BashToolCallEvent, BashToolResultEvent, BeforeAgentStartEvent, BeforeAgentStartEventResult, BeforeProviderHeadersEvent, BeforeProviderRequestEvent, BeforeProviderRequestEventResult, BoundaryContextPreview, BoundaryResult, BoundaryState, BuildSystemPromptOptions, CacheWarmingDecisionEvent, CacheWarmingDecisionEventResult, CompactionEntryDraft, CompactOptions, ContextEditEntryDraft, ContextEvent, ContextEventResult, ContextSnapshot, ContextUsage, ContextWithSystemEvent, CustomEntryDraft, CustomMessageEntryDraft, CustomToolCallEvent, CustomToolResultEvent, EditorFactory, EditorHost, EditorSubmitEvent, EditorSubmitHandler, EditToolCallEvent, EditToolResultEvent, EntryRenderer, EntryRenderOptions, ExecOptions, ExecResult, ExecuteToolOptions, Extension, ExtensionActions, ExtensionAPI, ExtensionCommandContext, ExtensionCommandContextActions, ExtensionContext, ExtensionContextActions, ExtensionError, ExtensionEvent, ExtensionFactory, ExtensionFlag, ExtensionHandler, ExtensionMode, ExtensionRuntime, ExtensionShortcut, ExtensionToolContext, ExtensionUIContext, ExtensionUIDialogOptions, ExtensionVirtualModel, ExtensionWidgetOptions, FindToolCallEvent, FindToolResultEvent, GetActiveToolsHandler, GetAllToolsHandler, GetCommandsHandler, GetThinkingLevelHandler, GrepToolCallEvent, GrepToolResultEvent, InlineExtension, InputEvent, InputEventResult, InputSource, KeybindingsManager, LoadExtensionsResult, LsToolCallEvent, LsToolResultEvent, MarkdownTransformContext, MarkdownTransformer, McpServersChangeEvent, MessageEndEvent, MessageEndEventResult, MessageRenderer, MessageRenderOptions, MessageStartEvent, MessageUpdateEvent, ModelSelectEvent, ModelSelectSource, NormalizedBuildSystemPromptOptions, PowerShellToolCallEvent, PowerShellToolResultEvent, ProjectTrustContext, ProjectTrustEvent, ProjectTrustEventDecision, ProjectTrustEventResult, ProjectTrustHandler, ProviderConfig, ProviderModelConfig, ProviderStreamEvent, ReadToolCallEvent, ReadToolResultEvent, RegisteredCommand, RegisteredTool, ReplacedSessionContext, ResolvedCommand, ResourcesDiscoverEvent, ResourcesDiscoverResult, SendMessageHandler, SendUserMessageHandler, SessionBeforeCompactEvent, SessionBeforeCompactResult, SessionBeforeForkEvent, SessionBeforeForkResult, SessionBeforeSwitchEvent, SessionBeforeSwitchResult, SessionBeforeTreeEvent, SessionBeforeTreeResult, SessionBoundaryDraft, SessionCompactEvent, SessionCompactFailedEvent, SessionEvent, SessionInfoChangedEvent, SessionShutdownEvent, SessionStartEvent, SessionTreeEvent, SetActiveToolsHandler, SetLabelHandler, SetModelHandler, SetThinkingLevelHandler, TerminalInputHandler, ThinkingLevelSelectEvent, ToolAnnotations, ToolCallEvent, ToolCallEventResult, ToolDefinition, ToolExecutionEndEvent, ToolExecutionMode, ToolExecutionStartEvent, ToolExecutionUpdateEvent, ToolExposure, ToolInfo, ToolLoadout, ToolLoadoutChanges, ToolNamespace, ToolRendererResolver, ToolRenderers, ToolRenderResultOptions, ToolResultEvent, ToolResultEventResult, TreePreparation, TurnEndEvent, TurnEndEventResult, TurnStartEvent, UIPromptEndEvent, UIPromptKind, UIPromptStartEvent, UserBashEvent, UserBashEventResult, WidgetPlacement, WorkingIndicatorOptions, WriteToolCallEvent, WriteToolResultEvent, } from "./types.ts";
10
+ export type { AfterProviderResponseEvent, AgentActivityOutcome, AgentBeforeSettleEvent, AgentBeforeSettleEventResult, AgentEndEvent, AgentSettledEvent, AgentStartEvent, AgentToolResult, AgentToolUpdateCallback, AppendEntryHandler, AppKeybinding, AutocompleteProviderFactory, BashToolCallEvent, BashToolResultEvent, BeforeAgentStartCustomEvent, BeforeAgentStartEvent, BeforeAgentStartEventResult, BeforeAgentStartUserEvent, BeforeProviderHeadersEvent, BeforeProviderRequestEvent, BeforeProviderRequestEventResult, BoundaryContextPreview, BoundaryResult, BoundaryState, BuildSystemPromptOptions, CacheWarmingDecisionEvent, CacheWarmingDecisionEventResult, CompactionEntryDraft, CompactOptions, ContextEditEntryDraft, ContextEvent, ContextEventResult, ContextSnapshot, ContextUsage, ContextWithSystemEvent, CustomEntryDraft, CustomMessageEntryDraft, CustomToolCallEvent, CustomToolResultEvent, EditorFactory, EditorHost, EditorSubmitEvent, EditorSubmitHandler, EditToolCallEvent, EditToolResultEvent, EntryRenderer, EntryRenderOptions, ExecOptions, ExecResult, ExecuteToolOptions, Extension, ExtensionActions, ExtensionAPI, ExtensionCommandContext, ExtensionCommandContextActions, ExtensionContext, ExtensionContextActions, ExtensionError, ExtensionEvent, ExtensionFactory, ExtensionFlag, ExtensionHandler, ExtensionMode, ExtensionRuntime, ExtensionShortcut, ExtensionToolContext, ExtensionUIContext, ExtensionUIDialogOptions, ExtensionVirtualModel, ExtensionWidgetOptions, FindToolCallEvent, FindToolResultEvent, GetActiveToolsHandler, GetAllToolsHandler, GetCommandsHandler, GetThinkingLevelHandler, GrepToolCallEvent, GrepToolResultEvent, InlineExtension, InputEvent, InputEventResult, InputSource, KeybindingsManager, LoadExtensionsResult, LsToolCallEvent, LsToolResultEvent, MarkdownTransformContext, MarkdownTransformer, McpServersChangeEvent, MessageEndEvent, MessageEndEventResult, MessageRenderer, MessageRenderOptions, MessageStartEvent, MessageUpdateEvent, ModelSelectEvent, ModelSelectSource, NormalizedBuildSystemPromptOptions, PowerShellToolCallEvent, PowerShellToolResultEvent, ProjectTrustContext, ProjectTrustEvent, ProjectTrustEventDecision, ProjectTrustEventResult, ProjectTrustHandler, ProviderConfig, ProviderModelConfig, ProviderStreamEvent, ReadToolCallEvent, ReadToolResultEvent, RegisteredCommand, RegisteredTool, ReplacedSessionContext, ResolvedCommand, ResourcesDiscoverEvent, ResourcesDiscoverResult, SendMessageHandler, SendUserMessageHandler, SessionBeforeCompactEvent, SessionBeforeCompactResult, SessionBeforeForkEvent, SessionBeforeForkResult, SessionBeforeSwitchEvent, SessionBeforeSwitchResult, SessionBeforeTreeEvent, SessionBeforeTreeResult, SessionBoundaryDraft, SessionCompactEvent, SessionCompactFailedEvent, SessionEvent, SessionInfoChangedEvent, SessionShutdownEvent, SessionStartEvent, SessionTreeEvent, SetActiveToolsHandler, SetLabelHandler, SetModelHandler, SetThinkingLevelHandler, TerminalInputHandler, ThinkingLevelSelectEvent, ToolAnnotations, ToolCallEvent, ToolCallEventResult, ToolDefinition, ToolExecutionEndEvent, ToolExecutionMode, ToolExecutionStartEvent, ToolExecutionUpdateEvent, ToolExposure, ToolInfo, ToolLoadout, ToolLoadoutChanges, ToolNamespace, ToolRendererResolver, ToolRenderers, ToolRenderResultOptions, ToolResultEvent, ToolResultEventResult, TreePreparation, TurnEndEvent, TurnEndEventResult, TurnStartEvent, UIPromptEndEvent, UIPromptKind, UIPromptStartEvent, UserBashEvent, UserBashEventResult, WidgetPlacement, WorkingIndicatorOptions, WriteToolCallEvent, WriteToolResultEvent, } from "./types.ts";
11
11
  export { defineTool, isBashToolResult, isEditToolResult, isFindToolResult, isGrepToolResult, isLsToolResult, isPowerShellToolResult, isReadToolResult, isStaleExtensionContextError, isToolCallEventType, isWriteToolResult, } from "./types.ts";
12
12
  export { wrapRegisteredTool, wrapRegisteredTools } from "./wrapper.ts";
13
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/extensions/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/extensions/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/extensions/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAiBH,OAAO,EACN,sBAAsB,EACtB,yBAAyB,EACzB,wBAAwB,EACxB,cAAc,GACd,MAAM,aAAa,CAAC;AASrB,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAiM9C,cAAc;AACd,OAAO,EACN,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,sBAAsB,EACtB,gBAAgB,EAChB,4BAA4B,EAC5B,mBAAmB,EACnB,iBAAiB,GACjB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC","sourcesContent":["/**\n * Extension system for lifecycle events and custom tools.\n */\n\nexport type { SlashCommandInfo, SlashCommandSource } from \"../slash-commands.ts\";\nexport type { SourceInfo } from \"../source-info.ts\";\nexport type {\n\tTaskCompletion,\n\tTaskControl,\n\tTaskExecution,\n\tTaskKind,\n\tTaskMode,\n\tTaskRead,\n\tTaskSnapshot,\n\tTaskStatus,\n\tTasksContext,\n\tTaskTerminalStatus,\n\tTaskToolOutcome,\n} from \"../tasks/types.ts\";\nexport {\n\tcreateExtensionRuntime,\n\tdiscoverAndLoadExtensions,\n\tloadExtensionFromFactory,\n\tloadExtensions,\n} from \"./loader.ts\";\nexport type {\n\tExtensionErrorListener,\n\tForkHandler,\n\tNavigateTreeHandler,\n\tNewSessionHandler,\n\tShutdownHandler,\n\tSwitchSessionHandler,\n} from \"./runner.ts\";\nexport { ExtensionRunner } from \"./runner.ts\";\nexport type {\n\tAfterProviderResponseEvent,\n\tAgentActivityOutcome,\n\tAgentBeforeSettleEvent,\n\tAgentBeforeSettleEventResult,\n\tAgentEndEvent,\n\tAgentSettledEvent,\n\tAgentStartEvent,\n\t// Re-exports\n\tAgentToolResult,\n\tAgentToolUpdateCallback,\n\tAppendEntryHandler,\n\t// App keybindings (for custom editors)\n\tAppKeybinding,\n\tAutocompleteProviderFactory,\n\t// Events - Tool (ToolCallEvent types)\n\tBashToolCallEvent,\n\tBashToolResultEvent,\n\tBeforeAgentStartEvent,\n\tBeforeAgentStartEventResult,\n\tBeforeProviderHeadersEvent,\n\tBeforeProviderRequestEvent,\n\tBeforeProviderRequestEventResult,\n\tBoundaryContextPreview,\n\tBoundaryResult,\n\tBoundaryState,\n\tBuildSystemPromptOptions,\n\tCacheWarmingDecisionEvent,\n\tCacheWarmingDecisionEventResult,\n\tCompactionEntryDraft,\n\t// Context\n\tCompactOptions,\n\tContextEditEntryDraft,\n\t// Events - Agent\n\tContextEvent,\n\t// Event Results\n\tContextEventResult,\n\tContextSnapshot,\n\tContextUsage,\n\tContextWithSystemEvent,\n\tCustomEntryDraft,\n\tCustomMessageEntryDraft,\n\tCustomToolCallEvent,\n\tCustomToolResultEvent,\n\tEditorFactory,\n\tEditorHost,\n\tEditorSubmitEvent,\n\tEditorSubmitHandler,\n\tEditToolCallEvent,\n\tEditToolResultEvent,\n\t// Message and Entry Rendering\n\tEntryRenderer,\n\tEntryRenderOptions,\n\tExecOptions,\n\tExecResult,\n\tExecuteToolOptions,\n\tExtension,\n\tExtensionActions,\n\t// API\n\tExtensionAPI,\n\tExtensionCommandContext,\n\tExtensionCommandContextActions,\n\tExtensionContext,\n\tExtensionContextActions,\n\t// Errors\n\tExtensionError,\n\tExtensionEvent,\n\tExtensionFactory,\n\tExtensionFlag,\n\tExtensionHandler,\n\tExtensionMode,\n\t// Runtime\n\tExtensionRuntime,\n\tExtensionShortcut,\n\tExtensionToolContext,\n\tExtensionUIContext,\n\tExtensionUIDialogOptions,\n\tExtensionVirtualModel,\n\tExtensionWidgetOptions,\n\tFindToolCallEvent,\n\tFindToolResultEvent,\n\tGetActiveToolsHandler,\n\tGetAllToolsHandler,\n\tGetCommandsHandler,\n\tGetThinkingLevelHandler,\n\tGrepToolCallEvent,\n\tGrepToolResultEvent,\n\tInlineExtension,\n\t// Events - Input\n\tInputEvent,\n\tInputEventResult,\n\tInputSource,\n\tKeybindingsManager,\n\tLoadExtensionsResult,\n\tLsToolCallEvent,\n\tLsToolResultEvent,\n\tMarkdownTransformContext,\n\tMarkdownTransformer,\n\tMcpServersChangeEvent,\n\t// Events - Message\n\tMessageEndEvent,\n\tMessageEndEventResult,\n\tMessageRenderer,\n\tMessageRenderOptions,\n\tMessageStartEvent,\n\tMessageUpdateEvent,\n\tModelSelectEvent,\n\tModelSelectSource,\n\tNormalizedBuildSystemPromptOptions,\n\tPowerShellToolCallEvent,\n\tPowerShellToolResultEvent,\n\tProjectTrustContext,\n\tProjectTrustEvent,\n\tProjectTrustEventDecision,\n\tProjectTrustEventResult,\n\tProjectTrustHandler,\n\t// Provider Registration\n\tProviderConfig,\n\tProviderModelConfig,\n\tProviderStreamEvent,\n\tReadToolCallEvent,\n\tReadToolResultEvent,\n\t// Commands\n\tRegisteredCommand,\n\tRegisteredTool,\n\tReplacedSessionContext,\n\tResolvedCommand,\n\t// Events - Resources\n\tResourcesDiscoverEvent,\n\tResourcesDiscoverResult,\n\tSendMessageHandler,\n\tSendUserMessageHandler,\n\tSessionBeforeCompactEvent,\n\tSessionBeforeCompactResult,\n\tSessionBeforeForkEvent,\n\tSessionBeforeForkResult,\n\tSessionBeforeSwitchEvent,\n\tSessionBeforeSwitchResult,\n\tSessionBeforeTreeEvent,\n\tSessionBeforeTreeResult,\n\tSessionBoundaryDraft,\n\tSessionCompactEvent,\n\tSessionCompactFailedEvent,\n\tSessionEvent,\n\tSessionInfoChangedEvent,\n\tSessionShutdownEvent,\n\t// Events - Session\n\tSessionStartEvent,\n\tSessionTreeEvent,\n\tSetActiveToolsHandler,\n\tSetLabelHandler,\n\tSetModelHandler,\n\tSetThinkingLevelHandler,\n\tTerminalInputHandler,\n\tThinkingLevelSelectEvent,\n\tToolAnnotations,\n\t// Events - Tool\n\tToolCallEvent,\n\tToolCallEventResult,\n\t// Tools\n\tToolDefinition,\n\t// Events - Tool Execution\n\tToolExecutionEndEvent,\n\t// Tool execution mode\n\tToolExecutionMode,\n\tToolExecutionStartEvent,\n\tToolExecutionUpdateEvent,\n\tToolExposure,\n\tToolInfo,\n\tToolLoadout,\n\tToolLoadoutChanges,\n\tToolNamespace,\n\tToolRendererResolver,\n\tToolRenderers,\n\tToolRenderResultOptions,\n\tToolResultEvent,\n\tToolResultEventResult,\n\tTreePreparation,\n\tTurnEndEvent,\n\tTurnEndEventResult,\n\tTurnStartEvent,\n\tUIPromptEndEvent,\n\tUIPromptKind,\n\tUIPromptStartEvent,\n\t// Events - User Bash\n\tUserBashEvent,\n\tUserBashEventResult,\n\tWidgetPlacement,\n\tWorkingIndicatorOptions,\n\tWriteToolCallEvent,\n\tWriteToolResultEvent,\n} from \"./types.ts\";\n// Type guards\nexport {\n\tdefineTool,\n\tisBashToolResult,\n\tisEditToolResult,\n\tisFindToolResult,\n\tisGrepToolResult,\n\tisLsToolResult,\n\tisPowerShellToolResult,\n\tisReadToolResult,\n\tisStaleExtensionContextError,\n\tisToolCallEventType,\n\tisWriteToolResult,\n} from \"./types.ts\";\nexport { wrapRegisteredTool, wrapRegisteredTools } from \"./wrapper.ts\";\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/extensions/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAiBH,OAAO,EACN,sBAAsB,EACtB,yBAAyB,EACzB,wBAAwB,EACxB,cAAc,GACd,MAAM,aAAa,CAAC;AASrB,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAmM9C,cAAc;AACd,OAAO,EACN,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,sBAAsB,EACtB,gBAAgB,EAChB,4BAA4B,EAC5B,mBAAmB,EACnB,iBAAiB,GACjB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC","sourcesContent":["/**\n * Extension system for lifecycle events and custom tools.\n */\n\nexport type { SlashCommandInfo, SlashCommandSource } from \"../slash-commands.ts\";\nexport type { SourceInfo } from \"../source-info.ts\";\nexport type {\n\tTaskCompletion,\n\tTaskControl,\n\tTaskExecution,\n\tTaskKind,\n\tTaskMode,\n\tTaskRead,\n\tTaskSnapshot,\n\tTaskStatus,\n\tTasksContext,\n\tTaskTerminalStatus,\n\tTaskToolOutcome,\n} from \"../tasks/types.ts\";\nexport {\n\tcreateExtensionRuntime,\n\tdiscoverAndLoadExtensions,\n\tloadExtensionFromFactory,\n\tloadExtensions,\n} from \"./loader.ts\";\nexport type {\n\tExtensionErrorListener,\n\tForkHandler,\n\tNavigateTreeHandler,\n\tNewSessionHandler,\n\tShutdownHandler,\n\tSwitchSessionHandler,\n} from \"./runner.ts\";\nexport { ExtensionRunner } from \"./runner.ts\";\nexport type {\n\tAfterProviderResponseEvent,\n\tAgentActivityOutcome,\n\tAgentBeforeSettleEvent,\n\tAgentBeforeSettleEventResult,\n\tAgentEndEvent,\n\tAgentSettledEvent,\n\tAgentStartEvent,\n\t// Re-exports\n\tAgentToolResult,\n\tAgentToolUpdateCallback,\n\tAppendEntryHandler,\n\t// App keybindings (for custom editors)\n\tAppKeybinding,\n\tAutocompleteProviderFactory,\n\t// Events - Tool (ToolCallEvent types)\n\tBashToolCallEvent,\n\tBashToolResultEvent,\n\tBeforeAgentStartCustomEvent,\n\tBeforeAgentStartEvent,\n\tBeforeAgentStartEventResult,\n\tBeforeAgentStartUserEvent,\n\tBeforeProviderHeadersEvent,\n\tBeforeProviderRequestEvent,\n\tBeforeProviderRequestEventResult,\n\tBoundaryContextPreview,\n\tBoundaryResult,\n\tBoundaryState,\n\tBuildSystemPromptOptions,\n\tCacheWarmingDecisionEvent,\n\tCacheWarmingDecisionEventResult,\n\tCompactionEntryDraft,\n\t// Context\n\tCompactOptions,\n\tContextEditEntryDraft,\n\t// Events - Agent\n\tContextEvent,\n\t// Event Results\n\tContextEventResult,\n\tContextSnapshot,\n\tContextUsage,\n\tContextWithSystemEvent,\n\tCustomEntryDraft,\n\tCustomMessageEntryDraft,\n\tCustomToolCallEvent,\n\tCustomToolResultEvent,\n\tEditorFactory,\n\tEditorHost,\n\tEditorSubmitEvent,\n\tEditorSubmitHandler,\n\tEditToolCallEvent,\n\tEditToolResultEvent,\n\t// Message and Entry Rendering\n\tEntryRenderer,\n\tEntryRenderOptions,\n\tExecOptions,\n\tExecResult,\n\tExecuteToolOptions,\n\tExtension,\n\tExtensionActions,\n\t// API\n\tExtensionAPI,\n\tExtensionCommandContext,\n\tExtensionCommandContextActions,\n\tExtensionContext,\n\tExtensionContextActions,\n\t// Errors\n\tExtensionError,\n\tExtensionEvent,\n\tExtensionFactory,\n\tExtensionFlag,\n\tExtensionHandler,\n\tExtensionMode,\n\t// Runtime\n\tExtensionRuntime,\n\tExtensionShortcut,\n\tExtensionToolContext,\n\tExtensionUIContext,\n\tExtensionUIDialogOptions,\n\tExtensionVirtualModel,\n\tExtensionWidgetOptions,\n\tFindToolCallEvent,\n\tFindToolResultEvent,\n\tGetActiveToolsHandler,\n\tGetAllToolsHandler,\n\tGetCommandsHandler,\n\tGetThinkingLevelHandler,\n\tGrepToolCallEvent,\n\tGrepToolResultEvent,\n\tInlineExtension,\n\t// Events - Input\n\tInputEvent,\n\tInputEventResult,\n\tInputSource,\n\tKeybindingsManager,\n\tLoadExtensionsResult,\n\tLsToolCallEvent,\n\tLsToolResultEvent,\n\tMarkdownTransformContext,\n\tMarkdownTransformer,\n\tMcpServersChangeEvent,\n\t// Events - Message\n\tMessageEndEvent,\n\tMessageEndEventResult,\n\tMessageRenderer,\n\tMessageRenderOptions,\n\tMessageStartEvent,\n\tMessageUpdateEvent,\n\tModelSelectEvent,\n\tModelSelectSource,\n\tNormalizedBuildSystemPromptOptions,\n\tPowerShellToolCallEvent,\n\tPowerShellToolResultEvent,\n\tProjectTrustContext,\n\tProjectTrustEvent,\n\tProjectTrustEventDecision,\n\tProjectTrustEventResult,\n\tProjectTrustHandler,\n\t// Provider Registration\n\tProviderConfig,\n\tProviderModelConfig,\n\tProviderStreamEvent,\n\tReadToolCallEvent,\n\tReadToolResultEvent,\n\t// Commands\n\tRegisteredCommand,\n\tRegisteredTool,\n\tReplacedSessionContext,\n\tResolvedCommand,\n\t// Events - Resources\n\tResourcesDiscoverEvent,\n\tResourcesDiscoverResult,\n\tSendMessageHandler,\n\tSendUserMessageHandler,\n\tSessionBeforeCompactEvent,\n\tSessionBeforeCompactResult,\n\tSessionBeforeForkEvent,\n\tSessionBeforeForkResult,\n\tSessionBeforeSwitchEvent,\n\tSessionBeforeSwitchResult,\n\tSessionBeforeTreeEvent,\n\tSessionBeforeTreeResult,\n\tSessionBoundaryDraft,\n\tSessionCompactEvent,\n\tSessionCompactFailedEvent,\n\tSessionEvent,\n\tSessionInfoChangedEvent,\n\tSessionShutdownEvent,\n\t// Events - Session\n\tSessionStartEvent,\n\tSessionTreeEvent,\n\tSetActiveToolsHandler,\n\tSetLabelHandler,\n\tSetModelHandler,\n\tSetThinkingLevelHandler,\n\tTerminalInputHandler,\n\tThinkingLevelSelectEvent,\n\tToolAnnotations,\n\t// Events - Tool\n\tToolCallEvent,\n\tToolCallEventResult,\n\t// Tools\n\tToolDefinition,\n\t// Events - Tool Execution\n\tToolExecutionEndEvent,\n\t// Tool execution mode\n\tToolExecutionMode,\n\tToolExecutionStartEvent,\n\tToolExecutionUpdateEvent,\n\tToolExposure,\n\tToolInfo,\n\tToolLoadout,\n\tToolLoadoutChanges,\n\tToolNamespace,\n\tToolRendererResolver,\n\tToolRenderers,\n\tToolRenderResultOptions,\n\tToolResultEvent,\n\tToolResultEventResult,\n\tTreePreparation,\n\tTurnEndEvent,\n\tTurnEndEventResult,\n\tTurnStartEvent,\n\tUIPromptEndEvent,\n\tUIPromptKind,\n\tUIPromptStartEvent,\n\t// Events - User Bash\n\tUserBashEvent,\n\tUserBashEventResult,\n\tWidgetPlacement,\n\tWorkingIndicatorOptions,\n\tWriteToolCallEvent,\n\tWriteToolResultEvent,\n} from \"./types.ts\";\n// Type guards\nexport {\n\tdefineTool,\n\tisBashToolResult,\n\tisEditToolResult,\n\tisFindToolResult,\n\tisGrepToolResult,\n\tisLsToolResult,\n\tisPowerShellToolResult,\n\tisReadToolResult,\n\tisStaleExtensionContextError,\n\tisToolCallEventType,\n\tisWriteToolResult,\n} from \"./types.ts\";\nexport { wrapRegisteredTool, wrapRegisteredTools } from \"./wrapper.ts\";\n"]}
@@ -11,7 +11,9 @@ import type { ModelRegistry } from "../model-registry.ts";
11
11
  import type { SessionManager } from "../session-manager.ts";
12
12
  import { type BuildSystemPromptOptions, type NormalizedBuildSystemPromptOptions } from "../system-prompt.ts";
13
13
  import type { VirtualModelDefinition } from "../virtual-models.ts";
14
- import type { AgentBeforeSettleEvent, BeforeAgentStartEvent, BeforeAgentStartEventResult, BeforeProviderHeadersEvent, BeforeProviderRequestEvent, BoundaryContextPreview, CacheWarmingDecisionEvent, ContextEvent, ContextWithSystemEvent, EntryRenderer, Extension, ExtensionActions, ExtensionCommandContext, ExtensionCommandContextActions, ExtensionContext, ExtensionContextActions, ExtensionError, ExtensionEvent, ExtensionFlag, ExtensionMode, ExtensionRuntime, ExtensionShortcut, ExtensionToolContext, ExtensionUIContext, InputEvent, InputEventResult, InputSource, LoadExtensionsResult, MarkdownTransformer, MessageEndEvent, MessageRenderer, ProjectTrustContext, ProjectTrustEvent, ProjectTrustEventResult, ProviderConfig, RegisteredTool, ReplacedSessionContext, ResolvedCommand, ResourcesDiscoverEvent, SessionBeforeCompactResult, SessionBeforeForkResult, SessionBeforeSwitchResult, SessionBeforeTreeResult, SessionBoundaryDraft, SessionShutdownEvent, ToolCallEvent, ToolCallEventResult, ToolRenderers, ToolResultEvent, ToolResultEventResult, TurnEndEvent, UserBashEvent, UserBashEventResult } from "./types.ts";
14
+ import type { AgentBeforeSettleEvent, BeforeAgentStartCustomEvent, BeforeAgentStartEvent, BeforeAgentStartEventResult, BeforeAgentStartUserEvent, BeforeProviderHeadersEvent, BeforeProviderRequestEvent, BoundaryContextPreview, CacheWarmingDecisionEvent, ContextEvent, ContextWithSystemEvent, EntryRenderer, Extension, ExtensionActions, ExtensionCommandContext, ExtensionCommandContextActions, ExtensionContext, ExtensionContextActions, ExtensionError, ExtensionEvent, ExtensionFlag, ExtensionMode, ExtensionRuntime, ExtensionShortcut, ExtensionToolContext, ExtensionUIContext, InputEvent, InputEventResult, InputSource, LoadExtensionsResult, MarkdownTransformer, MessageEndEvent, MessageRenderer, ProjectTrustContext, ProjectTrustEvent, ProjectTrustEventResult, ProviderConfig, RegisteredTool, ReplacedSessionContext, ResolvedCommand, ResourcesDiscoverEvent, SessionBeforeCompactResult, SessionBeforeForkResult, SessionBeforeSwitchResult, SessionBeforeTreeResult, SessionBoundaryDraft, SessionShutdownEvent, ToolCallEvent, ToolCallEventResult, ToolRenderers, ToolResultEvent, ToolResultEventResult, TurnEndEvent, UserBashEvent, UserBashEventResult } from "./types.ts";
15
+ /** The message that starts a run: the before_agent_start event without its prompt fields. */
16
+ export type BeforeAgentStartTrigger = Pick<BeforeAgentStartUserEvent, "messageType" | "prompt" | "images"> | Pick<BeforeAgentStartCustomEvent, "messageType" | "message">;
15
17
  /** Combined result from all before_agent_start handlers. */
16
18
  interface BeforeAgentStartCombinedResult {
17
19
  messages: NonNullable<BeforeAgentStartEventResult["message"]>[];
@@ -196,7 +198,7 @@ export declare class ExtensionRunner {
196
198
  emitContext(messages: AgentMessage[]): Promise<AgentMessage[]>;
197
199
  emitBeforeProviderRequest(payload: unknown): Promise<unknown>;
198
200
  emitBeforeProviderHeaders(headers: ProviderHeaders): Promise<ProviderHeaders>;
199
- emitBeforeAgentStart(prompt: string, images: ImageContent[] | undefined, systemPromptOptions: BuildSystemPromptOptions): Promise<BeforeAgentStartCombinedResult>;
201
+ emitBeforeAgentStart(trigger: BeforeAgentStartTrigger, systemPromptOptions: BuildSystemPromptOptions): Promise<BeforeAgentStartCombinedResult>;
200
202
  emitResourcesDiscover(cwd: string, reason: ResourcesDiscoverEvent["reason"]): Promise<{
201
203
  skillPaths: Array<{
202
204
  path: string;
@@ -1 +1 @@
1
- {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../../src/core/extensions/runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../../src/core/extensions/runner.ts"],"names":[],"mappings":"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"}
@@ -1150,7 +1150,7 @@ export class ExtensionRunner {
1150
1150
  }
1151
1151
  return headers;
1152
1152
  }
1153
- async emitBeforeAgentStart(prompt, images, systemPromptOptions) {
1153
+ async emitBeforeAgentStart(trigger, systemPromptOptions) {
1154
1154
  const currentOptions = normalizeBuildSystemPromptOptions(systemPromptOptions);
1155
1155
  const renderCurrentSystemPrompt = () => buildSystemPrompt(currentOptions);
1156
1156
  const ctx = Object.defineProperties({}, Object.getOwnPropertyDescriptors(this.createContext()));
@@ -1163,9 +1163,8 @@ export class ExtensionRunner {
1163
1163
  for (const handler of handlers) {
1164
1164
  try {
1165
1165
  const event = {
1166
+ ...trigger,
1166
1167
  type: "before_agent_start",
1167
- prompt,
1168
- images,
1169
1168
  get systemPrompt() {
1170
1169
  return renderCurrentSystemPrompt();
1171
1170
  },