@bastani/atomic 0.8.31-alpha.4 → 0.9.0-alpha.1

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 (1361) hide show
  1. package/CHANGELOG.md +6 -1
  2. package/dist/builtin/cursor/CHANGELOG.md +4 -1
  3. package/dist/builtin/cursor/package.json +2 -2
  4. package/dist/builtin/cursor/src/proto/protobuf-codec-json.ts +44 -0
  5. package/dist/builtin/cursor/src/proto/protobuf-codec-request.ts +271 -0
  6. package/dist/builtin/cursor/src/proto/protobuf-codec-wire.ts +231 -0
  7. package/dist/builtin/cursor/src/proto/protobuf-codec.ts +5 -523
  8. package/dist/builtin/cursor/src/stream.ts +6 -70
  9. package/dist/builtin/cursor/src/transport-errors.ts +74 -0
  10. package/dist/builtin/cursor/src/transport-frame.ts +56 -0
  11. package/dist/builtin/cursor/src/transport-http2.ts +122 -0
  12. package/dist/builtin/cursor/src/transport-native-client.ts +161 -0
  13. package/dist/builtin/cursor/src/transport-run-stream.ts +188 -0
  14. package/dist/builtin/cursor/src/transport-timeouts.ts +87 -0
  15. package/dist/builtin/cursor/src/transport-types.ts +140 -0
  16. package/dist/builtin/cursor/src/transport.ts +24 -790
  17. package/dist/builtin/intercom/CHANGELOG.md +3 -0
  18. package/dist/builtin/intercom/broker/client.ts +0 -35
  19. package/dist/builtin/intercom/contact-supervisor-tool.ts +289 -0
  20. package/dist/builtin/intercom/index-heavy.ts +77 -1336
  21. package/dist/builtin/intercom/intercom-tool.ts +409 -0
  22. package/dist/builtin/intercom/intercom-utils.ts +401 -0
  23. package/dist/builtin/intercom/lifecycle.ts +133 -0
  24. package/dist/builtin/intercom/overlay.ts +96 -0
  25. package/dist/builtin/intercom/package.json +1 -1
  26. package/dist/builtin/intercom/subagent-relay.ts +137 -0
  27. package/dist/builtin/mcp/CHANGELOG.md +3 -0
  28. package/dist/builtin/mcp/config-write-utils.ts +104 -0
  29. package/dist/builtin/mcp/config.ts +4 -180
  30. package/dist/builtin/mcp/mcp-panel-renderer.ts +243 -0
  31. package/dist/builtin/mcp/mcp-panel-state.ts +227 -0
  32. package/dist/builtin/mcp/mcp-panel-types.ts +86 -0
  33. package/dist/builtin/mcp/mcp-panel.ts +145 -579
  34. package/dist/builtin/mcp/mcp-setup-panel.ts +4 -81
  35. package/dist/builtin/mcp/package.json +1 -1
  36. package/dist/builtin/mcp/proxy-auth.ts +61 -0
  37. package/dist/builtin/mcp/proxy-call.ts +373 -0
  38. package/dist/builtin/mcp/proxy-connect.ts +58 -0
  39. package/dist/builtin/mcp/proxy-info-modes.ts +326 -0
  40. package/dist/builtin/mcp/proxy-modes.ts +3 -805
  41. package/dist/builtin/mcp/proxy-types.ts +3 -0
  42. package/dist/builtin/mcp/ui-server-http.ts +81 -0
  43. package/dist/builtin/mcp/ui-server.ts +2 -127
  44. package/dist/builtin/subagents/CHANGELOG.md +3 -0
  45. package/dist/builtin/subagents/package.json +1 -1
  46. package/dist/builtin/subagents/src/agents/agent-discovery.ts +127 -0
  47. package/dist/builtin/subagents/src/agents/agent-loaders.ts +175 -0
  48. package/dist/builtin/subagents/src/agents/agent-management-helpers.ts +310 -0
  49. package/dist/builtin/subagents/src/agents/agent-management.ts +3 -309
  50. package/dist/builtin/subagents/src/agents/agent-overrides.ts +397 -0
  51. package/dist/builtin/subagents/src/agents/agent-paths.ts +88 -0
  52. package/dist/builtin/subagents/src/agents/agent-types.ts +136 -0
  53. package/dist/builtin/subagents/src/agents/agents.ts +22 -895
  54. package/dist/builtin/subagents/src/agents/skills-paths.ts +333 -0
  55. package/dist/builtin/subagents/src/agents/skills.ts +3 -326
  56. package/dist/builtin/subagents/src/extension/index.ts +4 -118
  57. package/dist/builtin/subagents/src/extension/prompt-guidance.ts +13 -0
  58. package/dist/builtin/subagents/src/runs/background/async-execution-chain.ts +401 -0
  59. package/dist/builtin/subagents/src/runs/background/async-execution-common.ts +131 -0
  60. package/dist/builtin/subagents/src/runs/background/async-execution-single.ts +213 -0
  61. package/dist/builtin/subagents/src/runs/background/async-execution-types.ts +84 -0
  62. package/dist/builtin/subagents/src/runs/background/async-execution.ts +13 -795
  63. package/dist/builtin/subagents/src/runs/background/subagent-runner-dynamic.ts +215 -0
  64. package/dist/builtin/subagents/src/runs/background/subagent-runner-finalize.ts +136 -0
  65. package/dist/builtin/subagents/src/runs/background/subagent-runner-output.ts +105 -0
  66. package/dist/builtin/subagents/src/runs/background/subagent-runner-parallel-helpers.ts +112 -0
  67. package/dist/builtin/subagents/src/runs/background/subagent-runner-parallel.ts +159 -0
  68. package/dist/builtin/subagents/src/runs/background/subagent-runner-sequential.ts +127 -0
  69. package/dist/builtin/subagents/src/runs/background/subagent-runner-state.ts +427 -0
  70. package/dist/builtin/subagents/src/runs/background/subagent-runner-step.ts +273 -0
  71. package/dist/builtin/subagents/src/runs/background/subagent-runner-streaming.ts +269 -0
  72. package/dist/builtin/subagents/src/runs/background/subagent-runner-types.ts +196 -0
  73. package/dist/builtin/subagents/src/runs/background/subagent-runner-utils.ts +70 -0
  74. package/dist/builtin/subagents/src/runs/background/subagent-runner.ts +44 -2233
  75. package/dist/builtin/subagents/src/runs/foreground/chain-clarify-behavior.ts +75 -0
  76. package/dist/builtin/subagents/src/runs/foreground/chain-clarify-component.ts +202 -0
  77. package/dist/builtin/subagents/src/runs/foreground/chain-clarify-edit.ts +97 -0
  78. package/dist/builtin/subagents/src/runs/foreground/chain-clarify-editor.ts +160 -0
  79. package/dist/builtin/subagents/src/runs/foreground/chain-clarify-frame.ts +72 -0
  80. package/dist/builtin/subagents/src/runs/foreground/chain-clarify-render-modes.ts +161 -0
  81. package/dist/builtin/subagents/src/runs/foreground/chain-clarify-render-selectors.ts +203 -0
  82. package/dist/builtin/subagents/src/runs/foreground/chain-clarify-selectors.ts +234 -0
  83. package/dist/builtin/subagents/src/runs/foreground/chain-clarify-state.ts +103 -0
  84. package/dist/builtin/subagents/src/runs/foreground/chain-clarify-types.ts +29 -0
  85. package/dist/builtin/subagents/src/runs/foreground/chain-clarify.ts +4 -1328
  86. package/dist/builtin/subagents/src/runs/foreground/chain-execution-clarify.ts +117 -0
  87. package/dist/builtin/subagents/src/runs/foreground/chain-execution-details.ts +35 -0
  88. package/dist/builtin/subagents/src/runs/foreground/chain-execution-dynamic-step.ts +194 -0
  89. package/dist/builtin/subagents/src/runs/foreground/chain-execution-parallel-runner.ts +183 -0
  90. package/dist/builtin/subagents/src/runs/foreground/chain-execution-parallel-step.ts +185 -0
  91. package/dist/builtin/subagents/src/runs/foreground/chain-execution-sequential-step.ts +229 -0
  92. package/dist/builtin/subagents/src/runs/foreground/chain-execution-types.ts +194 -0
  93. package/dist/builtin/subagents/src/runs/foreground/chain-execution.ts +94 -1043
  94. package/dist/builtin/subagents/src/runs/foreground/execution-attempt-control.ts +135 -0
  95. package/dist/builtin/subagents/src/runs/foreground/execution-attempt-finalize.ts +107 -0
  96. package/dist/builtin/subagents/src/runs/foreground/execution-attempt-types.ts +17 -0
  97. package/dist/builtin/subagents/src/runs/foreground/execution-attempt.ts +454 -0
  98. package/dist/builtin/subagents/src/runs/foreground/execution-run-sync.ts +219 -0
  99. package/dist/builtin/subagents/src/runs/foreground/execution-structured-retries.ts +77 -0
  100. package/dist/builtin/subagents/src/runs/foreground/execution-updates.ts +34 -0
  101. package/dist/builtin/subagents/src/runs/foreground/execution-utils.ts +56 -0
  102. package/dist/builtin/subagents/src/runs/foreground/execution.ts +6 -1082
  103. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-async.ts +207 -0
  104. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-chain.ts +140 -0
  105. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-context.ts +266 -0
  106. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-input.ts +270 -0
  107. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-parallel-task.ts +157 -0
  108. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-parallel.ts +375 -0
  109. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-resume.ts +463 -0
  110. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-runtime.ts +17 -0
  111. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-single.ts +320 -0
  112. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-status.ts +207 -0
  113. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-types.ts +121 -0
  114. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-worktree.ts +113 -0
  115. package/dist/builtin/subagents/src/runs/foreground/subagent-executor.ts +150 -2522
  116. package/dist/builtin/subagents/src/runs/shared/model-fallback.ts +0 -16
  117. package/dist/builtin/subagents/src/runs/shared/nested-events-control.ts +167 -0
  118. package/dist/builtin/subagents/src/runs/shared/nested-events-core.ts +219 -0
  119. package/dist/builtin/subagents/src/runs/shared/nested-events-projection.ts +121 -0
  120. package/dist/builtin/subagents/src/runs/shared/nested-events-registry.ts +289 -0
  121. package/dist/builtin/subagents/src/runs/shared/nested-events-sanitize.ts +201 -0
  122. package/dist/builtin/subagents/src/runs/shared/nested-events.ts +50 -935
  123. package/dist/builtin/subagents/src/runs/shared/worktree.ts +0 -78
  124. package/dist/builtin/subagents/src/shared/types-async.ts +265 -0
  125. package/dist/builtin/subagents/src/shared/types-config.ts +125 -0
  126. package/dist/builtin/subagents/src/shared/types-depth.ts +121 -0
  127. package/dist/builtin/subagents/src/shared/types-output.ts +63 -0
  128. package/dist/builtin/subagents/src/shared/types-results.ts +318 -0
  129. package/dist/builtin/subagents/src/shared/types-runtime.ts +136 -0
  130. package/dist/builtin/subagents/src/shared/types.ts +10 -975
  131. package/dist/builtin/subagents/src/slash/slash-commands.ts +0 -12
  132. package/dist/builtin/subagents/src/tui/render-chain-graph.ts +247 -0
  133. package/dist/builtin/subagents/src/tui/render-event-formatting.ts +259 -0
  134. package/dist/builtin/subagents/src/tui/render-layout.ts +120 -0
  135. package/dist/builtin/subagents/src/tui/render-result-animation.ts +56 -0
  136. package/dist/builtin/subagents/src/tui/render-result-compact.ts +154 -0
  137. package/dist/builtin/subagents/src/tui/render-result.ts +390 -0
  138. package/dist/builtin/subagents/src/tui/render-stable-output.ts +83 -0
  139. package/dist/builtin/subagents/src/tui/render-status-progress.ts +133 -0
  140. package/dist/builtin/subagents/src/tui/render-widget-graph.ts +166 -0
  141. package/dist/builtin/subagents/src/tui/render-widget.ts +273 -0
  142. package/dist/builtin/subagents/src/tui/render.ts +14 -1801
  143. package/dist/builtin/web-access/CHANGELOG.md +3 -0
  144. package/dist/builtin/web-access/content-tools.ts +348 -0
  145. package/dist/builtin/web-access/curator-page-assets/script-1.ts +400 -0
  146. package/dist/builtin/web-access/curator-page-assets/script-2.ts +400 -0
  147. package/dist/builtin/web-access/curator-page-assets/script-3.ts +400 -0
  148. package/dist/builtin/web-access/curator-page-assets/script-4.ts +400 -0
  149. package/dist/builtin/web-access/curator-page-assets/script-5.ts +398 -0
  150. package/dist/builtin/web-access/curator-page-assets/styles-1.ts +394 -0
  151. package/dist/builtin/web-access/curator-page-assets/styles-2.ts +394 -0
  152. package/dist/builtin/web-access/curator-page-assets/styles-3.ts +393 -0
  153. package/dist/builtin/web-access/curator-page.ts +17 -3180
  154. package/dist/builtin/web-access/curator-server-helpers.ts +115 -0
  155. package/dist/builtin/web-access/curator-server.ts +2 -113
  156. package/dist/builtin/web-access/exa-mcp.ts +218 -0
  157. package/dist/builtin/web-access/exa.ts +2 -207
  158. package/dist/builtin/web-access/extract-frames.ts +228 -0
  159. package/dist/builtin/web-access/extract.ts +13 -214
  160. package/dist/builtin/web-access/github-config.ts +156 -0
  161. package/dist/builtin/web-access/github-extract.ts +3 -154
  162. package/dist/builtin/web-access/index-heavy.ts +8 -1904
  163. package/dist/builtin/web-access/package.json +2 -1
  164. package/dist/builtin/web-access/web-search-activity.ts +102 -0
  165. package/dist/builtin/web-access/web-search-browser.ts +116 -0
  166. package/dist/builtin/web-access/web-search-command.ts +242 -0
  167. package/dist/builtin/web-access/web-search-config.ts +163 -0
  168. package/dist/builtin/web-access/web-search-curator.ts +214 -0
  169. package/dist/builtin/web-access/web-search-features.ts +165 -0
  170. package/dist/builtin/web-access/web-search-formatting.ts +117 -0
  171. package/dist/builtin/web-access/web-search-return.ts +136 -0
  172. package/dist/builtin/web-access/web-search-summary.ts +170 -0
  173. package/dist/builtin/web-access/web-search-tool.ts +290 -0
  174. package/dist/builtin/web-access/web-search-types.ts +50 -0
  175. package/dist/builtin/workflows/CHANGELOG.md +8 -1
  176. package/dist/builtin/workflows/builtin/deep-research-codebase-runner.ts +492 -0
  177. package/dist/builtin/workflows/builtin/deep-research-codebase-utils.ts +346 -0
  178. package/dist/builtin/workflows/builtin/deep-research-codebase.ts +6 -822
  179. package/dist/builtin/workflows/builtin/goal-artifacts.ts +43 -0
  180. package/dist/builtin/workflows/builtin/goal-ledger.ts +54 -0
  181. package/dist/builtin/workflows/builtin/goal-prompts.ts +360 -0
  182. package/dist/builtin/workflows/builtin/goal-reducer.ts +141 -0
  183. package/dist/builtin/workflows/builtin/goal-reports.ts +56 -0
  184. package/dist/builtin/workflows/builtin/goal-review.ts +84 -0
  185. package/dist/builtin/workflows/builtin/goal-runner.ts +343 -0
  186. package/dist/builtin/workflows/builtin/goal-schemas.ts +60 -0
  187. package/dist/builtin/workflows/builtin/goal-types.ts +132 -0
  188. package/dist/builtin/workflows/builtin/goal.ts +4 -1160
  189. package/dist/builtin/workflows/builtin/open-claude-design-phases.ts +432 -0
  190. package/dist/builtin/workflows/builtin/open-claude-design-runner.ts +477 -0
  191. package/dist/builtin/workflows/builtin/open-claude-design-utils.ts +312 -0
  192. package/dist/builtin/workflows/builtin/open-claude-design.ts +7 -1083
  193. package/dist/builtin/workflows/builtin/ralph-core.ts +408 -0
  194. package/dist/builtin/workflows/builtin/ralph-models.ts +123 -0
  195. package/dist/builtin/workflows/builtin/ralph-review-gate.ts +89 -0
  196. package/dist/builtin/workflows/builtin/ralph-runner.ts +499 -0
  197. package/dist/builtin/workflows/builtin/ralph.ts +7 -1015
  198. package/dist/builtin/workflows/package.json +1 -1
  199. package/dist/builtin/workflows/skills/impeccable/scripts/detector/detect-antipatterns-browser.js +2 -2
  200. package/dist/builtin/workflows/skills/impeccable/scripts/detector/engines/regex/detect-text.mjs +2 -2
  201. package/dist/builtin/workflows/skills/impeccable/scripts/detector/rules/checks.mjs +2 -2
  202. package/dist/builtin/workflows/skills/impeccable/scripts/detector/shared/page.mjs +8 -1
  203. package/dist/builtin/workflows/skills/impeccable/scripts/live-accept.mjs +13 -15
  204. package/dist/builtin/workflows/skills/impeccable/scripts/live-manual-edit-evidence.mjs +2 -2
  205. package/dist/builtin/workflows/skills/impeccable/scripts/live-server.mjs +9 -0
  206. package/dist/builtin/workflows/src/extension/atomic-stage-session.ts +186 -0
  207. package/dist/builtin/workflows/src/extension/config-file-loader.ts +152 -0
  208. package/dist/builtin/workflows/src/extension/config-loader.ts +2 -167
  209. package/dist/builtin/workflows/src/extension/discovery-loaders.ts +115 -0
  210. package/dist/builtin/workflows/src/extension/discovery.ts +3 -117
  211. package/dist/builtin/workflows/src/extension/dispatcher.ts +3 -0
  212. package/dist/builtin/workflows/src/extension/extension-factory.ts +120 -0
  213. package/dist/builtin/workflows/src/extension/extension-lifecycle.ts +109 -0
  214. package/dist/builtin/workflows/src/extension/extension-runtime-state.ts +270 -0
  215. package/dist/builtin/workflows/src/extension/index.ts +42 -4151
  216. package/dist/builtin/workflows/src/extension/public-types.ts +295 -0
  217. package/dist/builtin/workflows/src/extension/render-component.ts +14 -0
  218. package/dist/builtin/workflows/src/extension/runtime-direct.ts +96 -0
  219. package/dist/builtin/workflows/src/extension/runtime.ts +8 -92
  220. package/dist/builtin/workflows/src/extension/ui-surface.ts +286 -0
  221. package/dist/builtin/workflows/src/extension/wiring.ts +6 -475
  222. package/dist/builtin/workflows/src/extension/workflow-command-completions.ts +111 -0
  223. package/dist/builtin/workflows/src/extension/workflow-command-registration.ts +213 -0
  224. package/dist/builtin/workflows/src/extension/workflow-command-surfaces.ts +81 -0
  225. package/dist/builtin/workflows/src/extension/workflow-command-utils.ts +181 -0
  226. package/dist/builtin/workflows/src/extension/workflow-policy.ts +15 -0
  227. package/dist/builtin/workflows/src/extension/workflow-ports.ts +41 -0
  228. package/dist/builtin/workflows/src/extension/workflow-prompts.ts +23 -0
  229. package/dist/builtin/workflows/src/extension/workflow-run-control-command.ts +286 -0
  230. package/dist/builtin/workflows/src/extension/workflow-schema.ts +1 -1
  231. package/dist/builtin/workflows/src/extension/workflow-stage-results.ts +264 -0
  232. package/dist/builtin/workflows/src/extension/workflow-targets.ts +181 -0
  233. package/dist/builtin/workflows/src/extension/workflow-tool-content.ts +175 -0
  234. package/dist/builtin/workflows/src/extension/workflow-tool-control.ts +205 -0
  235. package/dist/builtin/workflows/src/extension/workflow-tool-helpers.ts +66 -0
  236. package/dist/builtin/workflows/src/extension/workflow-tool-inspection.ts +164 -0
  237. package/dist/builtin/workflows/src/extension/workflow-tool-registration.ts +54 -0
  238. package/dist/builtin/workflows/src/extension/workflow-tool-send.ts +164 -0
  239. package/dist/builtin/workflows/src/extension/workflow-tool.ts +102 -0
  240. package/dist/builtin/workflows/src/runs/foreground/executor-abort.ts +431 -0
  241. package/dist/builtin/workflows/src/runs/foreground/executor-child-boundary.ts +232 -0
  242. package/dist/builtin/workflows/src/runs/foreground/executor-child-helpers.ts +74 -0
  243. package/dist/builtin/workflows/src/runs/foreground/executor-child-workflow.ts +158 -0
  244. package/dist/builtin/workflows/src/runs/foreground/executor-continuation.ts +167 -0
  245. package/dist/builtin/workflows/src/runs/foreground/executor-direct-helpers.ts +450 -0
  246. package/dist/builtin/workflows/src/runs/foreground/executor-direct.ts +233 -0
  247. package/dist/builtin/workflows/src/runs/foreground/executor-exit-manager.ts +195 -0
  248. package/dist/builtin/workflows/src/runs/foreground/executor-hil.ts +368 -0
  249. package/dist/builtin/workflows/src/runs/foreground/executor-inputs.ts +83 -0
  250. package/dist/builtin/workflows/src/runs/foreground/executor-lifecycle.ts +441 -0
  251. package/dist/builtin/workflows/src/runs/foreground/executor-outputs.ts +160 -0
  252. package/dist/builtin/workflows/src/runs/foreground/executor-prompt-nodes.ts +274 -0
  253. package/dist/builtin/workflows/src/runs/foreground/executor-run-finalizers.ts +122 -0
  254. package/dist/builtin/workflows/src/runs/foreground/executor-run.ts +359 -0
  255. package/dist/builtin/workflows/src/runs/foreground/executor-scheduler.ts +204 -0
  256. package/dist/builtin/workflows/src/runs/foreground/executor-stage-call.ts +197 -0
  257. package/dist/builtin/workflows/src/runs/foreground/executor-stage-context.ts +120 -0
  258. package/dist/builtin/workflows/src/runs/foreground/executor-stage-control.ts +126 -0
  259. package/dist/builtin/workflows/src/runs/foreground/executor-stage-factory.ts +351 -0
  260. package/dist/builtin/workflows/src/runs/foreground/executor-stage-replay.ts +134 -0
  261. package/dist/builtin/workflows/src/runs/foreground/executor-stage-types.ts +54 -0
  262. package/dist/builtin/workflows/src/runs/foreground/executor-task-context.ts +132 -0
  263. package/dist/builtin/workflows/src/runs/foreground/executor-task-prompts.ts +293 -0
  264. package/dist/builtin/workflows/src/runs/foreground/executor-types.ts +109 -0
  265. package/dist/builtin/workflows/src/runs/foreground/executor.ts +19 -5258
  266. package/dist/builtin/workflows/src/runs/foreground/stage-runner-context.ts +219 -0
  267. package/dist/builtin/workflows/src/runs/foreground/stage-runner-controller.ts +500 -0
  268. package/dist/builtin/workflows/src/runs/foreground/stage-runner-messages.ts +129 -0
  269. package/dist/builtin/workflows/src/runs/foreground/stage-runner-options.ts +53 -0
  270. package/dist/builtin/workflows/src/runs/foreground/stage-runner-output.ts +146 -0
  271. package/dist/builtin/workflows/src/runs/foreground/stage-runner-session.ts +55 -0
  272. package/dist/builtin/workflows/src/runs/foreground/stage-runner-structured-output.ts +82 -0
  273. package/dist/builtin/workflows/src/runs/foreground/stage-runner-types.ts +141 -0
  274. package/dist/builtin/workflows/src/runs/foreground/stage-runner.ts +13 -1342
  275. package/dist/builtin/workflows/src/runs/shared/model-fallback-candidates.ts +453 -0
  276. package/dist/builtin/workflows/src/runs/shared/model-fallback-failures.ts +442 -0
  277. package/dist/builtin/workflows/src/runs/shared/model-fallback.ts +2 -836
  278. package/dist/builtin/workflows/src/runs/shared/worktree-diff.ts +165 -0
  279. package/dist/builtin/workflows/src/runs/shared/worktree-git.ts +220 -0
  280. package/dist/builtin/workflows/src/runs/shared/worktree-setup.ts +335 -0
  281. package/dist/builtin/workflows/src/runs/shared/worktree-types.ts +92 -0
  282. package/dist/builtin/workflows/src/runs/shared/worktree.ts +18 -791
  283. package/dist/builtin/workflows/src/shared/authoring-contract-stage.d.ts +365 -0
  284. package/dist/builtin/workflows/src/shared/authoring-contract-stage.ts +425 -0
  285. package/dist/builtin/workflows/src/shared/authoring-contract-ui.d.ts +236 -0
  286. package/dist/builtin/workflows/src/shared/authoring-contract-ui.ts +354 -0
  287. package/dist/builtin/workflows/src/shared/authoring-contract.d.ts +5 -598
  288. package/dist/builtin/workflows/src/shared/persistence-restore-helpers.ts +428 -0
  289. package/dist/builtin/workflows/src/shared/persistence-restore.ts +11 -431
  290. package/dist/builtin/workflows/src/shared/store-factory.ts +16 -0
  291. package/dist/builtin/workflows/src/shared/store-internal.ts +219 -0
  292. package/dist/builtin/workflows/src/shared/store-prompt-methods.ts +219 -0
  293. package/dist/builtin/workflows/src/shared/store-public-types.ts +215 -0
  294. package/dist/builtin/workflows/src/shared/store-run-methods.ts +223 -0
  295. package/dist/builtin/workflows/src/shared/store-stage-methods.ts +305 -0
  296. package/dist/builtin/workflows/src/shared/store.ts +11 -1138
  297. package/dist/builtin/workflows/src/shared/workflow-failures-classifier.ts +266 -0
  298. package/dist/builtin/workflows/src/shared/workflow-failures-contract.ts +75 -0
  299. package/dist/builtin/workflows/src/shared/workflow-failures-decisions.ts +477 -0
  300. package/dist/builtin/workflows/src/shared/workflow-failures-signals.ts +248 -0
  301. package/dist/builtin/workflows/src/shared/workflow-failures.ts +13 -1001
  302. package/dist/builtin/workflows/src/tui/chat-surface.ts +0 -66
  303. package/dist/builtin/workflows/src/tui/graph-view-constants.ts +45 -0
  304. package/dist/builtin/workflows/src/tui/graph-view-graph-render.ts +161 -0
  305. package/dist/builtin/workflows/src/tui/graph-view-input.ts +333 -0
  306. package/dist/builtin/workflows/src/tui/graph-view-render-helpers.ts +336 -0
  307. package/dist/builtin/workflows/src/tui/graph-view-render.ts +194 -0
  308. package/dist/builtin/workflows/src/tui/graph-view-state.ts +306 -0
  309. package/dist/builtin/workflows/src/tui/graph-view-types.ts +70 -0
  310. package/dist/builtin/workflows/src/tui/graph-view.ts +4 -1386
  311. package/dist/builtin/workflows/src/tui/inline-form-editor-text.ts +121 -0
  312. package/dist/builtin/workflows/src/tui/inline-form-editor.ts +11 -223
  313. package/dist/builtin/workflows/src/tui/inputs-picker-editing.ts +151 -0
  314. package/dist/builtin/workflows/src/tui/inputs-picker-input.ts +305 -0
  315. package/dist/builtin/workflows/src/tui/inputs-picker-render.ts +300 -0
  316. package/dist/builtin/workflows/src/tui/inputs-picker-types.ts +190 -0
  317. package/dist/builtin/workflows/src/tui/inputs-picker.ts +19 -997
  318. package/dist/builtin/workflows/src/tui/prompt-card-input.ts +226 -0
  319. package/dist/builtin/workflows/src/tui/prompt-card-render.ts +373 -0
  320. package/dist/builtin/workflows/src/tui/prompt-card-select.ts +116 -0
  321. package/dist/builtin/workflows/src/tui/prompt-card-state.ts +61 -0
  322. package/dist/builtin/workflows/src/tui/prompt-card-text.ts +129 -0
  323. package/dist/builtin/workflows/src/tui/prompt-card.ts +8 -910
  324. package/dist/builtin/workflows/src/tui/stage-chat-view-archive-history.ts +315 -0
  325. package/dist/builtin/workflows/src/tui/stage-chat-view-custom-ui.ts +127 -0
  326. package/dist/builtin/workflows/src/tui/stage-chat-view-footer-status.ts +187 -0
  327. package/dist/builtin/workflows/src/tui/stage-chat-view-input.ts +222 -0
  328. package/dist/builtin/workflows/src/tui/stage-chat-view-render-helpers.ts +152 -0
  329. package/dist/builtin/workflows/src/tui/stage-chat-view-state.ts +464 -0
  330. package/dist/builtin/workflows/src/tui/stage-chat-view-transcript.ts +242 -0
  331. package/dist/builtin/workflows/src/tui/stage-chat-view-types.ts +151 -0
  332. package/dist/builtin/workflows/src/tui/stage-chat-view.ts +141 -1777
  333. package/dist/builtin/workflows/src/tui/workflow-attach-pane-types.ts +85 -0
  334. package/dist/builtin/workflows/src/tui/workflow-attach-pane.ts +1 -129
  335. package/dist/config-self-update.d.ts +21 -0
  336. package/dist/config-self-update.d.ts.map +1 -0
  337. package/dist/config-self-update.js +265 -0
  338. package/dist/config-self-update.js.map +1 -0
  339. package/dist/config.d.ts +3 -12
  340. package/dist/config.d.ts.map +1 -1
  341. package/dist/config.js +15 -252
  342. package/dist/config.js.map +1 -1
  343. package/dist/core/agent-session-accessors.d.ts +3 -0
  344. package/dist/core/agent-session-accessors.d.ts.map +1 -0
  345. package/dist/core/agent-session-accessors.js +36 -0
  346. package/dist/core/agent-session-accessors.js.map +1 -0
  347. package/dist/core/agent-session-auto-compaction.d.ts +32 -0
  348. package/dist/core/agent-session-auto-compaction.d.ts.map +1 -0
  349. package/dist/core/agent-session-auto-compaction.js +214 -0
  350. package/dist/core/agent-session-auto-compaction.js.map +1 -0
  351. package/dist/core/agent-session-bash.d.ts +30 -0
  352. package/dist/core/agent-session-bash.d.ts.map +1 -0
  353. package/dist/core/agent-session-bash.js +84 -0
  354. package/dist/core/agent-session-bash.js.map +1 -0
  355. package/dist/core/agent-session-compaction.d.ts +44 -0
  356. package/dist/core/agent-session-compaction.d.ts.map +1 -0
  357. package/dist/core/agent-session-compaction.js +282 -0
  358. package/dist/core/agent-session-compaction.js.map +1 -0
  359. package/dist/core/agent-session-events.d.ts +65 -0
  360. package/dist/core/agent-session-events.d.ts.map +1 -0
  361. package/dist/core/agent-session-events.js +373 -0
  362. package/dist/core/agent-session-events.js.map +1 -0
  363. package/dist/core/agent-session-export.d.ts +42 -0
  364. package/dist/core/agent-session-export.d.ts.map +1 -0
  365. package/dist/core/agent-session-export.js +199 -0
  366. package/dist/core/agent-session-export.js.map +1 -0
  367. package/dist/core/agent-session-extension-bindings.d.ts +37 -0
  368. package/dist/core/agent-session-extension-bindings.d.ts.map +1 -0
  369. package/dist/core/agent-session-extension-bindings.js +231 -0
  370. package/dist/core/agent-session-extension-bindings.js.map +1 -0
  371. package/dist/core/agent-session-message-queue.d.ts +85 -0
  372. package/dist/core/agent-session-message-queue.d.ts.map +1 -0
  373. package/dist/core/agent-session-message-queue.js +264 -0
  374. package/dist/core/agent-session-message-queue.js.map +1 -0
  375. package/dist/core/agent-session-methods.d.ts +302 -0
  376. package/dist/core/agent-session-methods.d.ts.map +1 -0
  377. package/dist/core/agent-session-methods.js +2 -0
  378. package/dist/core/agent-session-methods.js.map +1 -0
  379. package/dist/core/agent-session-models.d.ts +111 -0
  380. package/dist/core/agent-session-models.d.ts.map +1 -0
  381. package/dist/core/agent-session-models.js +368 -0
  382. package/dist/core/agent-session-models.js.map +1 -0
  383. package/dist/core/agent-session-prompt.d.ts +61 -0
  384. package/dist/core/agent-session-prompt.d.ts.map +1 -0
  385. package/dist/core/agent-session-prompt.js +330 -0
  386. package/dist/core/agent-session-prompt.js.map +1 -0
  387. package/dist/core/agent-session-retry.d.ts +62 -0
  388. package/dist/core/agent-session-retry.d.ts.map +1 -0
  389. package/dist/core/agent-session-retry.js +202 -0
  390. package/dist/core/agent-session-retry.js.map +1 -0
  391. package/dist/core/agent-session-skill-block.d.ts +13 -0
  392. package/dist/core/agent-session-skill-block.d.ts.map +1 -0
  393. package/dist/core/agent-session-skill-block.js +37 -0
  394. package/dist/core/agent-session-skill-block.js.map +1 -0
  395. package/dist/core/agent-session-state.d.ts +48 -0
  396. package/dist/core/agent-session-state.d.ts.map +1 -0
  397. package/dist/core/agent-session-state.js +129 -0
  398. package/dist/core/agent-session-state.js.map +1 -0
  399. package/dist/core/agent-session-tool-hooks.d.ts +7 -0
  400. package/dist/core/agent-session-tool-hooks.d.ts.map +1 -0
  401. package/dist/core/agent-session-tool-hooks.js +72 -0
  402. package/dist/core/agent-session-tool-hooks.js.map +1 -0
  403. package/dist/core/agent-session-tool-registry.d.ts +15 -0
  404. package/dist/core/agent-session-tool-registry.d.ts.map +1 -0
  405. package/dist/core/agent-session-tool-registry.js +151 -0
  406. package/dist/core/agent-session-tool-registry.js.map +1 -0
  407. package/dist/core/agent-session-tree.d.ts +46 -0
  408. package/dist/core/agent-session-tree.d.ts.map +1 -0
  409. package/dist/core/agent-session-tree.js +217 -0
  410. package/dist/core/agent-session-tree.js.map +1 -0
  411. package/dist/core/agent-session-types.d.ts +159 -0
  412. package/dist/core/agent-session-types.d.ts.map +1 -0
  413. package/dist/core/agent-session-types.js +41 -0
  414. package/dist/core/agent-session-types.js.map +1 -0
  415. package/dist/core/agent-session.d.ts +68 -688
  416. package/dist/core/agent-session.d.ts.map +1 -1
  417. package/dist/core/agent-session.js +26 -3152
  418. package/dist/core/agent-session.js.map +1 -1
  419. package/dist/core/auth-storage-backends.d.ts +49 -0
  420. package/dist/core/auth-storage-backends.d.ts.map +1 -0
  421. package/dist/core/auth-storage-backends.js +185 -0
  422. package/dist/core/auth-storage-backends.js.map +1 -0
  423. package/dist/core/auth-storage.d.ts +2 -49
  424. package/dist/core/auth-storage.d.ts.map +1 -1
  425. package/dist/core/auth-storage.js +3 -183
  426. package/dist/core/auth-storage.js.map +1 -1
  427. package/dist/core/compaction/context-compaction-metrics.d.ts +16 -0
  428. package/dist/core/compaction/context-compaction-metrics.d.ts.map +1 -0
  429. package/dist/core/compaction/context-compaction-metrics.js +58 -0
  430. package/dist/core/compaction/context-compaction-metrics.js.map +1 -0
  431. package/dist/core/compaction/context-compaction-prompt.d.ts +9 -0
  432. package/dist/core/compaction/context-compaction-prompt.d.ts.map +1 -0
  433. package/dist/core/compaction/context-compaction-prompt.js +161 -0
  434. package/dist/core/compaction/context-compaction-prompt.js.map +1 -0
  435. package/dist/core/compaction/context-compaction-runner.d.ts +5 -0
  436. package/dist/core/compaction/context-compaction-runner.d.ts.map +1 -0
  437. package/dist/core/compaction/context-compaction-runner.js +181 -0
  438. package/dist/core/compaction/context-compaction-runner.js.map +1 -0
  439. package/dist/core/compaction/context-compaction-strategy.d.ts +5 -0
  440. package/dist/core/compaction/context-compaction-strategy.d.ts.map +1 -0
  441. package/dist/core/compaction/context-compaction-strategy.js +27 -0
  442. package/dist/core/compaction/context-compaction-strategy.js.map +1 -0
  443. package/dist/core/compaction/context-compaction-types.d.ts +73 -0
  444. package/dist/core/compaction/context-compaction-types.d.ts.map +1 -0
  445. package/dist/core/compaction/context-compaction-types.js +6 -0
  446. package/dist/core/compaction/context-compaction-types.js.map +1 -0
  447. package/dist/core/compaction/context-compaction.d.ts +9 -200
  448. package/dist/core/compaction/context-compaction.d.ts.map +1 -1
  449. package/dist/core/compaction/context-compaction.js +7 -1943
  450. package/dist/core/compaction/context-compaction.js.map +1 -1
  451. package/dist/core/compaction/context-deletion-application.d.ts +13 -0
  452. package/dist/core/compaction/context-deletion-application.d.ts.map +1 -0
  453. package/dist/core/compaction/context-deletion-application.js +259 -0
  454. package/dist/core/compaction/context-deletion-application.js.map +1 -0
  455. package/dist/core/compaction/context-deletion-store.d.ts +78 -0
  456. package/dist/core/compaction/context-deletion-store.d.ts.map +1 -0
  457. package/dist/core/compaction/context-deletion-store.js +162 -0
  458. package/dist/core/compaction/context-deletion-store.js.map +1 -0
  459. package/dist/core/compaction/context-deletion-targets.d.ts +40 -0
  460. package/dist/core/compaction/context-deletion-targets.d.ts.map +1 -0
  461. package/dist/core/compaction/context-deletion-targets.js +267 -0
  462. package/dist/core/compaction/context-deletion-targets.js.map +1 -0
  463. package/dist/core/compaction/context-deletion-tool-definitions.d.ts +187 -0
  464. package/dist/core/compaction/context-deletion-tool-definitions.d.ts.map +1 -0
  465. package/dist/core/compaction/context-deletion-tool-definitions.js +98 -0
  466. package/dist/core/compaction/context-deletion-tool-definitions.js.map +1 -0
  467. package/dist/core/compaction/context-deletion-tool-helpers.d.ts +19 -0
  468. package/dist/core/compaction/context-deletion-tool-helpers.d.ts.map +1 -0
  469. package/dist/core/compaction/context-deletion-tool-helpers.js +137 -0
  470. package/dist/core/compaction/context-deletion-tool-helpers.js.map +1 -0
  471. package/dist/core/compaction/context-deletion-tools.d.ts +4 -0
  472. package/dist/core/compaction/context-deletion-tools.d.ts.map +1 -0
  473. package/dist/core/compaction/context-deletion-tools.js +395 -0
  474. package/dist/core/compaction/context-deletion-tools.js.map +1 -0
  475. package/dist/core/compaction/context-transcript-analysis.d.ts +9 -0
  476. package/dist/core/compaction/context-transcript-analysis.d.ts.map +1 -0
  477. package/dist/core/compaction/context-transcript-analysis.js +234 -0
  478. package/dist/core/compaction/context-transcript-analysis.js.map +1 -0
  479. package/dist/core/export-html/index.d.ts.map +1 -1
  480. package/dist/core/export-html/index.js +2 -1
  481. package/dist/core/export-html/index.js.map +1 -1
  482. package/dist/core/export-html/template-js/data-tree.js +287 -0
  483. package/dist/core/export-html/template-js/entries-navigation.js +424 -0
  484. package/dist/core/export-html/template-js/initialization.js +312 -0
  485. package/dist/core/export-html/template-js/message-tools.js +415 -0
  486. package/dist/core/export-html/template-js/tree-filter-render.js +421 -0
  487. package/dist/core/export-html/template-script.d.ts +3 -0
  488. package/dist/core/export-html/template-script.d.ts.map +1 -0
  489. package/dist/core/export-html/template-script.js +13 -0
  490. package/dist/core/export-html/template-script.js.map +1 -0
  491. package/dist/core/export-html/template.js +3 -1
  492. package/dist/core/extensions/agent-events.d.ts +159 -0
  493. package/dist/core/extensions/agent-events.d.ts.map +1 -0
  494. package/dist/core/extensions/agent-events.js +2 -0
  495. package/dist/core/extensions/agent-events.js.map +1 -0
  496. package/dist/core/extensions/api-types.d.ts +189 -0
  497. package/dist/core/extensions/api-types.d.ts.map +1 -0
  498. package/dist/core/extensions/api-types.js +2 -0
  499. package/dist/core/extensions/api-types.js.map +1 -0
  500. package/dist/core/extensions/command-types.d.ts +14 -0
  501. package/dist/core/extensions/command-types.d.ts.map +1 -0
  502. package/dist/core/extensions/command-types.js +2 -0
  503. package/dist/core/extensions/command-types.js.map +1 -0
  504. package/dist/core/extensions/context-types.d.ts +130 -0
  505. package/dist/core/extensions/context-types.d.ts.map +1 -0
  506. package/dist/core/extensions/context-types.js +2 -0
  507. package/dist/core/extensions/context-types.js.map +1 -0
  508. package/dist/core/extensions/event-results.d.ts +61 -0
  509. package/dist/core/extensions/event-results.d.ts.map +1 -0
  510. package/dist/core/extensions/event-results.js +2 -0
  511. package/dist/core/extensions/event-results.js.map +1 -0
  512. package/dist/core/extensions/event-types.d.ts +6 -0
  513. package/dist/core/extensions/event-types.d.ts.map +1 -0
  514. package/dist/core/extensions/event-types.js +2 -0
  515. package/dist/core/extensions/event-types.js.map +1 -0
  516. package/dist/core/extensions/loader-api.d.ts +10 -0
  517. package/dist/core/extensions/loader-api.d.ts.map +1 -0
  518. package/dist/core/extensions/loader-api.js +143 -0
  519. package/dist/core/extensions/loader-api.js.map +1 -0
  520. package/dist/core/extensions/loader-core.d.ts +12 -0
  521. package/dist/core/extensions/loader-core.d.ts.map +1 -0
  522. package/dist/core/extensions/loader-core.js +91 -0
  523. package/dist/core/extensions/loader-core.js.map +1 -0
  524. package/dist/core/extensions/loader-discovery.d.ts +7 -0
  525. package/dist/core/extensions/loader-discovery.d.ts.map +1 -0
  526. package/dist/core/extensions/loader-discovery.js +139 -0
  527. package/dist/core/extensions/loader-discovery.js.map +1 -0
  528. package/dist/core/extensions/loader-resources.d.ts +11 -0
  529. package/dist/core/extensions/loader-resources.d.ts.map +1 -0
  530. package/dist/core/extensions/loader-resources.js +10 -0
  531. package/dist/core/extensions/loader-resources.js.map +1 -0
  532. package/dist/core/extensions/loader-runtime.d.ts +7 -0
  533. package/dist/core/extensions/loader-runtime.d.ts.map +1 -0
  534. package/dist/core/extensions/loader-runtime.js +51 -0
  535. package/dist/core/extensions/loader-runtime.js.map +1 -0
  536. package/dist/core/extensions/loader-virtual-modules.d.ts +3 -0
  537. package/dist/core/extensions/loader-virtual-modules.d.ts.map +1 -0
  538. package/dist/core/extensions/loader-virtual-modules.js +92 -0
  539. package/dist/core/extensions/loader-virtual-modules.js.map +1 -0
  540. package/dist/core/extensions/loader.d.ts +4 -28
  541. package/dist/core/extensions/loader.d.ts.map +1 -1
  542. package/dist/core/extensions/loader.js +3 -542
  543. package/dist/core/extensions/loader.js.map +1 -1
  544. package/dist/core/extensions/message-types.d.ts +34 -0
  545. package/dist/core/extensions/message-types.d.ts.map +1 -0
  546. package/dist/core/extensions/message-types.js +2 -0
  547. package/dist/core/extensions/message-types.js.map +1 -0
  548. package/dist/core/extensions/provider-types.d.ts +71 -0
  549. package/dist/core/extensions/provider-types.d.ts.map +1 -0
  550. package/dist/core/extensions/provider-types.js +2 -0
  551. package/dist/core/extensions/provider-types.js.map +1 -0
  552. package/dist/core/extensions/runner-context.d.ts +42 -0
  553. package/dist/core/extensions/runner-context.d.ts.map +1 -0
  554. package/dist/core/extensions/runner-context.js +112 -0
  555. package/dist/core/extensions/runner-context.js.map +1 -0
  556. package/dist/core/extensions/runner-events.d.ts +47 -0
  557. package/dist/core/extensions/runner-events.d.ts.map +1 -0
  558. package/dist/core/extensions/runner-events.js +280 -0
  559. package/dist/core/extensions/runner-events.js.map +1 -0
  560. package/dist/core/extensions/runner-handlers.d.ts +32 -0
  561. package/dist/core/extensions/runner-handlers.d.ts.map +1 -0
  562. package/dist/core/extensions/runner-handlers.js +2 -0
  563. package/dist/core/extensions/runner-handlers.js.map +1 -0
  564. package/dist/core/extensions/runner-project-trust.d.ts +6 -0
  565. package/dist/core/extensions/runner-project-trust.d.ts.map +1 -0
  566. package/dist/core/extensions/runner-project-trust.js +27 -0
  567. package/dist/core/extensions/runner-project-trust.js.map +1 -0
  568. package/dist/core/extensions/runner-registries.d.ts +8 -0
  569. package/dist/core/extensions/runner-registries.d.ts.map +1 -0
  570. package/dist/core/extensions/runner-registries.js +76 -0
  571. package/dist/core/extensions/runner-registries.js.map +1 -0
  572. package/dist/core/extensions/runner-shortcuts.d.ts +10 -0
  573. package/dist/core/extensions/runner-shortcuts.d.ts.map +1 -0
  574. package/dist/core/extensions/runner-shortcuts.js +71 -0
  575. package/dist/core/extensions/runner-shortcuts.js.map +1 -0
  576. package/dist/core/extensions/runner-ui.d.ts +3 -0
  577. package/dist/core/extensions/runner-ui.d.ts.map +1 -0
  578. package/dist/core/extensions/runner-ui.js +50 -0
  579. package/dist/core/extensions/runner-ui.js.map +1 -0
  580. package/dist/core/extensions/runner.d.ts +7 -74
  581. package/dist/core/extensions/runner.d.ts.map +1 -1
  582. package/dist/core/extensions/runner.js +67 -673
  583. package/dist/core/extensions/runner.js.map +1 -1
  584. package/dist/core/extensions/runtime-types.d.ts +179 -0
  585. package/dist/core/extensions/runtime-types.d.ts.map +1 -0
  586. package/dist/core/extensions/runtime-types.js +2 -0
  587. package/dist/core/extensions/runtime-types.js.map +1 -0
  588. package/dist/core/extensions/session-events.d.ts +89 -0
  589. package/dist/core/extensions/session-events.d.ts.map +1 -0
  590. package/dist/core/extensions/session-events.js +2 -0
  591. package/dist/core/extensions/session-events.js.map +1 -0
  592. package/dist/core/extensions/tool-events.d.ts +127 -0
  593. package/dist/core/extensions/tool-events.d.ts.map +1 -0
  594. package/dist/core/extensions/tool-events.js +26 -0
  595. package/dist/core/extensions/tool-events.js.map +1 -0
  596. package/dist/core/extensions/tool-types.d.ts +100 -0
  597. package/dist/core/extensions/tool-types.d.ts.map +1 -0
  598. package/dist/core/extensions/tool-types.js +11 -0
  599. package/dist/core/extensions/tool-types.js.map +1 -0
  600. package/dist/core/extensions/types.d.ts +20 -1288
  601. package/dist/core/extensions/types.d.ts.map +1 -1
  602. package/dist/core/extensions/types.js +4 -34
  603. package/dist/core/extensions/types.js.map +1 -1
  604. package/dist/core/extensions/ui-types.d.ts +200 -0
  605. package/dist/core/extensions/ui-types.d.ts.map +1 -0
  606. package/dist/core/extensions/ui-types.js +2 -0
  607. package/dist/core/extensions/ui-types.js.map +1 -0
  608. package/dist/core/model-registry-auth.d.ts +7 -0
  609. package/dist/core/model-registry-auth.d.ts.map +1 -0
  610. package/dist/core/model-registry-auth.js +64 -0
  611. package/dist/core/model-registry-auth.js.map +1 -0
  612. package/dist/core/model-registry-builtins.d.ts +9 -0
  613. package/dist/core/model-registry-builtins.d.ts.map +1 -0
  614. package/dist/core/model-registry-builtins.js +120 -0
  615. package/dist/core/model-registry-builtins.js.map +1 -0
  616. package/dist/core/model-registry-custom-loader.d.ts +3 -0
  617. package/dist/core/model-registry-custom-loader.d.ts.map +1 -0
  618. package/dist/core/model-registry-custom-loader.js +213 -0
  619. package/dist/core/model-registry-custom-loader.js.map +1 -0
  620. package/dist/core/model-registry-dynamic.d.ts +6 -0
  621. package/dist/core/model-registry-dynamic.d.ts.map +1 -0
  622. package/dist/core/model-registry-dynamic.js +155 -0
  623. package/dist/core/model-registry-dynamic.js.map +1 -0
  624. package/dist/core/model-registry-loader.d.ts +4 -0
  625. package/dist/core/model-registry-loader.d.ts.map +1 -0
  626. package/dist/core/model-registry-loader.js +20 -0
  627. package/dist/core/model-registry-loader.js.map +1 -0
  628. package/dist/core/model-registry-schemas.d.ts +1084 -0
  629. package/dist/core/model-registry-schemas.d.ts.map +1 -0
  630. package/dist/core/model-registry-schemas.js +161 -0
  631. package/dist/core/model-registry-schemas.js.map +1 -0
  632. package/dist/core/model-registry-types.d.ts +74 -0
  633. package/dist/core/model-registry-types.d.ts.map +1 -0
  634. package/dist/core/model-registry-types.js +2 -0
  635. package/dist/core/model-registry-types.js.map +1 -0
  636. package/dist/core/model-registry.d.ts +3 -76
  637. package/dist/core/model-registry.d.ts.map +1 -1
  638. package/dist/core/model-registry.js +24 -733
  639. package/dist/core/model-registry.js.map +1 -1
  640. package/dist/core/model-resolver-cli.d.ts +19 -0
  641. package/dist/core/model-resolver-cli.d.ts.map +1 -0
  642. package/dist/core/model-resolver-cli.js +118 -0
  643. package/dist/core/model-resolver-cli.js.map +1 -0
  644. package/dist/core/model-resolver-defaults.d.ts +5 -0
  645. package/dist/core/model-resolver-defaults.d.ts.map +1 -0
  646. package/dist/core/model-resolver-defaults.js +47 -0
  647. package/dist/core/model-resolver-defaults.js.map +1 -0
  648. package/dist/core/model-resolver-initial.d.ts +31 -0
  649. package/dist/core/model-resolver-initial.d.ts.map +1 -0
  650. package/dist/core/model-resolver-initial.js +116 -0
  651. package/dist/core/model-resolver-initial.js.map +1 -0
  652. package/dist/core/model-resolver-patterns.d.ts +26 -0
  653. package/dist/core/model-resolver-patterns.d.ts.map +1 -0
  654. package/dist/core/model-resolver-patterns.js +139 -0
  655. package/dist/core/model-resolver-patterns.js.map +1 -0
  656. package/dist/core/model-resolver-scope.d.ts +15 -0
  657. package/dist/core/model-resolver-scope.d.ts.map +1 -0
  658. package/dist/core/model-resolver-scope.js +66 -0
  659. package/dist/core/model-resolver-scope.js.map +1 -0
  660. package/dist/core/model-resolver-types.d.ts +29 -0
  661. package/dist/core/model-resolver-types.d.ts.map +1 -0
  662. package/dist/core/model-resolver-types.js +2 -0
  663. package/dist/core/model-resolver-types.js.map +1 -0
  664. package/dist/core/model-resolver.d.ts +6 -107
  665. package/dist/core/model-resolver.d.ts.map +1 -1
  666. package/dist/core/model-resolver.js +5 -549
  667. package/dist/core/model-resolver.js.map +1 -1
  668. package/dist/core/package-manager-auto-resources.d.ts +5 -0
  669. package/dist/core/package-manager-auto-resources.d.ts.map +1 -0
  670. package/dist/core/package-manager-auto-resources.js +109 -0
  671. package/dist/core/package-manager-auto-resources.js.map +1 -0
  672. package/dist/core/package-manager-command.d.ts +11 -0
  673. package/dist/core/package-manager-command.d.ts.map +1 -0
  674. package/dist/core/package-manager-command.js +102 -0
  675. package/dist/core/package-manager-command.js.map +1 -0
  676. package/dist/core/package-manager-constants.d.ts +4 -0
  677. package/dist/core/package-manager-constants.d.ts.map +1 -0
  678. package/dist/core/package-manager-constants.js +4 -0
  679. package/dist/core/package-manager-constants.js.map +1 -0
  680. package/dist/core/package-manager-env.d.ts +4 -0
  681. package/dist/core/package-manager-env.d.ts.map +1 -0
  682. package/dist/core/package-manager-env.js +40 -0
  683. package/dist/core/package-manager-env.js.map +1 -0
  684. package/dist/core/package-manager-git.d.ts +10 -0
  685. package/dist/core/package-manager-git.d.ts.map +1 -0
  686. package/dist/core/package-manager-git.js +271 -0
  687. package/dist/core/package-manager-git.js.map +1 -0
  688. package/dist/core/package-manager-manifest.d.ts +7 -0
  689. package/dist/core/package-manager-manifest.d.ts.map +1 -0
  690. package/dist/core/package-manager-manifest.js +45 -0
  691. package/dist/core/package-manager-manifest.js.map +1 -0
  692. package/dist/core/package-manager-npm.d.ts +25 -0
  693. package/dist/core/package-manager-npm.d.ts.map +1 -0
  694. package/dist/core/package-manager-npm.js +252 -0
  695. package/dist/core/package-manager-npm.js.map +1 -0
  696. package/dist/core/package-manager-operations.d.ts +11 -0
  697. package/dist/core/package-manager-operations.d.ts.map +1 -0
  698. package/dist/core/package-manager-operations.js +196 -0
  699. package/dist/core/package-manager-operations.js.map +1 -0
  700. package/dist/core/package-manager-paths.d.ts +14 -0
  701. package/dist/core/package-manager-paths.d.ts.map +1 -0
  702. package/dist/core/package-manager-paths.js +61 -0
  703. package/dist/core/package-manager-paths.js.map +1 -0
  704. package/dist/core/package-manager-progress.d.ts +4 -0
  705. package/dist/core/package-manager-progress.d.ts.map +1 -0
  706. package/dist/core/package-manager-progress.js +16 -0
  707. package/dist/core/package-manager-progress.js.map +1 -0
  708. package/dist/core/package-manager-resolver.d.ts +5 -0
  709. package/dist/core/package-manager-resolver.d.ts.map +1 -0
  710. package/dist/core/package-manager-resolver.js +149 -0
  711. package/dist/core/package-manager-resolver.js.map +1 -0
  712. package/dist/core/package-manager-resource-accumulator.d.ts +6 -0
  713. package/dist/core/package-manager-resource-accumulator.d.ts.map +1 -0
  714. package/dist/core/package-manager-resource-accumulator.js +67 -0
  715. package/dist/core/package-manager-resource-accumulator.js.map +1 -0
  716. package/dist/core/package-manager-resource-collector.d.ts +5 -0
  717. package/dist/core/package-manager-resource-collector.d.ts.map +1 -0
  718. package/dist/core/package-manager-resource-collector.js +148 -0
  719. package/dist/core/package-manager-resource-collector.js.map +1 -0
  720. package/dist/core/package-manager-resource-files.d.ts +14 -0
  721. package/dist/core/package-manager-resource-files.d.ts.map +1 -0
  722. package/dist/core/package-manager-resource-files.js +265 -0
  723. package/dist/core/package-manager-resource-files.js.map +1 -0
  724. package/dist/core/package-manager-resource-patterns.d.ts +12 -0
  725. package/dist/core/package-manager-resource-patterns.d.ts.map +1 -0
  726. package/dist/core/package-manager-resource-patterns.js +136 -0
  727. package/dist/core/package-manager-resource-patterns.js.map +1 -0
  728. package/dist/core/package-manager-settings.d.ts +10 -0
  729. package/dist/core/package-manager-settings.d.ts.map +1 -0
  730. package/dist/core/package-manager-settings.js +91 -0
  731. package/dist/core/package-manager-settings.js.map +1 -0
  732. package/dist/core/package-manager-source.d.ts +21 -0
  733. package/dist/core/package-manager-source.d.ts.map +1 -0
  734. package/dist/core/package-manager-source.js +146 -0
  735. package/dist/core/package-manager-source.js.map +1 -0
  736. package/dist/core/package-manager-types.d.ts +169 -0
  737. package/dist/core/package-manager-types.d.ts.map +1 -0
  738. package/dist/core/package-manager-types.js +9 -0
  739. package/dist/core/package-manager-types.js.map +1 -0
  740. package/dist/core/package-manager.d.ts +9 -174
  741. package/dist/core/package-manager.d.ts.map +1 -1
  742. package/dist/core/package-manager.js +56 -2100
  743. package/dist/core/package-manager.js.map +1 -1
  744. package/dist/core/resource-loader-assets.d.ts +6 -0
  745. package/dist/core/resource-loader-assets.d.ts.map +1 -0
  746. package/dist/core/resource-loader-assets.js +209 -0
  747. package/dist/core/resource-loader-assets.js.map +1 -0
  748. package/dist/core/resource-loader-context-files.d.ts +10 -0
  749. package/dist/core/resource-loader-context-files.d.ts.map +1 -0
  750. package/dist/core/resource-loader-context-files.js +74 -0
  751. package/dist/core/resource-loader-context-files.js.map +1 -0
  752. package/dist/core/resource-loader-core.d.ts +82 -0
  753. package/dist/core/resource-loader-core.d.ts.map +1 -0
  754. package/dist/core/resource-loader-core.js +168 -0
  755. package/dist/core/resource-loader-core.js.map +1 -0
  756. package/dist/core/resource-loader-discovery.d.ts +4 -0
  757. package/dist/core/resource-loader-discovery.d.ts.map +1 -0
  758. package/dist/core/resource-loader-discovery.js +28 -0
  759. package/dist/core/resource-loader-discovery.js.map +1 -0
  760. package/dist/core/resource-loader-extensions.d.ts +13 -0
  761. package/dist/core/resource-loader-extensions.d.ts.map +1 -0
  762. package/dist/core/resource-loader-extensions.js +110 -0
  763. package/dist/core/resource-loader-extensions.js.map +1 -0
  764. package/dist/core/resource-loader-helpers.d.ts +4 -0
  765. package/dist/core/resource-loader-helpers.d.ts.map +1 -0
  766. package/dist/core/resource-loader-helpers.js +23 -0
  767. package/dist/core/resource-loader-helpers.js.map +1 -0
  768. package/dist/core/resource-loader-internals.d.ts +96 -0
  769. package/dist/core/resource-loader-internals.d.ts.map +1 -0
  770. package/dist/core/resource-loader-internals.js +4 -0
  771. package/dist/core/resource-loader-internals.js.map +1 -0
  772. package/dist/core/resource-loader-package-resources.d.ts +31 -0
  773. package/dist/core/resource-loader-package-resources.d.ts.map +1 -0
  774. package/dist/core/resource-loader-package-resources.js +112 -0
  775. package/dist/core/resource-loader-package-resources.js.map +1 -0
  776. package/dist/core/resource-loader-paths.d.ts +4 -0
  777. package/dist/core/resource-loader-paths.d.ts.map +1 -0
  778. package/dist/core/resource-loader-paths.js +22 -0
  779. package/dist/core/resource-loader-paths.js.map +1 -0
  780. package/dist/core/resource-loader-reload.d.ts +6 -0
  781. package/dist/core/resource-loader-reload.d.ts.map +1 -0
  782. package/dist/core/resource-loader-reload.js +226 -0
  783. package/dist/core/resource-loader-reload.js.map +1 -0
  784. package/dist/core/resource-loader-source-info.d.ts +9 -0
  785. package/dist/core/resource-loader-source-info.d.ts.map +1 -0
  786. package/dist/core/resource-loader-source-info.js +101 -0
  787. package/dist/core/resource-loader-source-info.js.map +1 -0
  788. package/dist/core/resource-loader-types.d.ts +130 -0
  789. package/dist/core/resource-loader-types.d.ts.map +1 -0
  790. package/dist/core/resource-loader-types.js +2 -0
  791. package/dist/core/resource-loader-types.js.map +1 -0
  792. package/dist/core/resource-loader.d.ts +3 -242
  793. package/dist/core/resource-loader.d.ts.map +1 -1
  794. package/dist/core/resource-loader.js +2 -976
  795. package/dist/core/resource-loader.js.map +1 -1
  796. package/dist/core/sdk-exports.d.ts +7 -0
  797. package/dist/core/sdk-exports.d.ts.map +1 -0
  798. package/dist/core/sdk-exports.js +5 -0
  799. package/dist/core/sdk-exports.js.map +1 -0
  800. package/dist/core/sdk-types.d.ts +86 -0
  801. package/dist/core/sdk-types.d.ts.map +1 -0
  802. package/dist/core/sdk-types.js +2 -0
  803. package/dist/core/sdk-types.js.map +1 -0
  804. package/dist/core/sdk.d.ts +3 -91
  805. package/dist/core/sdk.d.ts.map +1 -1
  806. package/dist/core/sdk.js +2 -6
  807. package/dist/core/sdk.js.map +1 -1
  808. package/dist/core/session-manager-archive.d.ts +27 -0
  809. package/dist/core/session-manager-archive.d.ts.map +1 -0
  810. package/dist/core/session-manager-archive.js +114 -0
  811. package/dist/core/session-manager-archive.js.map +1 -0
  812. package/dist/core/session-manager-core.d.ts +104 -0
  813. package/dist/core/session-manager-core.d.ts.map +1 -0
  814. package/dist/core/session-manager-core.js +346 -0
  815. package/dist/core/session-manager-core.js.map +1 -0
  816. package/dist/core/session-manager-entries.d.ts +38 -0
  817. package/dist/core/session-manager-entries.d.ts.map +1 -0
  818. package/dist/core/session-manager-entries.js +124 -0
  819. package/dist/core/session-manager-entries.js.map +1 -0
  820. package/dist/core/session-manager-history.d.ts +38 -0
  821. package/dist/core/session-manager-history.d.ts.map +1 -0
  822. package/dist/core/session-manager-history.js +378 -0
  823. package/dist/core/session-manager-history.js.map +1 -0
  824. package/dist/core/session-manager-list.d.ts +5 -0
  825. package/dist/core/session-manager-list.d.ts.map +1 -0
  826. package/dist/core/session-manager-list.js +196 -0
  827. package/dist/core/session-manager-list.js.map +1 -0
  828. package/dist/core/session-manager-migrations.d.ts +11 -0
  829. package/dist/core/session-manager-migrations.d.ts.map +1 -0
  830. package/dist/core/session-manager-migrations.js +80 -0
  831. package/dist/core/session-manager-migrations.js.map +1 -0
  832. package/dist/core/session-manager-paths.d.ts +7 -0
  833. package/dist/core/session-manager-paths.d.ts.map +1 -0
  834. package/dist/core/session-manager-paths.js +22 -0
  835. package/dist/core/session-manager-paths.js.map +1 -0
  836. package/dist/core/session-manager-storage.d.ts +15 -0
  837. package/dist/core/session-manager-storage.d.ts.map +1 -0
  838. package/dist/core/session-manager-storage.js +127 -0
  839. package/dist/core/session-manager-storage.js.map +1 -0
  840. package/dist/core/session-manager-types.d.ts +172 -0
  841. package/dist/core/session-manager-types.d.ts.map +1 -0
  842. package/dist/core/session-manager-types.js +2 -0
  843. package/dist/core/session-manager-types.js.map +1 -0
  844. package/dist/core/session-manager-validation.d.ts +7 -0
  845. package/dist/core/session-manager-validation.d.ts.map +1 -0
  846. package/dist/core/session-manager-validation.js +34 -0
  847. package/dist/core/session-manager-validation.js.map +1 -0
  848. package/dist/core/session-manager.d.ts +8 -390
  849. package/dist/core/session-manager.d.ts.map +1 -1
  850. package/dist/core/session-manager.js +7 -1418
  851. package/dist/core/session-manager.js.map +1 -1
  852. package/dist/core/settings-manager-basic-accessors.d.ts +65 -0
  853. package/dist/core/settings-manager-basic-accessors.d.ts.map +1 -0
  854. package/dist/core/settings-manager-basic-accessors.js +253 -0
  855. package/dist/core/settings-manager-basic-accessors.js.map +1 -0
  856. package/dist/core/settings-manager-core.d.ts +57 -0
  857. package/dist/core/settings-manager-core.d.ts.map +1 -0
  858. package/dist/core/settings-manager-core.js +387 -0
  859. package/dist/core/settings-manager-core.js.map +1 -0
  860. package/dist/core/settings-manager-internals.d.ts +13 -0
  861. package/dist/core/settings-manager-internals.d.ts.map +1 -0
  862. package/dist/core/settings-manager-internals.js +4 -0
  863. package/dist/core/settings-manager-internals.js.map +1 -0
  864. package/dist/core/settings-manager-resource-accessors.d.ts +43 -0
  865. package/dist/core/settings-manager-resource-accessors.d.ts.map +1 -0
  866. package/dist/core/settings-manager-resource-accessors.js +172 -0
  867. package/dist/core/settings-manager-resource-accessors.js.map +1 -0
  868. package/dist/core/settings-manager-ui-accessors.d.ts +44 -0
  869. package/dist/core/settings-manager-ui-accessors.d.ts.map +1 -0
  870. package/dist/core/settings-manager-ui-accessors.js +208 -0
  871. package/dist/core/settings-manager-ui-accessors.js.map +1 -0
  872. package/dist/core/settings-manager.d.ts +6 -321
  873. package/dist/core/settings-manager.d.ts.map +1 -1
  874. package/dist/core/settings-manager.js +5 -1060
  875. package/dist/core/settings-manager.js.map +1 -1
  876. package/dist/core/settings-merge.d.ts +4 -0
  877. package/dist/core/settings-merge.d.ts.map +1 -0
  878. package/dist/core/settings-merge.js +26 -0
  879. package/dist/core/settings-merge.js.map +1 -0
  880. package/dist/core/settings-storage.d.ts +20 -0
  881. package/dist/core/settings-storage.d.ts.map +1 -0
  882. package/dist/core/settings-storage.js +100 -0
  883. package/dist/core/settings-storage.js.map +1 -0
  884. package/dist/core/settings-types.d.ts +123 -0
  885. package/dist/core/settings-types.d.ts.map +1 -0
  886. package/dist/core/settings-types.js +2 -0
  887. package/dist/core/settings-types.js.map +1 -0
  888. package/dist/core/system-prompt.d.ts.map +1 -1
  889. package/dist/core/system-prompt.js +7 -0
  890. package/dist/core/system-prompt.js.map +1 -1
  891. package/dist/core/tools/bash-policy-compile.d.ts +5 -0
  892. package/dist/core/tools/bash-policy-compile.d.ts.map +1 -0
  893. package/dist/core/tools/bash-policy-compile.js +241 -0
  894. package/dist/core/tools/bash-policy-compile.js.map +1 -0
  895. package/dist/core/tools/bash-policy-evaluate.d.ts +3 -0
  896. package/dist/core/tools/bash-policy-evaluate.d.ts.map +1 -0
  897. package/dist/core/tools/bash-policy-evaluate.js +92 -0
  898. package/dist/core/tools/bash-policy-evaluate.js.map +1 -0
  899. package/dist/core/tools/bash-policy-format.d.ts +5 -0
  900. package/dist/core/tools/bash-policy-format.d.ts.map +1 -0
  901. package/dist/core/tools/bash-policy-format.js +49 -0
  902. package/dist/core/tools/bash-policy-format.js.map +1 -0
  903. package/dist/core/tools/bash-policy-parser.d.ts +4 -0
  904. package/dist/core/tools/bash-policy-parser.d.ts.map +1 -0
  905. package/dist/core/tools/bash-policy-parser.js +155 -0
  906. package/dist/core/tools/bash-policy-parser.js.map +1 -0
  907. package/dist/core/tools/bash-policy-segment.d.ts +3 -0
  908. package/dist/core/tools/bash-policy-segment.d.ts.map +1 -0
  909. package/dist/core/tools/bash-policy-segment.js +275 -0
  910. package/dist/core/tools/bash-policy-segment.js.map +1 -0
  911. package/dist/core/tools/bash-policy-shell.d.ts +11 -0
  912. package/dist/core/tools/bash-policy-shell.d.ts.map +1 -0
  913. package/dist/core/tools/bash-policy-shell.js +267 -0
  914. package/dist/core/tools/bash-policy-shell.js.map +1 -0
  915. package/dist/core/tools/bash-policy-types.d.ts +146 -0
  916. package/dist/core/tools/bash-policy-types.d.ts.map +1 -0
  917. package/dist/core/tools/bash-policy-types.js +2 -0
  918. package/dist/core/tools/bash-policy-types.js.map +1 -0
  919. package/dist/core/tools/bash-policy.d.ts +5 -61
  920. package/dist/core/tools/bash-policy.d.ts.map +1 -1
  921. package/dist/core/tools/bash-policy.js +4 -1068
  922. package/dist/core/tools/bash-policy.js.map +1 -1
  923. package/dist/core/tools/todos-execute.d.ts +5 -0
  924. package/dist/core/tools/todos-execute.d.ts.map +1 -0
  925. package/dist/core/tools/todos-execute.js +200 -0
  926. package/dist/core/tools/todos-execute.js.map +1 -0
  927. package/dist/core/tools/todos-locks.d.ts +4 -0
  928. package/dist/core/tools/todos-locks.d.ts.map +1 -0
  929. package/dist/core/tools/todos-locks.js +80 -0
  930. package/dist/core/tools/todos-locks.js.map +1 -0
  931. package/dist/core/tools/todos-model.d.ts +21 -0
  932. package/dist/core/tools/todos-model.d.ts.map +1 -0
  933. package/dist/core/tools/todos-model.js +71 -0
  934. package/dist/core/tools/todos-model.js.map +1 -0
  935. package/dist/core/tools/todos-mutations.d.ts +6 -0
  936. package/dist/core/tools/todos-mutations.d.ts.map +1 -0
  937. package/dist/core/tools/todos-mutations.js +85 -0
  938. package/dist/core/tools/todos-mutations.js.map +1 -0
  939. package/dist/core/tools/todos-paths.d.ts +5 -0
  940. package/dist/core/tools/todos-paths.d.ts.map +1 -0
  941. package/dist/core/tools/todos-paths.js +25 -0
  942. package/dist/core/tools/todos-paths.js.map +1 -0
  943. package/dist/core/tools/todos-render.d.ts +10 -0
  944. package/dist/core/tools/todos-render.d.ts.map +1 -0
  945. package/dist/core/tools/todos-render.js +159 -0
  946. package/dist/core/tools/todos-render.js.map +1 -0
  947. package/dist/core/tools/todos-storage.d.ts +9 -0
  948. package/dist/core/tools/todos-storage.d.ts.map +1 -0
  949. package/dist/core/tools/todos-storage.js +183 -0
  950. package/dist/core/tools/todos-storage.js.map +1 -0
  951. package/dist/core/tools/todos-types.d.ts +46 -0
  952. package/dist/core/tools/todos-types.d.ts.map +1 -0
  953. package/dist/core/tools/todos-types.js +27 -0
  954. package/dist/core/tools/todos-types.js.map +1 -0
  955. package/dist/core/tools/todos.d.ts +12 -32
  956. package/dist/core/tools/todos.d.ts.map +1 -1
  957. package/dist/core/tools/todos.js +7 -893
  958. package/dist/core/tools/todos.js.map +1 -1
  959. package/dist/index-extensions.d.ts +3 -0
  960. package/dist/index-extensions.d.ts.map +1 -0
  961. package/dist/index-extensions.js +2 -0
  962. package/dist/index-extensions.js.map +1 -0
  963. package/dist/index.d.ts +1 -2
  964. package/dist/index.d.ts.map +1 -1
  965. package/dist/index.js +1 -1
  966. package/dist/index.js.map +1 -1
  967. package/dist/main-app-mode.d.ts +15 -0
  968. package/dist/main-app-mode.d.ts.map +1 -0
  969. package/dist/main-app-mode.js +51 -0
  970. package/dist/main-app-mode.js.map +1 -0
  971. package/dist/main-session-options.d.ts +12 -0
  972. package/dist/main-session-options.d.ts.map +1 -0
  973. package/dist/main-session-options.js +87 -0
  974. package/dist/main-session-options.js.map +1 -0
  975. package/dist/main-session.d.ts +9 -0
  976. package/dist/main-session.d.ts.map +1 -0
  977. package/dist/main-session.js +188 -0
  978. package/dist/main-session.js.map +1 -0
  979. package/dist/main-stdio.d.ts +12 -0
  980. package/dist/main-stdio.d.ts.map +1 -0
  981. package/dist/main-stdio.js +68 -0
  982. package/dist/main-stdio.js.map +1 -0
  983. package/dist/main.d.ts +2 -3
  984. package/dist/main.d.ts.map +1 -1
  985. package/dist/main.js +11 -388
  986. package/dist/main.js.map +1 -1
  987. package/dist/migrations-config-values.d.ts +9 -0
  988. package/dist/migrations-config-values.d.ts.map +1 -0
  989. package/dist/migrations-config-values.js +298 -0
  990. package/dist/migrations-config-values.js.map +1 -0
  991. package/dist/migrations.d.ts.map +1 -1
  992. package/dist/migrations.js +2 -296
  993. package/dist/migrations.js.map +1 -1
  994. package/dist/modes/interactive/components/chat-message-renderer.d.ts.map +1 -1
  995. package/dist/modes/interactive/components/chat-message-renderer.js +0 -7
  996. package/dist/modes/interactive/components/chat-message-renderer.js.map +1 -1
  997. package/dist/modes/interactive/components/chat-session-host-actions.d.ts +9 -0
  998. package/dist/modes/interactive/components/chat-session-host-actions.d.ts.map +1 -0
  999. package/dist/modes/interactive/components/chat-session-host-actions.js +244 -0
  1000. package/dist/modes/interactive/components/chat-session-host-actions.js.map +1 -0
  1001. package/dist/modes/interactive/components/chat-session-host-editor.d.ts +18 -0
  1002. package/dist/modes/interactive/components/chat-session-host-editor.d.ts.map +1 -0
  1003. package/dist/modes/interactive/components/chat-session-host-editor.js +165 -0
  1004. package/dist/modes/interactive/components/chat-session-host-editor.js.map +1 -0
  1005. package/dist/modes/interactive/components/chat-session-host-events.d.ts +5 -0
  1006. package/dist/modes/interactive/components/chat-session-host-events.d.ts.map +1 -0
  1007. package/dist/modes/interactive/components/chat-session-host-events.js +200 -0
  1008. package/dist/modes/interactive/components/chat-session-host-events.js.map +1 -0
  1009. package/dist/modes/interactive/components/chat-session-host-rendering.d.ts +13 -0
  1010. package/dist/modes/interactive/components/chat-session-host-rendering.d.ts.map +1 -0
  1011. package/dist/modes/interactive/components/chat-session-host-rendering.js +185 -0
  1012. package/dist/modes/interactive/components/chat-session-host-rendering.js.map +1 -0
  1013. package/dist/modes/interactive/components/chat-session-host-runtime.d.ts +13 -0
  1014. package/dist/modes/interactive/components/chat-session-host-runtime.d.ts.map +1 -0
  1015. package/dist/modes/interactive/components/chat-session-host-runtime.js +101 -0
  1016. package/dist/modes/interactive/components/chat-session-host-runtime.js.map +1 -0
  1017. package/dist/modes/interactive/components/chat-session-host-state.d.ts +53 -0
  1018. package/dist/modes/interactive/components/chat-session-host-state.d.ts.map +1 -0
  1019. package/dist/modes/interactive/components/chat-session-host-state.js +42 -0
  1020. package/dist/modes/interactive/components/chat-session-host-state.js.map +1 -0
  1021. package/dist/modes/interactive/components/chat-session-host-types.d.ts +63 -0
  1022. package/dist/modes/interactive/components/chat-session-host-types.d.ts.map +1 -0
  1023. package/dist/modes/interactive/components/chat-session-host-types.js +2 -0
  1024. package/dist/modes/interactive/components/chat-session-host-types.js.map +1 -0
  1025. package/dist/modes/interactive/components/chat-session-host-utils.d.ts +28 -0
  1026. package/dist/modes/interactive/components/chat-session-host-utils.d.ts.map +1 -0
  1027. package/dist/modes/interactive/components/chat-session-host-utils.js +103 -0
  1028. package/dist/modes/interactive/components/chat-session-host-utils.js.map +1 -0
  1029. package/dist/modes/interactive/components/chat-session-host.d.ts +6 -129
  1030. package/dist/modes/interactive/components/chat-session-host.d.ts.map +1 -1
  1031. package/dist/modes/interactive/components/chat-session-host.js +50 -1022
  1032. package/dist/modes/interactive/components/chat-session-host.js.map +1 -1
  1033. package/dist/modes/interactive/components/config-selector-list.d.ts +65 -0
  1034. package/dist/modes/interactive/components/config-selector-list.d.ts.map +1 -0
  1035. package/dist/modes/interactive/components/config-selector-list.js +458 -0
  1036. package/dist/modes/interactive/components/config-selector-list.js.map +1 -0
  1037. package/dist/modes/interactive/components/config-selector.d.ts +3 -58
  1038. package/dist/modes/interactive/components/config-selector.d.ts.map +1 -1
  1039. package/dist/modes/interactive/components/config-selector.js +2 -457
  1040. package/dist/modes/interactive/components/config-selector.js.map +1 -1
  1041. package/dist/modes/interactive/components/session-selector-delete.d.ts +10 -0
  1042. package/dist/modes/interactive/components/session-selector-delete.d.ts.map +1 -0
  1043. package/dist/modes/interactive/components/session-selector-delete.js +40 -0
  1044. package/dist/modes/interactive/components/session-selector-delete.js.map +1 -0
  1045. package/dist/modes/interactive/components/session-selector-header.d.ts +33 -0
  1046. package/dist/modes/interactive/components/session-selector-header.d.ts.map +1 -0
  1047. package/dist/modes/interactive/components/session-selector-header.js +117 -0
  1048. package/dist/modes/interactive/components/session-selector-header.js.map +1 -0
  1049. package/dist/modes/interactive/components/session-selector-list.d.ts +49 -0
  1050. package/dist/modes/interactive/components/session-selector-list.d.ts.map +1 -0
  1051. package/dist/modes/interactive/components/session-selector-list.js +307 -0
  1052. package/dist/modes/interactive/components/session-selector-list.js.map +1 -0
  1053. package/dist/modes/interactive/components/session-selector-tree.d.ts +25 -0
  1054. package/dist/modes/interactive/components/session-selector-tree.d.ts.map +1 -0
  1055. package/dist/modes/interactive/components/session-selector-tree.js +53 -0
  1056. package/dist/modes/interactive/components/session-selector-tree.js.map +1 -0
  1057. package/dist/modes/interactive/components/session-selector-types.d.ts +4 -0
  1058. package/dist/modes/interactive/components/session-selector-types.d.ts.map +1 -0
  1059. package/dist/modes/interactive/components/session-selector-types.js +2 -0
  1060. package/dist/modes/interactive/components/session-selector-types.js.map +1 -0
  1061. package/dist/modes/interactive/components/session-selector-utils.d.ts +4 -0
  1062. package/dist/modes/interactive/components/session-selector-utils.d.ts.map +1 -0
  1063. package/dist/modes/interactive/components/session-selector-utils.js +37 -0
  1064. package/dist/modes/interactive/components/session-selector-utils.js.map +1 -0
  1065. package/dist/modes/interactive/components/session-selector.d.ts +3 -49
  1066. package/dist/modes/interactive/components/session-selector.d.ts.map +1 -1
  1067. package/dist/modes/interactive/components/session-selector.js +5 -542
  1068. package/dist/modes/interactive/components/session-selector.js.map +1 -1
  1069. package/dist/modes/interactive/components/settings-selector-handlers.d.ts +3 -0
  1070. package/dist/modes/interactive/components/settings-selector-handlers.d.ts.map +1 -0
  1071. package/dist/modes/interactive/components/settings-selector-handlers.js +84 -0
  1072. package/dist/modes/interactive/components/settings-selector-handlers.js.map +1 -0
  1073. package/dist/modes/interactive/components/settings-selector-items.d.ts +4 -0
  1074. package/dist/modes/interactive/components/settings-selector-items.d.ts.map +1 -0
  1075. package/dist/modes/interactive/components/settings-selector-items.js +211 -0
  1076. package/dist/modes/interactive/components/settings-selector-items.js.map +1 -0
  1077. package/dist/modes/interactive/components/settings-selector-options.d.ts +6 -0
  1078. package/dist/modes/interactive/components/settings-selector-options.d.ts.map +1 -0
  1079. package/dist/modes/interactive/components/settings-selector-options.js +14 -0
  1080. package/dist/modes/interactive/components/settings-selector-options.js.map +1 -0
  1081. package/dist/modes/interactive/components/settings-selector-submenus.d.ts +44 -0
  1082. package/dist/modes/interactive/components/settings-selector-submenus.d.ts.map +1 -0
  1083. package/dist/modes/interactive/components/settings-selector-submenus.js +228 -0
  1084. package/dist/modes/interactive/components/settings-selector-submenus.js.map +1 -0
  1085. package/dist/modes/interactive/components/settings-selector-types.d.ts +67 -0
  1086. package/dist/modes/interactive/components/settings-selector-types.d.ts.map +1 -0
  1087. package/dist/modes/interactive/components/settings-selector-types.js +2 -0
  1088. package/dist/modes/interactive/components/settings-selector-types.js.map +1 -0
  1089. package/dist/modes/interactive/components/settings-selector.d.ts +2 -63
  1090. package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
  1091. package/dist/modes/interactive/components/settings-selector.js +5 -538
  1092. package/dist/modes/interactive/components/settings-selector.js.map +1 -1
  1093. package/dist/modes/interactive/components/tree-selector-component.d.ts +21 -0
  1094. package/dist/modes/interactive/components/tree-selector-component.d.ts.map +1 -0
  1095. package/dist/modes/interactive/components/tree-selector-component.js +80 -0
  1096. package/dist/modes/interactive/components/tree-selector-component.js.map +1 -0
  1097. package/dist/modes/interactive/components/tree-selector-content.d.ts +8 -0
  1098. package/dist/modes/interactive/components/tree-selector-content.d.ts.map +1 -0
  1099. package/dist/modes/interactive/components/tree-selector-content.js +263 -0
  1100. package/dist/modes/interactive/components/tree-selector-content.js.map +1 -0
  1101. package/dist/modes/interactive/components/tree-selector-help.d.ts +16 -0
  1102. package/dist/modes/interactive/components/tree-selector-help.d.ts.map +1 -0
  1103. package/dist/modes/interactive/components/tree-selector-help.js +103 -0
  1104. package/dist/modes/interactive/components/tree-selector-help.js.map +1 -0
  1105. package/dist/modes/interactive/components/tree-selector-label-input.d.ts +16 -0
  1106. package/dist/modes/interactive/components/tree-selector-label-input.d.ts.map +1 -0
  1107. package/dist/modes/interactive/components/tree-selector-label-input.js +46 -0
  1108. package/dist/modes/interactive/components/tree-selector-label-input.js.map +1 -0
  1109. package/dist/modes/interactive/components/tree-selector-list.d.ts +33 -0
  1110. package/dist/modes/interactive/components/tree-selector-list.d.ts.map +1 -0
  1111. package/dist/modes/interactive/components/tree-selector-list.js +336 -0
  1112. package/dist/modes/interactive/components/tree-selector-list.js.map +1 -0
  1113. package/dist/modes/interactive/components/tree-selector-model.d.ts +7 -0
  1114. package/dist/modes/interactive/components/tree-selector-model.d.ts.map +1 -0
  1115. package/dist/modes/interactive/components/tree-selector-model.js +358 -0
  1116. package/dist/modes/interactive/components/tree-selector-model.js.map +1 -0
  1117. package/dist/modes/interactive/components/tree-selector-types.d.ts +57 -0
  1118. package/dist/modes/interactive/components/tree-selector-types.d.ts.map +1 -0
  1119. package/dist/modes/interactive/components/tree-selector-types.js +6 -0
  1120. package/dist/modes/interactive/components/tree-selector-types.js.map +1 -0
  1121. package/dist/modes/interactive/components/tree-selector-viewport.d.ts +10 -0
  1122. package/dist/modes/interactive/components/tree-selector-viewport.d.ts.map +1 -0
  1123. package/dist/modes/interactive/components/tree-selector-viewport.js +32 -0
  1124. package/dist/modes/interactive/components/tree-selector-viewport.js.map +1 -0
  1125. package/dist/modes/interactive/components/tree-selector.d.ts +2 -88
  1126. package/dist/modes/interactive/components/tree-selector.d.ts.map +1 -1
  1127. package/dist/modes/interactive/components/tree-selector.js +1 -1200
  1128. package/dist/modes/interactive/components/tree-selector.js.map +1 -1
  1129. package/dist/modes/interactive/interactive-agent-events.d.ts +2 -0
  1130. package/dist/modes/interactive/interactive-agent-events.d.ts.map +1 -0
  1131. package/dist/modes/interactive/interactive-agent-events.js +370 -0
  1132. package/dist/modes/interactive/interactive-agent-events.js.map +1 -0
  1133. package/dist/modes/interactive/interactive-auth-login.d.ts +2 -0
  1134. package/dist/modes/interactive/interactive-auth-login.d.ts.map +1 -0
  1135. package/dist/modes/interactive/interactive-auth-login.js +214 -0
  1136. package/dist/modes/interactive/interactive-auth-login.js.map +1 -0
  1137. package/dist/modes/interactive/interactive-auth-routing.d.ts +2 -0
  1138. package/dist/modes/interactive/interactive-auth-routing.d.ts.map +1 -0
  1139. package/dist/modes/interactive/interactive-auth-routing.js +128 -0
  1140. package/dist/modes/interactive/interactive-auth-routing.js.map +1 -0
  1141. package/dist/modes/interactive/interactive-autocomplete.d.ts +2 -0
  1142. package/dist/modes/interactive/interactive-autocomplete.d.ts.map +1 -0
  1143. package/dist/modes/interactive/interactive-autocomplete.js +140 -0
  1144. package/dist/modes/interactive/interactive-autocomplete.js.map +1 -0
  1145. package/dist/modes/interactive/interactive-bash-compact.d.ts +2 -0
  1146. package/dist/modes/interactive/interactive-bash-compact.d.ts.map +1 -0
  1147. package/dist/modes/interactive/interactive-bash-compact.js +112 -0
  1148. package/dist/modes/interactive/interactive-bash-compact.js.map +1 -0
  1149. package/dist/modes/interactive/interactive-editor-actions.d.ts +2 -0
  1150. package/dist/modes/interactive/interactive-editor-actions.d.ts.map +1 -0
  1151. package/dist/modes/interactive/interactive-editor-actions.js +131 -0
  1152. package/dist/modes/interactive/interactive-editor-actions.js.map +1 -0
  1153. package/dist/modes/interactive/interactive-extension-context.d.ts +2 -0
  1154. package/dist/modes/interactive/interactive-extension-context.d.ts.map +1 -0
  1155. package/dist/modes/interactive/interactive-extension-context.js +159 -0
  1156. package/dist/modes/interactive/interactive-extension-context.js.map +1 -0
  1157. package/dist/modes/interactive/interactive-extension-custom-ui.d.ts +2 -0
  1158. package/dist/modes/interactive/interactive-extension-custom-ui.d.ts.map +1 -0
  1159. package/dist/modes/interactive/interactive-extension-custom-ui.js +208 -0
  1160. package/dist/modes/interactive/interactive-extension-custom-ui.js.map +1 -0
  1161. package/dist/modes/interactive/interactive-extension-dialogs.d.ts +2 -0
  1162. package/dist/modes/interactive/interactive-extension-dialogs.d.ts.map +1 -0
  1163. package/dist/modes/interactive/interactive-extension-dialogs.js +162 -0
  1164. package/dist/modes/interactive/interactive-extension-dialogs.js.map +1 -0
  1165. package/dist/modes/interactive/interactive-extension-runtime.d.ts +2 -0
  1166. package/dist/modes/interactive/interactive-extension-runtime.d.ts.map +1 -0
  1167. package/dist/modes/interactive/interactive-extension-runtime.js +179 -0
  1168. package/dist/modes/interactive/interactive-extension-runtime.js.map +1 -0
  1169. package/dist/modes/interactive/interactive-extension-widgets.d.ts +2 -0
  1170. package/dist/modes/interactive/interactive-extension-widgets.d.ts.map +1 -0
  1171. package/dist/modes/interactive/interactive-extension-widgets.js +113 -0
  1172. package/dist/modes/interactive/interactive-extension-widgets.js.map +1 -0
  1173. package/dist/modes/interactive/interactive-hotkeys-debug.d.ts +2 -0
  1174. package/dist/modes/interactive/interactive-hotkeys-debug.d.ts.map +1 -0
  1175. package/dist/modes/interactive/interactive-hotkeys-debug.js +186 -0
  1176. package/dist/modes/interactive/interactive-hotkeys-debug.js.map +1 -0
  1177. package/dist/modes/interactive/interactive-input-handling.d.ts +2 -0
  1178. package/dist/modes/interactive/interactive-input-handling.d.ts.map +1 -0
  1179. package/dist/modes/interactive/interactive-input-handling.js +275 -0
  1180. package/dist/modes/interactive/interactive-input-handling.js.map +1 -0
  1181. package/dist/modes/interactive/interactive-mode-base.d.ts +103 -0
  1182. package/dist/modes/interactive/interactive-mode-base.d.ts.map +1 -0
  1183. package/dist/modes/interactive/interactive-mode-base.js +130 -0
  1184. package/dist/modes/interactive/interactive-mode-base.js.map +1 -0
  1185. package/dist/modes/interactive/interactive-mode-deps.d.ts +81 -0
  1186. package/dist/modes/interactive/interactive-mode-deps.d.ts.map +1 -0
  1187. package/dist/modes/interactive/interactive-mode-deps.js +74 -0
  1188. package/dist/modes/interactive/interactive-mode-deps.js.map +1 -0
  1189. package/dist/modes/interactive/interactive-mode-helpers.d.ts +21 -0
  1190. package/dist/modes/interactive/interactive-mode-helpers.d.ts.map +1 -0
  1191. package/dist/modes/interactive/interactive-mode-helpers.js +77 -0
  1192. package/dist/modes/interactive/interactive-mode-helpers.js.map +1 -0
  1193. package/dist/modes/interactive/interactive-mode-surface.d.ts +313 -0
  1194. package/dist/modes/interactive/interactive-mode-surface.d.ts.map +1 -0
  1195. package/dist/modes/interactive/interactive-mode-surface.js +2 -0
  1196. package/dist/modes/interactive/interactive-mode-surface.js.map +1 -0
  1197. package/dist/modes/interactive/interactive-mode-types.d.ts +29 -0
  1198. package/dist/modes/interactive/interactive-mode-types.d.ts.map +1 -0
  1199. package/dist/modes/interactive/interactive-mode-types.js +2 -0
  1200. package/dist/modes/interactive/interactive-mode-types.js.map +1 -0
  1201. package/dist/modes/interactive/interactive-mode.d.ts +30 -404
  1202. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  1203. package/dist/modes/interactive/interactive-mode.js +29 -5260
  1204. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  1205. package/dist/modes/interactive/interactive-model-routing.d.ts +2 -0
  1206. package/dist/modes/interactive/interactive-model-routing.d.ts.map +1 -0
  1207. package/dist/modes/interactive/interactive-model-routing.js +269 -0
  1208. package/dist/modes/interactive/interactive-model-routing.js.map +1 -0
  1209. package/dist/modes/interactive/interactive-process-lifecycle.d.ts +2 -0
  1210. package/dist/modes/interactive/interactive-process-lifecycle.d.ts.map +1 -0
  1211. package/dist/modes/interactive/interactive-process-lifecycle.js +189 -0
  1212. package/dist/modes/interactive/interactive-process-lifecycle.js.map +1 -0
  1213. package/dist/modes/interactive/interactive-queueing.d.ts +2 -0
  1214. package/dist/modes/interactive/interactive-queueing.d.ts.map +1 -0
  1215. package/dist/modes/interactive/interactive-queueing.js +163 -0
  1216. package/dist/modes/interactive/interactive-queueing.js.map +1 -0
  1217. package/dist/modes/interactive/interactive-render-chat.d.ts +2 -0
  1218. package/dist/modes/interactive/interactive-render-chat.d.ts.map +1 -0
  1219. package/dist/modes/interactive/interactive-render-chat.js +170 -0
  1220. package/dist/modes/interactive/interactive-render-chat.js.map +1 -0
  1221. package/dist/modes/interactive/interactive-resource-disclosure.d.ts +2 -0
  1222. package/dist/modes/interactive/interactive-resource-disclosure.d.ts.map +1 -0
  1223. package/dist/modes/interactive/interactive-resource-disclosure.js +101 -0
  1224. package/dist/modes/interactive/interactive-resource-disclosure.js.map +1 -0
  1225. package/dist/modes/interactive/interactive-resource-paths.d.ts +2 -0
  1226. package/dist/modes/interactive/interactive-resource-paths.d.ts.map +1 -0
  1227. package/dist/modes/interactive/interactive-resource-paths.js +228 -0
  1228. package/dist/modes/interactive/interactive-resource-paths.js.map +1 -0
  1229. package/dist/modes/interactive/interactive-resource-rendering.d.ts +2 -0
  1230. package/dist/modes/interactive/interactive-resource-rendering.d.ts.map +1 -0
  1231. package/dist/modes/interactive/interactive-resource-rendering.js +181 -0
  1232. package/dist/modes/interactive/interactive-resource-rendering.js.map +1 -0
  1233. package/dist/modes/interactive/interactive-selectors.d.ts +2 -0
  1234. package/dist/modes/interactive/interactive-selectors.d.ts.map +1 -0
  1235. package/dist/modes/interactive/interactive-selectors.js +198 -0
  1236. package/dist/modes/interactive/interactive-selectors.js.map +1 -0
  1237. package/dist/modes/interactive/interactive-session-routing.d.ts +2 -0
  1238. package/dist/modes/interactive/interactive-session-routing.d.ts.map +1 -0
  1239. package/dist/modes/interactive/interactive-session-routing.js +232 -0
  1240. package/dist/modes/interactive/interactive-session-routing.js.map +1 -0
  1241. package/dist/modes/interactive/interactive-session-runtime.d.ts +2 -0
  1242. package/dist/modes/interactive/interactive-session-runtime.d.ts.map +1 -0
  1243. package/dist/modes/interactive/interactive-session-runtime.js +131 -0
  1244. package/dist/modes/interactive/interactive-session-runtime.js.map +1 -0
  1245. package/dist/modes/interactive/interactive-slash-commands.d.ts +2 -0
  1246. package/dist/modes/interactive/interactive-slash-commands.d.ts.map +1 -0
  1247. package/dist/modes/interactive/interactive-slash-commands.js +338 -0
  1248. package/dist/modes/interactive/interactive-slash-commands.js.map +1 -0
  1249. package/dist/modes/interactive/interactive-startup.d.ts +2 -0
  1250. package/dist/modes/interactive/interactive-startup.d.ts.map +1 -0
  1251. package/dist/modes/interactive/interactive-startup.js +348 -0
  1252. package/dist/modes/interactive/interactive-startup.js.map +1 -0
  1253. package/dist/modes/interactive/theme/color-utils.d.ts +20 -0
  1254. package/dist/modes/interactive/theme/color-utils.d.ts.map +1 -0
  1255. package/dist/modes/interactive/theme/color-utils.js +204 -0
  1256. package/dist/modes/interactive/theme/color-utils.js.map +1 -0
  1257. package/dist/modes/interactive/theme/export-colors.d.ts +19 -0
  1258. package/dist/modes/interactive/theme/export-colors.d.ts.map +1 -0
  1259. package/dist/modes/interactive/theme/export-colors.js +69 -0
  1260. package/dist/modes/interactive/theme/export-colors.js.map +1 -0
  1261. package/dist/modes/interactive/theme/global-theme.d.ts +12 -0
  1262. package/dist/modes/interactive/theme/global-theme.d.ts.map +1 -0
  1263. package/dist/modes/interactive/theme/global-theme.js +150 -0
  1264. package/dist/modes/interactive/theme/global-theme.js.map +1 -0
  1265. package/dist/modes/interactive/theme/terminal-detection.d.ts +30 -0
  1266. package/dist/modes/interactive/theme/terminal-detection.d.ts.map +1 -0
  1267. package/dist/modes/interactive/theme/terminal-detection.js +89 -0
  1268. package/dist/modes/interactive/theme/terminal-detection.js.map +1 -0
  1269. package/dist/modes/interactive/theme/theme-class.d.ts +30 -0
  1270. package/dist/modes/interactive/theme/theme-class.d.ts.map +1 -0
  1271. package/dist/modes/interactive/theme/theme-class.js +83 -0
  1272. package/dist/modes/interactive/theme/theme-class.js.map +1 -0
  1273. package/dist/modes/interactive/theme/theme-loading.d.ts +17 -0
  1274. package/dist/modes/interactive/theme/theme-loading.d.ts.map +1 -0
  1275. package/dist/modes/interactive/theme/theme-loading.js +155 -0
  1276. package/dist/modes/interactive/theme/theme-loading.js.map +1 -0
  1277. package/dist/modes/interactive/theme/theme-parse.d.ts +5 -0
  1278. package/dist/modes/interactive/theme/theme-parse.d.ts.map +1 -0
  1279. package/dist/modes/interactive/theme/theme-parse.js +52 -0
  1280. package/dist/modes/interactive/theme/theme-parse.js.map +1 -0
  1281. package/dist/modes/interactive/theme/theme-schema.d.ts +255 -0
  1282. package/dist/modes/interactive/theme/theme-schema.d.ts.map +1 -0
  1283. package/dist/modes/interactive/theme/theme-schema.js +78 -0
  1284. package/dist/modes/interactive/theme/theme-schema.js.map +1 -0
  1285. package/dist/modes/interactive/theme/theme.d.ts +6 -108
  1286. package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
  1287. package/dist/modes/interactive/theme/theme.js +6 -1065
  1288. package/dist/modes/interactive/theme/theme.js.map +1 -1
  1289. package/dist/modes/interactive/theme/tui-theme.d.ts +15 -0
  1290. package/dist/modes/interactive/theme/tui-theme.d.ts.map +1 -0
  1291. package/dist/modes/interactive/theme/tui-theme.js +199 -0
  1292. package/dist/modes/interactive/theme/tui-theme.js.map +1 -0
  1293. package/dist/modes/rpc/rpc-client.d.ts +1 -61
  1294. package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
  1295. package/dist/modes/rpc/rpc-client.js +1 -72
  1296. package/dist/modes/rpc/rpc-client.js.map +1 -1
  1297. package/dist/modes/rpc/rpc-command-handler.d.ts +14 -0
  1298. package/dist/modes/rpc/rpc-command-handler.d.ts.map +1 -0
  1299. package/dist/modes/rpc/rpc-command-handler.js +226 -0
  1300. package/dist/modes/rpc/rpc-command-handler.js.map +1 -0
  1301. package/dist/modes/rpc/rpc-extension-ui.d.ts +15 -0
  1302. package/dist/modes/rpc/rpc-extension-ui.d.ts.map +1 -0
  1303. package/dist/modes/rpc/rpc-extension-ui.js +196 -0
  1304. package/dist/modes/rpc/rpc-extension-ui.js.map +1 -0
  1305. package/dist/modes/rpc/rpc-input.d.ts +12 -0
  1306. package/dist/modes/rpc/rpc-input.d.ts.map +1 -0
  1307. package/dist/modes/rpc/rpc-input.js +54 -0
  1308. package/dist/modes/rpc/rpc-input.js.map +1 -0
  1309. package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
  1310. package/dist/modes/rpc/rpc-mode.js +43 -607
  1311. package/dist/modes/rpc/rpc-mode.js.map +1 -1
  1312. package/dist/modes/rpc/rpc-responses.d.ts +8 -0
  1313. package/dist/modes/rpc/rpc-responses.d.ts.map +1 -0
  1314. package/dist/modes/rpc/rpc-responses.js +27 -0
  1315. package/dist/modes/rpc/rpc-responses.js.map +1 -0
  1316. package/dist/modes/rpc/rpc-session-binding.d.ts +25 -0
  1317. package/dist/modes/rpc/rpc-session-binding.d.ts.map +1 -0
  1318. package/dist/modes/rpc/rpc-session-binding.js +70 -0
  1319. package/dist/modes/rpc/rpc-session-binding.js.map +1 -0
  1320. package/dist/package-manager-cli-parser.d.ts +28 -0
  1321. package/dist/package-manager-cli-parser.d.ts.map +1 -0
  1322. package/dist/package-manager-cli-parser.js +269 -0
  1323. package/dist/package-manager-cli-parser.js.map +1 -0
  1324. package/dist/package-manager-cli.d.ts +0 -1
  1325. package/dist/package-manager-cli.d.ts.map +1 -1
  1326. package/dist/package-manager-cli.js +2 -267
  1327. package/dist/package-manager-cli.js.map +1 -1
  1328. package/dist/utils/git.d.ts.map +1 -1
  1329. package/dist/utils/git.js +10 -0
  1330. package/dist/utils/git.js.map +1 -1
  1331. package/dist/utils/version-check.d.ts +1 -0
  1332. package/dist/utils/version-check.d.ts.map +1 -1
  1333. package/dist/utils/version-check.js +17 -0
  1334. package/dist/utils/version-check.js.map +1 -1
  1335. package/docs/development.md +4 -0
  1336. package/docs/sessions.md +4 -0
  1337. package/docs/workflows.md +13 -7
  1338. package/examples/extensions/custom-provider-anthropic/index.ts +1 -106
  1339. package/examples/extensions/gondolin/index.ts +0 -23
  1340. package/examples/extensions/gondolin/package-lock.json +183 -183
  1341. package/examples/extensions/overlay-qa-animation-components.ts +255 -0
  1342. package/examples/extensions/overlay-qa-focus-components.ts +222 -0
  1343. package/examples/extensions/overlay-qa-position-components.ts +433 -0
  1344. package/examples/extensions/overlay-qa-shared.ts +37 -0
  1345. package/examples/extensions/overlay-qa-streaming-input-components.ts +205 -0
  1346. package/examples/extensions/overlay-qa-tests.ts +17 -1156
  1347. package/examples/extensions/overlay-qa-toggle-passive-components.ts +169 -0
  1348. package/examples/extensions/space-invaders.ts +0 -60
  1349. package/examples/extensions/subagent/display.ts +148 -0
  1350. package/examples/extensions/subagent/index.ts +11 -858
  1351. package/examples/extensions/subagent/render.ts +383 -0
  1352. package/examples/extensions/subagent/runner.ts +252 -0
  1353. package/examples/extensions/subagent/schemas.ts +59 -0
  1354. package/examples/extensions/subagent/types.ts +36 -0
  1355. package/examples/extensions/tic-tac-toe-instructions.ts +65 -0
  1356. package/examples/extensions/tic-tac-toe-rendering.ts +414 -0
  1357. package/examples/extensions/tic-tac-toe-state.ts +158 -0
  1358. package/examples/extensions/tic-tac-toe.ts +92 -754
  1359. package/examples/rpc-extension-ui-components.ts +189 -0
  1360. package/examples/rpc-extension-ui.ts +2 -179
  1361. package/package.json +4 -4
@@ -0,0 +1,34 @@
1
+ import type { Component } from "@earendil-works/pi-tui";
2
+ import type { Theme } from "../../modes/interactive/theme/theme.ts";
3
+ import type { CustomMessage } from "../messages.ts";
4
+ export type CustomMessageDelivery = "steer" | "followUp" | "nextTurn" | "interrupt";
5
+ export interface SendMessageOptions {
6
+ triggerTurn?: boolean;
7
+ deliverAs?: CustomMessageDelivery;
8
+ /** Render/persist the custom message without including it in LLM context. */
9
+ excludeFromContext?: boolean;
10
+ /**
11
+ * Optional replacement text for generic abort tool/assistant results when
12
+ * `deliverAs: "interrupt"` aborts an active turn. Use this when the abort is
13
+ * caused by a meaningful external event and the model/user should see that
14
+ * event instead of a bare `Operation aborted`.
15
+ */
16
+ interruptAbortMessage?: string;
17
+ }
18
+ export interface MessageRenderOptions {
19
+ expanded: boolean;
20
+ }
21
+ /**
22
+ * Custom message renderer.
23
+ *
24
+ * Return value semantics:
25
+ * - `Component`: mount this component (the renderer owns its styling).
26
+ * - `null`: the renderer handled the message but wants to render nothing —
27
+ * the entry occupies zero rows (no leading spacer, no default box). Use this
28
+ * to suppress a rehydrated entry whose backing state is gone (e.g. the
29
+ * workflows input form on `/resume`).
30
+ * - `undefined`: the renderer did not handle the message; fall back to the
31
+ * default boxed `[customType]` rendering.
32
+ */
33
+ export type MessageRenderer<T = unknown> = (message: CustomMessage<T>, options: MessageRenderOptions, theme: Theme) => Component | null | undefined;
34
+ //# sourceMappingURL=message-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-types.d.ts","sourceRoot":"","sources":["../../../src/core/extensions/message-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wCAAwC,CAAC;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,MAAM,MAAM,qBAAqB,GAAG,OAAO,GAAG,UAAU,GAAG,UAAU,GAAG,WAAW,CAAC;AAEpF,MAAM,WAAW,kBAAkB;IAClC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,qBAAqB,CAAC;IAClC,6EAA6E;IAC7E,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,oBAAoB;IACpC,QAAQ,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,GAAG,OAAO,IAAI,CAC1C,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,EACzB,OAAO,EAAE,oBAAoB,EAC7B,KAAK,EAAE,KAAK,KACR,SAAS,GAAG,IAAI,GAAG,SAAS,CAAC","sourcesContent":["import type { Component } from \"@earendil-works/pi-tui\";\nimport type { Theme } from \"../../modes/interactive/theme/theme.ts\";\nimport type { CustomMessage } from \"../messages.ts\";\n\nexport type CustomMessageDelivery = \"steer\" | \"followUp\" | \"nextTurn\" | \"interrupt\";\n\nexport interface SendMessageOptions {\n\ttriggerTurn?: boolean;\n\tdeliverAs?: CustomMessageDelivery;\n\t/** Render/persist the custom message without including it in LLM context. */\n\texcludeFromContext?: boolean;\n\t/**\n\t * Optional replacement text for generic abort tool/assistant results when\n\t * `deliverAs: \"interrupt\"` aborts an active turn. Use this when the abort is\n\t * caused by a meaningful external event and the model/user should see that\n\t * event instead of a bare `Operation aborted`.\n\t */\n\tinterruptAbortMessage?: string;\n}\n\nexport interface MessageRenderOptions {\n\texpanded: boolean;\n}\n\n/**\n * Custom message renderer.\n *\n * Return value semantics:\n * - `Component`: mount this component (the renderer owns its styling).\n * - `null`: the renderer handled the message but wants to render nothing —\n * the entry occupies zero rows (no leading spacer, no default box). Use this\n * to suppress a rehydrated entry whose backing state is gone (e.g. the\n * workflows input form on `/resume`).\n * - `undefined`: the renderer did not handle the message; fall back to the\n * default boxed `[customType]` rendering.\n */\nexport type MessageRenderer<T = unknown> = (\n\tmessage: CustomMessage<T>,\n\toptions: MessageRenderOptions,\n\ttheme: Theme,\n) => Component | null | undefined;\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=message-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-types.js","sourceRoot":"","sources":["../../../src/core/extensions/message-types.ts"],"names":[],"mappings":"","sourcesContent":["import type { Component } from \"@earendil-works/pi-tui\";\nimport type { Theme } from \"../../modes/interactive/theme/theme.ts\";\nimport type { CustomMessage } from \"../messages.ts\";\n\nexport type CustomMessageDelivery = \"steer\" | \"followUp\" | \"nextTurn\" | \"interrupt\";\n\nexport interface SendMessageOptions {\n\ttriggerTurn?: boolean;\n\tdeliverAs?: CustomMessageDelivery;\n\t/** Render/persist the custom message without including it in LLM context. */\n\texcludeFromContext?: boolean;\n\t/**\n\t * Optional replacement text for generic abort tool/assistant results when\n\t * `deliverAs: \"interrupt\"` aborts an active turn. Use this when the abort is\n\t * caused by a meaningful external event and the model/user should see that\n\t * event instead of a bare `Operation aborted`.\n\t */\n\tinterruptAbortMessage?: string;\n}\n\nexport interface MessageRenderOptions {\n\texpanded: boolean;\n}\n\n/**\n * Custom message renderer.\n *\n * Return value semantics:\n * - `Component`: mount this component (the renderer owns its styling).\n * - `null`: the renderer handled the message but wants to render nothing —\n * the entry occupies zero rows (no leading spacer, no default box). Use this\n * to suppress a rehydrated entry whose backing state is gone (e.g. the\n * workflows input form on `/resume`).\n * - `undefined`: the renderer did not handle the message; fall back to the\n * default boxed `[customType]` rendering.\n */\nexport type MessageRenderer<T = unknown> = (\n\tmessage: CustomMessage<T>,\n\toptions: MessageRenderOptions,\n\ttheme: Theme,\n) => Component | null | undefined;\n"]}
@@ -0,0 +1,71 @@
1
+ import type { Api, AssistantMessageEventStream, Context, Model, OAuthCredentials, OAuthLoginCallbacks, SimpleStreamOptions } from "@earendil-works/pi-ai";
2
+ import type { ExtensionAPI } from "./api-types.ts";
3
+ /** Configuration for registering a provider via pi.registerProvider(). */
4
+ export interface ProviderConfig {
5
+ /** Display name for the provider in UI. */
6
+ name?: string;
7
+ /** Base URL for the API endpoint. Required when defining models. */
8
+ baseUrl?: string;
9
+ /** API key or environment variable name. Required when defining models (unless oauth provided). */
10
+ apiKey?: string;
11
+ /** API type. Required at provider or model level when defining models. */
12
+ api?: Api;
13
+ /** Optional streamSimple handler for custom APIs. */
14
+ streamSimple?: (model: Model<Api>, context: Context, options?: SimpleStreamOptions) => AssistantMessageEventStream;
15
+ /** Custom headers to include in requests. */
16
+ headers?: Record<string, string>;
17
+ /** If true, adds Authorization: Bearer header with the resolved API key. */
18
+ authHeader?: boolean;
19
+ /** Models to register. If provided, replaces all existing models for this provider. */
20
+ models?: ProviderModelConfig[];
21
+ /** OAuth provider for /login support. The `id` is set automatically from the provider name. */
22
+ oauth?: {
23
+ /** Display name for the provider in login UI. */
24
+ name: string;
25
+ /** Run the login flow, return credentials to persist. */
26
+ login(callbacks: OAuthLoginCallbacks): Promise<OAuthCredentials>;
27
+ /** Refresh expired credentials, return updated credentials to persist. */
28
+ refreshToken(credentials: OAuthCredentials): Promise<OAuthCredentials>;
29
+ /** Convert credentials to API key string for the provider. */
30
+ getApiKey(credentials: OAuthCredentials): string;
31
+ /** Optional: modify models for this provider (e.g., update baseUrl based on credentials). */
32
+ modifyModels?(models: Model<Api>[], credentials: OAuthCredentials): Model<Api>[];
33
+ };
34
+ }
35
+ /** Configuration for a model within a provider. */
36
+ export interface ProviderModelConfig {
37
+ /** Model ID (e.g., "claude-sonnet-4-20250514"). */
38
+ id: string;
39
+ /** Display name (e.g., "Claude 4 Sonnet"). */
40
+ name: string;
41
+ /** API type override for this model. */
42
+ api?: Api;
43
+ /** API endpoint URL override for this model. */
44
+ baseUrl?: string;
45
+ /** Whether the model supports extended thinking. */
46
+ reasoning: boolean;
47
+ /** Maps pi thinking levels to provider/model-specific values; null marks a level unsupported. */
48
+ thinkingLevelMap?: Model<Api>["thinkingLevelMap"];
49
+ /** Supported input types. */
50
+ input: ("text" | "image")[];
51
+ /** Cost per token (for tracking, can be 0). */
52
+ cost: {
53
+ input: number;
54
+ output: number;
55
+ cacheRead: number;
56
+ cacheWrite: number;
57
+ };
58
+ /** Default/effective context window size in tokens. */
59
+ contextWindow: number;
60
+ /** Selectable context-window sizes in tokens; omit when the model has only one supported window. */
61
+ contextWindowOptions?: readonly number[];
62
+ /** Maximum output tokens. */
63
+ maxTokens: number;
64
+ /** Custom headers for this model. */
65
+ headers?: Record<string, string>;
66
+ /** OpenAI compatibility settings. */
67
+ compat?: Model<Api>["compat"];
68
+ }
69
+ /** Extension factory function type. Supports both sync and async initialization. */
70
+ export type ExtensionFactory = (pi: ExtensionAPI) => void | Promise<void>;
71
+ //# sourceMappingURL=provider-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-types.d.ts","sourceRoot":"","sources":["../../../src/core/extensions/provider-types.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n\tApi,\n\tAssistantMessageEventStream,\n\tContext,\n\tModel,\n\tOAuthCredentials,\n\tOAuthLoginCallbacks,\n\tSimpleStreamOptions,\n} from \"@earendil-works/pi-ai\";\nimport type { ExtensionAPI } from \"./api-types.ts\";\n\n/** Configuration for registering a provider via pi.registerProvider(). */\nexport interface ProviderConfig {\n\t/** Display name for the provider in UI. */\n\tname?: string;\n\t/** Base URL for the API endpoint. Required when defining models. */\n\tbaseUrl?: string;\n\t/** API key or environment variable name. Required when defining models (unless oauth provided). */\n\tapiKey?: string;\n\t/** API type. Required at provider or model level when defining models. */\n\tapi?: Api;\n\t/** Optional streamSimple handler for custom APIs. */\n\tstreamSimple?: (model: Model<Api>, context: Context, options?: SimpleStreamOptions) => AssistantMessageEventStream;\n\t/** Custom headers to include in requests. */\n\theaders?: Record<string, string>;\n\t/** If true, adds Authorization: Bearer header with the resolved API key. */\n\tauthHeader?: boolean;\n\t/** Models to register. If provided, replaces all existing models for this provider. */\n\tmodels?: ProviderModelConfig[];\n\t/** OAuth provider for /login support. The `id` is set automatically from the provider name. */\n\toauth?: {\n\t\t/** Display name for the provider in login UI. */\n\t\tname: string;\n\t\t/** Run the login flow, return credentials to persist. */\n\t\tlogin(callbacks: OAuthLoginCallbacks): Promise<OAuthCredentials>;\n\t\t/** Refresh expired credentials, return updated credentials to persist. */\n\t\trefreshToken(credentials: OAuthCredentials): Promise<OAuthCredentials>;\n\t\t/** Convert credentials to API key string for the provider. */\n\t\tgetApiKey(credentials: OAuthCredentials): string;\n\t\t/** Optional: modify models for this provider (e.g., update baseUrl based on credentials). */\n\t\tmodifyModels?(models: Model<Api>[], credentials: OAuthCredentials): Model<Api>[];\n\t};\n}\n\n/** Configuration for a model within a provider. */\nexport interface ProviderModelConfig {\n\t/** Model ID (e.g., \"claude-sonnet-4-20250514\"). */\n\tid: string;\n\t/** Display name (e.g., \"Claude 4 Sonnet\"). */\n\tname: string;\n\t/** API type override for this model. */\n\tapi?: Api;\n\t/** API endpoint URL override for this model. */\n\tbaseUrl?: string;\n\t/** Whether the model supports extended thinking. */\n\treasoning: boolean;\n\t/** Maps pi thinking levels to provider/model-specific values; null marks a level unsupported. */\n\tthinkingLevelMap?: Model<Api>[\"thinkingLevelMap\"];\n\t/** Supported input types. */\n\tinput: (\"text\" | \"image\")[];\n\t/** Cost per token (for tracking, can be 0). */\n\tcost: { input: number; output: number; cacheRead: number; cacheWrite: number };\n\t/** Default/effective context window size in tokens. */\n\tcontextWindow: number;\n\t/** Selectable context-window sizes in tokens; omit when the model has only one supported window. */\n\tcontextWindowOptions?: readonly number[];\n\t/** Maximum output tokens. */\n\tmaxTokens: number;\n\t/** Custom headers for this model. */\n\theaders?: Record<string, string>;\n\t/** OpenAI compatibility settings. */\n\tcompat?: Model<Api>[\"compat\"];\n}\n\n/** Extension factory function type. Supports both sync and async initialization. */\nexport type ExtensionFactory = (pi: ExtensionAPI) => void | Promise<void>;\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=provider-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-types.js","sourceRoot":"","sources":["../../../src/core/extensions/provider-types.ts"],"names":[],"mappings":"","sourcesContent":["import type {\n\tApi,\n\tAssistantMessageEventStream,\n\tContext,\n\tModel,\n\tOAuthCredentials,\n\tOAuthLoginCallbacks,\n\tSimpleStreamOptions,\n} from \"@earendil-works/pi-ai\";\nimport type { ExtensionAPI } from \"./api-types.ts\";\n\n/** Configuration for registering a provider via pi.registerProvider(). */\nexport interface ProviderConfig {\n\t/** Display name for the provider in UI. */\n\tname?: string;\n\t/** Base URL for the API endpoint. Required when defining models. */\n\tbaseUrl?: string;\n\t/** API key or environment variable name. Required when defining models (unless oauth provided). */\n\tapiKey?: string;\n\t/** API type. Required at provider or model level when defining models. */\n\tapi?: Api;\n\t/** Optional streamSimple handler for custom APIs. */\n\tstreamSimple?: (model: Model<Api>, context: Context, options?: SimpleStreamOptions) => AssistantMessageEventStream;\n\t/** Custom headers to include in requests. */\n\theaders?: Record<string, string>;\n\t/** If true, adds Authorization: Bearer header with the resolved API key. */\n\tauthHeader?: boolean;\n\t/** Models to register. If provided, replaces all existing models for this provider. */\n\tmodels?: ProviderModelConfig[];\n\t/** OAuth provider for /login support. The `id` is set automatically from the provider name. */\n\toauth?: {\n\t\t/** Display name for the provider in login UI. */\n\t\tname: string;\n\t\t/** Run the login flow, return credentials to persist. */\n\t\tlogin(callbacks: OAuthLoginCallbacks): Promise<OAuthCredentials>;\n\t\t/** Refresh expired credentials, return updated credentials to persist. */\n\t\trefreshToken(credentials: OAuthCredentials): Promise<OAuthCredentials>;\n\t\t/** Convert credentials to API key string for the provider. */\n\t\tgetApiKey(credentials: OAuthCredentials): string;\n\t\t/** Optional: modify models for this provider (e.g., update baseUrl based on credentials). */\n\t\tmodifyModels?(models: Model<Api>[], credentials: OAuthCredentials): Model<Api>[];\n\t};\n}\n\n/** Configuration for a model within a provider. */\nexport interface ProviderModelConfig {\n\t/** Model ID (e.g., \"claude-sonnet-4-20250514\"). */\n\tid: string;\n\t/** Display name (e.g., \"Claude 4 Sonnet\"). */\n\tname: string;\n\t/** API type override for this model. */\n\tapi?: Api;\n\t/** API endpoint URL override for this model. */\n\tbaseUrl?: string;\n\t/** Whether the model supports extended thinking. */\n\treasoning: boolean;\n\t/** Maps pi thinking levels to provider/model-specific values; null marks a level unsupported. */\n\tthinkingLevelMap?: Model<Api>[\"thinkingLevelMap\"];\n\t/** Supported input types. */\n\tinput: (\"text\" | \"image\")[];\n\t/** Cost per token (for tracking, can be 0). */\n\tcost: { input: number; output: number; cacheRead: number; cacheWrite: number };\n\t/** Default/effective context window size in tokens. */\n\tcontextWindow: number;\n\t/** Selectable context-window sizes in tokens; omit when the model has only one supported window. */\n\tcontextWindowOptions?: readonly number[];\n\t/** Maximum output tokens. */\n\tmaxTokens: number;\n\t/** Custom headers for this model. */\n\theaders?: Record<string, string>;\n\t/** OpenAI compatibility settings. */\n\tcompat?: Model<Api>[\"compat\"];\n}\n\n/** Extension factory function type. Supports both sync and async initialization. */\nexport type ExtensionFactory = (pi: ExtensionAPI) => void | Promise<void>;\n"]}
@@ -0,0 +1,42 @@
1
+ import type { Api, Model } from "@earendil-works/pi-ai";
2
+ import type { ModelRegistry } from "../model-registry.ts";
3
+ import type { SessionManager } from "../session-manager.ts";
4
+ import type { BuildSystemPromptOptions } from "../system-prompt.ts";
5
+ import type { CompactOptions, ContextUsage, ExtensionCommandContext, ExtensionContext, ExtensionMode, ExtensionUIContext, OrchestrationContext } from "./types.ts";
6
+ import type { ForkHandler, NavigateTreeHandler, NewSessionHandler, ReloadHandler, SwitchSessionHandler } from "./runner-handlers.ts";
7
+ export interface ExtensionContextSource {
8
+ assertActive(): void;
9
+ getUIContext(): ExtensionUIContext;
10
+ getMode(): ExtensionMode;
11
+ hasUI(): boolean;
12
+ getCwd(): string;
13
+ getSessionManager(): SessionManager;
14
+ getModelRegistry(): ModelRegistry;
15
+ getModel(): Model<Api> | undefined;
16
+ getOrchestrationContext(): OrchestrationContext | undefined;
17
+ isIdle(): boolean;
18
+ isProjectTrusted(): boolean;
19
+ getSignal(): AbortSignal | undefined;
20
+ abort(): void;
21
+ hasPendingMessages(): boolean;
22
+ shutdown(): void;
23
+ getContextUsage(): ContextUsage | undefined;
24
+ compact(options?: CompactOptions): void;
25
+ getSystemPrompt(): string;
26
+ }
27
+ export interface ExtensionCommandContextSource extends ExtensionContextSource {
28
+ getSystemPromptOptions(): BuildSystemPromptOptions;
29
+ waitForIdle(): Promise<void>;
30
+ newSession: NewSessionHandler;
31
+ fork: ForkHandler;
32
+ navigateTree: NavigateTreeHandler;
33
+ switchSession: SwitchSessionHandler;
34
+ reload: ReloadHandler;
35
+ }
36
+ /**
37
+ * Create an ExtensionContext for use in event handlers and tool execution.
38
+ * Context values are resolved at call time, so host changes are reflected.
39
+ */
40
+ export declare function createExtensionContext(source: ExtensionContextSource): ExtensionContext;
41
+ export declare function createExtensionCommandContext(source: ExtensionCommandContextSource): ExtensionCommandContext;
42
+ //# sourceMappingURL=runner-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runner-context.d.ts","sourceRoot":"","sources":["../../../src/core/extensions/runner-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,KAAK,EACX,cAAc,EACd,YAAY,EACZ,uBAAuB,EACvB,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,oBAAoB,EACpB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EACX,WAAW,EACX,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EACb,oBAAoB,EACpB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,WAAW,sBAAsB;IACtC,YAAY,IAAI,IAAI,CAAC;IACrB,YAAY,IAAI,kBAAkB,CAAC;IACnC,OAAO,IAAI,aAAa,CAAC;IACzB,KAAK,IAAI,OAAO,CAAC;IACjB,MAAM,IAAI,MAAM,CAAC;IACjB,iBAAiB,IAAI,cAAc,CAAC;IACpC,gBAAgB,IAAI,aAAa,CAAC;IAClC,QAAQ,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IACnC,uBAAuB,IAAI,oBAAoB,GAAG,SAAS,CAAC;IAC5D,MAAM,IAAI,OAAO,CAAC;IAClB,gBAAgB,IAAI,OAAO,CAAC;IAC5B,SAAS,IAAI,WAAW,GAAG,SAAS,CAAC;IACrC,KAAK,IAAI,IAAI,CAAC;IACd,kBAAkB,IAAI,OAAO,CAAC;IAC9B,QAAQ,IAAI,IAAI,CAAC;IACjB,eAAe,IAAI,YAAY,GAAG,SAAS,CAAC;IAC5C,OAAO,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IACxC,eAAe,IAAI,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,6BAA8B,SAAQ,sBAAsB;IAC5E,sBAAsB,IAAI,wBAAwB,CAAC;IACnD,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,UAAU,EAAE,iBAAiB,CAAC;IAC9B,IAAI,EAAE,WAAW,CAAC;IAClB,YAAY,EAAE,mBAAmB,CAAC;IAClC,aAAa,EAAE,oBAAoB,CAAC;IACpC,MAAM,EAAE,aAAa,CAAC;CACtB;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,sBAAsB,GAAG,gBAAgB,CAuEvF;AAED,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,6BAA6B,GAAG,uBAAuB,CAqC5G","sourcesContent":["import type { Api, Model } from \"@earendil-works/pi-ai\";\nimport type { ModelRegistry } from \"../model-registry.ts\";\nimport type { SessionManager } from \"../session-manager.ts\";\nimport type { BuildSystemPromptOptions } from \"../system-prompt.ts\";\nimport type {\n\tCompactOptions,\n\tContextUsage,\n\tExtensionCommandContext,\n\tExtensionContext,\n\tExtensionMode,\n\tExtensionUIContext,\n\tOrchestrationContext,\n} from \"./types.ts\";\nimport type {\n\tForkHandler,\n\tNavigateTreeHandler,\n\tNewSessionHandler,\n\tReloadHandler,\n\tSwitchSessionHandler,\n} from \"./runner-handlers.ts\";\n\nexport interface ExtensionContextSource {\n\tassertActive(): void;\n\tgetUIContext(): ExtensionUIContext;\n\tgetMode(): ExtensionMode;\n\thasUI(): boolean;\n\tgetCwd(): string;\n\tgetSessionManager(): SessionManager;\n\tgetModelRegistry(): ModelRegistry;\n\tgetModel(): Model<Api> | undefined;\n\tgetOrchestrationContext(): OrchestrationContext | undefined;\n\tisIdle(): boolean;\n\tisProjectTrusted(): boolean;\n\tgetSignal(): AbortSignal | undefined;\n\tabort(): void;\n\thasPendingMessages(): boolean;\n\tshutdown(): void;\n\tgetContextUsage(): ContextUsage | undefined;\n\tcompact(options?: CompactOptions): void;\n\tgetSystemPrompt(): string;\n}\n\nexport interface ExtensionCommandContextSource extends ExtensionContextSource {\n\tgetSystemPromptOptions(): BuildSystemPromptOptions;\n\twaitForIdle(): Promise<void>;\n\tnewSession: NewSessionHandler;\n\tfork: ForkHandler;\n\tnavigateTree: NavigateTreeHandler;\n\tswitchSession: SwitchSessionHandler;\n\treload: ReloadHandler;\n}\n\n/**\n * Create an ExtensionContext for use in event handlers and tool execution.\n * Context values are resolved at call time, so host changes are reflected.\n */\nexport function createExtensionContext(source: ExtensionContextSource): ExtensionContext {\n\treturn {\n\t\tget ui() {\n\t\t\tsource.assertActive();\n\t\t\treturn source.getUIContext();\n\t\t},\n\t\tget mode() {\n\t\t\tsource.assertActive();\n\t\t\treturn source.getMode();\n\t\t},\n\t\tget hasUI() {\n\t\t\tsource.assertActive();\n\t\t\treturn source.hasUI();\n\t\t},\n\t\tget cwd() {\n\t\t\tsource.assertActive();\n\t\t\treturn source.getCwd();\n\t\t},\n\t\tget sessionManager() {\n\t\t\tsource.assertActive();\n\t\t\treturn source.getSessionManager();\n\t\t},\n\t\tget modelRegistry() {\n\t\t\tsource.assertActive();\n\t\t\treturn source.getModelRegistry();\n\t\t},\n\t\tget model() {\n\t\t\tsource.assertActive();\n\t\t\treturn source.getModel();\n\t\t},\n\t\tget orchestrationContext() {\n\t\t\tsource.assertActive();\n\t\t\treturn source.getOrchestrationContext();\n\t\t},\n\t\tisIdle: () => {\n\t\t\tsource.assertActive();\n\t\t\treturn source.isIdle();\n\t\t},\n\t\tisProjectTrusted: () => {\n\t\t\tsource.assertActive();\n\t\t\treturn source.isProjectTrusted();\n\t\t},\n\t\tget signal() {\n\t\t\tsource.assertActive();\n\t\t\treturn source.getSignal();\n\t\t},\n\t\tabort: () => {\n\t\t\tsource.assertActive();\n\t\t\tsource.abort();\n\t\t},\n\t\thasPendingMessages: () => {\n\t\t\tsource.assertActive();\n\t\t\treturn source.hasPendingMessages();\n\t\t},\n\t\tshutdown: () => {\n\t\t\tsource.assertActive();\n\t\t\tsource.shutdown();\n\t\t},\n\t\tgetContextUsage: () => {\n\t\t\tsource.assertActive();\n\t\t\treturn source.getContextUsage();\n\t\t},\n\t\tcompact: (options) => {\n\t\t\tsource.assertActive();\n\t\t\tsource.compact(options);\n\t\t},\n\t\tgetSystemPrompt: () => {\n\t\t\tsource.assertActive();\n\t\t\treturn source.getSystemPrompt();\n\t\t},\n\t};\n}\n\nexport function createExtensionCommandContext(source: ExtensionCommandContextSource): ExtensionCommandContext {\n\t// Use property descriptors instead of object spread so the guarded getters from\n\t// createExtensionContext() stay lazy. A spread would eagerly read them once and\n\t// freeze old values into the returned object, bypassing stale-instance checks.\n\tconst context = Object.defineProperties(\n\t\t{},\n\t\tObject.getOwnPropertyDescriptors(createExtensionContext(source)),\n\t) as ExtensionCommandContext;\n\tcontext.getSystemPromptOptions = () => {\n\t\tsource.assertActive();\n\t\treturn source.getSystemPromptOptions();\n\t};\n\tcontext.waitForIdle = () => {\n\t\tsource.assertActive();\n\t\treturn source.waitForIdle();\n\t};\n\tcontext.newSession = (options) => {\n\t\tsource.assertActive();\n\t\treturn source.newSession(options);\n\t};\n\tcontext.fork = (entryId, options) => {\n\t\tsource.assertActive();\n\t\treturn source.fork(entryId, options);\n\t};\n\tcontext.navigateTree = (targetId, options) => {\n\t\tsource.assertActive();\n\t\treturn source.navigateTree(targetId, options);\n\t};\n\tcontext.switchSession = (sessionPath, options) => {\n\t\tsource.assertActive();\n\t\treturn source.switchSession(sessionPath, options);\n\t};\n\tcontext.reload = () => {\n\t\tsource.assertActive();\n\t\treturn source.reload();\n\t};\n\treturn context;\n}\n"]}
@@ -0,0 +1,112 @@
1
+ /**
2
+ * Create an ExtensionContext for use in event handlers and tool execution.
3
+ * Context values are resolved at call time, so host changes are reflected.
4
+ */
5
+ export function createExtensionContext(source) {
6
+ return {
7
+ get ui() {
8
+ source.assertActive();
9
+ return source.getUIContext();
10
+ },
11
+ get mode() {
12
+ source.assertActive();
13
+ return source.getMode();
14
+ },
15
+ get hasUI() {
16
+ source.assertActive();
17
+ return source.hasUI();
18
+ },
19
+ get cwd() {
20
+ source.assertActive();
21
+ return source.getCwd();
22
+ },
23
+ get sessionManager() {
24
+ source.assertActive();
25
+ return source.getSessionManager();
26
+ },
27
+ get modelRegistry() {
28
+ source.assertActive();
29
+ return source.getModelRegistry();
30
+ },
31
+ get model() {
32
+ source.assertActive();
33
+ return source.getModel();
34
+ },
35
+ get orchestrationContext() {
36
+ source.assertActive();
37
+ return source.getOrchestrationContext();
38
+ },
39
+ isIdle: () => {
40
+ source.assertActive();
41
+ return source.isIdle();
42
+ },
43
+ isProjectTrusted: () => {
44
+ source.assertActive();
45
+ return source.isProjectTrusted();
46
+ },
47
+ get signal() {
48
+ source.assertActive();
49
+ return source.getSignal();
50
+ },
51
+ abort: () => {
52
+ source.assertActive();
53
+ source.abort();
54
+ },
55
+ hasPendingMessages: () => {
56
+ source.assertActive();
57
+ return source.hasPendingMessages();
58
+ },
59
+ shutdown: () => {
60
+ source.assertActive();
61
+ source.shutdown();
62
+ },
63
+ getContextUsage: () => {
64
+ source.assertActive();
65
+ return source.getContextUsage();
66
+ },
67
+ compact: (options) => {
68
+ source.assertActive();
69
+ source.compact(options);
70
+ },
71
+ getSystemPrompt: () => {
72
+ source.assertActive();
73
+ return source.getSystemPrompt();
74
+ },
75
+ };
76
+ }
77
+ export function createExtensionCommandContext(source) {
78
+ // Use property descriptors instead of object spread so the guarded getters from
79
+ // createExtensionContext() stay lazy. A spread would eagerly read them once and
80
+ // freeze old values into the returned object, bypassing stale-instance checks.
81
+ const context = Object.defineProperties({}, Object.getOwnPropertyDescriptors(createExtensionContext(source)));
82
+ context.getSystemPromptOptions = () => {
83
+ source.assertActive();
84
+ return source.getSystemPromptOptions();
85
+ };
86
+ context.waitForIdle = () => {
87
+ source.assertActive();
88
+ return source.waitForIdle();
89
+ };
90
+ context.newSession = (options) => {
91
+ source.assertActive();
92
+ return source.newSession(options);
93
+ };
94
+ context.fork = (entryId, options) => {
95
+ source.assertActive();
96
+ return source.fork(entryId, options);
97
+ };
98
+ context.navigateTree = (targetId, options) => {
99
+ source.assertActive();
100
+ return source.navigateTree(targetId, options);
101
+ };
102
+ context.switchSession = (sessionPath, options) => {
103
+ source.assertActive();
104
+ return source.switchSession(sessionPath, options);
105
+ };
106
+ context.reload = () => {
107
+ source.assertActive();
108
+ return source.reload();
109
+ };
110
+ return context;
111
+ }
112
+ //# sourceMappingURL=runner-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runner-context.js","sourceRoot":"","sources":["../../../src/core/extensions/runner-context.ts"],"names":[],"mappings":"AAoDA;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAA8B;IACpE,OAAO;QACN,IAAI,EAAE;YACL,MAAM,CAAC,YAAY,EAAE,CAAC;YACtB,OAAO,MAAM,CAAC,YAAY,EAAE,CAAC;QAC9B,CAAC;QACD,IAAI,IAAI;YACP,MAAM,CAAC,YAAY,EAAE,CAAC;YACtB,OAAO,MAAM,CAAC,OAAO,EAAE,CAAC;QACzB,CAAC;QACD,IAAI,KAAK;YACR,MAAM,CAAC,YAAY,EAAE,CAAC;YACtB,OAAO,MAAM,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC;QACD,IAAI,GAAG;YACN,MAAM,CAAC,YAAY,EAAE,CAAC;YACtB,OAAO,MAAM,CAAC,MAAM,EAAE,CAAC;QACxB,CAAC;QACD,IAAI,cAAc;YACjB,MAAM,CAAC,YAAY,EAAE,CAAC;YACtB,OAAO,MAAM,CAAC,iBAAiB,EAAE,CAAC;QACnC,CAAC;QACD,IAAI,aAAa;YAChB,MAAM,CAAC,YAAY,EAAE,CAAC;YACtB,OAAO,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAClC,CAAC;QACD,IAAI,KAAK;YACR,MAAM,CAAC,YAAY,EAAE,CAAC;YACtB,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC1B,CAAC;QACD,IAAI,oBAAoB;YACvB,MAAM,CAAC,YAAY,EAAE,CAAC;YACtB,OAAO,MAAM,CAAC,uBAAuB,EAAE,CAAC;QACzC,CAAC;QACD,MAAM,EAAE,GAAG,EAAE;YACZ,MAAM,CAAC,YAAY,EAAE,CAAC;YACtB,OAAO,MAAM,CAAC,MAAM,EAAE,CAAC;QACxB,CAAC;QACD,gBAAgB,EAAE,GAAG,EAAE;YACtB,MAAM,CAAC,YAAY,EAAE,CAAC;YACtB,OAAO,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAClC,CAAC;QACD,IAAI,MAAM;YACT,MAAM,CAAC,YAAY,EAAE,CAAC;YACtB,OAAO,MAAM,CAAC,SAAS,EAAE,CAAC;QAC3B,CAAC;QACD,KAAK,EAAE,GAAG,EAAE;YACX,MAAM,CAAC,YAAY,EAAE,CAAC;YACtB,MAAM,CAAC,KAAK,EAAE,CAAC;QAChB,CAAC;QACD,kBAAkB,EAAE,GAAG,EAAE;YACxB,MAAM,CAAC,YAAY,EAAE,CAAC;YACtB,OAAO,MAAM,CAAC,kBAAkB,EAAE,CAAC;QACpC,CAAC;QACD,QAAQ,EAAE,GAAG,EAAE;YACd,MAAM,CAAC,YAAY,EAAE,CAAC;YACtB,MAAM,CAAC,QAAQ,EAAE,CAAC;QACnB,CAAC;QACD,eAAe,EAAE,GAAG,EAAE;YACrB,MAAM,CAAC,YAAY,EAAE,CAAC;YACtB,OAAO,MAAM,CAAC,eAAe,EAAE,CAAC;QACjC,CAAC;QACD,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE;YACpB,MAAM,CAAC,YAAY,EAAE,CAAC;YACtB,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACzB,CAAC;QACD,eAAe,EAAE,GAAG,EAAE;YACrB,MAAM,CAAC,YAAY,EAAE,CAAC;YACtB,OAAO,MAAM,CAAC,eAAe,EAAE,CAAC;QACjC,CAAC;KACD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,MAAqC;IAClF,gFAAgF;IAChF,gFAAgF;IAChF,+EAA+E;IAC/E,MAAM,OAAO,GAAG,MAAM,CAAC,gBAAgB,CACtC,EAAE,EACF,MAAM,CAAC,yBAAyB,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,CACrC,CAAC;IAC7B,OAAO,CAAC,sBAAsB,GAAG,GAAG,EAAE;QACrC,MAAM,CAAC,YAAY,EAAE,CAAC;QACtB,OAAO,MAAM,CAAC,sBAAsB,EAAE,CAAC;IACxC,CAAC,CAAC;IACF,OAAO,CAAC,WAAW,GAAG,GAAG,EAAE;QAC1B,MAAM,CAAC,YAAY,EAAE,CAAC;QACtB,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC;IAC7B,CAAC,CAAC;IACF,OAAO,CAAC,UAAU,GAAG,CAAC,OAAO,EAAE,EAAE;QAChC,MAAM,CAAC,YAAY,EAAE,CAAC;QACtB,OAAO,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC,CAAC;IACF,OAAO,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE;QACnC,MAAM,CAAC,YAAY,EAAE,CAAC;QACtB,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC,CAAC;IACF,OAAO,CAAC,YAAY,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE;QAC5C,MAAM,CAAC,YAAY,EAAE,CAAC;QACtB,OAAO,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC,CAAC;IACF,OAAO,CAAC,aAAa,GAAG,CAAC,WAAW,EAAE,OAAO,EAAE,EAAE;QAChD,MAAM,CAAC,YAAY,EAAE,CAAC;QACtB,OAAO,MAAM,CAAC,aAAa,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC,CAAC;IACF,OAAO,CAAC,MAAM,GAAG,GAAG,EAAE;QACrB,MAAM,CAAC,YAAY,EAAE,CAAC;QACtB,OAAO,MAAM,CAAC,MAAM,EAAE,CAAC;IACxB,CAAC,CAAC;IACF,OAAO,OAAO,CAAC;AAChB,CAAC","sourcesContent":["import type { Api, Model } from \"@earendil-works/pi-ai\";\nimport type { ModelRegistry } from \"../model-registry.ts\";\nimport type { SessionManager } from \"../session-manager.ts\";\nimport type { BuildSystemPromptOptions } from \"../system-prompt.ts\";\nimport type {\n\tCompactOptions,\n\tContextUsage,\n\tExtensionCommandContext,\n\tExtensionContext,\n\tExtensionMode,\n\tExtensionUIContext,\n\tOrchestrationContext,\n} from \"./types.ts\";\nimport type {\n\tForkHandler,\n\tNavigateTreeHandler,\n\tNewSessionHandler,\n\tReloadHandler,\n\tSwitchSessionHandler,\n} from \"./runner-handlers.ts\";\n\nexport interface ExtensionContextSource {\n\tassertActive(): void;\n\tgetUIContext(): ExtensionUIContext;\n\tgetMode(): ExtensionMode;\n\thasUI(): boolean;\n\tgetCwd(): string;\n\tgetSessionManager(): SessionManager;\n\tgetModelRegistry(): ModelRegistry;\n\tgetModel(): Model<Api> | undefined;\n\tgetOrchestrationContext(): OrchestrationContext | undefined;\n\tisIdle(): boolean;\n\tisProjectTrusted(): boolean;\n\tgetSignal(): AbortSignal | undefined;\n\tabort(): void;\n\thasPendingMessages(): boolean;\n\tshutdown(): void;\n\tgetContextUsage(): ContextUsage | undefined;\n\tcompact(options?: CompactOptions): void;\n\tgetSystemPrompt(): string;\n}\n\nexport interface ExtensionCommandContextSource extends ExtensionContextSource {\n\tgetSystemPromptOptions(): BuildSystemPromptOptions;\n\twaitForIdle(): Promise<void>;\n\tnewSession: NewSessionHandler;\n\tfork: ForkHandler;\n\tnavigateTree: NavigateTreeHandler;\n\tswitchSession: SwitchSessionHandler;\n\treload: ReloadHandler;\n}\n\n/**\n * Create an ExtensionContext for use in event handlers and tool execution.\n * Context values are resolved at call time, so host changes are reflected.\n */\nexport function createExtensionContext(source: ExtensionContextSource): ExtensionContext {\n\treturn {\n\t\tget ui() {\n\t\t\tsource.assertActive();\n\t\t\treturn source.getUIContext();\n\t\t},\n\t\tget mode() {\n\t\t\tsource.assertActive();\n\t\t\treturn source.getMode();\n\t\t},\n\t\tget hasUI() {\n\t\t\tsource.assertActive();\n\t\t\treturn source.hasUI();\n\t\t},\n\t\tget cwd() {\n\t\t\tsource.assertActive();\n\t\t\treturn source.getCwd();\n\t\t},\n\t\tget sessionManager() {\n\t\t\tsource.assertActive();\n\t\t\treturn source.getSessionManager();\n\t\t},\n\t\tget modelRegistry() {\n\t\t\tsource.assertActive();\n\t\t\treturn source.getModelRegistry();\n\t\t},\n\t\tget model() {\n\t\t\tsource.assertActive();\n\t\t\treturn source.getModel();\n\t\t},\n\t\tget orchestrationContext() {\n\t\t\tsource.assertActive();\n\t\t\treturn source.getOrchestrationContext();\n\t\t},\n\t\tisIdle: () => {\n\t\t\tsource.assertActive();\n\t\t\treturn source.isIdle();\n\t\t},\n\t\tisProjectTrusted: () => {\n\t\t\tsource.assertActive();\n\t\t\treturn source.isProjectTrusted();\n\t\t},\n\t\tget signal() {\n\t\t\tsource.assertActive();\n\t\t\treturn source.getSignal();\n\t\t},\n\t\tabort: () => {\n\t\t\tsource.assertActive();\n\t\t\tsource.abort();\n\t\t},\n\t\thasPendingMessages: () => {\n\t\t\tsource.assertActive();\n\t\t\treturn source.hasPendingMessages();\n\t\t},\n\t\tshutdown: () => {\n\t\t\tsource.assertActive();\n\t\t\tsource.shutdown();\n\t\t},\n\t\tgetContextUsage: () => {\n\t\t\tsource.assertActive();\n\t\t\treturn source.getContextUsage();\n\t\t},\n\t\tcompact: (options) => {\n\t\t\tsource.assertActive();\n\t\t\tsource.compact(options);\n\t\t},\n\t\tgetSystemPrompt: () => {\n\t\t\tsource.assertActive();\n\t\t\treturn source.getSystemPrompt();\n\t\t},\n\t};\n}\n\nexport function createExtensionCommandContext(source: ExtensionCommandContextSource): ExtensionCommandContext {\n\t// Use property descriptors instead of object spread so the guarded getters from\n\t// createExtensionContext() stay lazy. A spread would eagerly read them once and\n\t// freeze old values into the returned object, bypassing stale-instance checks.\n\tconst context = Object.defineProperties(\n\t\t{},\n\t\tObject.getOwnPropertyDescriptors(createExtensionContext(source)),\n\t) as ExtensionCommandContext;\n\tcontext.getSystemPromptOptions = () => {\n\t\tsource.assertActive();\n\t\treturn source.getSystemPromptOptions();\n\t};\n\tcontext.waitForIdle = () => {\n\t\tsource.assertActive();\n\t\treturn source.waitForIdle();\n\t};\n\tcontext.newSession = (options) => {\n\t\tsource.assertActive();\n\t\treturn source.newSession(options);\n\t};\n\tcontext.fork = (entryId, options) => {\n\t\tsource.assertActive();\n\t\treturn source.fork(entryId, options);\n\t};\n\tcontext.navigateTree = (targetId, options) => {\n\t\tsource.assertActive();\n\t\treturn source.navigateTree(targetId, options);\n\t};\n\tcontext.switchSession = (sessionPath, options) => {\n\t\tsource.assertActive();\n\t\treturn source.switchSession(sessionPath, options);\n\t};\n\tcontext.reload = () => {\n\t\tsource.assertActive();\n\t\treturn source.reload();\n\t};\n\treturn context;\n}\n"]}
@@ -0,0 +1,47 @@
1
+ import type { AgentMessage } from "@earendil-works/pi-agent-core";
2
+ import type { ImageContent } from "@earendil-works/pi-ai";
3
+ import type { BuildSystemPromptOptions } from "../system-prompt.ts";
4
+ import type { BeforeAgentStartEvent, BeforeAgentStartEventResult, BeforeProviderRequestEvent, ContextEvent, Extension, ExtensionContext, ExtensionError, ExtensionEvent, InputEvent, InputEventResult, InputSource, MessageEndEvent, ProjectTrustEvent, ResourcesDiscoverEvent, SessionBeforeCompactResult, SessionBeforeForkResult, SessionBeforeSwitchResult, SessionBeforeTreeResult, ToolCallEvent, ToolCallEventResult, ToolResultEvent, ToolResultEventResult, UserBashEvent, UserBashEventResult } from "./types.ts";
5
+ /** Combined result from all before_agent_start handlers. */
6
+ export interface BeforeAgentStartCombinedResult {
7
+ messages?: NonNullable<BeforeAgentStartEventResult["message"]>[];
8
+ systemPrompt?: string;
9
+ }
10
+ export interface ResourcesDiscoverCombinedResult {
11
+ skillPaths: Array<{
12
+ path: string;
13
+ extensionPath: string;
14
+ }>;
15
+ promptPaths: Array<{
16
+ path: string;
17
+ extensionPath: string;
18
+ }>;
19
+ themePaths: Array<{
20
+ path: string;
21
+ extensionPath: string;
22
+ }>;
23
+ }
24
+ /** Events handled by the generic emit() method. */
25
+ export type RunnerEmitEvent = Exclude<ExtensionEvent, ToolCallEvent | ProjectTrustEvent | ToolResultEvent | UserBashEvent | ContextEvent | BeforeProviderRequestEvent | BeforeAgentStartEvent | MessageEndEvent | ResourcesDiscoverEvent | InputEvent>;
26
+ export type RunnerEmitResult<TEvent extends RunnerEmitEvent> = TEvent extends {
27
+ type: "session_before_switch";
28
+ } ? SessionBeforeSwitchResult | undefined : TEvent extends {
29
+ type: "session_before_fork";
30
+ } ? SessionBeforeForkResult | undefined : TEvent extends {
31
+ type: "session_before_compact";
32
+ } ? SessionBeforeCompactResult | undefined : TEvent extends {
33
+ type: "session_before_tree";
34
+ } ? SessionBeforeTreeResult | undefined : undefined;
35
+ type EmitExtensionError = (error: ExtensionError) => void;
36
+ export declare function runGenericHandlers<TEvent extends RunnerEmitEvent>(extensions: Extension[], ctx: ExtensionContext, event: TEvent, emitError: EmitExtensionError): Promise<RunnerEmitResult<TEvent>>;
37
+ export declare function runMessageEndHandlers(extensions: Extension[], ctx: ExtensionContext, event: MessageEndEvent, emitError: EmitExtensionError): Promise<AgentMessage | undefined>;
38
+ export declare function runToolResultHandlers(extensions: Extension[], ctx: ExtensionContext, event: ToolResultEvent, emitError: EmitExtensionError): Promise<ToolResultEventResult | undefined>;
39
+ export declare function runToolCallHandlers(extensions: Extension[], ctx: ExtensionContext, event: ToolCallEvent): Promise<ToolCallEventResult | undefined>;
40
+ export declare function runUserBashHandlers(extensions: Extension[], ctx: ExtensionContext, event: UserBashEvent, emitError: EmitExtensionError): Promise<UserBashEventResult | undefined>;
41
+ export declare function runContextHandlers(extensions: Extension[], ctx: ExtensionContext, messages: AgentMessage[], emitError: EmitExtensionError): Promise<AgentMessage[]>;
42
+ export declare function runBeforeProviderRequestHandlers(extensions: Extension[], ctx: ExtensionContext, payload: unknown, emitError: EmitExtensionError): Promise<unknown>;
43
+ export declare function runBeforeAgentStartHandlers(extensions: Extension[], baseCtx: ExtensionContext, assertActive: () => void, prompt: string, images: ImageContent[] | undefined, systemPrompt: string, systemPromptOptions: BuildSystemPromptOptions, emitError: EmitExtensionError): Promise<BeforeAgentStartCombinedResult | undefined>;
44
+ export declare function runResourcesDiscoverHandlers(extensions: Extension[], ctx: ExtensionContext, cwd: string, reason: ResourcesDiscoverEvent["reason"], emitError: EmitExtensionError): Promise<ResourcesDiscoverCombinedResult>;
45
+ export declare function runInputHandlers(extensions: Extension[], ctx: ExtensionContext, text: string, images: ImageContent[] | undefined, source: InputSource, streamingBehavior: "steer" | "followUp" | undefined, emitError: EmitExtensionError): Promise<InputEventResult>;
46
+ export {};
47
+ //# sourceMappingURL=runner-events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runner-events.d.ts","sourceRoot":"","sources":["../../../src/core/extensions/runner-events.ts"],"names":[],"mappings":"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","sourcesContent":["import type { AgentMessage } from \"@earendil-works/pi-agent-core\";\nimport type { ImageContent } from \"@earendil-works/pi-ai\";\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 = (\n\temitError: EmitExtensionError,\n\textensionPath: string,\n\tevent: string,\n\terror: unknown,\n): 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 handler(event, ctx);\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 handler(currentEvent, ctx)) 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 handler(currentEvent, ctx)) 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 handler(event, ctx);\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 handler(event, ctx);\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 handler(event, ctx);\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 handler(event, ctx);\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 handler(event, ctx);\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 handler(event, ctx)) 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 handler(event, ctx)) 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"]}