@bastani/atomic 0.9.19-alpha.1 → 0.9.19-alpha.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (720) hide show
  1. package/CHANGELOG.md +108 -0
  2. package/dist/builtin/intercom/CHANGELOG.md +23 -0
  3. package/dist/builtin/intercom/README.md +21 -11
  4. package/dist/builtin/intercom/broker/broker.ts +81 -9
  5. package/dist/builtin/intercom/broker/client.ts +22 -0
  6. package/dist/builtin/intercom/broker/framing.ts +5 -2
  7. package/dist/builtin/intercom/broker/group-membership.ts +4 -2
  8. package/dist/builtin/intercom/broker/presence-handler.ts +14 -0
  9. package/dist/builtin/intercom/broker/send-handler.ts +43 -5
  10. package/dist/builtin/intercom/broker/terminal-questions.ts +29 -0
  11. package/dist/builtin/intercom/index.bundle.mjs +978 -742
  12. package/dist/builtin/intercom/package.json +2 -2
  13. package/dist/builtin/intercom/recipient-purpose.ts +9 -0
  14. package/dist/builtin/intercom/recoverable-disconnect.ts +2 -3
  15. package/dist/builtin/intercom/retry-policy.ts +4 -2
  16. package/dist/builtin/intercom/skills/intercom/SKILL.md +5 -4
  17. package/dist/builtin/intercom/types.ts +18 -3
  18. package/dist/builtin/mcp/CHANGELOG.md +6 -0
  19. package/dist/builtin/mcp/README.md +2 -0
  20. package/dist/builtin/mcp/index.bundle.mjs +2201 -12000
  21. package/dist/builtin/mcp/package.json +2 -2
  22. package/dist/builtin/subagents/CHANGELOG.md +33 -0
  23. package/dist/builtin/subagents/README.md +35 -14
  24. package/dist/builtin/subagents/agents/code-simplifier.md +1 -1
  25. package/dist/builtin/subagents/agents/codebase-analyzer.md +1 -1
  26. package/dist/builtin/subagents/agents/codebase-locator.md +2 -2
  27. package/dist/builtin/subagents/agents/codebase-online-researcher.md +1 -1
  28. package/dist/builtin/subagents/agents/codebase-pattern-finder.md +2 -2
  29. package/dist/builtin/subagents/agents/codebase-research-analyzer.md +1 -1
  30. package/dist/builtin/subagents/agents/codebase-research-locator.md +2 -2
  31. package/dist/builtin/subagents/agents/debugger.md +1 -1
  32. package/dist/builtin/subagents/agents/worker.md +1 -1
  33. package/dist/builtin/subagents/package.json +2 -2
  34. package/dist/builtin/subagents/skills/herdr/LICENSE +201 -0
  35. package/dist/builtin/subagents/skills/herdr/SKILL.md +202 -0
  36. package/dist/builtin/subagents/skills/subagent/SKILL.md +14 -10
  37. package/dist/builtin/subagents/skills/tmux/SKILL.md +1 -1
  38. package/dist/builtin/subagents/src/extension/index.bundle.mjs +1286 -611
  39. package/dist/builtin/web-access/index.bundle.mjs +26280 -26274
  40. package/dist/builtin/web-access/package.json +2 -2
  41. package/dist/builtin/workflows/CHANGELOG.md +51 -0
  42. package/dist/builtin/workflows/README.md +1 -1
  43. package/dist/builtin/workflows/builtin/adversarial-verification.js +5 -7
  44. package/dist/builtin/workflows/builtin/{chunk-reqr3sr3.js → chunk-1kx4aggw.js} +22 -22
  45. package/dist/builtin/workflows/builtin/{chunk-42s7sw0b.js → chunk-62v3gg9f.js} +9 -9
  46. package/dist/builtin/workflows/builtin/{chunk-wgccch41.js → chunk-6w6cvk6b.js} +16 -16
  47. package/dist/builtin/workflows/builtin/{chunk-zbekjqew.js → chunk-a2kdsqn8.js} +4 -4
  48. package/dist/builtin/workflows/builtin/{chunk-ze5x3d1r.js → chunk-fg9esgkj.js} +7 -7
  49. package/dist/builtin/workflows/builtin/{chunk-n8h4yyew.js → chunk-g0csgs7w.js} +11 -11
  50. package/dist/builtin/workflows/builtin/{chunk-79fjkcvh.js → chunk-hbnwv56f.js} +17 -17
  51. package/dist/builtin/workflows/builtin/{chunk-ed4jfn5t.js → chunk-mygmtz6e.js} +43 -43
  52. package/dist/builtin/workflows/builtin/{chunk-7430zyas.js → chunk-p8jjwfg6.js} +1 -1
  53. package/dist/builtin/workflows/builtin/{chunk-hqpe2cyx.js → chunk-r9qq7xfj.js} +49 -49
  54. package/dist/builtin/workflows/builtin/{chunk-k3w87x8y.js → chunk-t6x2d78s.js} +10 -10
  55. package/dist/builtin/workflows/builtin/{chunk-6fqs7c01.js → chunk-z0d03ktm.js} +1 -1
  56. package/dist/builtin/workflows/builtin/{chunk-b0v2xab1.js → chunk-zggjyg5z.js} +221 -23
  57. package/dist/builtin/workflows/builtin/classify-and-act.js +5 -6
  58. package/dist/builtin/workflows/builtin/fan-out-and-synthesize.js +3 -4
  59. package/dist/builtin/workflows/builtin/generate-and-filter.js +5 -6
  60. package/dist/builtin/workflows/builtin/goal.js +7 -8
  61. package/dist/builtin/workflows/builtin/index.js +20 -22
  62. package/dist/builtin/workflows/builtin/loop-until-done.js +5 -6
  63. package/dist/builtin/workflows/builtin/open-claude-design.js +3 -3
  64. package/dist/builtin/workflows/builtin/ralph.js +7 -8
  65. package/dist/builtin/workflows/builtin/steering-context.js +3 -3
  66. package/dist/builtin/workflows/builtin/tournament.js +5 -7
  67. package/dist/builtin/workflows/package.json +2 -2
  68. package/dist/builtin/workflows/src/extension/index.bundle.mjs +26708 -25862
  69. package/dist/builtin/workflows/src/index.js +921 -477
  70. package/dist/cli/config-selector.js.map +1 -1
  71. package/dist/cli/startup-ui.d.ts +1 -1
  72. package/dist/cli/startup-ui.js.map +1 -1
  73. package/dist/core/agent-session-auto-compaction.d.ts.map +1 -1
  74. package/dist/core/agent-session-auto-compaction.js +5 -4
  75. package/dist/core/agent-session-auto-compaction.js.map +1 -1
  76. package/dist/core/agent-session-bash.d.ts +1 -1
  77. package/dist/core/agent-session-bash.d.ts.map +1 -1
  78. package/dist/core/agent-session-bash.js +5 -1
  79. package/dist/core/agent-session-bash.js.map +1 -1
  80. package/dist/core/agent-session-compaction.d.ts +1 -1
  81. package/dist/core/agent-session-compaction.js.map +1 -1
  82. package/dist/core/agent-session-custom-message-commit.d.ts +1 -1
  83. package/dist/core/agent-session-custom-message-commit.js.map +1 -1
  84. package/dist/core/agent-session-delivery-forwarding.d.ts +1 -1
  85. package/dist/core/agent-session-delivery-forwarding.js.map +1 -1
  86. package/dist/core/agent-session-events.d.ts.map +1 -1
  87. package/dist/core/agent-session-events.js +5 -0
  88. package/dist/core/agent-session-events.js.map +1 -1
  89. package/dist/core/agent-session-export.d.ts +1 -1
  90. package/dist/core/agent-session-export.js.map +1 -1
  91. package/dist/core/agent-session-extension-bindings.d.ts +8 -1
  92. package/dist/core/agent-session-extension-bindings.d.ts.map +1 -1
  93. package/dist/core/agent-session-extension-bindings.js +45 -3
  94. package/dist/core/agent-session-extension-bindings.js.map +1 -1
  95. package/dist/core/agent-session-message-queue.d.ts +1 -1
  96. package/dist/core/agent-session-message-queue.d.ts.map +1 -1
  97. package/dist/core/agent-session-message-queue.js +2 -2
  98. package/dist/core/agent-session-message-queue.js.map +1 -1
  99. package/dist/core/agent-session-methods.d.ts +17 -7
  100. package/dist/core/agent-session-methods.d.ts.map +1 -1
  101. package/dist/core/agent-session-methods.js.map +1 -1
  102. package/dist/core/agent-session-prompt.d.ts +2 -2
  103. package/dist/core/agent-session-prompt.d.ts.map +1 -1
  104. package/dist/core/agent-session-prompt.js +22 -18
  105. package/dist/core/agent-session-prompt.js.map +1 -1
  106. package/dist/core/agent-session-runtime-auth.d.ts +1 -1
  107. package/dist/core/agent-session-runtime-auth.js.map +1 -1
  108. package/dist/core/agent-session-runtime.d.ts +13 -4
  109. package/dist/core/agent-session-runtime.d.ts.map +1 -1
  110. package/dist/core/agent-session-runtime.js +27 -4
  111. package/dist/core/agent-session-runtime.js.map +1 -1
  112. package/dist/core/agent-session-services.d.ts +5 -1
  113. package/dist/core/agent-session-services.d.ts.map +1 -1
  114. package/dist/core/agent-session-services.js +44 -34
  115. package/dist/core/agent-session-services.js.map +1 -1
  116. package/dist/core/agent-session-state.d.ts +1 -1
  117. package/dist/core/agent-session-state.js.map +1 -1
  118. package/dist/core/agent-session-tasks.d.ts +14 -0
  119. package/dist/core/agent-session-tasks.d.ts.map +1 -0
  120. package/dist/core/agent-session-tasks.js +120 -0
  121. package/dist/core/agent-session-tasks.js.map +1 -0
  122. package/dist/core/agent-session-tool-registry.d.ts +1 -0
  123. package/dist/core/agent-session-tool-registry.d.ts.map +1 -1
  124. package/dist/core/agent-session-tool-registry.js +30 -5
  125. package/dist/core/agent-session-tool-registry.js.map +1 -1
  126. package/dist/core/agent-session-tree.d.ts.map +1 -1
  127. package/dist/core/agent-session-tree.js +3 -0
  128. package/dist/core/agent-session-tree.js.map +1 -1
  129. package/dist/core/agent-session-types.d.ts +2 -2
  130. package/dist/core/agent-session-types.js.map +1 -1
  131. package/dist/core/agent-session.d.ts +4 -1
  132. package/dist/core/agent-session.d.ts.map +1 -1
  133. package/dist/core/agent-session.js +7 -1
  134. package/dist/core/agent-session.js.map +1 -1
  135. package/dist/core/bash-executor.d.ts +1 -1
  136. package/dist/core/bash-executor.js.map +1 -1
  137. package/dist/core/export-html/index.js.map +1 -1
  138. package/dist/core/export-html/tool-renderer.d.ts +1 -1
  139. package/dist/core/export-html/tool-renderer.js.map +1 -1
  140. package/dist/core/extension-session-state.js.map +1 -1
  141. package/dist/core/extensions/agent-events.d.ts +4 -4
  142. package/dist/core/extensions/agent-events.d.ts.map +1 -1
  143. package/dist/core/extensions/agent-events.js.map +1 -1
  144. package/dist/core/extensions/api-types.d.ts +8 -2
  145. package/dist/core/extensions/api-types.d.ts.map +1 -1
  146. package/dist/core/extensions/api-types.js.map +1 -1
  147. package/dist/core/extensions/context-types.d.ts +9 -0
  148. package/dist/core/extensions/context-types.d.ts.map +1 -1
  149. package/dist/core/extensions/context-types.js.map +1 -1
  150. package/dist/core/extensions/event-results.d.ts +1 -1
  151. package/dist/core/extensions/event-results.js.map +1 -1
  152. package/dist/core/extensions/event-types.d.ts +2 -1
  153. package/dist/core/extensions/event-types.d.ts.map +1 -1
  154. package/dist/core/extensions/event-types.js.map +1 -1
  155. package/dist/core/extensions/index.d.ts +2 -1
  156. package/dist/core/extensions/index.d.ts.map +1 -1
  157. package/dist/core/extensions/index.js.map +1 -1
  158. package/dist/core/extensions/loader-api.d.ts +1 -1
  159. package/dist/core/extensions/loader-api.d.ts.map +1 -1
  160. package/dist/core/extensions/loader-api.js +10 -0
  161. package/dist/core/extensions/loader-api.js.map +1 -1
  162. package/dist/core/extensions/loader-core.d.ts +1 -1
  163. package/dist/core/extensions/loader-core.js.map +1 -1
  164. package/dist/core/extensions/loader-discovery.d.ts +1 -1
  165. package/dist/core/extensions/loader-discovery.js.map +1 -1
  166. package/dist/core/extensions/loader-host-modules.d.ts +1 -1
  167. package/dist/core/extensions/loader-host-modules.d.ts.map +1 -1
  168. package/dist/core/extensions/loader-host-modules.js +2 -1
  169. package/dist/core/extensions/loader-host-modules.js.map +1 -1
  170. package/dist/core/extensions/loader-runtime.d.ts.map +1 -1
  171. package/dist/core/extensions/loader-runtime.js +3 -0
  172. package/dist/core/extensions/loader-runtime.js.map +1 -1
  173. package/dist/core/extensions/loader-virtual-modules.d.ts.map +1 -1
  174. package/dist/core/extensions/loader-virtual-modules.js +4 -1
  175. package/dist/core/extensions/loader-virtual-modules.js.map +1 -1
  176. package/dist/core/extensions/loader.d.ts +1 -1
  177. package/dist/core/extensions/loader.js.map +1 -1
  178. package/dist/core/extensions/message-types.d.ts +1 -1
  179. package/dist/core/extensions/message-types.js.map +1 -1
  180. package/dist/core/extensions/runner-context.d.ts +11 -1
  181. package/dist/core/extensions/runner-context.d.ts.map +1 -1
  182. package/dist/core/extensions/runner-context.js +41 -2
  183. package/dist/core/extensions/runner-context.js.map +1 -1
  184. package/dist/core/extensions/runner-events.d.ts +1 -1
  185. package/dist/core/extensions/runner-events.d.ts.map +1 -1
  186. package/dist/core/extensions/runner-events.js +17 -2
  187. package/dist/core/extensions/runner-events.js.map +1 -1
  188. package/dist/core/extensions/runner-ui.js.map +1 -1
  189. package/dist/core/extensions/runner.d.ts +17 -2
  190. package/dist/core/extensions/runner.d.ts.map +1 -1
  191. package/dist/core/extensions/runner.js +68 -18
  192. package/dist/core/extensions/runner.js.map +1 -1
  193. package/dist/core/extensions/runtime-types.d.ts +4 -1
  194. package/dist/core/extensions/runtime-types.d.ts.map +1 -1
  195. package/dist/core/extensions/runtime-types.js.map +1 -1
  196. package/dist/core/extensions/tool-types.d.ts +1 -1
  197. package/dist/core/extensions/tool-types.js.map +1 -1
  198. package/dist/core/extensions/types.d.ts +1 -0
  199. package/dist/core/extensions/types.d.ts.map +1 -1
  200. package/dist/core/extensions/types.js.map +1 -1
  201. package/dist/core/extensions/ui-types.d.ts +5 -1
  202. package/dist/core/extensions/ui-types.d.ts.map +1 -1
  203. package/dist/core/extensions/ui-types.js.map +1 -1
  204. package/dist/core/extensions/workflow-activity-hub.d.ts +25 -0
  205. package/dist/core/extensions/workflow-activity-hub.d.ts.map +1 -0
  206. package/dist/core/extensions/workflow-activity-hub.js +183 -0
  207. package/dist/core/extensions/workflow-activity-hub.js.map +1 -0
  208. package/dist/core/extensions/workflow-events.d.ts +118 -0
  209. package/dist/core/extensions/workflow-events.d.ts.map +1 -0
  210. package/dist/core/extensions/workflow-events.js +2 -0
  211. package/dist/core/extensions/workflow-events.js.map +1 -0
  212. package/dist/core/footer-data-provider.d.ts +8 -4
  213. package/dist/core/footer-data-provider.d.ts.map +1 -1
  214. package/dist/core/footer-data-provider.js +97 -11
  215. package/dist/core/footer-data-provider.js.map +1 -1
  216. package/dist/core/index.d.ts +3 -3
  217. package/dist/core/index.js.map +1 -1
  218. package/dist/core/keybindings.d.ts +27 -2
  219. package/dist/core/keybindings.d.ts.map +1 -1
  220. package/dist/core/keybindings.js +7 -2
  221. package/dist/core/keybindings.js.map +1 -1
  222. package/dist/core/mandatory-runtime-tools.d.ts +1 -1
  223. package/dist/core/mandatory-runtime-tools.js.map +1 -1
  224. package/dist/core/model-fallback-failures.js +2 -2
  225. package/dist/core/model-fallback-failures.js.map +1 -1
  226. package/dist/core/model-registry.d.ts +5 -1
  227. package/dist/core/model-registry.d.ts.map +1 -1
  228. package/dist/core/model-registry.js +8 -0
  229. package/dist/core/model-registry.js.map +1 -1
  230. package/dist/core/model-resolver-defaults.js +1 -1
  231. package/dist/core/model-resolver-defaults.js.map +1 -1
  232. package/dist/core/resource-loader-assets.js.map +1 -1
  233. package/dist/core/resource-loader-core.d.ts +1 -1
  234. package/dist/core/resource-loader-core.js.map +1 -1
  235. package/dist/core/resource-loader-internals.d.ts +2 -2
  236. package/dist/core/resource-loader-internals.js.map +1 -1
  237. package/dist/core/resource-loader-reload.d.ts +2 -0
  238. package/dist/core/resource-loader-reload.d.ts.map +1 -1
  239. package/dist/core/resource-loader-reload.js +231 -191
  240. package/dist/core/resource-loader-reload.js.map +1 -1
  241. package/dist/core/resource-loader-types.d.ts +4 -2
  242. package/dist/core/resource-loader-types.d.ts.map +1 -1
  243. package/dist/core/resource-loader-types.js.map +1 -1
  244. package/dist/core/retry-policy.d.ts +1 -0
  245. package/dist/core/retry-policy.d.ts.map +1 -1
  246. package/dist/core/retry-policy.js +2 -1
  247. package/dist/core/retry-policy.js.map +1 -1
  248. package/dist/core/sdk-exports.d.ts +2 -2
  249. package/dist/core/sdk-exports.js.map +1 -1
  250. package/dist/core/sdk-types.d.ts +2 -2
  251. package/dist/core/sdk-types.js.map +1 -1
  252. package/dist/core/sdk.js.map +1 -1
  253. package/dist/core/settings-manager-basic-accessors.d.ts +1 -0
  254. package/dist/core/settings-manager-basic-accessors.d.ts.map +1 -1
  255. package/dist/core/settings-manager-basic-accessors.js +2 -0
  256. package/dist/core/settings-manager-basic-accessors.js.map +1 -1
  257. package/dist/core/settings-manager-core.d.ts.map +1 -1
  258. package/dist/core/settings-manager-core.js +10 -4
  259. package/dist/core/settings-manager-core.js.map +1 -1
  260. package/dist/core/settings-storage.d.ts +1 -0
  261. package/dist/core/settings-storage.d.ts.map +1 -1
  262. package/dist/core/settings-storage.js +18 -0
  263. package/dist/core/settings-storage.js.map +1 -1
  264. package/dist/core/settings-types.d.ts +12 -0
  265. package/dist/core/settings-types.d.ts.map +1 -1
  266. package/dist/core/settings-types.js.map +1 -1
  267. package/dist/core/slash-commands.d.ts.map +1 -1
  268. package/dist/core/slash-commands.js +2 -0
  269. package/dist/core/slash-commands.js.map +1 -1
  270. package/dist/core/system-prompt.d.ts.map +1 -1
  271. package/dist/core/system-prompt.js +5 -6
  272. package/dist/core/system-prompt.js.map +1 -1
  273. package/dist/core/tasks/agent-adapter.d.ts +41 -0
  274. package/dist/core/tasks/agent-adapter.d.ts.map +1 -0
  275. package/dist/core/tasks/agent-adapter.js +105 -0
  276. package/dist/core/tasks/agent-adapter.js.map +1 -0
  277. package/dist/core/tasks/command-output.d.ts +15 -0
  278. package/dist/core/tasks/command-output.d.ts.map +1 -0
  279. package/dist/core/tasks/command-output.js +29 -0
  280. package/dist/core/tasks/command-output.js.map +1 -0
  281. package/dist/core/tasks/completion-ordering.d.ts +11 -0
  282. package/dist/core/tasks/completion-ordering.d.ts.map +1 -0
  283. package/dist/core/tasks/completion-ordering.js +19 -0
  284. package/dist/core/tasks/completion-ordering.js.map +1 -0
  285. package/dist/core/tasks/completion.d.ts +36 -0
  286. package/dist/core/tasks/completion.d.ts.map +1 -0
  287. package/dist/core/tasks/completion.js +115 -0
  288. package/dist/core/tasks/completion.js.map +1 -0
  289. package/dist/core/tasks/contracts.d.ts +404 -0
  290. package/dist/core/tasks/contracts.d.ts.map +1 -0
  291. package/dist/core/tasks/contracts.js +2 -0
  292. package/dist/core/tasks/contracts.js.map +1 -0
  293. package/dist/core/tasks/execution-scope.d.ts +10 -0
  294. package/dist/core/tasks/execution-scope.d.ts.map +1 -0
  295. package/dist/core/tasks/execution-scope.js +27 -0
  296. package/dist/core/tasks/execution-scope.js.map +1 -0
  297. package/dist/core/tasks/owner-store.d.ts +53 -0
  298. package/dist/core/tasks/owner-store.d.ts.map +1 -0
  299. package/dist/core/tasks/owner-store.js +155 -0
  300. package/dist/core/tasks/owner-store.js.map +1 -0
  301. package/dist/core/tasks/pause.d.ts +4 -0
  302. package/dist/core/tasks/pause.d.ts.map +1 -0
  303. package/dist/core/tasks/pause.js +49 -0
  304. package/dist/core/tasks/pause.js.map +1 -0
  305. package/dist/core/tasks/supervisor.d.ts +123 -0
  306. package/dist/core/tasks/supervisor.d.ts.map +1 -0
  307. package/dist/core/tasks/supervisor.js +942 -0
  308. package/dist/core/tasks/supervisor.js.map +1 -0
  309. package/dist/core/tasks/transcript.d.ts +23 -0
  310. package/dist/core/tasks/transcript.d.ts.map +1 -0
  311. package/dist/core/tasks/transcript.js +74 -0
  312. package/dist/core/tasks/transcript.js.map +1 -0
  313. package/dist/core/tools/ask-user-question/ask-user-question.d.ts +2 -2
  314. package/dist/core/tools/ask-user-question/ask-user-question.d.ts.map +1 -1
  315. package/dist/core/tools/ask-user-question/ask-user-question.js +8 -4
  316. package/dist/core/tools/ask-user-question/ask-user-question.js.map +1 -1
  317. package/dist/core/tools/ask-user-question/state/build-questionnaire.d.ts +1 -1
  318. package/dist/core/tools/ask-user-question/state/build-questionnaire.js.map +1 -1
  319. package/dist/core/tools/ask-user-question/state/questionnaire-session.d.ts +1 -1
  320. package/dist/core/tools/ask-user-question/state/questionnaire-session.js.map +1 -1
  321. package/dist/core/tools/ask-user-question/view/components/multi-select-view.d.ts +1 -1
  322. package/dist/core/tools/ask-user-question/view/components/multi-select-view.js.map +1 -1
  323. package/dist/core/tools/ask-user-question/view/components/preview/markdown-content-cache.d.ts +1 -1
  324. package/dist/core/tools/ask-user-question/view/components/preview/markdown-content-cache.js.map +1 -1
  325. package/dist/core/tools/ask-user-question/view/components/preview/preview-block-renderer.d.ts +1 -1
  326. package/dist/core/tools/ask-user-question/view/components/preview/preview-block-renderer.js.map +1 -1
  327. package/dist/core/tools/ask-user-question/view/components/submit-picker.d.ts +1 -1
  328. package/dist/core/tools/ask-user-question/view/components/submit-picker.js.map +1 -1
  329. package/dist/core/tools/ask-user-question/view/components/tab-bar.d.ts +1 -1
  330. package/dist/core/tools/ask-user-question/view/components/tab-bar.js.map +1 -1
  331. package/dist/core/tools/ask-user-question/view/dialog-builder.d.ts +1 -1
  332. package/dist/core/tools/ask-user-question/view/dialog-builder.js.map +1 -1
  333. package/dist/core/tools/ask-user-question/view/tab-content-strategy.d.ts +1 -1
  334. package/dist/core/tools/ask-user-question/view/tab-content-strategy.js.map +1 -1
  335. package/dist/core/tools/bash-pty-native.d.ts +18 -3
  336. package/dist/core/tools/bash-pty-native.d.ts.map +1 -1
  337. package/dist/core/tools/bash-pty-native.js +116 -1
  338. package/dist/core/tools/bash-pty-native.js.map +1 -1
  339. package/dist/core/tools/bash.d.ts +13 -4
  340. package/dist/core/tools/bash.d.ts.map +1 -1
  341. package/dist/core/tools/bash.js +53 -9
  342. package/dist/core/tools/bash.js.map +1 -1
  343. package/dist/core/tools/edit.d.ts.map +1 -1
  344. package/dist/core/tools/edit.js +1 -2
  345. package/dist/core/tools/edit.js.map +1 -1
  346. package/dist/core/tools/find.js.map +1 -1
  347. package/dist/core/tools/grep.js.map +1 -1
  348. package/dist/core/tools/index.d.ts +2 -2
  349. package/dist/core/tools/index.js.map +1 -1
  350. package/dist/core/tools/ls.js.map +1 -1
  351. package/dist/core/tools/powershell.d.ts +20 -10
  352. package/dist/core/tools/powershell.d.ts.map +1 -1
  353. package/dist/core/tools/powershell.js +33 -7
  354. package/dist/core/tools/powershell.js.map +1 -1
  355. package/dist/core/tools/read.d.ts.map +1 -1
  356. package/dist/core/tools/read.js +1 -2
  357. package/dist/core/tools/read.js.map +1 -1
  358. package/dist/core/tools/render-utils.d.ts +1 -1
  359. package/dist/core/tools/render-utils.js.map +1 -1
  360. package/dist/core/tools/resource-selectors.d.ts +1 -1
  361. package/dist/core/tools/resource-selectors.d.ts.map +1 -1
  362. package/dist/core/tools/resource-selectors.js +21 -10
  363. package/dist/core/tools/resource-selectors.js.map +1 -1
  364. package/dist/core/tools/search.js.map +1 -1
  365. package/dist/core/tools/todos-render.d.ts +1 -1
  366. package/dist/core/tools/todos-render.js.map +1 -1
  367. package/dist/core/tools/write.d.ts.map +1 -1
  368. package/dist/core/tools/write.js +1 -2
  369. package/dist/core/tools/write.js.map +1 -1
  370. package/dist/core/workflow-stage-admission.d.ts +10 -0
  371. package/dist/core/workflow-stage-admission.d.ts.map +1 -1
  372. package/dist/core/workflow-stage-admission.js +24 -0
  373. package/dist/core/workflow-stage-admission.js.map +1 -1
  374. package/dist/extensions/herdr/activity.d.ts +15 -0
  375. package/dist/extensions/herdr/activity.d.ts.map +1 -0
  376. package/dist/extensions/herdr/activity.js +24 -0
  377. package/dist/extensions/herdr/activity.js.map +1 -0
  378. package/dist/extensions/herdr/environment.d.ts +7 -0
  379. package/dist/extensions/herdr/environment.d.ts.map +1 -0
  380. package/dist/extensions/herdr/environment.js +6 -0
  381. package/dist/extensions/herdr/environment.js.map +1 -0
  382. package/dist/extensions/herdr/index.d.ts +9 -0
  383. package/dist/extensions/herdr/index.d.ts.map +1 -0
  384. package/dist/extensions/herdr/index.js +225 -0
  385. package/dist/extensions/herdr/index.js.map +1 -0
  386. package/dist/extensions/herdr/pane-owner.d.ts +30 -0
  387. package/dist/extensions/herdr/pane-owner.d.ts.map +1 -0
  388. package/dist/extensions/herdr/pane-owner.js +111 -0
  389. package/dist/extensions/herdr/pane-owner.js.map +1 -0
  390. package/dist/extensions/herdr/transport.d.ts +8 -0
  391. package/dist/extensions/herdr/transport.d.ts.map +1 -0
  392. package/dist/extensions/herdr/transport.js +28 -0
  393. package/dist/extensions/herdr/transport.js.map +1 -0
  394. package/dist/extensions/index.d.ts.map +1 -1
  395. package/dist/extensions/index.js +2 -0
  396. package/dist/extensions/index.js.map +1 -1
  397. package/dist/extensions/llama/huggingface-ui.d.ts +1 -1
  398. package/dist/extensions/llama/huggingface-ui.js.map +1 -1
  399. package/dist/extensions/llama/ui.js.map +1 -1
  400. package/dist/index-extensions.d.ts +3 -2
  401. package/dist/index-extensions.d.ts.map +1 -1
  402. package/dist/index-extensions.js.map +1 -1
  403. package/dist/index.d.ts +11 -3
  404. package/dist/index.d.ts.map +1 -1
  405. package/dist/index.js +8 -0
  406. package/dist/index.js.map +1 -1
  407. package/dist/main-session.js.map +1 -1
  408. package/dist/main.d.ts.map +1 -1
  409. package/dist/main.js +149 -69
  410. package/dist/main.js.map +1 -1
  411. package/dist/modes/interactive/components/armin.js.map +1 -1
  412. package/dist/modes/interactive/components/assistant-message.js.map +1 -1
  413. package/dist/modes/interactive/components/atomic-banner.d.ts +1 -1
  414. package/dist/modes/interactive/components/atomic-banner.js.map +1 -1
  415. package/dist/modes/interactive/components/atomic-working-status.js.map +1 -1
  416. package/dist/modes/interactive/components/bash-execution.js.map +1 -1
  417. package/dist/modes/interactive/components/bordered-loader.d.ts +1 -1
  418. package/dist/modes/interactive/components/bordered-loader.js.map +1 -1
  419. package/dist/modes/interactive/components/branch-summary-message.js.map +1 -1
  420. package/dist/modes/interactive/components/chat-message-renderer.d.ts +12 -0
  421. package/dist/modes/interactive/components/chat-message-renderer.d.ts.map +1 -1
  422. package/dist/modes/interactive/components/chat-message-renderer.js +44 -0
  423. package/dist/modes/interactive/components/chat-message-renderer.js.map +1 -1
  424. package/dist/modes/interactive/components/chat-session-host-actions.d.ts +1 -1
  425. package/dist/modes/interactive/components/chat-session-host-actions.d.ts.map +1 -1
  426. package/dist/modes/interactive/components/chat-session-host-actions.js +43 -8
  427. package/dist/modes/interactive/components/chat-session-host-actions.js.map +1 -1
  428. package/dist/modes/interactive/components/chat-session-host-editor.d.ts +1 -1
  429. package/dist/modes/interactive/components/chat-session-host-editor.js.map +1 -1
  430. package/dist/modes/interactive/components/chat-session-host-events.d.ts +2 -2
  431. package/dist/modes/interactive/components/chat-session-host-events.js.map +1 -1
  432. package/dist/modes/interactive/components/chat-session-host-rendering.d.ts +2 -2
  433. package/dist/modes/interactive/components/chat-session-host-rendering.d.ts.map +1 -1
  434. package/dist/modes/interactive/components/chat-session-host-rendering.js +12 -3
  435. package/dist/modes/interactive/components/chat-session-host-rendering.js.map +1 -1
  436. package/dist/modes/interactive/components/chat-session-host-runtime.d.ts +4 -5
  437. package/dist/modes/interactive/components/chat-session-host-runtime.d.ts.map +1 -1
  438. package/dist/modes/interactive/components/chat-session-host-runtime.js +8 -6
  439. package/dist/modes/interactive/components/chat-session-host-runtime.js.map +1 -1
  440. package/dist/modes/interactive/components/chat-session-host-state.d.ts +7 -2
  441. package/dist/modes/interactive/components/chat-session-host-state.d.ts.map +1 -1
  442. package/dist/modes/interactive/components/chat-session-host-state.js +1 -0
  443. package/dist/modes/interactive/components/chat-session-host-state.js.map +1 -1
  444. package/dist/modes/interactive/components/chat-session-host-terminal-cleanup.d.ts +1 -1
  445. package/dist/modes/interactive/components/chat-session-host-terminal-cleanup.js.map +1 -1
  446. package/dist/modes/interactive/components/chat-session-host-types.d.ts +8 -3
  447. package/dist/modes/interactive/components/chat-session-host-types.d.ts.map +1 -1
  448. package/dist/modes/interactive/components/chat-session-host-types.js.map +1 -1
  449. package/dist/modes/interactive/components/chat-session-host-utils.d.ts +1 -1
  450. package/dist/modes/interactive/components/chat-session-host-utils.d.ts.map +1 -1
  451. package/dist/modes/interactive/components/chat-session-host-utils.js +2 -0
  452. package/dist/modes/interactive/components/chat-session-host-utils.js.map +1 -1
  453. package/dist/modes/interactive/components/chat-session-host.d.ts +17 -2
  454. package/dist/modes/interactive/components/chat-session-host.d.ts.map +1 -1
  455. package/dist/modes/interactive/components/chat-session-host.js +100 -3
  456. package/dist/modes/interactive/components/chat-session-host.js.map +1 -1
  457. package/dist/modes/interactive/components/chat-transcript.d.ts +1 -0
  458. package/dist/modes/interactive/components/chat-transcript.d.ts.map +1 -1
  459. package/dist/modes/interactive/components/chat-transcript.js +1 -1
  460. package/dist/modes/interactive/components/chat-transcript.js.map +1 -1
  461. package/dist/modes/interactive/components/compaction-boundary-message.js.map +1 -1
  462. package/dist/modes/interactive/components/config-selector-list.js.map +1 -1
  463. package/dist/modes/interactive/components/config-selector.js.map +1 -1
  464. package/dist/modes/interactive/components/custom-editor.js.map +1 -1
  465. package/dist/modes/interactive/components/custom-entry.js.map +1 -1
  466. package/dist/modes/interactive/components/custom-message.d.ts.map +1 -1
  467. package/dist/modes/interactive/components/custom-message.js +12 -0
  468. package/dist/modes/interactive/components/custom-message.js.map +1 -1
  469. package/dist/modes/interactive/components/daxnuts.js.map +1 -1
  470. package/dist/modes/interactive/components/diff.js.map +1 -1
  471. package/dist/modes/interactive/components/dynamic-border.js.map +1 -1
  472. package/dist/modes/interactive/components/earendil-announcement.js.map +1 -1
  473. package/dist/modes/interactive/components/extension-editor.js.map +1 -1
  474. package/dist/modes/interactive/components/extension-input.js.map +1 -1
  475. package/dist/modes/interactive/components/extension-selector.js.map +1 -1
  476. package/dist/modes/interactive/components/first-time-setup.d.ts +1 -1
  477. package/dist/modes/interactive/components/first-time-setup.js.map +1 -1
  478. package/dist/modes/interactive/components/footer.d.ts +7 -6
  479. package/dist/modes/interactive/components/footer.d.ts.map +1 -1
  480. package/dist/modes/interactive/components/footer.js +27 -9
  481. package/dist/modes/interactive/components/footer.js.map +1 -1
  482. package/dist/modes/interactive/components/host-input-form-mount.js.map +1 -1
  483. package/dist/modes/interactive/components/host-input-form.d.ts +1 -1
  484. package/dist/modes/interactive/components/host-input-form.js.map +1 -1
  485. package/dist/modes/interactive/components/index.d.ts +2 -2
  486. package/dist/modes/interactive/components/index.js.map +1 -1
  487. package/dist/modes/interactive/components/keybinding-hints.js.map +1 -1
  488. package/dist/modes/interactive/components/login-dialog.js.map +1 -1
  489. package/dist/modes/interactive/components/mermaid.d.ts +1 -1
  490. package/dist/modes/interactive/components/mermaid.js.map +1 -1
  491. package/dist/modes/interactive/components/model-selector.js.map +1 -1
  492. package/dist/modes/interactive/components/oauth-selector.js.map +1 -1
  493. package/dist/modes/interactive/components/reserved-bottom-overlay.js.map +1 -1
  494. package/dist/modes/interactive/components/scoped-models-selector.js.map +1 -1
  495. package/dist/modes/interactive/components/session-selector-header.js.map +1 -1
  496. package/dist/modes/interactive/components/session-selector-list.js.map +1 -1
  497. package/dist/modes/interactive/components/session-selector.js.map +1 -1
  498. package/dist/modes/interactive/components/settings-selector-items.js.map +1 -1
  499. package/dist/modes/interactive/components/settings-selector-submenus.d.ts +1 -1
  500. package/dist/modes/interactive/components/settings-selector-submenus.js.map +1 -1
  501. package/dist/modes/interactive/components/settings-selector-types.d.ts +1 -1
  502. package/dist/modes/interactive/components/settings-selector-types.js.map +1 -1
  503. package/dist/modes/interactive/components/settings-selector.js.map +1 -1
  504. package/dist/modes/interactive/components/show-images-selector.js.map +1 -1
  505. package/dist/modes/interactive/components/skill-invocation-message.d.ts +1 -1
  506. package/dist/modes/interactive/components/skill-invocation-message.js.map +1 -1
  507. package/dist/modes/interactive/components/task-completion-message.d.ts +13 -0
  508. package/dist/modes/interactive/components/task-completion-message.d.ts.map +1 -0
  509. package/dist/modes/interactive/components/task-completion-message.js +65 -0
  510. package/dist/modes/interactive/components/task-completion-message.js.map +1 -0
  511. package/dist/modes/interactive/components/task-detail.d.ts +27 -0
  512. package/dist/modes/interactive/components/task-detail.d.ts.map +1 -0
  513. package/dist/modes/interactive/components/task-detail.js +107 -0
  514. package/dist/modes/interactive/components/task-detail.js.map +1 -0
  515. package/dist/modes/interactive/components/task-inspector.d.ts +50 -0
  516. package/dist/modes/interactive/components/task-inspector.d.ts.map +1 -0
  517. package/dist/modes/interactive/components/task-inspector.js +599 -0
  518. package/dist/modes/interactive/components/task-inspector.js.map +1 -0
  519. package/dist/modes/interactive/components/task-list.d.ts +18 -0
  520. package/dist/modes/interactive/components/task-list.d.ts.map +1 -0
  521. package/dist/modes/interactive/components/task-list.js +59 -0
  522. package/dist/modes/interactive/components/task-list.js.map +1 -0
  523. package/dist/modes/interactive/components/task-live-transcript.d.ts +17 -0
  524. package/dist/modes/interactive/components/task-live-transcript.d.ts.map +1 -0
  525. package/dist/modes/interactive/components/task-live-transcript.js +33 -0
  526. package/dist/modes/interactive/components/task-live-transcript.js.map +1 -0
  527. package/dist/modes/interactive/components/task-navigation.d.ts +38 -0
  528. package/dist/modes/interactive/components/task-navigation.d.ts.map +1 -0
  529. package/dist/modes/interactive/components/task-navigation.js +93 -0
  530. package/dist/modes/interactive/components/task-navigation.js.map +1 -0
  531. package/dist/modes/interactive/components/task-row.d.ts +34 -0
  532. package/dist/modes/interactive/components/task-row.d.ts.map +1 -0
  533. package/dist/modes/interactive/components/task-row.js +158 -0
  534. package/dist/modes/interactive/components/task-row.js.map +1 -0
  535. package/dist/modes/interactive/components/theme-selector.js.map +1 -1
  536. package/dist/modes/interactive/components/thinking-selector.js.map +1 -1
  537. package/dist/modes/interactive/components/tool-execution.js.map +1 -1
  538. package/dist/modes/interactive/components/transcript-follow-indicator.js.map +1 -1
  539. package/dist/modes/interactive/components/tree-selector-component.js.map +1 -1
  540. package/dist/modes/interactive/components/tree-selector-content.js.map +1 -1
  541. package/dist/modes/interactive/components/tree-selector-help.js.map +1 -1
  542. package/dist/modes/interactive/components/tree-selector-label-input.js.map +1 -1
  543. package/dist/modes/interactive/components/tree-selector-list.js.map +1 -1
  544. package/dist/modes/interactive/components/trust-selector.js.map +1 -1
  545. package/dist/modes/interactive/components/user-message-selector.js.map +1 -1
  546. package/dist/modes/interactive/components/user-message.js.map +1 -1
  547. package/dist/modes/interactive/components/working-status.js.map +1 -1
  548. package/dist/modes/interactive/interactive-agent-events.js +8 -2
  549. package/dist/modes/interactive/interactive-agent-events.js.map +1 -1
  550. package/dist/modes/interactive/interactive-auth-login.js +3 -1
  551. package/dist/modes/interactive/interactive-auth-login.js.map +1 -1
  552. package/dist/modes/interactive/interactive-autocomplete.js +9 -30
  553. package/dist/modes/interactive/interactive-autocomplete.js.map +1 -1
  554. package/dist/modes/interactive/interactive-deferred-startup.js +2 -1
  555. package/dist/modes/interactive/interactive-deferred-startup.js.map +1 -1
  556. package/dist/modes/interactive/interactive-extension-context.js +14 -4
  557. package/dist/modes/interactive/interactive-extension-context.js.map +1 -1
  558. package/dist/modes/interactive/interactive-extension-custom-ui.js +52 -4
  559. package/dist/modes/interactive/interactive-extension-custom-ui.js.map +1 -1
  560. package/dist/modes/interactive/interactive-extension-runtime.js +1 -0
  561. package/dist/modes/interactive/interactive-extension-runtime.js.map +1 -1
  562. package/dist/modes/interactive/interactive-extension-widgets.js +9 -1
  563. package/dist/modes/interactive/interactive-extension-widgets.js.map +1 -1
  564. package/dist/modes/interactive/interactive-input-handling.d.ts.map +1 -1
  565. package/dist/modes/interactive/interactive-input-handling.js +19 -0
  566. package/dist/modes/interactive/interactive-input-handling.js.map +1 -1
  567. package/dist/modes/interactive/interactive-mode-base.d.ts +6 -1
  568. package/dist/modes/interactive/interactive-mode-base.d.ts.map +1 -1
  569. package/dist/modes/interactive/interactive-mode-base.js +4 -1
  570. package/dist/modes/interactive/interactive-mode-base.js.map +1 -1
  571. package/dist/modes/interactive/interactive-mode-deps.d.ts +6 -6
  572. package/dist/modes/interactive/interactive-mode-deps.js.map +1 -1
  573. package/dist/modes/interactive/interactive-mode-surface.d.ts +2 -1
  574. package/dist/modes/interactive/interactive-mode-surface.d.ts.map +1 -1
  575. package/dist/modes/interactive/interactive-mode-surface.js.map +1 -1
  576. package/dist/modes/interactive/interactive-mode.d.ts +1 -0
  577. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  578. package/dist/modes/interactive/interactive-mode.js +3 -0
  579. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  580. package/dist/modes/interactive/interactive-process-lifecycle.js +4 -1
  581. package/dist/modes/interactive/interactive-process-lifecycle.js.map +1 -1
  582. package/dist/modes/interactive/interactive-render-chat.js +2 -0
  583. package/dist/modes/interactive/interactive-render-chat.js.map +1 -1
  584. package/dist/modes/interactive/interactive-session-routing.js +33 -23
  585. package/dist/modes/interactive/interactive-session-routing.js.map +1 -1
  586. package/dist/modes/interactive/interactive-session-runtime.js +1 -0
  587. package/dist/modes/interactive/interactive-session-runtime.js.map +1 -1
  588. package/dist/modes/interactive/interactive-slash-commands.js.map +1 -1
  589. package/dist/modes/interactive/interactive-summarization-retry-events.js +2 -2
  590. package/dist/modes/interactive/interactive-summarization-retry-events.js.map +1 -1
  591. package/dist/modes/interactive/interactive-task-projection.d.ts +13 -0
  592. package/dist/modes/interactive/interactive-task-projection.d.ts.map +1 -0
  593. package/dist/modes/interactive/interactive-task-projection.js +72 -0
  594. package/dist/modes/interactive/interactive-task-projection.js.map +1 -0
  595. package/dist/modes/interactive/interactive-tui.js.map +1 -1
  596. package/dist/modes/interactive/interactive-windows-subshell.d.ts +17 -0
  597. package/dist/modes/interactive/interactive-windows-subshell.d.ts.map +1 -0
  598. package/dist/modes/interactive/interactive-windows-subshell.js +92 -0
  599. package/dist/modes/interactive/interactive-windows-subshell.js.map +1 -0
  600. package/dist/modes/interactive/skill-command-autocomplete.d.ts +12 -0
  601. package/dist/modes/interactive/skill-command-autocomplete.d.ts.map +1 -0
  602. package/dist/modes/interactive/skill-command-autocomplete.js +69 -0
  603. package/dist/modes/interactive/skill-command-autocomplete.js.map +1 -0
  604. package/dist/modes/interactive/theme/theme-class.d.ts.map +1 -1
  605. package/dist/modes/interactive/theme/theme-class.js +4 -1
  606. package/dist/modes/interactive/theme/theme-class.js.map +1 -1
  607. package/dist/modes/interactive/theme/theme-controller.d.ts +1 -1
  608. package/dist/modes/interactive/theme/theme-controller.js.map +1 -1
  609. package/dist/modes/interactive-engine/create-isolated-runtime.d.ts +1 -1
  610. package/dist/modes/interactive-engine/create-isolated-runtime.js.map +1 -1
  611. package/dist/modes/interactive-engine/engine-custom-ui.d.ts +5 -9
  612. package/dist/modes/interactive-engine/engine-custom-ui.d.ts.map +1 -1
  613. package/dist/modes/interactive-engine/engine-custom-ui.js +14 -5
  614. package/dist/modes/interactive-engine/engine-custom-ui.js.map +1 -1
  615. package/dist/modes/interactive-engine/engine-dialog-host.d.ts +2 -2
  616. package/dist/modes/interactive-engine/engine-dialog-host.js.map +1 -1
  617. package/dist/modes/interactive-engine/engine-project-trust.d.ts +10 -0
  618. package/dist/modes/interactive-engine/engine-project-trust.d.ts.map +1 -0
  619. package/dist/modes/interactive-engine/engine-project-trust.js +28 -0
  620. package/dist/modes/interactive-engine/engine-project-trust.js.map +1 -0
  621. package/dist/modes/interactive-engine/engine-render-service.d.ts +1 -1
  622. package/dist/modes/interactive-engine/engine-render-service.js.map +1 -1
  623. package/dist/modes/interactive-engine/extension-ui-bridge.d.ts +3 -1
  624. package/dist/modes/interactive-engine/extension-ui-bridge.d.ts.map +1 -1
  625. package/dist/modes/interactive-engine/extension-ui-bridge.js +6 -0
  626. package/dist/modes/interactive-engine/extension-ui-bridge.js.map +1 -1
  627. package/dist/modes/interactive-engine/input-form-host.d.ts +2 -2
  628. package/dist/modes/interactive-engine/input-form-host.js.map +1 -1
  629. package/dist/modes/interactive-engine/isolated-auth.d.ts +1 -1
  630. package/dist/modes/interactive-engine/isolated-auth.js.map +1 -1
  631. package/dist/modes/interactive-engine/isolated-runtime.d.ts +5 -2
  632. package/dist/modes/interactive-engine/isolated-runtime.d.ts.map +1 -1
  633. package/dist/modes/interactive-engine/isolated-runtime.js +40 -3
  634. package/dist/modes/interactive-engine/isolated-runtime.js.map +1 -1
  635. package/dist/modes/interactive-engine/protocol.d.ts +9 -0
  636. package/dist/modes/interactive-engine/protocol.d.ts.map +1 -1
  637. package/dist/modes/interactive-engine/protocol.js +8 -0
  638. package/dist/modes/interactive-engine/protocol.js.map +1 -1
  639. package/dist/modes/interactive-engine/remote-component.d.ts +2 -2
  640. package/dist/modes/interactive-engine/remote-component.d.ts.map +1 -1
  641. package/dist/modes/interactive-engine/remote-component.js +3 -2
  642. package/dist/modes/interactive-engine/remote-component.js.map +1 -1
  643. package/dist/modes/interactive-engine/remote-model-catalog.d.ts +1 -1
  644. package/dist/modes/interactive-engine/remote-model-catalog.js.map +1 -1
  645. package/dist/modes/interactive-engine/remote-renderer.d.ts +1 -1
  646. package/dist/modes/interactive-engine/remote-renderer.js.map +1 -1
  647. package/dist/modes/interactive-engine/session-picker-host.d.ts +2 -2
  648. package/dist/modes/interactive-engine/session-picker-host.js.map +1 -1
  649. package/dist/modes/json-event.d.ts +1 -1
  650. package/dist/modes/json-event.js.map +1 -1
  651. package/dist/modes/print-mode.js.map +1 -1
  652. package/dist/modes/rpc/rpc-bash-request-owners.d.ts +2 -2
  653. package/dist/modes/rpc/rpc-bash-request-owners.js.map +1 -1
  654. package/dist/modes/rpc/rpc-client-api.d.ts +2 -2
  655. package/dist/modes/rpc/rpc-client-api.d.ts.map +1 -1
  656. package/dist/modes/rpc/rpc-client-api.js +2 -2
  657. package/dist/modes/rpc/rpc-client-api.js.map +1 -1
  658. package/dist/modes/rpc/rpc-client-waits.d.ts +1 -1
  659. package/dist/modes/rpc/rpc-client-waits.js.map +1 -1
  660. package/dist/modes/rpc/rpc-client.d.ts +3 -1
  661. package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
  662. package/dist/modes/rpc/rpc-client.js +20 -0
  663. package/dist/modes/rpc/rpc-client.js.map +1 -1
  664. package/dist/modes/rpc/rpc-command-handler.d.ts +4 -2
  665. package/dist/modes/rpc/rpc-command-handler.d.ts.map +1 -1
  666. package/dist/modes/rpc/rpc-command-handler.js +12 -4
  667. package/dist/modes/rpc/rpc-command-handler.js.map +1 -1
  668. package/dist/modes/rpc/rpc-extension-ui.d.ts +1 -1
  669. package/dist/modes/rpc/rpc-extension-ui.js.map +1 -1
  670. package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
  671. package/dist/modes/rpc/rpc-mode.js +11 -2
  672. package/dist/modes/rpc/rpc-mode.js.map +1 -1
  673. package/dist/modes/rpc/rpc-provider-auth.d.ts +1 -1
  674. package/dist/modes/rpc/rpc-provider-auth.js.map +1 -1
  675. package/dist/modes/rpc/rpc-session-binding.d.ts +4 -1
  676. package/dist/modes/rpc/rpc-session-binding.d.ts.map +1 -1
  677. package/dist/modes/rpc/rpc-session-binding.js +35 -1
  678. package/dist/modes/rpc/rpc-session-binding.js.map +1 -1
  679. package/dist/modes/rpc/rpc-types.d.ts +13 -1
  680. package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
  681. package/dist/modes/rpc/rpc-types.js.map +1 -1
  682. package/dist/modes/rpc/task-ui-bridge.d.ts +9 -0
  683. package/dist/modes/rpc/task-ui-bridge.d.ts.map +1 -0
  684. package/dist/modes/rpc/task-ui-bridge.js +146 -0
  685. package/dist/modes/rpc/task-ui-bridge.js.map +1 -0
  686. package/dist/self-update-plan.js.map +1 -1
  687. package/docs/background-tasks.md +205 -0
  688. package/docs/compaction.md +2 -0
  689. package/docs/development.md +23 -72
  690. package/docs/docs.json +2 -0
  691. package/docs/environment-variables.md +1 -1
  692. package/docs/extensions.md +112 -6
  693. package/docs/herdr.md +53 -0
  694. package/docs/intercom.md +42 -35
  695. package/docs/keybindings.md +19 -2
  696. package/docs/models/evals.md +224 -147
  697. package/docs/models/model-selection.md +28 -19
  698. package/docs/models/pareto-efficiency.md +2 -2
  699. package/docs/providers.md +48 -46
  700. package/docs/quickstart.md +1 -1
  701. package/docs/sdk.md +244 -0
  702. package/docs/settings.md +19 -3
  703. package/docs/skills.md +23 -1
  704. package/docs/subagents.md +74 -10
  705. package/docs/themes.md +4 -0
  706. package/docs/tools.md +29 -0
  707. package/docs/tui.md +29 -2
  708. package/docs/usage.md +4 -0
  709. package/docs/windows.md +4 -4
  710. package/docs/workflows/api-reference.md +14 -5
  711. package/docs/workflows/operations.md +49 -3
  712. package/docs/workflows/reliable-design.md +35 -4
  713. package/docs/workflows/verification.md +21 -4
  714. package/docs/workflows.md +3 -1
  715. package/npm-shrinkwrap.json +797 -677
  716. package/package.json +10 -10
  717. /package/dist/builtin/workflows/builtin/{chunk-cg9tmks0.js → chunk-n1910xc4.js} +0 -0
  718. /package/dist/builtin/workflows/builtin/{chunk-wpckd35c.js → chunk-rc5ec5xx.js} +0 -0
  719. /package/dist/builtin/workflows/builtin/{chunk-7at6dnkr.js → chunk-tgt0s5e5.js} +0 -0
  720. /package/dist/builtin/workflows/builtin/{chunk-bfkmzv9h.js → chunk-xtxcq5tj.js} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"runner-events.d.ts","sourceRoot":"","sources":["../../../src/core/extensions/runner-events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner-events.d.ts","sourceRoot":"","sources":["../../../src/core/extensions/runner-events.ts"],"names":[],"mappings":"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"}
@@ -11,15 +11,28 @@ const emitCaughtError = (emitError, extensionPath, event, error) => {
11
11
  stack: error instanceof Error ? error.stack : undefined,
12
12
  });
13
13
  };
14
- export async function runGenericHandlers(extensions, ctx, event, emitError) {
14
+ export async function runGenericHandlers(extensions, ctx, event, emitError, isCurrent) {
15
15
  let result;
16
+ const promptNotifications = [];
16
17
  for (const ext of extensions) {
17
18
  const handlers = ext.handlers.get(event.type);
18
19
  if (!handlers || handlers.length === 0)
19
20
  continue;
20
21
  for (const handler of handlers) {
22
+ // Workflow publishers can retire while a previous handler awaits.
23
+ if (isCurrent && !isCurrent())
24
+ return result;
21
25
  try {
22
- const handlerResult = await runCallback({ kind: "extension.hook", name: event.type, sourcePath: ext.path }, () => handler(event, ctx));
26
+ const invocation = runCallback({ kind: "extension.hook", name: event.type, sourcePath: ext.path },
27
+ // Activity reporting may yield again before invoking the callback.
28
+ () => (!isCurrent || isCurrent() ? handler(event, ctx) : undefined));
29
+ if (event.type === "ui_prompt_start" || event.type === "ui_prompt_end") {
30
+ // These notifications dispatch independently. Awaiting one observer here
31
+ // lets an end overtake its start at every later observer, leaving a false block.
32
+ promptNotifications.push(invocation.then(() => { }, (error) => emitCaughtError(emitError, ext.path, event.type, error)));
33
+ continue;
34
+ }
35
+ const handlerResult = await invocation;
23
36
  if (isSessionBeforeEvent(event) && handlerResult) {
24
37
  result = handlerResult;
25
38
  if (result.cancel)
@@ -31,6 +44,8 @@ export async function runGenericHandlers(extensions, ctx, event, emitError) {
31
44
  }
32
45
  }
33
46
  }
47
+ if (promptNotifications.length > 0)
48
+ await Promise.all(promptNotifications);
34
49
  return result;
35
50
  }
36
51
  export async function runMessageEndHandlers(extensions, ctx, event, emitError) {
@@ -1 +1 @@
1
- {"version":3,"file":"runner-events.js","sourceRoot":"","sources":["../../../src/core/extensions/runner-events.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ImageContent } from \"@bastani/pi-ai/compat\";\nimport type { AgentMessage } from \"@earendil-works/pi-agent-core\";\nimport { runCallback } from \"../callback-activity.ts\";\nimport type { BuildSystemPromptOptions } from \"../system-prompt.ts\";\nimport type {\n\tBeforeAgentStartEvent,\n\tBeforeAgentStartEventResult,\n\tBeforeProviderRequestEvent,\n\tContextEvent,\n\tContextEventResult,\n\tExtension,\n\tExtensionContext,\n\tExtensionError,\n\tExtensionEvent,\n\tInputEvent,\n\tInputEventResult,\n\tInputSource,\n\tMessageEndEvent,\n\tMessageEndEventResult,\n\tProjectTrustEvent,\n\tResourcesDiscoverEvent,\n\tResourcesDiscoverResult,\n\tSessionBeforeCompactResult,\n\tSessionBeforeForkResult,\n\tSessionBeforeSwitchResult,\n\tSessionBeforeTreeResult,\n\tToolCallEvent,\n\tToolCallEventResult,\n\tToolResultEvent,\n\tToolResultEventResult,\n\tUserBashEvent,\n\tUserBashEventResult,\n} from \"./types.ts\";\n\n/** Combined result from all before_agent_start handlers. */\nexport interface BeforeAgentStartCombinedResult {\n\tmessages?: NonNullable<BeforeAgentStartEventResult[\"message\"]>[];\n\tsystemPrompt?: string;\n}\n\nexport interface ResourcesDiscoverCombinedResult {\n\tskillPaths: Array<{ path: string; extensionPath: string }>;\n\tpromptPaths: Array<{ path: string; extensionPath: string }>;\n\tthemePaths: Array<{ path: string; extensionPath: string }>;\n}\n\n/** Events handled by the generic emit() method. */\nexport type RunnerEmitEvent = Exclude<\n\tExtensionEvent,\n\t| ToolCallEvent\n\t| ProjectTrustEvent\n\t| ToolResultEvent\n\t| UserBashEvent\n\t| ContextEvent\n\t| BeforeProviderRequestEvent\n\t| BeforeAgentStartEvent\n\t| MessageEndEvent\n\t| ResourcesDiscoverEvent\n\t| InputEvent\n>;\n\ntype SessionBeforeEvent = Extract<\n\tRunnerEmitEvent,\n\t{ type: \"session_before_switch\" | \"session_before_fork\" | \"session_before_compact\" | \"session_before_tree\" }\n>;\n\ntype SessionBeforeEventResult =\n\t| SessionBeforeSwitchResult\n\t| SessionBeforeForkResult\n\t| SessionBeforeCompactResult\n\t| SessionBeforeTreeResult;\n\nexport type RunnerEmitResult<TEvent extends RunnerEmitEvent> = TEvent extends { type: \"session_before_switch\" }\n\t? SessionBeforeSwitchResult | undefined\n\t: TEvent extends { type: \"session_before_fork\" }\n\t\t? SessionBeforeForkResult | undefined\n\t\t: TEvent extends { type: \"session_before_compact\" }\n\t\t\t? SessionBeforeCompactResult | undefined\n\t\t\t: TEvent extends { type: \"session_before_tree\" }\n\t\t\t\t? SessionBeforeTreeResult | undefined\n\t\t\t\t: undefined;\n\ntype EmitExtensionError = (error: ExtensionError) => void;\n\nconst isSessionBeforeEvent = (event: RunnerEmitEvent): event is SessionBeforeEvent =>\n\tevent.type === \"session_before_switch\" ||\n\tevent.type === \"session_before_fork\" ||\n\tevent.type === \"session_before_compact\" ||\n\tevent.type === \"session_before_tree\";\n\nconst emitCaughtError = (emitError: EmitExtensionError, extensionPath: string, event: string, error: unknown): void => {\n\temitError({\n\t\textensionPath,\n\t\tevent,\n\t\terror: error instanceof Error ? error.message : String(error),\n\t\tstack: error instanceof Error ? error.stack : undefined,\n\t});\n};\n\nexport async function runGenericHandlers<TEvent extends RunnerEmitEvent>(\n\textensions: Extension[],\n\tctx: ExtensionContext,\n\tevent: TEvent,\n\temitError: EmitExtensionError,\n): Promise<RunnerEmitResult<TEvent>> {\n\tlet result: SessionBeforeEventResult | undefined;\n\n\tfor (const ext of extensions) {\n\t\tconst handlers = ext.handlers.get(event.type);\n\t\tif (!handlers || handlers.length === 0) continue;\n\n\t\tfor (const handler of handlers) {\n\t\t\ttry {\n\t\t\t\tconst handlerResult = await runCallback(\n\t\t\t\t\t{ kind: \"extension.hook\", name: event.type, sourcePath: ext.path },\n\t\t\t\t\t() => handler(event, ctx),\n\t\t\t\t);\n\t\t\t\tif (isSessionBeforeEvent(event) && handlerResult) {\n\t\t\t\t\tresult = handlerResult as SessionBeforeEventResult;\n\t\t\t\t\tif (result.cancel) return result as RunnerEmitResult<TEvent>;\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\temitCaughtError(emitError, ext.path, event.type, error);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn result as RunnerEmitResult<TEvent>;\n}\n\nexport async function runMessageEndHandlers(\n\textensions: Extension[],\n\tctx: ExtensionContext,\n\tevent: MessageEndEvent,\n\temitError: EmitExtensionError,\n): Promise<AgentMessage | undefined> {\n\tlet currentMessage = event.message;\n\tlet modified = false;\n\n\tfor (const ext of extensions) {\n\t\tconst handlers = ext.handlers.get(\"message_end\");\n\t\tif (!handlers || handlers.length === 0) continue;\n\n\t\tfor (const handler of handlers) {\n\t\t\ttry {\n\t\t\t\tconst currentEvent: MessageEndEvent = { ...event, message: currentMessage };\n\t\t\t\tconst handlerResult = (await runCallback(\n\t\t\t\t\t{ kind: \"extension.hook\", name: currentEvent.type, sourcePath: ext.path },\n\t\t\t\t\t() => handler(currentEvent, ctx),\n\t\t\t\t)) as MessageEndEventResult | undefined;\n\t\t\t\tif (!handlerResult?.message) continue;\n\n\t\t\t\tif (handlerResult.message.role !== currentMessage.role) {\n\t\t\t\t\temitError({\n\t\t\t\t\t\textensionPath: ext.path,\n\t\t\t\t\t\tevent: \"message_end\",\n\t\t\t\t\t\terror: \"message_end handlers must return a message with the same role\",\n\t\t\t\t\t});\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tcurrentMessage = handlerResult.message;\n\t\t\t\tmodified = true;\n\t\t\t} catch (error) {\n\t\t\t\temitCaughtError(emitError, ext.path, \"message_end\", error);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn modified ? currentMessage : undefined;\n}\n\nexport async function runToolResultHandlers(\n\textensions: Extension[],\n\tctx: ExtensionContext,\n\tevent: ToolResultEvent,\n\temitError: EmitExtensionError,\n): Promise<ToolResultEventResult | undefined> {\n\tconst currentEvent: ToolResultEvent = { ...event };\n\tlet modified = false;\n\n\tfor (const ext of extensions) {\n\t\tconst handlers = ext.handlers.get(\"tool_result\");\n\t\tif (!handlers || handlers.length === 0) continue;\n\n\t\tfor (const handler of handlers) {\n\t\t\ttry {\n\t\t\t\tconst handlerResult = (await runCallback(\n\t\t\t\t\t{ kind: \"extension.hook\", name: currentEvent.type, sourcePath: ext.path },\n\t\t\t\t\t() => handler(currentEvent, ctx),\n\t\t\t\t)) as ToolResultEventResult | undefined;\n\t\t\t\tif (!handlerResult) continue;\n\t\t\t\tif (handlerResult.content !== undefined) {\n\t\t\t\t\tcurrentEvent.content = handlerResult.content;\n\t\t\t\t\tmodified = true;\n\t\t\t\t}\n\t\t\t\tif (handlerResult.details !== undefined) {\n\t\t\t\t\tcurrentEvent.details = handlerResult.details;\n\t\t\t\t\tmodified = true;\n\t\t\t\t}\n\t\t\t\tif (handlerResult.isError !== undefined) {\n\t\t\t\t\tcurrentEvent.isError = handlerResult.isError;\n\t\t\t\t\tmodified = true;\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\temitCaughtError(emitError, ext.path, \"tool_result\", error);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn modified\n\t\t? { content: currentEvent.content, details: currentEvent.details, isError: currentEvent.isError }\n\t\t: undefined;\n}\n\nexport async function runToolCallHandlers(\n\textensions: Extension[],\n\tctx: ExtensionContext,\n\tevent: ToolCallEvent,\n): Promise<ToolCallEventResult | undefined> {\n\tlet result: ToolCallEventResult | undefined;\n\n\tfor (const ext of extensions) {\n\t\tconst handlers = ext.handlers.get(\"tool_call\");\n\t\tif (!handlers || handlers.length === 0) continue;\n\n\t\tfor (const handler of handlers) {\n\t\t\tconst handlerResult = await runCallback(\n\t\t\t\t{ kind: \"extension.hook\", name: event.type, sourcePath: ext.path },\n\t\t\t\t() => handler(event, ctx),\n\t\t\t);\n\t\t\tif (handlerResult) {\n\t\t\t\tresult = handlerResult as ToolCallEventResult;\n\t\t\t\tif (result.block) return result;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn result;\n}\n\nexport async function runUserBashHandlers(\n\textensions: Extension[],\n\tctx: ExtensionContext,\n\tevent: UserBashEvent,\n\temitError: EmitExtensionError,\n): Promise<UserBashEventResult | undefined> {\n\tfor (const ext of extensions) {\n\t\tconst handlers = ext.handlers.get(\"user_bash\");\n\t\tif (!handlers || handlers.length === 0) continue;\n\n\t\tfor (const handler of handlers) {\n\t\t\ttry {\n\t\t\t\tconst handlerResult = await runCallback(\n\t\t\t\t\t{ kind: \"extension.hook\", name: event.type, sourcePath: ext.path },\n\t\t\t\t\t() => handler(event, ctx),\n\t\t\t\t);\n\t\t\t\tif (handlerResult) return handlerResult as UserBashEventResult;\n\t\t\t} catch (error) {\n\t\t\t\temitCaughtError(emitError, ext.path, \"user_bash\", error);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn undefined;\n}\n\nexport async function runContextHandlers(\n\textensions: Extension[],\n\tctx: ExtensionContext,\n\tmessages: AgentMessage[],\n\temitError: EmitExtensionError,\n): Promise<AgentMessage[]> {\n\tlet currentMessages = structuredClone(messages);\n\n\tfor (const ext of extensions) {\n\t\tconst handlers = ext.handlers.get(\"context\");\n\t\tif (!handlers || handlers.length === 0) continue;\n\n\t\tfor (const handler of handlers) {\n\t\t\ttry {\n\t\t\t\tconst event: ContextEvent = { type: \"context\", messages: currentMessages };\n\t\t\t\tconst handlerResult = await runCallback(\n\t\t\t\t\t{ kind: \"extension.hook\", name: event.type, sourcePath: ext.path },\n\t\t\t\t\t() => handler(event, ctx),\n\t\t\t\t);\n\t\t\t\tif (handlerResult && (handlerResult as ContextEventResult).messages) {\n\t\t\t\t\tcurrentMessages = (handlerResult as ContextEventResult).messages!;\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\temitCaughtError(emitError, ext.path, \"context\", error);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn currentMessages;\n}\n\nexport async function runBeforeProviderRequestHandlers(\n\textensions: Extension[],\n\tctx: ExtensionContext,\n\tpayload: unknown,\n\temitError: EmitExtensionError,\n): Promise<unknown> {\n\tlet currentPayload = payload;\n\n\tfor (const ext of extensions) {\n\t\tconst handlers = ext.handlers.get(\"before_provider_request\");\n\t\tif (!handlers || handlers.length === 0) continue;\n\n\t\tfor (const handler of handlers) {\n\t\t\ttry {\n\t\t\t\tconst event: BeforeProviderRequestEvent = { type: \"before_provider_request\", payload: currentPayload };\n\t\t\t\tconst handlerResult = await runCallback(\n\t\t\t\t\t{ kind: \"extension.hook\", name: event.type, sourcePath: ext.path },\n\t\t\t\t\t() => handler(event, ctx),\n\t\t\t\t);\n\t\t\t\tif (handlerResult !== undefined) currentPayload = handlerResult;\n\t\t\t} catch (error) {\n\t\t\t\temitCaughtError(emitError, ext.path, \"before_provider_request\", error);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn currentPayload;\n}\n\nexport async function runBeforeAgentStartHandlers(\n\textensions: Extension[],\n\tbaseCtx: ExtensionContext,\n\tassertActive: () => void,\n\tprompt: string,\n\timages: ImageContent[] | undefined,\n\tsystemPrompt: string,\n\tsystemPromptOptions: BuildSystemPromptOptions,\n\temitError: EmitExtensionError,\n): Promise<BeforeAgentStartCombinedResult | undefined> {\n\tlet currentSystemPrompt = systemPrompt;\n\tconst ctx = Object.defineProperties({}, Object.getOwnPropertyDescriptors(baseCtx)) as ExtensionContext;\n\tctx.getSystemPrompt = () => {\n\t\tassertActive();\n\t\treturn currentSystemPrompt;\n\t};\n\tconst messages: NonNullable<BeforeAgentStartEventResult[\"message\"]>[] = [];\n\tlet systemPromptModified = false;\n\n\tfor (const ext of extensions) {\n\t\tconst handlers = ext.handlers.get(\"before_agent_start\");\n\t\tif (!handlers || handlers.length === 0) continue;\n\n\t\tfor (const handler of handlers) {\n\t\t\ttry {\n\t\t\t\tconst event: BeforeAgentStartEvent = {\n\t\t\t\t\ttype: \"before_agent_start\",\n\t\t\t\t\tprompt,\n\t\t\t\t\timages,\n\t\t\t\t\tsystemPrompt: currentSystemPrompt,\n\t\t\t\t\tsystemPromptOptions,\n\t\t\t\t};\n\t\t\t\tconst handlerResult = await runCallback(\n\t\t\t\t\t{ kind: \"extension.hook\", name: event.type, sourcePath: ext.path },\n\t\t\t\t\t() => handler(event, ctx),\n\t\t\t\t);\n\t\t\t\tif (!handlerResult) continue;\n\n\t\t\t\tconst result = handlerResult as BeforeAgentStartEventResult;\n\t\t\t\tif (result.message) messages.push(result.message);\n\t\t\t\tif (result.systemPrompt !== undefined) {\n\t\t\t\t\tcurrentSystemPrompt = result.systemPrompt;\n\t\t\t\t\tsystemPromptModified = true;\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\temitCaughtError(emitError, ext.path, \"before_agent_start\", error);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn messages.length > 0 || systemPromptModified\n\t\t? {\n\t\t\t\tmessages: messages.length > 0 ? messages : undefined,\n\t\t\t\tsystemPrompt: systemPromptModified ? currentSystemPrompt : undefined,\n\t\t\t}\n\t\t: undefined;\n}\n\nexport async function runResourcesDiscoverHandlers(\n\textensions: Extension[],\n\tctx: ExtensionContext,\n\tcwd: string,\n\treason: ResourcesDiscoverEvent[\"reason\"],\n\temitError: EmitExtensionError,\n): Promise<ResourcesDiscoverCombinedResult> {\n\tconst skillPaths: ResourcesDiscoverCombinedResult[\"skillPaths\"] = [];\n\tconst promptPaths: ResourcesDiscoverCombinedResult[\"promptPaths\"] = [];\n\tconst themePaths: ResourcesDiscoverCombinedResult[\"themePaths\"] = [];\n\n\tfor (const ext of extensions) {\n\t\tconst handlers = ext.handlers.get(\"resources_discover\");\n\t\tif (!handlers || handlers.length === 0) continue;\n\n\t\tfor (const handler of handlers) {\n\t\t\ttry {\n\t\t\t\tconst event: ResourcesDiscoverEvent = { type: \"resources_discover\", cwd, reason };\n\t\t\t\tconst result = (await runCallback({ kind: \"extension.hook\", name: event.type, sourcePath: ext.path }, () =>\n\t\t\t\t\thandler(event, ctx),\n\t\t\t\t)) as ResourcesDiscoverResult | undefined;\n\t\t\t\tif (result?.skillPaths?.length) {\n\t\t\t\t\tskillPaths.push(...result.skillPaths.map((path) => ({ path, extensionPath: ext.path })));\n\t\t\t\t}\n\t\t\t\tif (result?.promptPaths?.length) {\n\t\t\t\t\tpromptPaths.push(...result.promptPaths.map((path) => ({ path, extensionPath: ext.path })));\n\t\t\t\t}\n\t\t\t\tif (result?.themePaths?.length) {\n\t\t\t\t\tthemePaths.push(...result.themePaths.map((path) => ({ path, extensionPath: ext.path })));\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\temitCaughtError(emitError, ext.path, \"resources_discover\", error);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn { skillPaths, promptPaths, themePaths };\n}\n\nexport async function runInputHandlers(\n\textensions: Extension[],\n\tctx: ExtensionContext,\n\ttext: string,\n\timages: ImageContent[] | undefined,\n\tsource: InputSource,\n\tstreamingBehavior: \"steer\" | \"followUp\" | undefined,\n\temitError: EmitExtensionError,\n): Promise<InputEventResult> {\n\tlet currentText = text;\n\tlet currentImages = images;\n\n\tfor (const ext of extensions) {\n\t\tfor (const handler of ext.handlers.get(\"input\") ?? []) {\n\t\t\ttry {\n\t\t\t\tconst event: InputEvent = {\n\t\t\t\t\ttype: \"input\",\n\t\t\t\t\ttext: currentText,\n\t\t\t\t\timages: currentImages,\n\t\t\t\t\tsource,\n\t\t\t\t\tstreamingBehavior,\n\t\t\t\t};\n\t\t\t\tconst result = (await runCallback({ kind: \"extension.hook\", name: event.type, sourcePath: ext.path }, () =>\n\t\t\t\t\thandler(event, ctx),\n\t\t\t\t)) as InputEventResult | undefined;\n\t\t\t\tif (result?.action === \"handled\") return result;\n\t\t\t\tif (result?.action === \"transform\") {\n\t\t\t\t\tcurrentText = result.text;\n\t\t\t\t\tcurrentImages = result.images ?? currentImages;\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\temitCaughtError(emitError, ext.path, \"input\", error);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn currentText !== text || currentImages !== images\n\t\t? { action: \"transform\", text: currentText, images: currentImages }\n\t\t: { action: \"continue\" };\n}\n"]}
1
+ {"version":3,"file":"runner-events.js","sourceRoot":"","sources":["../../../src/core/extensions/runner-events.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ImageContent } from \"@bastani/pi-ai/compat\";\nimport type { AgentMessage } from \"@earendil-works/pi-agent-core\";\nimport { runCallback } from \"../callback-activity.ts\";\nimport type { BuildSystemPromptOptions } from \"../system-prompt.ts\";\nimport type {\n\tBeforeAgentStartEvent,\n\tBeforeAgentStartEventResult,\n\tBeforeProviderRequestEvent,\n\tContextEvent,\n\tContextEventResult,\n\tExtension,\n\tExtensionContext,\n\tExtensionError,\n\tExtensionEvent,\n\tInputEvent,\n\tInputEventResult,\n\tInputSource,\n\tMessageEndEvent,\n\tMessageEndEventResult,\n\tProjectTrustEvent,\n\tResourcesDiscoverEvent,\n\tResourcesDiscoverResult,\n\tSessionBeforeCompactResult,\n\tSessionBeforeForkResult,\n\tSessionBeforeSwitchResult,\n\tSessionBeforeTreeResult,\n\tToolCallEvent,\n\tToolCallEventResult,\n\tToolResultEvent,\n\tToolResultEventResult,\n\tUserBashEvent,\n\tUserBashEventResult,\n} from \"./types.ts\";\n\n/** Combined result from all before_agent_start handlers. */\nexport interface BeforeAgentStartCombinedResult {\n\tmessages?: NonNullable<BeforeAgentStartEventResult[\"message\"]>[];\n\tsystemPrompt?: string;\n}\n\nexport interface ResourcesDiscoverCombinedResult {\n\tskillPaths: Array<{ path: string; extensionPath: string }>;\n\tpromptPaths: Array<{ path: string; extensionPath: string }>;\n\tthemePaths: Array<{ path: string; extensionPath: string }>;\n}\n\n/** Events handled by the generic emit() method. */\nexport type RunnerEmitEvent = Exclude<\n\tExtensionEvent,\n\t| ToolCallEvent\n\t| ProjectTrustEvent\n\t| ToolResultEvent\n\t| UserBashEvent\n\t| ContextEvent\n\t| BeforeProviderRequestEvent\n\t| BeforeAgentStartEvent\n\t| MessageEndEvent\n\t| ResourcesDiscoverEvent\n\t| InputEvent\n>;\n\ntype SessionBeforeEvent = Extract<\n\tRunnerEmitEvent,\n\t{ type: \"session_before_switch\" | \"session_before_fork\" | \"session_before_compact\" | \"session_before_tree\" }\n>;\n\ntype SessionBeforeEventResult =\n\t| SessionBeforeSwitchResult\n\t| SessionBeforeForkResult\n\t| SessionBeforeCompactResult\n\t| SessionBeforeTreeResult;\n\nexport type RunnerEmitResult<TEvent extends RunnerEmitEvent> = TEvent extends { type: \"session_before_switch\" }\n\t? SessionBeforeSwitchResult | undefined\n\t: TEvent extends { type: \"session_before_fork\" }\n\t\t? SessionBeforeForkResult | undefined\n\t\t: TEvent extends { type: \"session_before_compact\" }\n\t\t\t? SessionBeforeCompactResult | undefined\n\t\t\t: TEvent extends { type: \"session_before_tree\" }\n\t\t\t\t? SessionBeforeTreeResult | undefined\n\t\t\t\t: undefined;\n\ntype EmitExtensionError = (error: ExtensionError) => void;\n\nconst isSessionBeforeEvent = (event: RunnerEmitEvent): event is SessionBeforeEvent =>\n\tevent.type === \"session_before_switch\" ||\n\tevent.type === \"session_before_fork\" ||\n\tevent.type === \"session_before_compact\" ||\n\tevent.type === \"session_before_tree\";\n\nconst emitCaughtError = (emitError: EmitExtensionError, extensionPath: string, event: string, error: unknown): void => {\n\temitError({\n\t\textensionPath,\n\t\tevent,\n\t\terror: error instanceof Error ? error.message : String(error),\n\t\tstack: error instanceof Error ? error.stack : undefined,\n\t});\n};\n\nexport async function runGenericHandlers<TEvent extends RunnerEmitEvent>(\n\textensions: Extension[],\n\tctx: ExtensionContext,\n\tevent: TEvent,\n\temitError: EmitExtensionError,\n\tisCurrent?: () => boolean,\n): Promise<RunnerEmitResult<TEvent>> {\n\tlet result: SessionBeforeEventResult | undefined;\n\tconst promptNotifications: Promise<void>[] = [];\n\n\tfor (const ext of extensions) {\n\t\tconst handlers = ext.handlers.get(event.type);\n\t\tif (!handlers || handlers.length === 0) continue;\n\n\t\tfor (const handler of handlers) {\n\t\t\t// Workflow publishers can retire while a previous handler awaits.\n\t\t\tif (isCurrent && !isCurrent()) return result as RunnerEmitResult<TEvent>;\n\t\t\ttry {\n\t\t\t\tconst invocation = runCallback(\n\t\t\t\t\t{ kind: \"extension.hook\", name: event.type, sourcePath: ext.path },\n\t\t\t\t\t// Activity reporting may yield again before invoking the callback.\n\t\t\t\t\t() => (!isCurrent || isCurrent() ? handler(event, ctx) : undefined),\n\t\t\t\t);\n\t\t\t\tif (event.type === \"ui_prompt_start\" || event.type === \"ui_prompt_end\") {\n\t\t\t\t\t// These notifications dispatch independently. Awaiting one observer here\n\t\t\t\t\t// lets an end overtake its start at every later observer, leaving a false block.\n\t\t\t\t\tpromptNotifications.push(\n\t\t\t\t\t\tinvocation.then(\n\t\t\t\t\t\t\t() => {},\n\t\t\t\t\t\t\t(error) => emitCaughtError(emitError, ext.path, event.type, error),\n\t\t\t\t\t\t),\n\t\t\t\t\t);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tconst handlerResult = await invocation;\n\t\t\t\tif (isSessionBeforeEvent(event) && handlerResult) {\n\t\t\t\t\tresult = handlerResult as SessionBeforeEventResult;\n\t\t\t\t\tif (result.cancel) return result as RunnerEmitResult<TEvent>;\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\temitCaughtError(emitError, ext.path, event.type, error);\n\t\t\t}\n\t\t}\n\t}\n\n\tif (promptNotifications.length > 0) await Promise.all(promptNotifications);\n\treturn result as RunnerEmitResult<TEvent>;\n}\n\nexport async function runMessageEndHandlers(\n\textensions: Extension[],\n\tctx: ExtensionContext,\n\tevent: MessageEndEvent,\n\temitError: EmitExtensionError,\n): Promise<AgentMessage | undefined> {\n\tlet currentMessage = event.message;\n\tlet modified = false;\n\n\tfor (const ext of extensions) {\n\t\tconst handlers = ext.handlers.get(\"message_end\");\n\t\tif (!handlers || handlers.length === 0) continue;\n\n\t\tfor (const handler of handlers) {\n\t\t\ttry {\n\t\t\t\tconst currentEvent: MessageEndEvent = { ...event, message: currentMessage };\n\t\t\t\tconst handlerResult = (await runCallback(\n\t\t\t\t\t{ kind: \"extension.hook\", name: currentEvent.type, sourcePath: ext.path },\n\t\t\t\t\t() => handler(currentEvent, ctx),\n\t\t\t\t)) as MessageEndEventResult | undefined;\n\t\t\t\tif (!handlerResult?.message) continue;\n\n\t\t\t\tif (handlerResult.message.role !== currentMessage.role) {\n\t\t\t\t\temitError({\n\t\t\t\t\t\textensionPath: ext.path,\n\t\t\t\t\t\tevent: \"message_end\",\n\t\t\t\t\t\terror: \"message_end handlers must return a message with the same role\",\n\t\t\t\t\t});\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tcurrentMessage = handlerResult.message;\n\t\t\t\tmodified = true;\n\t\t\t} catch (error) {\n\t\t\t\temitCaughtError(emitError, ext.path, \"message_end\", error);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn modified ? currentMessage : undefined;\n}\n\nexport async function runToolResultHandlers(\n\textensions: Extension[],\n\tctx: ExtensionContext,\n\tevent: ToolResultEvent,\n\temitError: EmitExtensionError,\n): Promise<ToolResultEventResult | undefined> {\n\tconst currentEvent: ToolResultEvent = { ...event };\n\tlet modified = false;\n\n\tfor (const ext of extensions) {\n\t\tconst handlers = ext.handlers.get(\"tool_result\");\n\t\tif (!handlers || handlers.length === 0) continue;\n\n\t\tfor (const handler of handlers) {\n\t\t\ttry {\n\t\t\t\tconst handlerResult = (await runCallback(\n\t\t\t\t\t{ kind: \"extension.hook\", name: currentEvent.type, sourcePath: ext.path },\n\t\t\t\t\t() => handler(currentEvent, ctx),\n\t\t\t\t)) as ToolResultEventResult | undefined;\n\t\t\t\tif (!handlerResult) continue;\n\t\t\t\tif (handlerResult.content !== undefined) {\n\t\t\t\t\tcurrentEvent.content = handlerResult.content;\n\t\t\t\t\tmodified = true;\n\t\t\t\t}\n\t\t\t\tif (handlerResult.details !== undefined) {\n\t\t\t\t\tcurrentEvent.details = handlerResult.details;\n\t\t\t\t\tmodified = true;\n\t\t\t\t}\n\t\t\t\tif (handlerResult.isError !== undefined) {\n\t\t\t\t\tcurrentEvent.isError = handlerResult.isError;\n\t\t\t\t\tmodified = true;\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\temitCaughtError(emitError, ext.path, \"tool_result\", error);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn modified\n\t\t? { content: currentEvent.content, details: currentEvent.details, isError: currentEvent.isError }\n\t\t: undefined;\n}\n\nexport async function runToolCallHandlers(\n\textensions: Extension[],\n\tctx: ExtensionContext,\n\tevent: ToolCallEvent,\n): Promise<ToolCallEventResult | undefined> {\n\tlet result: ToolCallEventResult | undefined;\n\n\tfor (const ext of extensions) {\n\t\tconst handlers = ext.handlers.get(\"tool_call\");\n\t\tif (!handlers || handlers.length === 0) continue;\n\n\t\tfor (const handler of handlers) {\n\t\t\tconst handlerResult = await runCallback(\n\t\t\t\t{ kind: \"extension.hook\", name: event.type, sourcePath: ext.path },\n\t\t\t\t() => handler(event, ctx),\n\t\t\t);\n\t\t\tif (handlerResult) {\n\t\t\t\tresult = handlerResult as ToolCallEventResult;\n\t\t\t\tif (result.block) return result;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn result;\n}\n\nexport async function runUserBashHandlers(\n\textensions: Extension[],\n\tctx: ExtensionContext,\n\tevent: UserBashEvent,\n\temitError: EmitExtensionError,\n): Promise<UserBashEventResult | undefined> {\n\tfor (const ext of extensions) {\n\t\tconst handlers = ext.handlers.get(\"user_bash\");\n\t\tif (!handlers || handlers.length === 0) continue;\n\n\t\tfor (const handler of handlers) {\n\t\t\ttry {\n\t\t\t\tconst handlerResult = await runCallback(\n\t\t\t\t\t{ kind: \"extension.hook\", name: event.type, sourcePath: ext.path },\n\t\t\t\t\t() => handler(event, ctx),\n\t\t\t\t);\n\t\t\t\tif (handlerResult) return handlerResult as UserBashEventResult;\n\t\t\t} catch (error) {\n\t\t\t\temitCaughtError(emitError, ext.path, \"user_bash\", error);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn undefined;\n}\n\nexport async function runContextHandlers(\n\textensions: Extension[],\n\tctx: ExtensionContext,\n\tmessages: AgentMessage[],\n\temitError: EmitExtensionError,\n): Promise<AgentMessage[]> {\n\tlet currentMessages = structuredClone(messages);\n\n\tfor (const ext of extensions) {\n\t\tconst handlers = ext.handlers.get(\"context\");\n\t\tif (!handlers || handlers.length === 0) continue;\n\n\t\tfor (const handler of handlers) {\n\t\t\ttry {\n\t\t\t\tconst event: ContextEvent = { type: \"context\", messages: currentMessages };\n\t\t\t\tconst handlerResult = await runCallback(\n\t\t\t\t\t{ kind: \"extension.hook\", name: event.type, sourcePath: ext.path },\n\t\t\t\t\t() => handler(event, ctx),\n\t\t\t\t);\n\t\t\t\tif (handlerResult && (handlerResult as ContextEventResult).messages) {\n\t\t\t\t\tcurrentMessages = (handlerResult as ContextEventResult).messages!;\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\temitCaughtError(emitError, ext.path, \"context\", error);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn currentMessages;\n}\n\nexport async function runBeforeProviderRequestHandlers(\n\textensions: Extension[],\n\tctx: ExtensionContext,\n\tpayload: unknown,\n\temitError: EmitExtensionError,\n): Promise<unknown> {\n\tlet currentPayload = payload;\n\n\tfor (const ext of extensions) {\n\t\tconst handlers = ext.handlers.get(\"before_provider_request\");\n\t\tif (!handlers || handlers.length === 0) continue;\n\n\t\tfor (const handler of handlers) {\n\t\t\ttry {\n\t\t\t\tconst event: BeforeProviderRequestEvent = { type: \"before_provider_request\", payload: currentPayload };\n\t\t\t\tconst handlerResult = await runCallback(\n\t\t\t\t\t{ kind: \"extension.hook\", name: event.type, sourcePath: ext.path },\n\t\t\t\t\t() => handler(event, ctx),\n\t\t\t\t);\n\t\t\t\tif (handlerResult !== undefined) currentPayload = handlerResult;\n\t\t\t} catch (error) {\n\t\t\t\temitCaughtError(emitError, ext.path, \"before_provider_request\", error);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn currentPayload;\n}\n\nexport async function runBeforeAgentStartHandlers(\n\textensions: Extension[],\n\tbaseCtx: ExtensionContext,\n\tassertActive: () => void,\n\tprompt: string,\n\timages: ImageContent[] | undefined,\n\tsystemPrompt: string,\n\tsystemPromptOptions: BuildSystemPromptOptions,\n\temitError: EmitExtensionError,\n): Promise<BeforeAgentStartCombinedResult | undefined> {\n\tlet currentSystemPrompt = systemPrompt;\n\tconst ctx = Object.defineProperties({}, Object.getOwnPropertyDescriptors(baseCtx)) as ExtensionContext;\n\tctx.getSystemPrompt = () => {\n\t\tassertActive();\n\t\treturn currentSystemPrompt;\n\t};\n\tconst messages: NonNullable<BeforeAgentStartEventResult[\"message\"]>[] = [];\n\tlet systemPromptModified = false;\n\n\tfor (const ext of extensions) {\n\t\tconst handlers = ext.handlers.get(\"before_agent_start\");\n\t\tif (!handlers || handlers.length === 0) continue;\n\n\t\tfor (const handler of handlers) {\n\t\t\ttry {\n\t\t\t\tconst event: BeforeAgentStartEvent = {\n\t\t\t\t\ttype: \"before_agent_start\",\n\t\t\t\t\tprompt,\n\t\t\t\t\timages,\n\t\t\t\t\tsystemPrompt: currentSystemPrompt,\n\t\t\t\t\tsystemPromptOptions,\n\t\t\t\t};\n\t\t\t\tconst handlerResult = await runCallback(\n\t\t\t\t\t{ kind: \"extension.hook\", name: event.type, sourcePath: ext.path },\n\t\t\t\t\t() => handler(event, ctx),\n\t\t\t\t);\n\t\t\t\tif (!handlerResult) continue;\n\n\t\t\t\tconst result = handlerResult as BeforeAgentStartEventResult;\n\t\t\t\tif (result.message) messages.push(result.message);\n\t\t\t\tif (result.systemPrompt !== undefined) {\n\t\t\t\t\tcurrentSystemPrompt = result.systemPrompt;\n\t\t\t\t\tsystemPromptModified = true;\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\temitCaughtError(emitError, ext.path, \"before_agent_start\", error);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn messages.length > 0 || systemPromptModified\n\t\t? {\n\t\t\t\tmessages: messages.length > 0 ? messages : undefined,\n\t\t\t\tsystemPrompt: systemPromptModified ? currentSystemPrompt : undefined,\n\t\t\t}\n\t\t: undefined;\n}\n\nexport async function runResourcesDiscoverHandlers(\n\textensions: Extension[],\n\tctx: ExtensionContext,\n\tcwd: string,\n\treason: ResourcesDiscoverEvent[\"reason\"],\n\temitError: EmitExtensionError,\n): Promise<ResourcesDiscoverCombinedResult> {\n\tconst skillPaths: ResourcesDiscoverCombinedResult[\"skillPaths\"] = [];\n\tconst promptPaths: ResourcesDiscoverCombinedResult[\"promptPaths\"] = [];\n\tconst themePaths: ResourcesDiscoverCombinedResult[\"themePaths\"] = [];\n\n\tfor (const ext of extensions) {\n\t\tconst handlers = ext.handlers.get(\"resources_discover\");\n\t\tif (!handlers || handlers.length === 0) continue;\n\n\t\tfor (const handler of handlers) {\n\t\t\ttry {\n\t\t\t\tconst event: ResourcesDiscoverEvent = { type: \"resources_discover\", cwd, reason };\n\t\t\t\tconst result = (await runCallback({ kind: \"extension.hook\", name: event.type, sourcePath: ext.path }, () =>\n\t\t\t\t\thandler(event, ctx),\n\t\t\t\t)) as ResourcesDiscoverResult | undefined;\n\t\t\t\tif (result?.skillPaths?.length) {\n\t\t\t\t\tskillPaths.push(...result.skillPaths.map((path) => ({ path, extensionPath: ext.path })));\n\t\t\t\t}\n\t\t\t\tif (result?.promptPaths?.length) {\n\t\t\t\t\tpromptPaths.push(...result.promptPaths.map((path) => ({ path, extensionPath: ext.path })));\n\t\t\t\t}\n\t\t\t\tif (result?.themePaths?.length) {\n\t\t\t\t\tthemePaths.push(...result.themePaths.map((path) => ({ path, extensionPath: ext.path })));\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\temitCaughtError(emitError, ext.path, \"resources_discover\", error);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn { skillPaths, promptPaths, themePaths };\n}\n\nexport async function runInputHandlers(\n\textensions: Extension[],\n\tctx: ExtensionContext,\n\ttext: string,\n\timages: ImageContent[] | undefined,\n\tsource: InputSource,\n\tstreamingBehavior: \"steer\" | \"followUp\" | undefined,\n\temitError: EmitExtensionError,\n): Promise<InputEventResult> {\n\tlet currentText = text;\n\tlet currentImages = images;\n\n\tfor (const ext of extensions) {\n\t\tfor (const handler of ext.handlers.get(\"input\") ?? []) {\n\t\t\ttry {\n\t\t\t\tconst event: InputEvent = {\n\t\t\t\t\ttype: \"input\",\n\t\t\t\t\ttext: currentText,\n\t\t\t\t\timages: currentImages,\n\t\t\t\t\tsource,\n\t\t\t\t\tstreamingBehavior,\n\t\t\t\t};\n\t\t\t\tconst result = (await runCallback({ kind: \"extension.hook\", name: event.type, sourcePath: ext.path }, () =>\n\t\t\t\t\thandler(event, ctx),\n\t\t\t\t)) as InputEventResult | undefined;\n\t\t\t\tif (result?.action === \"handled\") return result;\n\t\t\t\tif (result?.action === \"transform\") {\n\t\t\t\t\tcurrentText = result.text;\n\t\t\t\t\tcurrentImages = result.images ?? currentImages;\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\temitCaughtError(emitError, ext.path, \"input\", error);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn currentText !== text || currentImages !== images\n\t\t? { action: \"transform\", text: currentText, images: currentImages }\n\t\t: { action: \"continue\" };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"runner-ui.js","sourceRoot":"","sources":["../../../src/core/extensions/runner-ui.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,EAAE,MAAM,wCAAwC,CAAC;AAG3E,MAAM,CAAC,MAAM,aAAa,GAAuB;IAChD,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC,SAAS;IAC7B,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,KAAK;IAC1B,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,SAAS;IAC5B,MAAM,EAAE,GAAG,EAAE,GAAE,CAAC;IAChB,aAAa,EAAE,GAAG,EAAE,GAAE,CAAC;IACvB,eAAe,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAE,CAAC;IAC/B,SAAS,EAAE,GAAG,EAAE,GAAE,CAAC;IACnB,iBAAiB,EAAE,GAAG,EAAE,GAAE,CAAC;IAC3B,iBAAiB,EAAE,GAAG,EAAE,GAAE,CAAC;IAC3B,mBAAmB,EAAE,GAAG,EAAE,GAAE,CAAC;IAC7B,sBAAsB,EAAE,GAAG,EAAE,GAAE,CAAC;IAChC,SAAS,EAAE,GAAG,EAAE,GAAE,CAAC;IACnB,SAAS,EAAE,GAAG,EAAE,GAAE,CAAC;IACnB,SAAS,EAAE,GAAG,EAAE,GAAE,CAAC;IACnB,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC;IAClB,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC,SAAkB;IACtC,aAAa,EAAE,GAAG,EAAE,GAAE,CAAC;IACvB,aAAa,EAAE,GAAG,EAAE,GAAE,CAAC;IACvB,aAAa,EAAE,GAAG,EAAE,CAAC,EAAE;IACvB,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC,SAAS;IAC7B,uBAAuB,EAAE,GAAG,EAAE,GAAE,CAAC;IACjC,kBAAkB,EAAE,GAAG,EAAE,GAAE,CAAC;IAC5B,kBAAkB,EAAE,GAAG,EAAE,CAAC,SAAS;IACnC,qBAAqB,EAAE,GAAG,EAAE,CAAC,CAAC;QAC7B,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI;QACxB,oBAAoB,EAAE,GAAG,EAAE,CAAC,IAAI,GAAG,EAAE;QACrC,yBAAyB,EAAE,GAAG,EAAE,CAAC,CAAC;QAClC,cAAc,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAE,CAAC;KAC9B,CAAC;IACF,IAAI,KAAK;QACR,OAAO,KAAK,CAAC;IACd,CAAC;IACD,YAAY,EAAE,GAAG,EAAE,CAAC,EAAE;IACtB,QAAQ,EAAE,GAAG,EAAE,CAAC,SAAS;IACzB,QAAQ,EAAE,CAAC,MAAsB,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC;IACrF,gBAAgB,EAAE,GAAG,EAAE,CAAC,KAAK;IAC7B,gBAAgB,EAAE,GAAG,EAAE,GAAE,CAAC;IAC1B,qBAAqB,EAAE,GAAG,EAAE,CAAC,CAAC;QAC7B,iBAAiB,EAAE,KAAK;QACxB,mBAAmB,EAAE,aAAa;QAClC,kBAAkB,EAAE,KAAK;QACzB,UAAU,EAAE,KAAK;QACjB,eAAe,EAAE,EAAE;QACnB,oBAAoB,EAAE,EAAE;QACxB,iBAAiB,EAAE,GAAG,EAAE,CAAC,SAAS;QAClC,wBAAwB,EAAE,GAAG,EAAE,CAAC,SAAS;KACzC,CAAC;CACF,CAAC","sourcesContent":["import { type Theme, theme } from \"../../modes/interactive/theme/theme.ts\";\nimport type { ExtensionUIContext } from \"./types.ts\";\n\nexport const noOpUIContext: ExtensionUIContext = {\n\tselect: async () => undefined,\n\tconfirm: async () => false,\n\tinput: async () => undefined,\n\tnotify: () => {},\n\trequestRender: () => {},\n\tonTerminalInput: () => () => {},\n\tsetStatus: () => {},\n\tsetWorkingMessage: () => {},\n\tsetWorkingVisible: () => {},\n\tsetWorkingIndicator: () => {},\n\tsetHiddenThinkingLabel: () => {},\n\tsetWidget: () => {},\n\tsetFooter: () => {},\n\tsetHeader: () => {},\n\tsetTitle: () => {},\n\tcustom: async () => undefined as never,\n\tpasteToEditor: () => {},\n\tsetEditorText: () => {},\n\tgetEditorText: () => \"\",\n\teditor: async () => undefined,\n\taddAutocompleteProvider: () => {},\n\tsetEditorComponent: () => {},\n\tgetEditorComponent: () => undefined,\n\tgetFooterDataProvider: () => ({\n\t\tgetGitBranch: () => null,\n\t\tgetExtensionStatuses: () => new Map(),\n\t\tgetAvailableProviderCount: () => 1,\n\t\tonBranchChange: () => () => {},\n\t}),\n\tget theme() {\n\t\treturn theme;\n\t},\n\tgetAllThemes: () => [],\n\tgetTheme: () => undefined,\n\tsetTheme: (_theme: string | Theme) => ({ success: false, error: \"UI not available\" }),\n\tgetToolsExpanded: () => false,\n\tsetToolsExpanded: () => {},\n\tgetChatRenderSettings: () => ({\n\t\thideThinkingBlock: false,\n\t\thiddenThinkingLabel: \"Thinking...\",\n\t\ttoolOutputExpanded: false,\n\t\tshowImages: false,\n\t\timageWidthCells: 60,\n\t\tmarkdownTransformers: [],\n\t\tgetToolDefinition: () => undefined,\n\t\tgetCustomMessageRenderer: () => undefined,\n\t}),\n};\n"]}
1
+ {"version":3,"file":"runner-ui.js","sourceRoot":"","sources":["../../../src/core/extensions/runner-ui.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,EAAE,MAAM,wCAAwC,CAAC;AAG3E,MAAM,CAAC,MAAM,aAAa,GAAuB;IAChD,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC,SAAS;IAC7B,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,KAAK;IAC1B,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,SAAS;IAC5B,MAAM,EAAE,GAAG,EAAE,GAAE,CAAC;IAChB,aAAa,EAAE,GAAG,EAAE,GAAE,CAAC;IACvB,eAAe,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAE,CAAC;IAC/B,SAAS,EAAE,GAAG,EAAE,GAAE,CAAC;IACnB,iBAAiB,EAAE,GAAG,EAAE,GAAE,CAAC;IAC3B,iBAAiB,EAAE,GAAG,EAAE,GAAE,CAAC;IAC3B,mBAAmB,EAAE,GAAG,EAAE,GAAE,CAAC;IAC7B,sBAAsB,EAAE,GAAG,EAAE,GAAE,CAAC;IAChC,SAAS,EAAE,GAAG,EAAE,GAAE,CAAC;IACnB,SAAS,EAAE,GAAG,EAAE,GAAE,CAAC;IACnB,SAAS,EAAE,GAAG,EAAE,GAAE,CAAC;IACnB,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC;IAClB,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC,SAAkB;IACtC,aAAa,EAAE,GAAG,EAAE,GAAE,CAAC;IACvB,aAAa,EAAE,GAAG,EAAE,GAAE,CAAC;IACvB,aAAa,EAAE,GAAG,EAAE,CAAC,EAAE;IACvB,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC,SAAS;IAC7B,uBAAuB,EAAE,GAAG,EAAE,GAAE,CAAC;IACjC,kBAAkB,EAAE,GAAG,EAAE,GAAE,CAAC;IAC5B,kBAAkB,EAAE,GAAG,EAAE,CAAC,SAAS;IACnC,qBAAqB,EAAE,GAAG,EAAE,CAAC,CAAC;QAC7B,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI;QACxB,oBAAoB,EAAE,GAAG,EAAE,CAAC,IAAI,GAAG,EAAE;QACrC,yBAAyB,EAAE,GAAG,EAAE,CAAC,CAAC;QAClC,cAAc,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAE,CAAC;KAC9B,CAAC;IACF,IAAI,KAAK;QACR,OAAO,KAAK,CAAC;IACd,CAAC;IACD,YAAY,EAAE,GAAG,EAAE,CAAC,EAAE;IACtB,QAAQ,EAAE,GAAG,EAAE,CAAC,SAAS;IACzB,QAAQ,EAAE,CAAC,MAAsB,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC;IACrF,gBAAgB,EAAE,GAAG,EAAE,CAAC,KAAK;IAC7B,gBAAgB,EAAE,GAAG,EAAE,GAAE,CAAC;IAC1B,qBAAqB,EAAE,GAAG,EAAE,CAAC,CAAC;QAC7B,iBAAiB,EAAE,KAAK;QACxB,mBAAmB,EAAE,aAAa;QAClC,kBAAkB,EAAE,KAAK;QACzB,UAAU,EAAE,KAAK;QACjB,eAAe,EAAE,EAAE;QACnB,oBAAoB,EAAE,EAAE;QACxB,iBAAiB,EAAE,GAAG,EAAE,CAAC,SAAS;QAClC,wBAAwB,EAAE,GAAG,EAAE,CAAC,SAAS;KACzC,CAAC;CACF,CAAC","sourcesContent":["import { type Theme, theme } from \"../../modes/interactive/theme/theme.js\";\nimport type { ExtensionUIContext } from \"./types.ts\";\n\nexport const noOpUIContext: ExtensionUIContext = {\n\tselect: async () => undefined,\n\tconfirm: async () => false,\n\tinput: async () => undefined,\n\tnotify: () => {},\n\trequestRender: () => {},\n\tonTerminalInput: () => () => {},\n\tsetStatus: () => {},\n\tsetWorkingMessage: () => {},\n\tsetWorkingVisible: () => {},\n\tsetWorkingIndicator: () => {},\n\tsetHiddenThinkingLabel: () => {},\n\tsetWidget: () => {},\n\tsetFooter: () => {},\n\tsetHeader: () => {},\n\tsetTitle: () => {},\n\tcustom: async () => undefined as never,\n\tpasteToEditor: () => {},\n\tsetEditorText: () => {},\n\tgetEditorText: () => \"\",\n\teditor: async () => undefined,\n\taddAutocompleteProvider: () => {},\n\tsetEditorComponent: () => {},\n\tgetEditorComponent: () => undefined,\n\tgetFooterDataProvider: () => ({\n\t\tgetGitBranch: () => null,\n\t\tgetExtensionStatuses: () => new Map(),\n\t\tgetAvailableProviderCount: () => 1,\n\t\tonBranchChange: () => () => {},\n\t}),\n\tget theme() {\n\t\treturn theme;\n\t},\n\tgetAllThemes: () => [],\n\tgetTheme: () => undefined,\n\tsetTheme: (_theme: string | Theme) => ({ success: false, error: \"UI not available\" }),\n\tgetToolsExpanded: () => false,\n\tsetToolsExpanded: () => {},\n\tgetChatRenderSettings: () => ({\n\t\thideThinkingBlock: false,\n\t\thiddenThinkingLabel: \"Thinking...\",\n\t\ttoolOutputExpanded: false,\n\t\tshowImages: false,\n\t\timageWidthCells: 60,\n\t\tmarkdownTransformers: [],\n\t\tgetToolDefinition: () => undefined,\n\t\tgetCustomMessageRenderer: () => undefined,\n\t}),\n};\n"]}
@@ -12,7 +12,7 @@ import type { SessionManager } from "../session-manager.ts";
12
12
  import type { BuildSystemPromptOptions } from "../system-prompt.ts";
13
13
  import { type BeforeAgentStartCombinedResult, type ResourcesDiscoverCombinedResult, type RunnerEmitEvent, type RunnerEmitResult } from "./runner-events.ts";
14
14
  import type { ExtensionErrorListener } from "./runner-handlers.ts";
15
- import type { EntryRenderer, Extension, ExtensionActions, ExtensionCommandContext, ExtensionCommandContextActions, ExtensionContext, ExtensionContextActions, ExtensionError, ExtensionFlag, ExtensionMode, ExtensionRuntime, ExtensionShortcut, ExtensionUIContext, InputEventResult, InputSource, MarkdownTransformer, MessageEndEvent, MessageRenderer, OrchestrationContext, ProviderConfig, RegisteredTool, ResolvedCommand, ResourcesDiscoverEvent, SessionShutdownEvent, SubagentChildPolicy, ToolCallEvent, ToolCallEventResult, ToolResultEvent, ToolResultEventResult, UserBashEvent, UserBashEventResult } from "./types.ts";
15
+ import type { EntryRenderer, Extension, ExtensionActions, ExtensionCommandContext, ExtensionCommandContextActions, ExtensionContext, ExtensionContextActions, ExtensionError, ExtensionFlag, ExtensionMode, ExtensionRuntime, ExtensionShortcut, ExtensionUIContext, InputEventResult, InputSource, MarkdownTransformer, MessageEndEvent, MessageRenderer, OrchestrationContext, ProviderConfig, RegisteredTool, ResolvedCommand, ResourcesDiscoverEvent, SessionShutdownEvent, SubagentChildPolicy, ToolCallEvent, ToolCallEventResult, ToolResultEvent, ToolResultEventResult, UIPromptKind, UserBashEvent, UserBashEventResult } from "./types.ts";
16
16
  export type { ExtensionErrorListener, ForkHandler, NavigateTreeHandler, NewSessionHandler, ReloadHandler, ShutdownHandler, SwitchSessionHandler, } from "./runner-handlers.ts";
17
17
  export { emitProjectTrustEvent } from "./runner-project-trust.ts";
18
18
  /**
@@ -30,6 +30,8 @@ export declare class ExtensionRunner {
30
30
  private modelRegistry;
31
31
  private orchestrationContext;
32
32
  private subagentPolicy;
33
+ private taskHostBinding;
34
+ bindTaskHost(binding: () => import("../tasks/agent-adapter.js").AgentTaskHost): void;
33
35
  private errorListeners;
34
36
  private getModel;
35
37
  private getScopedModels;
@@ -53,6 +55,7 @@ export declare class ExtensionRunner {
53
55
  private shortcutDiagnostics;
54
56
  private commandDiagnostics;
55
57
  private staleMessage;
58
+ private readonly contextOwner;
56
59
  private uiPromptBinding;
57
60
  private activeUIPrompt;
58
61
  constructor(extensions: Extension[], runtime: ExtensionRuntime, cwd: string, sessionManager: SessionManager, modelRegistry: ModelRegistry, orchestrationContext?: OrchestrationContext, subagentPolicy?: SubagentChildPolicy);
@@ -63,9 +66,19 @@ export declare class ExtensionRunner {
63
66
  bindCommandContext(actions?: ExtensionCommandContextActions): void;
64
67
  setUIContext(uiContext?: ExtensionUIContext, mode?: ExtensionMode): void;
65
68
  private wrapUIPromptContext;
69
+ /** Track a host-owned trust dialog using the current session's prompt lifecycle. */
70
+ withProjectTrustPrompt<T>(kind: UIPromptKind, title: string, run: () => Promise<T>): Promise<T>;
71
+ /** Begin a host-owned trust span whose end arrives as a separate control frame. */
72
+ beginProjectTrustPrompt(kind: UIPromptKind, title: string): () => void;
66
73
  private withUIPrompt;
74
+ private beginUIPrompt;
67
75
  private endActiveUIPrompt;
76
+ private readonly pendingUIPromptNotifications;
68
77
  private emitUIPromptEvent;
78
+ /** Settle only the deliveries pending at this boundary, without delaying prompt UI. */
79
+ flushUIPromptNotifications(timeoutMs: number): Promise<{
80
+ timedOut: boolean;
81
+ }>;
69
82
  getUIContext(): ExtensionUIContext;
70
83
  hasUI(): boolean;
71
84
  getExtensionPaths(): string[];
@@ -98,7 +111,9 @@ export declare class ExtensionRunner {
98
111
  createContext(): ExtensionContext;
99
112
  createCommandContext(): ExtensionCommandContext;
100
113
  private createContextSource;
101
- emit<TEvent extends RunnerEmitEvent>(event: TEvent): Promise<RunnerEmitResult<TEvent>>;
114
+ /** Keep startup reporters bound while adding the now-authorized extension set. */
115
+ attachStartupExtensions(extensions: Extension[]): () => Promise<void>;
116
+ emit<TEvent extends RunnerEmitEvent>(event: TEvent, isCurrent?: () => boolean): Promise<RunnerEmitResult<TEvent>>;
102
117
  emitMessageEnd(event: MessageEndEvent): Promise<AgentMessage | undefined>;
103
118
  emitToolResult(event: ToolResultEvent): Promise<ToolResultEventResult | undefined>;
104
119
  emitToolCall(event: ToolCallEvent): Promise<ToolCallEventResult | undefined>;
@@ -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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"}
@@ -21,6 +21,9 @@ export async function emitSessionShutdownEvent(extensionRunner, event) {
21
21
  return false;
22
22
  }
23
23
  export class ExtensionRunner {
24
+ bindTaskHost(binding) {
25
+ this.taskHostBinding = binding;
26
+ }
24
27
  constructor(extensions, runtime, cwd, sessionManager, modelRegistry, orchestrationContext, subagentPolicy) {
25
28
  this.mode = "print";
26
29
  this.errorListeners = new Set();
@@ -45,9 +48,12 @@ export class ExtensionRunner {
45
48
  this.shutdownHandler = () => { };
46
49
  this.shortcutDiagnostics = [];
47
50
  this.commandDiagnostics = [];
51
+ this.contextOwner = {};
48
52
  this.uiPromptBinding = 0;
53
+ this.pendingUIPromptNotifications = new Set();
49
54
  this.extensions = extensions;
50
55
  this.runtime = runtime;
56
+ this.runtime.workflowActivityHub.bindDispatcher((event, isCurrent) => this.emit(event, isCurrent));
51
57
  this.uiContext = noOpUIContext;
52
58
  this.cwd = cwd;
53
59
  this.sessionManager = sessionManager;
@@ -161,26 +167,46 @@ export class ExtensionRunner {
161
167
  confirm: (title, message, opts) => this.withUIPrompt(binding, "confirm", title, () => ui.confirm(title, message, opts)),
162
168
  input: (title, placeholder, opts) => this.withUIPrompt(binding, "input", title, () => ui.input(title, placeholder, opts)),
163
169
  editor: (title, prefill, opts) => this.withUIPrompt(binding, "editor", title, () => ui.editor(title, prefill, opts)),
164
- custom: (factory, options) => this.withUIPrompt(binding, "custom", undefined, () => ui.custom(factory, options)),
170
+ custom: (factory, options) => options?.purpose === "navigation"
171
+ ? ui.custom(factory, options)
172
+ : this.withUIPrompt(binding, "custom", undefined, () => ui.custom(factory, options)),
165
173
  };
166
174
  }
167
- withUIPrompt(binding, kind, title, run) {
175
+ /** Track a host-owned trust dialog using the current session's prompt lifecycle. */
176
+ withProjectTrustPrompt(kind, title, run) {
177
+ return this.withUIPrompt(this.uiPromptBinding, kind, title, run, "project_trust");
178
+ }
179
+ /** Begin a host-owned trust span whose end arrives as a separate control frame. */
180
+ beginProjectTrustPrompt(kind, title) {
181
+ return this.beginUIPrompt(kind, title, "project_trust");
182
+ }
183
+ withUIPrompt(binding, kind, title, run, reason = "ui_prompt") {
168
184
  if (binding !== this.uiPromptBinding)
169
185
  return run();
186
+ const finish = this.beginUIPrompt(kind, title, reason);
187
+ try {
188
+ return run().finally(finish);
189
+ }
190
+ catch (error) {
191
+ finish();
192
+ throw error;
193
+ }
194
+ }
195
+ beginUIPrompt(kind, title, reason) {
170
196
  let prompt = this.activeUIPrompt;
171
197
  if (!prompt) {
172
- prompt = { depth: 0, kind, title };
198
+ prompt = { depth: 0, reason, kind, title };
173
199
  this.activeUIPrompt = prompt;
174
200
  this.emitUIPromptEvent({
175
201
  type: "ui_prompt_start",
176
- reason: "ui_prompt",
202
+ reason,
177
203
  kind,
178
204
  ...(title === undefined ? {} : { title }),
179
205
  });
180
206
  }
181
207
  prompt.depth += 1;
182
208
  let finished = false;
183
- const finish = () => {
209
+ return () => {
184
210
  if (finished)
185
211
  return;
186
212
  finished = true;
@@ -190,13 +216,6 @@ export class ExtensionRunner {
190
216
  if (prompt.depth === 0)
191
217
  this.endActiveUIPrompt(prompt);
192
218
  };
193
- try {
194
- return run().finally(finish);
195
- }
196
- catch (error) {
197
- finish();
198
- throw error;
199
- }
200
219
  }
201
220
  endActiveUIPrompt(prompt = this.activeUIPrompt) {
202
221
  if (!prompt || this.activeUIPrompt !== prompt)
@@ -205,15 +224,35 @@ export class ExtensionRunner {
205
224
  prompt.depth = 0;
206
225
  this.emitUIPromptEvent({
207
226
  type: "ui_prompt_end",
208
- reason: "ui_prompt",
227
+ reason: prompt.reason,
209
228
  kind: prompt.kind,
210
229
  ...(prompt.title === undefined ? {} : { title: prompt.title }),
211
230
  });
212
231
  }
213
232
  emitUIPromptEvent(event) {
214
- queueMicrotask(() => {
215
- void this.emit(event);
233
+ const delivery = Promise.resolve().then(async () => {
234
+ await this.emit(event);
216
235
  });
236
+ this.pendingUIPromptNotifications.add(delivery);
237
+ void delivery.finally(() => this.pendingUIPromptNotifications.delete(delivery)).catch(() => { });
238
+ }
239
+ /** Settle only the deliveries pending at this boundary, without delaying prompt UI. */
240
+ async flushUIPromptNotifications(timeoutMs) {
241
+ const pending = [...this.pendingUIPromptNotifications];
242
+ if (pending.length === 0)
243
+ return { timedOut: false };
244
+ let timer;
245
+ try {
246
+ return await Promise.race([
247
+ Promise.allSettled(pending).then(() => ({ timedOut: false })),
248
+ new Promise((resolve) => {
249
+ timer = setTimeout(() => resolve({ timedOut: true }), timeoutMs);
250
+ }),
251
+ ]);
252
+ }
253
+ finally {
254
+ clearTimeout(timer);
255
+ }
217
256
  }
218
257
  getUIContext() {
219
258
  return this.uiContext;
@@ -305,7 +344,7 @@ export class ExtensionRunner {
305
344
  this.shutdownHandler();
306
345
  }
307
346
  createContext() {
308
- return createExtensionContext(this.createContextSource());
347
+ return createExtensionContext(this.createContextSource(), this.contextOwner);
309
348
  }
310
349
  createCommandContext() {
311
350
  return createExtensionCommandContext(this.createContextSource());
@@ -313,6 +352,9 @@ export class ExtensionRunner {
313
352
  createContextSource() {
314
353
  return {
315
354
  assertActive: () => this.assertActive(),
355
+ getExtensionPaths: () => this.getExtensionPaths(),
356
+ observeWorkflowActivity: (observer) => this.runtime.workflowActivityHub.observeWorkflowActivity(observer),
357
+ ...(this.taskHostBinding ? { getAgentTaskHost: this.taskHostBinding } : {}),
316
358
  getUIContext: () => this.uiContext,
317
359
  getMode: () => this.mode,
318
360
  hasUI: () => this.hasUI(),
@@ -343,8 +385,16 @@ export class ExtensionRunner {
343
385
  reload: () => this.reloadHandler(),
344
386
  };
345
387
  }
346
- async emit(event) {
347
- return runResourceRegistrationBatch(this.runtime, () => runGenericHandlers(this.extensions, this.createContext(), event, (error) => this.emitError(error)));
388
+ /** Keep startup reporters bound while adding the now-authorized extension set. */
389
+ attachStartupExtensions(extensions) {
390
+ const newcomers = extensions.filter((extension) => !this.extensions.includes(extension));
391
+ this.extensions = [...this.extensions, ...newcomers];
392
+ return async () => {
393
+ await runResourceRegistrationBatch(this.runtime, () => runGenericHandlers(this.extensions.filter((extension) => newcomers.includes(extension)), this.createContext(), { type: "session_start", reason: "startup" }, (error) => this.emitError(error)));
394
+ };
395
+ }
396
+ async emit(event, isCurrent) {
397
+ return runResourceRegistrationBatch(this.runtime, () => runGenericHandlers(this.extensions, this.createContext(), event, (error) => this.emitError(error), isCurrent));
348
398
  }
349
399
  async emitMessageEnd(event) {
350
400
  return runResourceRegistrationBatch(this.runtime, () => runMessageEndHandlers(this.extensions, this.createContext(), event, (error) => this.emitError(error)));