@bastani/atomic 0.8.31-alpha.5 → 0.9.0-alpha.2

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 (1401) hide show
  1. package/CHANGELOG.md +28 -1
  2. package/dist/builtin/cursor/CHANGELOG.md +10 -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 +9 -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 +2 -2
  26. package/dist/builtin/intercom/subagent-relay.ts +137 -0
  27. package/dist/builtin/mcp/CHANGELOG.md +9 -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 +3 -3
  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 +9 -0
  45. package/dist/builtin/subagents/package.json +4 -4
  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 +9 -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 +3 -2
  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 +16 -1
  176. package/dist/builtin/workflows/README.md +189 -122
  177. package/dist/builtin/workflows/builtin/deep-research-codebase-runner.ts +492 -0
  178. package/dist/builtin/workflows/builtin/deep-research-codebase-utils.ts +346 -0
  179. package/dist/builtin/workflows/builtin/deep-research-codebase.ts +36 -849
  180. package/dist/builtin/workflows/builtin/goal-artifacts.ts +43 -0
  181. package/dist/builtin/workflows/builtin/goal-ledger.ts +54 -0
  182. package/dist/builtin/workflows/builtin/goal-prompts.ts +360 -0
  183. package/dist/builtin/workflows/builtin/goal-reducer.ts +141 -0
  184. package/dist/builtin/workflows/builtin/goal-reports.ts +56 -0
  185. package/dist/builtin/workflows/builtin/goal-review.ts +84 -0
  186. package/dist/builtin/workflows/builtin/goal-runner.ts +336 -0
  187. package/dist/builtin/workflows/builtin/goal-schemas.ts +60 -0
  188. package/dist/builtin/workflows/builtin/goal-types.ts +132 -0
  189. package/dist/builtin/workflows/builtin/goal.ts +40 -1201
  190. package/dist/builtin/workflows/builtin/index.d.ts +1 -0
  191. package/dist/builtin/workflows/builtin/open-claude-design-phases.ts +432 -0
  192. package/dist/builtin/workflows/builtin/open-claude-design-runner.ts +476 -0
  193. package/dist/builtin/workflows/builtin/open-claude-design-utils.ts +312 -0
  194. package/dist/builtin/workflows/builtin/open-claude-design.d.ts +1 -0
  195. package/dist/builtin/workflows/builtin/open-claude-design.ts +47 -1131
  196. package/dist/builtin/workflows/builtin/ralph-core.ts +408 -0
  197. package/dist/builtin/workflows/builtin/ralph-models.ts +123 -0
  198. package/dist/builtin/workflows/builtin/ralph-runner.ts +499 -0
  199. package/dist/builtin/workflows/builtin/ralph.ts +50 -1019
  200. package/dist/builtin/workflows/package.json +2 -2
  201. package/dist/builtin/workflows/skills/impeccable/scripts/detector/detect-antipatterns-browser.js +2 -2
  202. package/dist/builtin/workflows/skills/impeccable/scripts/detector/engines/regex/detect-text.mjs +2 -2
  203. package/dist/builtin/workflows/skills/impeccable/scripts/detector/rules/checks.mjs +2 -2
  204. package/dist/builtin/workflows/skills/impeccable/scripts/detector/shared/page.mjs +8 -1
  205. package/dist/builtin/workflows/skills/impeccable/scripts/live-accept.mjs +13 -15
  206. package/dist/builtin/workflows/skills/impeccable/scripts/live-manual-edit-evidence.mjs +2 -2
  207. package/dist/builtin/workflows/skills/impeccable/scripts/live-server.mjs +9 -0
  208. package/dist/builtin/workflows/src/authoring/typebox-defaults.d.ts +41 -0
  209. package/dist/builtin/workflows/src/authoring/typebox-defaults.ts +217 -0
  210. package/dist/builtin/workflows/src/authoring/workflow.ts +184 -0
  211. package/dist/builtin/workflows/src/authoring.d.ts +14 -66
  212. package/dist/builtin/workflows/src/engine/graph-inference.ts +100 -0
  213. package/dist/builtin/workflows/src/engine/options.ts +40 -0
  214. package/dist/builtin/workflows/src/engine/primitives/chain.ts +29 -0
  215. package/dist/builtin/workflows/src/engine/primitives/exit.ts +2 -0
  216. package/dist/builtin/workflows/src/engine/primitives/parallel.ts +47 -0
  217. package/dist/builtin/workflows/src/engine/primitives/task.ts +108 -0
  218. package/dist/builtin/workflows/src/engine/primitives/ui.ts +41 -0
  219. package/dist/builtin/workflows/src/engine/primitives/workflow.ts +159 -0
  220. package/dist/builtin/workflows/src/engine/replay.ts +8 -0
  221. package/dist/builtin/workflows/src/engine/run.ts +356 -0
  222. package/dist/builtin/workflows/src/engine/runtime.ts +160 -0
  223. package/dist/builtin/workflows/src/extension/atomic-stage-session.ts +186 -0
  224. package/dist/builtin/workflows/src/extension/config-file-loader.ts +152 -0
  225. package/dist/builtin/workflows/src/extension/config-loader.ts +2 -167
  226. package/dist/builtin/workflows/src/extension/discovery-loaders.ts +115 -0
  227. package/dist/builtin/workflows/src/extension/discovery.ts +3 -117
  228. package/dist/builtin/workflows/src/extension/extension-factory.ts +120 -0
  229. package/dist/builtin/workflows/src/extension/extension-lifecycle.ts +109 -0
  230. package/dist/builtin/workflows/src/extension/extension-runtime-state.ts +270 -0
  231. package/dist/builtin/workflows/src/extension/index.ts +42 -4166
  232. package/dist/builtin/workflows/src/extension/public-types.ts +295 -0
  233. package/dist/builtin/workflows/src/extension/render-component.ts +14 -0
  234. package/dist/builtin/workflows/src/extension/runtime-direct.ts +96 -0
  235. package/dist/builtin/workflows/src/extension/runtime.ts +1 -92
  236. package/dist/builtin/workflows/src/extension/ui-surface.ts +286 -0
  237. package/dist/builtin/workflows/src/extension/wiring.ts +6 -475
  238. package/dist/builtin/workflows/src/extension/workflow-command-completions.ts +111 -0
  239. package/dist/builtin/workflows/src/extension/workflow-command-registration.ts +213 -0
  240. package/dist/builtin/workflows/src/extension/workflow-command-surfaces.ts +81 -0
  241. package/dist/builtin/workflows/src/extension/workflow-command-utils.ts +181 -0
  242. package/dist/builtin/workflows/src/extension/workflow-module-loader.ts +9 -3
  243. package/dist/builtin/workflows/src/extension/workflow-policy.ts +15 -0
  244. package/dist/builtin/workflows/src/extension/workflow-ports.ts +41 -0
  245. package/dist/builtin/workflows/src/extension/workflow-prompts.ts +23 -0
  246. package/dist/builtin/workflows/src/extension/workflow-run-control-command.ts +286 -0
  247. package/dist/builtin/workflows/src/extension/workflow-schema.ts +1 -19
  248. package/dist/builtin/workflows/src/extension/workflow-stage-results.ts +264 -0
  249. package/dist/builtin/workflows/src/extension/workflow-targets.ts +181 -0
  250. package/dist/builtin/workflows/src/extension/workflow-tool-content.ts +175 -0
  251. package/dist/builtin/workflows/src/extension/workflow-tool-control.ts +205 -0
  252. package/dist/builtin/workflows/src/extension/workflow-tool-helpers.ts +66 -0
  253. package/dist/builtin/workflows/src/extension/workflow-tool-inspection.ts +164 -0
  254. package/dist/builtin/workflows/src/extension/workflow-tool-registration.ts +54 -0
  255. package/dist/builtin/workflows/src/extension/workflow-tool-send.ts +164 -0
  256. package/dist/builtin/workflows/src/extension/workflow-tool.ts +102 -0
  257. package/dist/builtin/workflows/src/index.ts +0 -2
  258. package/dist/builtin/workflows/src/runs/background/runner.ts +6 -3
  259. package/dist/builtin/workflows/src/runs/foreground/executor-abort.ts +431 -0
  260. package/dist/builtin/workflows/src/runs/foreground/executor-child-boundary.ts +232 -0
  261. package/dist/builtin/workflows/src/runs/foreground/executor-child-helpers.ts +74 -0
  262. package/dist/builtin/workflows/src/runs/foreground/executor-child-workflow.ts +1 -0
  263. package/dist/builtin/workflows/src/runs/foreground/executor-continuation.ts +167 -0
  264. package/dist/builtin/workflows/src/runs/foreground/executor-direct-helpers.ts +450 -0
  265. package/dist/builtin/workflows/src/runs/foreground/executor-direct.ts +233 -0
  266. package/dist/builtin/workflows/src/runs/foreground/executor-exit-manager.ts +195 -0
  267. package/dist/builtin/workflows/src/runs/foreground/executor-hil.ts +368 -0
  268. package/dist/builtin/workflows/src/runs/foreground/executor-inputs.ts +83 -0
  269. package/dist/builtin/workflows/src/runs/foreground/executor-lifecycle.ts +441 -0
  270. package/dist/builtin/workflows/src/runs/foreground/executor-outputs.ts +160 -0
  271. package/dist/builtin/workflows/src/runs/foreground/executor-prompt-nodes.ts +274 -0
  272. package/dist/builtin/workflows/src/runs/foreground/executor-run-finalizers.ts +122 -0
  273. package/dist/builtin/workflows/src/runs/foreground/executor-run.ts +1 -0
  274. package/dist/builtin/workflows/src/runs/foreground/executor-scheduler.ts +204 -0
  275. package/dist/builtin/workflows/src/runs/foreground/executor-stage-call.ts +194 -0
  276. package/dist/builtin/workflows/src/runs/foreground/executor-stage-context.ts +120 -0
  277. package/dist/builtin/workflows/src/runs/foreground/executor-stage-control.ts +126 -0
  278. package/dist/builtin/workflows/src/runs/foreground/executor-stage-factory.ts +359 -0
  279. package/dist/builtin/workflows/src/runs/foreground/executor-stage-replay.ts +135 -0
  280. package/dist/builtin/workflows/src/runs/foreground/executor-stage-types.ts +61 -0
  281. package/dist/builtin/workflows/src/runs/foreground/executor-task-context.ts +2 -0
  282. package/dist/builtin/workflows/src/runs/foreground/executor-task-prompts.ts +293 -0
  283. package/dist/builtin/workflows/src/runs/foreground/executor-types.ts +109 -0
  284. package/dist/builtin/workflows/src/runs/foreground/executor.ts +19 -5354
  285. package/dist/builtin/workflows/src/runs/foreground/stage-runner-context.ts +219 -0
  286. package/dist/builtin/workflows/src/runs/foreground/stage-runner-controller.ts +500 -0
  287. package/dist/builtin/workflows/src/runs/foreground/stage-runner-messages.ts +129 -0
  288. package/dist/builtin/workflows/src/runs/foreground/stage-runner-options.ts +53 -0
  289. package/dist/builtin/workflows/src/runs/foreground/stage-runner-output.ts +146 -0
  290. package/dist/builtin/workflows/src/runs/foreground/stage-runner-session.ts +55 -0
  291. package/dist/builtin/workflows/src/runs/foreground/stage-runner-structured-output.ts +82 -0
  292. package/dist/builtin/workflows/src/runs/foreground/stage-runner-types.ts +141 -0
  293. package/dist/builtin/workflows/src/runs/foreground/stage-runner.ts +13 -1355
  294. package/dist/builtin/workflows/src/runs/shared/graph-inference.ts +2 -100
  295. package/dist/builtin/workflows/src/runs/shared/model-fallback-candidates.ts +453 -0
  296. package/dist/builtin/workflows/src/runs/shared/model-fallback-failures.ts +442 -0
  297. package/dist/builtin/workflows/src/runs/shared/model-fallback.ts +2 -836
  298. package/dist/builtin/workflows/src/runs/shared/worktree-diff.ts +165 -0
  299. package/dist/builtin/workflows/src/runs/shared/worktree-git.ts +220 -0
  300. package/dist/builtin/workflows/src/runs/shared/worktree-setup.ts +335 -0
  301. package/dist/builtin/workflows/src/runs/shared/worktree-types.ts +92 -0
  302. package/dist/builtin/workflows/src/runs/shared/worktree.ts +18 -791
  303. package/dist/builtin/workflows/src/sdk-surface.ts +6 -9
  304. package/dist/builtin/workflows/src/shared/authoring-contract-stage.d.ts +371 -0
  305. package/dist/builtin/workflows/src/shared/authoring-contract-stage.ts +439 -0
  306. package/dist/builtin/workflows/src/shared/authoring-contract-ui.d.ts +206 -0
  307. package/dist/builtin/workflows/src/shared/authoring-contract-ui.ts +282 -0
  308. package/dist/builtin/workflows/src/shared/authoring-contract.d.ts +5 -598
  309. package/dist/builtin/workflows/src/shared/persistence-restore-helpers.ts +428 -0
  310. package/dist/builtin/workflows/src/shared/persistence-restore.ts +9 -431
  311. package/dist/builtin/workflows/src/shared/store-factory.ts +16 -0
  312. package/dist/builtin/workflows/src/shared/store-internal.ts +219 -0
  313. package/dist/builtin/workflows/src/shared/store-prompt-methods.ts +219 -0
  314. package/dist/builtin/workflows/src/shared/store-public-types.ts +215 -0
  315. package/dist/builtin/workflows/src/shared/store-run-methods.ts +223 -0
  316. package/dist/builtin/workflows/src/shared/store-stage-methods.ts +305 -0
  317. package/dist/builtin/workflows/src/shared/store.ts +11 -1138
  318. package/dist/builtin/workflows/src/shared/types.ts +25 -8
  319. package/dist/builtin/workflows/src/shared/workflow-authoring-types.d.ts +49 -0
  320. package/dist/builtin/workflows/src/shared/workflow-authoring-types.ts +84 -0
  321. package/dist/builtin/workflows/src/shared/workflow-failures-classifier.ts +266 -0
  322. package/dist/builtin/workflows/src/shared/workflow-failures-contract.ts +75 -0
  323. package/dist/builtin/workflows/src/shared/workflow-failures-decisions.ts +477 -0
  324. package/dist/builtin/workflows/src/shared/workflow-failures-signals.ts +248 -0
  325. package/dist/builtin/workflows/src/shared/workflow-failures.ts +13 -1001
  326. package/dist/builtin/workflows/src/tui/chat-surface.ts +0 -66
  327. package/dist/builtin/workflows/src/tui/graph-view-constants.ts +45 -0
  328. package/dist/builtin/workflows/src/tui/graph-view-graph-render.ts +161 -0
  329. package/dist/builtin/workflows/src/tui/graph-view-input.ts +333 -0
  330. package/dist/builtin/workflows/src/tui/graph-view-render-helpers.ts +336 -0
  331. package/dist/builtin/workflows/src/tui/graph-view-render.ts +194 -0
  332. package/dist/builtin/workflows/src/tui/graph-view-state.ts +306 -0
  333. package/dist/builtin/workflows/src/tui/graph-view-types.ts +70 -0
  334. package/dist/builtin/workflows/src/tui/graph-view.ts +4 -1386
  335. package/dist/builtin/workflows/src/tui/inline-form-editor-text.ts +121 -0
  336. package/dist/builtin/workflows/src/tui/inline-form-editor.ts +11 -223
  337. package/dist/builtin/workflows/src/tui/inputs-picker-editing.ts +151 -0
  338. package/dist/builtin/workflows/src/tui/inputs-picker-input.ts +305 -0
  339. package/dist/builtin/workflows/src/tui/inputs-picker-render.ts +300 -0
  340. package/dist/builtin/workflows/src/tui/inputs-picker-types.ts +190 -0
  341. package/dist/builtin/workflows/src/tui/inputs-picker.ts +19 -997
  342. package/dist/builtin/workflows/src/tui/prompt-card-input.ts +226 -0
  343. package/dist/builtin/workflows/src/tui/prompt-card-render.ts +373 -0
  344. package/dist/builtin/workflows/src/tui/prompt-card-select.ts +116 -0
  345. package/dist/builtin/workflows/src/tui/prompt-card-state.ts +61 -0
  346. package/dist/builtin/workflows/src/tui/prompt-card-text.ts +129 -0
  347. package/dist/builtin/workflows/src/tui/prompt-card.ts +8 -910
  348. package/dist/builtin/workflows/src/tui/stage-chat-view-archive-history.ts +315 -0
  349. package/dist/builtin/workflows/src/tui/stage-chat-view-custom-ui.ts +127 -0
  350. package/dist/builtin/workflows/src/tui/stage-chat-view-footer-status.ts +187 -0
  351. package/dist/builtin/workflows/src/tui/stage-chat-view-input.ts +222 -0
  352. package/dist/builtin/workflows/src/tui/stage-chat-view-render-helpers.ts +152 -0
  353. package/dist/builtin/workflows/src/tui/stage-chat-view-state.ts +464 -0
  354. package/dist/builtin/workflows/src/tui/stage-chat-view-transcript.ts +242 -0
  355. package/dist/builtin/workflows/src/tui/stage-chat-view-types.ts +151 -0
  356. package/dist/builtin/workflows/src/tui/stage-chat-view.ts +141 -1777
  357. package/dist/builtin/workflows/src/tui/workflow-attach-pane-types.ts +85 -0
  358. package/dist/builtin/workflows/src/tui/workflow-attach-pane.ts +1 -129
  359. package/dist/builtin/workflows/src/workflows/registry.ts +7 -3
  360. package/dist/config-self-update.d.ts +21 -0
  361. package/dist/config-self-update.d.ts.map +1 -0
  362. package/dist/config-self-update.js +265 -0
  363. package/dist/config-self-update.js.map +1 -0
  364. package/dist/config.d.ts +3 -12
  365. package/dist/config.d.ts.map +1 -1
  366. package/dist/config.js +15 -252
  367. package/dist/config.js.map +1 -1
  368. package/dist/core/agent-session-accessors.d.ts +3 -0
  369. package/dist/core/agent-session-accessors.d.ts.map +1 -0
  370. package/dist/core/agent-session-accessors.js +36 -0
  371. package/dist/core/agent-session-accessors.js.map +1 -0
  372. package/dist/core/agent-session-auto-compaction.d.ts +32 -0
  373. package/dist/core/agent-session-auto-compaction.d.ts.map +1 -0
  374. package/dist/core/agent-session-auto-compaction.js +219 -0
  375. package/dist/core/agent-session-auto-compaction.js.map +1 -0
  376. package/dist/core/agent-session-bash.d.ts +30 -0
  377. package/dist/core/agent-session-bash.d.ts.map +1 -0
  378. package/dist/core/agent-session-bash.js +79 -0
  379. package/dist/core/agent-session-bash.js.map +1 -0
  380. package/dist/core/agent-session-compaction.d.ts +44 -0
  381. package/dist/core/agent-session-compaction.d.ts.map +1 -0
  382. package/dist/core/agent-session-compaction.js +282 -0
  383. package/dist/core/agent-session-compaction.js.map +1 -0
  384. package/dist/core/agent-session-events.d.ts +65 -0
  385. package/dist/core/agent-session-events.d.ts.map +1 -0
  386. package/dist/core/agent-session-events.js +373 -0
  387. package/dist/core/agent-session-events.js.map +1 -0
  388. package/dist/core/agent-session-export.d.ts +42 -0
  389. package/dist/core/agent-session-export.d.ts.map +1 -0
  390. package/dist/core/agent-session-export.js +199 -0
  391. package/dist/core/agent-session-export.js.map +1 -0
  392. package/dist/core/agent-session-extension-bindings.d.ts +37 -0
  393. package/dist/core/agent-session-extension-bindings.d.ts.map +1 -0
  394. package/dist/core/agent-session-extension-bindings.js +231 -0
  395. package/dist/core/agent-session-extension-bindings.js.map +1 -0
  396. package/dist/core/agent-session-message-queue.d.ts +85 -0
  397. package/dist/core/agent-session-message-queue.d.ts.map +1 -0
  398. package/dist/core/agent-session-message-queue.js +264 -0
  399. package/dist/core/agent-session-message-queue.js.map +1 -0
  400. package/dist/core/agent-session-methods.d.ts +300 -0
  401. package/dist/core/agent-session-methods.d.ts.map +1 -0
  402. package/dist/core/agent-session-methods.js +2 -0
  403. package/dist/core/agent-session-methods.js.map +1 -0
  404. package/dist/core/agent-session-models.d.ts +111 -0
  405. package/dist/core/agent-session-models.d.ts.map +1 -0
  406. package/dist/core/agent-session-models.js +368 -0
  407. package/dist/core/agent-session-models.js.map +1 -0
  408. package/dist/core/agent-session-prompt.d.ts +61 -0
  409. package/dist/core/agent-session-prompt.d.ts.map +1 -0
  410. package/dist/core/agent-session-prompt.js +330 -0
  411. package/dist/core/agent-session-prompt.js.map +1 -0
  412. package/dist/core/agent-session-retry.d.ts +62 -0
  413. package/dist/core/agent-session-retry.d.ts.map +1 -0
  414. package/dist/core/agent-session-retry.js +202 -0
  415. package/dist/core/agent-session-retry.js.map +1 -0
  416. package/dist/core/agent-session-services.d.ts +0 -1
  417. package/dist/core/agent-session-services.d.ts.map +1 -1
  418. package/dist/core/agent-session-services.js +0 -1
  419. package/dist/core/agent-session-services.js.map +1 -1
  420. package/dist/core/agent-session-skill-block.d.ts +13 -0
  421. package/dist/core/agent-session-skill-block.d.ts.map +1 -0
  422. package/dist/core/agent-session-skill-block.js +37 -0
  423. package/dist/core/agent-session-skill-block.js.map +1 -0
  424. package/dist/core/agent-session-state.d.ts +48 -0
  425. package/dist/core/agent-session-state.d.ts.map +1 -0
  426. package/dist/core/agent-session-state.js +129 -0
  427. package/dist/core/agent-session-state.js.map +1 -0
  428. package/dist/core/agent-session-tool-hooks.d.ts +7 -0
  429. package/dist/core/agent-session-tool-hooks.d.ts.map +1 -0
  430. package/dist/core/agent-session-tool-hooks.js +72 -0
  431. package/dist/core/agent-session-tool-hooks.js.map +1 -0
  432. package/dist/core/agent-session-tool-registry.d.ts +15 -0
  433. package/dist/core/agent-session-tool-registry.d.ts.map +1 -0
  434. package/dist/core/agent-session-tool-registry.js +149 -0
  435. package/dist/core/agent-session-tool-registry.js.map +1 -0
  436. package/dist/core/agent-session-tree.d.ts +46 -0
  437. package/dist/core/agent-session-tree.d.ts.map +1 -0
  438. package/dist/core/agent-session-tree.js +217 -0
  439. package/dist/core/agent-session-tree.js.map +1 -0
  440. package/dist/core/agent-session-types.d.ts +157 -0
  441. package/dist/core/agent-session-types.d.ts.map +1 -0
  442. package/dist/core/agent-session-types.js +41 -0
  443. package/dist/core/agent-session-types.js.map +1 -0
  444. package/dist/core/agent-session.d.ts +66 -688
  445. package/dist/core/agent-session.d.ts.map +1 -1
  446. package/dist/core/agent-session.js +26 -3153
  447. package/dist/core/agent-session.js.map +1 -1
  448. package/dist/core/atomic-guide-command.d.ts.map +1 -1
  449. package/dist/core/atomic-guide-command.js +1 -1
  450. package/dist/core/atomic-guide-command.js.map +1 -1
  451. package/dist/core/auth-storage-backends.d.ts +49 -0
  452. package/dist/core/auth-storage-backends.d.ts.map +1 -0
  453. package/dist/core/auth-storage-backends.js +185 -0
  454. package/dist/core/auth-storage-backends.js.map +1 -0
  455. package/dist/core/auth-storage.d.ts +2 -49
  456. package/dist/core/auth-storage.d.ts.map +1 -1
  457. package/dist/core/auth-storage.js +3 -183
  458. package/dist/core/auth-storage.js.map +1 -1
  459. package/dist/core/compaction/context-compaction-metrics.d.ts +16 -0
  460. package/dist/core/compaction/context-compaction-metrics.d.ts.map +1 -0
  461. package/dist/core/compaction/context-compaction-metrics.js +58 -0
  462. package/dist/core/compaction/context-compaction-metrics.js.map +1 -0
  463. package/dist/core/compaction/context-compaction-prompt.d.ts +9 -0
  464. package/dist/core/compaction/context-compaction-prompt.d.ts.map +1 -0
  465. package/dist/core/compaction/context-compaction-prompt.js +161 -0
  466. package/dist/core/compaction/context-compaction-prompt.js.map +1 -0
  467. package/dist/core/compaction/context-compaction-runner.d.ts +5 -0
  468. package/dist/core/compaction/context-compaction-runner.d.ts.map +1 -0
  469. package/dist/core/compaction/context-compaction-runner.js +181 -0
  470. package/dist/core/compaction/context-compaction-runner.js.map +1 -0
  471. package/dist/core/compaction/context-compaction-strategy.d.ts +5 -0
  472. package/dist/core/compaction/context-compaction-strategy.d.ts.map +1 -0
  473. package/dist/core/compaction/context-compaction-strategy.js +27 -0
  474. package/dist/core/compaction/context-compaction-strategy.js.map +1 -0
  475. package/dist/core/compaction/context-compaction-types.d.ts +73 -0
  476. package/dist/core/compaction/context-compaction-types.d.ts.map +1 -0
  477. package/dist/core/compaction/context-compaction-types.js +6 -0
  478. package/dist/core/compaction/context-compaction-types.js.map +1 -0
  479. package/dist/core/compaction/context-compaction.d.ts +9 -200
  480. package/dist/core/compaction/context-compaction.d.ts.map +1 -1
  481. package/dist/core/compaction/context-compaction.js +7 -1943
  482. package/dist/core/compaction/context-compaction.js.map +1 -1
  483. package/dist/core/compaction/context-deletion-application.d.ts +13 -0
  484. package/dist/core/compaction/context-deletion-application.d.ts.map +1 -0
  485. package/dist/core/compaction/context-deletion-application.js +259 -0
  486. package/dist/core/compaction/context-deletion-application.js.map +1 -0
  487. package/dist/core/compaction/context-deletion-store.d.ts +78 -0
  488. package/dist/core/compaction/context-deletion-store.d.ts.map +1 -0
  489. package/dist/core/compaction/context-deletion-store.js +162 -0
  490. package/dist/core/compaction/context-deletion-store.js.map +1 -0
  491. package/dist/core/compaction/context-deletion-targets.d.ts +40 -0
  492. package/dist/core/compaction/context-deletion-targets.d.ts.map +1 -0
  493. package/dist/core/compaction/context-deletion-targets.js +267 -0
  494. package/dist/core/compaction/context-deletion-targets.js.map +1 -0
  495. package/dist/core/compaction/context-deletion-tool-definitions.d.ts +187 -0
  496. package/dist/core/compaction/context-deletion-tool-definitions.d.ts.map +1 -0
  497. package/dist/core/compaction/context-deletion-tool-definitions.js +98 -0
  498. package/dist/core/compaction/context-deletion-tool-definitions.js.map +1 -0
  499. package/dist/core/compaction/context-deletion-tool-helpers.d.ts +19 -0
  500. package/dist/core/compaction/context-deletion-tool-helpers.d.ts.map +1 -0
  501. package/dist/core/compaction/context-deletion-tool-helpers.js +137 -0
  502. package/dist/core/compaction/context-deletion-tool-helpers.js.map +1 -0
  503. package/dist/core/compaction/context-deletion-tools.d.ts +4 -0
  504. package/dist/core/compaction/context-deletion-tools.d.ts.map +1 -0
  505. package/dist/core/compaction/context-deletion-tools.js +395 -0
  506. package/dist/core/compaction/context-deletion-tools.js.map +1 -0
  507. package/dist/core/compaction/context-transcript-analysis.d.ts +9 -0
  508. package/dist/core/compaction/context-transcript-analysis.d.ts.map +1 -0
  509. package/dist/core/compaction/context-transcript-analysis.js +234 -0
  510. package/dist/core/compaction/context-transcript-analysis.js.map +1 -0
  511. package/dist/core/export-html/index.d.ts.map +1 -1
  512. package/dist/core/export-html/index.js +2 -1
  513. package/dist/core/export-html/index.js.map +1 -1
  514. package/dist/core/export-html/template-js/data-tree.js +287 -0
  515. package/dist/core/export-html/template-js/entries-navigation.js +424 -0
  516. package/dist/core/export-html/template-js/initialization.js +312 -0
  517. package/dist/core/export-html/template-js/message-tools.js +415 -0
  518. package/dist/core/export-html/template-js/tree-filter-render.js +421 -0
  519. package/dist/core/export-html/template-script.d.ts +3 -0
  520. package/dist/core/export-html/template-script.d.ts.map +1 -0
  521. package/dist/core/export-html/template-script.js +13 -0
  522. package/dist/core/export-html/template-script.js.map +1 -0
  523. package/dist/core/export-html/template.js +3 -1
  524. package/dist/core/extensions/agent-events.d.ts +159 -0
  525. package/dist/core/extensions/agent-events.d.ts.map +1 -0
  526. package/dist/core/extensions/agent-events.js +2 -0
  527. package/dist/core/extensions/agent-events.js.map +1 -0
  528. package/dist/core/extensions/api-types.d.ts +189 -0
  529. package/dist/core/extensions/api-types.d.ts.map +1 -0
  530. package/dist/core/extensions/api-types.js +2 -0
  531. package/dist/core/extensions/api-types.js.map +1 -0
  532. package/dist/core/extensions/command-types.d.ts +14 -0
  533. package/dist/core/extensions/command-types.d.ts.map +1 -0
  534. package/dist/core/extensions/command-types.js +2 -0
  535. package/dist/core/extensions/command-types.js.map +1 -0
  536. package/dist/core/extensions/context-types.d.ts +130 -0
  537. package/dist/core/extensions/context-types.d.ts.map +1 -0
  538. package/dist/core/extensions/context-types.js +2 -0
  539. package/dist/core/extensions/context-types.js.map +1 -0
  540. package/dist/core/extensions/event-results.d.ts +61 -0
  541. package/dist/core/extensions/event-results.d.ts.map +1 -0
  542. package/dist/core/extensions/event-results.js +2 -0
  543. package/dist/core/extensions/event-results.js.map +1 -0
  544. package/dist/core/extensions/event-types.d.ts +6 -0
  545. package/dist/core/extensions/event-types.d.ts.map +1 -0
  546. package/dist/core/extensions/event-types.js +2 -0
  547. package/dist/core/extensions/event-types.js.map +1 -0
  548. package/dist/core/extensions/loader-api.d.ts +10 -0
  549. package/dist/core/extensions/loader-api.d.ts.map +1 -0
  550. package/dist/core/extensions/loader-api.js +143 -0
  551. package/dist/core/extensions/loader-api.js.map +1 -0
  552. package/dist/core/extensions/loader-core.d.ts +10 -0
  553. package/dist/core/extensions/loader-core.d.ts.map +1 -0
  554. package/dist/core/extensions/loader-core.js +98 -0
  555. package/dist/core/extensions/loader-core.js.map +1 -0
  556. package/dist/core/extensions/loader-discovery.d.ts +7 -0
  557. package/dist/core/extensions/loader-discovery.d.ts.map +1 -0
  558. package/dist/core/extensions/loader-discovery.js +139 -0
  559. package/dist/core/extensions/loader-discovery.js.map +1 -0
  560. package/dist/core/extensions/loader-resources.d.ts +11 -0
  561. package/dist/core/extensions/loader-resources.d.ts.map +1 -0
  562. package/dist/core/extensions/loader-resources.js +10 -0
  563. package/dist/core/extensions/loader-resources.js.map +1 -0
  564. package/dist/core/extensions/loader-runtime.d.ts +7 -0
  565. package/dist/core/extensions/loader-runtime.d.ts.map +1 -0
  566. package/dist/core/extensions/loader-runtime.js +51 -0
  567. package/dist/core/extensions/loader-runtime.js.map +1 -0
  568. package/dist/core/extensions/loader-virtual-modules.d.ts +9 -0
  569. package/dist/core/extensions/loader-virtual-modules.d.ts.map +1 -0
  570. package/dist/core/extensions/loader-virtual-modules.js +124 -0
  571. package/dist/core/extensions/loader-virtual-modules.js.map +1 -0
  572. package/dist/core/extensions/loader.d.ts +5 -28
  573. package/dist/core/extensions/loader.d.ts.map +1 -1
  574. package/dist/core/extensions/loader.js +4 -542
  575. package/dist/core/extensions/loader.js.map +1 -1
  576. package/dist/core/extensions/message-types.d.ts +34 -0
  577. package/dist/core/extensions/message-types.d.ts.map +1 -0
  578. package/dist/core/extensions/message-types.js +2 -0
  579. package/dist/core/extensions/message-types.js.map +1 -0
  580. package/dist/core/extensions/provider-types.d.ts +71 -0
  581. package/dist/core/extensions/provider-types.d.ts.map +1 -0
  582. package/dist/core/extensions/provider-types.js +2 -0
  583. package/dist/core/extensions/provider-types.js.map +1 -0
  584. package/dist/core/extensions/runner-context.d.ts +42 -0
  585. package/dist/core/extensions/runner-context.d.ts.map +1 -0
  586. package/dist/core/extensions/runner-context.js +112 -0
  587. package/dist/core/extensions/runner-context.js.map +1 -0
  588. package/dist/core/extensions/runner-events.d.ts +47 -0
  589. package/dist/core/extensions/runner-events.d.ts.map +1 -0
  590. package/dist/core/extensions/runner-events.js +280 -0
  591. package/dist/core/extensions/runner-events.js.map +1 -0
  592. package/dist/core/extensions/runner-handlers.d.ts +32 -0
  593. package/dist/core/extensions/runner-handlers.d.ts.map +1 -0
  594. package/dist/core/extensions/runner-handlers.js +2 -0
  595. package/dist/core/extensions/runner-handlers.js.map +1 -0
  596. package/dist/core/extensions/runner-project-trust.d.ts +6 -0
  597. package/dist/core/extensions/runner-project-trust.d.ts.map +1 -0
  598. package/dist/core/extensions/runner-project-trust.js +27 -0
  599. package/dist/core/extensions/runner-project-trust.js.map +1 -0
  600. package/dist/core/extensions/runner-registries.d.ts +8 -0
  601. package/dist/core/extensions/runner-registries.d.ts.map +1 -0
  602. package/dist/core/extensions/runner-registries.js +76 -0
  603. package/dist/core/extensions/runner-registries.js.map +1 -0
  604. package/dist/core/extensions/runner-shortcuts.d.ts +10 -0
  605. package/dist/core/extensions/runner-shortcuts.d.ts.map +1 -0
  606. package/dist/core/extensions/runner-shortcuts.js +71 -0
  607. package/dist/core/extensions/runner-shortcuts.js.map +1 -0
  608. package/dist/core/extensions/runner-ui.d.ts +3 -0
  609. package/dist/core/extensions/runner-ui.d.ts.map +1 -0
  610. package/dist/core/extensions/runner-ui.js +50 -0
  611. package/dist/core/extensions/runner-ui.js.map +1 -0
  612. package/dist/core/extensions/runner.d.ts +7 -74
  613. package/dist/core/extensions/runner.d.ts.map +1 -1
  614. package/dist/core/extensions/runner.js +67 -673
  615. package/dist/core/extensions/runner.js.map +1 -1
  616. package/dist/core/extensions/runtime-types.d.ts +179 -0
  617. package/dist/core/extensions/runtime-types.d.ts.map +1 -0
  618. package/dist/core/extensions/runtime-types.js +2 -0
  619. package/dist/core/extensions/runtime-types.js.map +1 -0
  620. package/dist/core/extensions/session-events.d.ts +89 -0
  621. package/dist/core/extensions/session-events.d.ts.map +1 -0
  622. package/dist/core/extensions/session-events.js +2 -0
  623. package/dist/core/extensions/session-events.js.map +1 -0
  624. package/dist/core/extensions/tool-events.d.ts +127 -0
  625. package/dist/core/extensions/tool-events.d.ts.map +1 -0
  626. package/dist/core/extensions/tool-events.js +26 -0
  627. package/dist/core/extensions/tool-events.js.map +1 -0
  628. package/dist/core/extensions/tool-types.d.ts +100 -0
  629. package/dist/core/extensions/tool-types.d.ts.map +1 -0
  630. package/dist/core/extensions/tool-types.js +11 -0
  631. package/dist/core/extensions/tool-types.js.map +1 -0
  632. package/dist/core/extensions/types.d.ts +20 -1288
  633. package/dist/core/extensions/types.d.ts.map +1 -1
  634. package/dist/core/extensions/types.js +4 -34
  635. package/dist/core/extensions/types.js.map +1 -1
  636. package/dist/core/extensions/ui-types.d.ts +200 -0
  637. package/dist/core/extensions/ui-types.d.ts.map +1 -0
  638. package/dist/core/extensions/ui-types.js +2 -0
  639. package/dist/core/extensions/ui-types.js.map +1 -0
  640. package/dist/core/index.d.ts +0 -1
  641. package/dist/core/index.d.ts.map +1 -1
  642. package/dist/core/index.js +0 -1
  643. package/dist/core/index.js.map +1 -1
  644. package/dist/core/model-registry-auth.d.ts +7 -0
  645. package/dist/core/model-registry-auth.d.ts.map +1 -0
  646. package/dist/core/model-registry-auth.js +64 -0
  647. package/dist/core/model-registry-auth.js.map +1 -0
  648. package/dist/core/model-registry-builtins.d.ts +9 -0
  649. package/dist/core/model-registry-builtins.d.ts.map +1 -0
  650. package/dist/core/model-registry-builtins.js +126 -0
  651. package/dist/core/model-registry-builtins.js.map +1 -0
  652. package/dist/core/model-registry-custom-loader.d.ts +3 -0
  653. package/dist/core/model-registry-custom-loader.d.ts.map +1 -0
  654. package/dist/core/model-registry-custom-loader.js +213 -0
  655. package/dist/core/model-registry-custom-loader.js.map +1 -0
  656. package/dist/core/model-registry-dynamic.d.ts +6 -0
  657. package/dist/core/model-registry-dynamic.d.ts.map +1 -0
  658. package/dist/core/model-registry-dynamic.js +155 -0
  659. package/dist/core/model-registry-dynamic.js.map +1 -0
  660. package/dist/core/model-registry-loader.d.ts +4 -0
  661. package/dist/core/model-registry-loader.d.ts.map +1 -0
  662. package/dist/core/model-registry-loader.js +20 -0
  663. package/dist/core/model-registry-loader.js.map +1 -0
  664. package/dist/core/model-registry-schemas.d.ts +1136 -0
  665. package/dist/core/model-registry-schemas.d.ts.map +1 -0
  666. package/dist/core/model-registry-schemas.js +171 -0
  667. package/dist/core/model-registry-schemas.js.map +1 -0
  668. package/dist/core/model-registry-types.d.ts +74 -0
  669. package/dist/core/model-registry-types.d.ts.map +1 -0
  670. package/dist/core/model-registry-types.js +2 -0
  671. package/dist/core/model-registry-types.js.map +1 -0
  672. package/dist/core/model-registry.d.ts +3 -76
  673. package/dist/core/model-registry.d.ts.map +1 -1
  674. package/dist/core/model-registry.js +24 -733
  675. package/dist/core/model-registry.js.map +1 -1
  676. package/dist/core/model-resolver-cli.d.ts +19 -0
  677. package/dist/core/model-resolver-cli.d.ts.map +1 -0
  678. package/dist/core/model-resolver-cli.js +118 -0
  679. package/dist/core/model-resolver-cli.js.map +1 -0
  680. package/dist/core/model-resolver-defaults.d.ts +5 -0
  681. package/dist/core/model-resolver-defaults.d.ts.map +1 -0
  682. package/dist/core/model-resolver-defaults.js +47 -0
  683. package/dist/core/model-resolver-defaults.js.map +1 -0
  684. package/dist/core/model-resolver-initial.d.ts +31 -0
  685. package/dist/core/model-resolver-initial.d.ts.map +1 -0
  686. package/dist/core/model-resolver-initial.js +116 -0
  687. package/dist/core/model-resolver-initial.js.map +1 -0
  688. package/dist/core/model-resolver-patterns.d.ts +26 -0
  689. package/dist/core/model-resolver-patterns.d.ts.map +1 -0
  690. package/dist/core/model-resolver-patterns.js +139 -0
  691. package/dist/core/model-resolver-patterns.js.map +1 -0
  692. package/dist/core/model-resolver-scope.d.ts +15 -0
  693. package/dist/core/model-resolver-scope.d.ts.map +1 -0
  694. package/dist/core/model-resolver-scope.js +66 -0
  695. package/dist/core/model-resolver-scope.js.map +1 -0
  696. package/dist/core/model-resolver-types.d.ts +29 -0
  697. package/dist/core/model-resolver-types.d.ts.map +1 -0
  698. package/dist/core/model-resolver-types.js +2 -0
  699. package/dist/core/model-resolver-types.js.map +1 -0
  700. package/dist/core/model-resolver.d.ts +6 -107
  701. package/dist/core/model-resolver.d.ts.map +1 -1
  702. package/dist/core/model-resolver.js +5 -549
  703. package/dist/core/model-resolver.js.map +1 -1
  704. package/dist/core/package-manager-auto-resources.d.ts +5 -0
  705. package/dist/core/package-manager-auto-resources.d.ts.map +1 -0
  706. package/dist/core/package-manager-auto-resources.js +109 -0
  707. package/dist/core/package-manager-auto-resources.js.map +1 -0
  708. package/dist/core/package-manager-command.d.ts +11 -0
  709. package/dist/core/package-manager-command.d.ts.map +1 -0
  710. package/dist/core/package-manager-command.js +102 -0
  711. package/dist/core/package-manager-command.js.map +1 -0
  712. package/dist/core/package-manager-constants.d.ts +4 -0
  713. package/dist/core/package-manager-constants.d.ts.map +1 -0
  714. package/dist/core/package-manager-constants.js +4 -0
  715. package/dist/core/package-manager-constants.js.map +1 -0
  716. package/dist/core/package-manager-env.d.ts +4 -0
  717. package/dist/core/package-manager-env.d.ts.map +1 -0
  718. package/dist/core/package-manager-env.js +40 -0
  719. package/dist/core/package-manager-env.js.map +1 -0
  720. package/dist/core/package-manager-git.d.ts +10 -0
  721. package/dist/core/package-manager-git.d.ts.map +1 -0
  722. package/dist/core/package-manager-git.js +271 -0
  723. package/dist/core/package-manager-git.js.map +1 -0
  724. package/dist/core/package-manager-manifest.d.ts +7 -0
  725. package/dist/core/package-manager-manifest.d.ts.map +1 -0
  726. package/dist/core/package-manager-manifest.js +45 -0
  727. package/dist/core/package-manager-manifest.js.map +1 -0
  728. package/dist/core/package-manager-npm.d.ts +25 -0
  729. package/dist/core/package-manager-npm.d.ts.map +1 -0
  730. package/dist/core/package-manager-npm.js +252 -0
  731. package/dist/core/package-manager-npm.js.map +1 -0
  732. package/dist/core/package-manager-operations.d.ts +11 -0
  733. package/dist/core/package-manager-operations.d.ts.map +1 -0
  734. package/dist/core/package-manager-operations.js +196 -0
  735. package/dist/core/package-manager-operations.js.map +1 -0
  736. package/dist/core/package-manager-paths.d.ts +14 -0
  737. package/dist/core/package-manager-paths.d.ts.map +1 -0
  738. package/dist/core/package-manager-paths.js +61 -0
  739. package/dist/core/package-manager-paths.js.map +1 -0
  740. package/dist/core/package-manager-progress.d.ts +4 -0
  741. package/dist/core/package-manager-progress.d.ts.map +1 -0
  742. package/dist/core/package-manager-progress.js +16 -0
  743. package/dist/core/package-manager-progress.js.map +1 -0
  744. package/dist/core/package-manager-resolver.d.ts +5 -0
  745. package/dist/core/package-manager-resolver.d.ts.map +1 -0
  746. package/dist/core/package-manager-resolver.js +149 -0
  747. package/dist/core/package-manager-resolver.js.map +1 -0
  748. package/dist/core/package-manager-resource-accumulator.d.ts +6 -0
  749. package/dist/core/package-manager-resource-accumulator.d.ts.map +1 -0
  750. package/dist/core/package-manager-resource-accumulator.js +67 -0
  751. package/dist/core/package-manager-resource-accumulator.js.map +1 -0
  752. package/dist/core/package-manager-resource-collector.d.ts +5 -0
  753. package/dist/core/package-manager-resource-collector.d.ts.map +1 -0
  754. package/dist/core/package-manager-resource-collector.js +148 -0
  755. package/dist/core/package-manager-resource-collector.js.map +1 -0
  756. package/dist/core/package-manager-resource-files.d.ts +14 -0
  757. package/dist/core/package-manager-resource-files.d.ts.map +1 -0
  758. package/dist/core/package-manager-resource-files.js +265 -0
  759. package/dist/core/package-manager-resource-files.js.map +1 -0
  760. package/dist/core/package-manager-resource-patterns.d.ts +12 -0
  761. package/dist/core/package-manager-resource-patterns.d.ts.map +1 -0
  762. package/dist/core/package-manager-resource-patterns.js +136 -0
  763. package/dist/core/package-manager-resource-patterns.js.map +1 -0
  764. package/dist/core/package-manager-settings.d.ts +10 -0
  765. package/dist/core/package-manager-settings.d.ts.map +1 -0
  766. package/dist/core/package-manager-settings.js +91 -0
  767. package/dist/core/package-manager-settings.js.map +1 -0
  768. package/dist/core/package-manager-source.d.ts +21 -0
  769. package/dist/core/package-manager-source.d.ts.map +1 -0
  770. package/dist/core/package-manager-source.js +146 -0
  771. package/dist/core/package-manager-source.js.map +1 -0
  772. package/dist/core/package-manager-types.d.ts +169 -0
  773. package/dist/core/package-manager-types.d.ts.map +1 -0
  774. package/dist/core/package-manager-types.js +9 -0
  775. package/dist/core/package-manager-types.js.map +1 -0
  776. package/dist/core/package-manager.d.ts +9 -174
  777. package/dist/core/package-manager.d.ts.map +1 -1
  778. package/dist/core/package-manager.js +56 -2100
  779. package/dist/core/package-manager.js.map +1 -1
  780. package/dist/core/resource-loader-assets.d.ts +6 -0
  781. package/dist/core/resource-loader-assets.d.ts.map +1 -0
  782. package/dist/core/resource-loader-assets.js +209 -0
  783. package/dist/core/resource-loader-assets.js.map +1 -0
  784. package/dist/core/resource-loader-context-files.d.ts +10 -0
  785. package/dist/core/resource-loader-context-files.d.ts.map +1 -0
  786. package/dist/core/resource-loader-context-files.js +74 -0
  787. package/dist/core/resource-loader-context-files.js.map +1 -0
  788. package/dist/core/resource-loader-core.d.ts +83 -0
  789. package/dist/core/resource-loader-core.d.ts.map +1 -0
  790. package/dist/core/resource-loader-core.js +170 -0
  791. package/dist/core/resource-loader-core.js.map +1 -0
  792. package/dist/core/resource-loader-discovery.d.ts +4 -0
  793. package/dist/core/resource-loader-discovery.d.ts.map +1 -0
  794. package/dist/core/resource-loader-discovery.js +28 -0
  795. package/dist/core/resource-loader-discovery.js.map +1 -0
  796. package/dist/core/resource-loader-extensions.d.ts +13 -0
  797. package/dist/core/resource-loader-extensions.d.ts.map +1 -0
  798. package/dist/core/resource-loader-extensions.js +110 -0
  799. package/dist/core/resource-loader-extensions.js.map +1 -0
  800. package/dist/core/resource-loader-helpers.d.ts +4 -0
  801. package/dist/core/resource-loader-helpers.d.ts.map +1 -0
  802. package/dist/core/resource-loader-helpers.js +23 -0
  803. package/dist/core/resource-loader-helpers.js.map +1 -0
  804. package/dist/core/resource-loader-internals.d.ts +97 -0
  805. package/dist/core/resource-loader-internals.d.ts.map +1 -0
  806. package/dist/core/resource-loader-internals.js +4 -0
  807. package/dist/core/resource-loader-internals.js.map +1 -0
  808. package/dist/core/resource-loader-package-resources.d.ts +31 -0
  809. package/dist/core/resource-loader-package-resources.d.ts.map +1 -0
  810. package/dist/core/resource-loader-package-resources.js +112 -0
  811. package/dist/core/resource-loader-package-resources.js.map +1 -0
  812. package/dist/core/resource-loader-paths.d.ts +4 -0
  813. package/dist/core/resource-loader-paths.d.ts.map +1 -0
  814. package/dist/core/resource-loader-paths.js +22 -0
  815. package/dist/core/resource-loader-paths.js.map +1 -0
  816. package/dist/core/resource-loader-reload.d.ts +6 -0
  817. package/dist/core/resource-loader-reload.d.ts.map +1 -0
  818. package/dist/core/resource-loader-reload.js +230 -0
  819. package/dist/core/resource-loader-reload.js.map +1 -0
  820. package/dist/core/resource-loader-source-info.d.ts +9 -0
  821. package/dist/core/resource-loader-source-info.d.ts.map +1 -0
  822. package/dist/core/resource-loader-source-info.js +101 -0
  823. package/dist/core/resource-loader-source-info.js.map +1 -0
  824. package/dist/core/resource-loader-types.d.ts +130 -0
  825. package/dist/core/resource-loader-types.d.ts.map +1 -0
  826. package/dist/core/resource-loader-types.js +2 -0
  827. package/dist/core/resource-loader-types.js.map +1 -0
  828. package/dist/core/resource-loader.d.ts +3 -242
  829. package/dist/core/resource-loader.d.ts.map +1 -1
  830. package/dist/core/resource-loader.js +2 -976
  831. package/dist/core/resource-loader.js.map +1 -1
  832. package/dist/core/sdk-exports.d.ts +7 -0
  833. package/dist/core/sdk-exports.d.ts.map +1 -0
  834. package/dist/core/sdk-exports.js +5 -0
  835. package/dist/core/sdk-exports.js.map +1 -0
  836. package/dist/core/sdk-types.d.ts +83 -0
  837. package/dist/core/sdk-types.d.ts.map +1 -0
  838. package/dist/core/sdk-types.js +2 -0
  839. package/dist/core/sdk-types.js.map +1 -0
  840. package/dist/core/sdk.d.ts +3 -91
  841. package/dist/core/sdk.d.ts.map +1 -1
  842. package/dist/core/sdk.js +2 -7
  843. package/dist/core/sdk.js.map +1 -1
  844. package/dist/core/session-manager-archive.d.ts +27 -0
  845. package/dist/core/session-manager-archive.d.ts.map +1 -0
  846. package/dist/core/session-manager-archive.js +114 -0
  847. package/dist/core/session-manager-archive.js.map +1 -0
  848. package/dist/core/session-manager-core.d.ts +104 -0
  849. package/dist/core/session-manager-core.d.ts.map +1 -0
  850. package/dist/core/session-manager-core.js +346 -0
  851. package/dist/core/session-manager-core.js.map +1 -0
  852. package/dist/core/session-manager-entries.d.ts +38 -0
  853. package/dist/core/session-manager-entries.d.ts.map +1 -0
  854. package/dist/core/session-manager-entries.js +124 -0
  855. package/dist/core/session-manager-entries.js.map +1 -0
  856. package/dist/core/session-manager-history.d.ts +38 -0
  857. package/dist/core/session-manager-history.d.ts.map +1 -0
  858. package/dist/core/session-manager-history.js +379 -0
  859. package/dist/core/session-manager-history.js.map +1 -0
  860. package/dist/core/session-manager-list.d.ts +5 -0
  861. package/dist/core/session-manager-list.d.ts.map +1 -0
  862. package/dist/core/session-manager-list.js +196 -0
  863. package/dist/core/session-manager-list.js.map +1 -0
  864. package/dist/core/session-manager-migrations.d.ts +11 -0
  865. package/dist/core/session-manager-migrations.d.ts.map +1 -0
  866. package/dist/core/session-manager-migrations.js +80 -0
  867. package/dist/core/session-manager-migrations.js.map +1 -0
  868. package/dist/core/session-manager-paths.d.ts +7 -0
  869. package/dist/core/session-manager-paths.d.ts.map +1 -0
  870. package/dist/core/session-manager-paths.js +22 -0
  871. package/dist/core/session-manager-paths.js.map +1 -0
  872. package/dist/core/session-manager-storage.d.ts +15 -0
  873. package/dist/core/session-manager-storage.d.ts.map +1 -0
  874. package/dist/core/session-manager-storage.js +127 -0
  875. package/dist/core/session-manager-storage.js.map +1 -0
  876. package/dist/core/session-manager-types.d.ts +172 -0
  877. package/dist/core/session-manager-types.d.ts.map +1 -0
  878. package/dist/core/session-manager-types.js +2 -0
  879. package/dist/core/session-manager-types.js.map +1 -0
  880. package/dist/core/session-manager-validation.d.ts +7 -0
  881. package/dist/core/session-manager-validation.d.ts.map +1 -0
  882. package/dist/core/session-manager-validation.js +34 -0
  883. package/dist/core/session-manager-validation.js.map +1 -0
  884. package/dist/core/session-manager.d.ts +8 -390
  885. package/dist/core/session-manager.d.ts.map +1 -1
  886. package/dist/core/session-manager.js +7 -1418
  887. package/dist/core/session-manager.js.map +1 -1
  888. package/dist/core/settings-manager-basic-accessors.d.ts +65 -0
  889. package/dist/core/settings-manager-basic-accessors.d.ts.map +1 -0
  890. package/dist/core/settings-manager-basic-accessors.js +253 -0
  891. package/dist/core/settings-manager-basic-accessors.js.map +1 -0
  892. package/dist/core/settings-manager-core.d.ts +57 -0
  893. package/dist/core/settings-manager-core.d.ts.map +1 -0
  894. package/dist/core/settings-manager-core.js +387 -0
  895. package/dist/core/settings-manager-core.js.map +1 -0
  896. package/dist/core/settings-manager-internals.d.ts +13 -0
  897. package/dist/core/settings-manager-internals.d.ts.map +1 -0
  898. package/dist/core/settings-manager-internals.js +4 -0
  899. package/dist/core/settings-manager-internals.js.map +1 -0
  900. package/dist/core/settings-manager-resource-accessors.d.ts +43 -0
  901. package/dist/core/settings-manager-resource-accessors.d.ts.map +1 -0
  902. package/dist/core/settings-manager-resource-accessors.js +172 -0
  903. package/dist/core/settings-manager-resource-accessors.js.map +1 -0
  904. package/dist/core/settings-manager-ui-accessors.d.ts +44 -0
  905. package/dist/core/settings-manager-ui-accessors.d.ts.map +1 -0
  906. package/dist/core/settings-manager-ui-accessors.js +208 -0
  907. package/dist/core/settings-manager-ui-accessors.js.map +1 -0
  908. package/dist/core/settings-manager.d.ts +6 -321
  909. package/dist/core/settings-manager.d.ts.map +1 -1
  910. package/dist/core/settings-manager.js +5 -1060
  911. package/dist/core/settings-manager.js.map +1 -1
  912. package/dist/core/settings-merge.d.ts +4 -0
  913. package/dist/core/settings-merge.d.ts.map +1 -0
  914. package/dist/core/settings-merge.js +26 -0
  915. package/dist/core/settings-merge.js.map +1 -0
  916. package/dist/core/settings-storage.d.ts +20 -0
  917. package/dist/core/settings-storage.d.ts.map +1 -0
  918. package/dist/core/settings-storage.js +100 -0
  919. package/dist/core/settings-storage.js.map +1 -0
  920. package/dist/core/settings-types.d.ts +123 -0
  921. package/dist/core/settings-types.d.ts.map +1 -0
  922. package/dist/core/settings-types.js +2 -0
  923. package/dist/core/settings-types.js.map +1 -0
  924. package/dist/core/system-prompt.d.ts.map +1 -1
  925. package/dist/core/system-prompt.js +7 -0
  926. package/dist/core/system-prompt.js.map +1 -1
  927. package/dist/core/tools/bash.d.ts +0 -5
  928. package/dist/core/tools/bash.d.ts.map +1 -1
  929. package/dist/core/tools/bash.js +10 -11
  930. package/dist/core/tools/bash.js.map +1 -1
  931. package/dist/core/tools/edit-diff-preserve.d.ts +18 -0
  932. package/dist/core/tools/edit-diff-preserve.d.ts.map +1 -0
  933. package/dist/core/tools/edit-diff-preserve.js +85 -0
  934. package/dist/core/tools/edit-diff-preserve.js.map +1 -0
  935. package/dist/core/tools/edit-diff.d.ts +3 -2
  936. package/dist/core/tools/edit-diff.d.ts.map +1 -1
  937. package/dist/core/tools/edit-diff.js +15 -18
  938. package/dist/core/tools/edit-diff.js.map +1 -1
  939. package/dist/core/tools/index.d.ts +0 -1
  940. package/dist/core/tools/index.d.ts.map +1 -1
  941. package/dist/core/tools/index.js +0 -1
  942. package/dist/core/tools/index.js.map +1 -1
  943. package/dist/core/tools/todos-execute.d.ts +5 -0
  944. package/dist/core/tools/todos-execute.d.ts.map +1 -0
  945. package/dist/core/tools/todos-execute.js +200 -0
  946. package/dist/core/tools/todos-execute.js.map +1 -0
  947. package/dist/core/tools/todos-locks.d.ts +4 -0
  948. package/dist/core/tools/todos-locks.d.ts.map +1 -0
  949. package/dist/core/tools/todos-locks.js +80 -0
  950. package/dist/core/tools/todos-locks.js.map +1 -0
  951. package/dist/core/tools/todos-model.d.ts +21 -0
  952. package/dist/core/tools/todos-model.d.ts.map +1 -0
  953. package/dist/core/tools/todos-model.js +71 -0
  954. package/dist/core/tools/todos-model.js.map +1 -0
  955. package/dist/core/tools/todos-mutations.d.ts +6 -0
  956. package/dist/core/tools/todos-mutations.d.ts.map +1 -0
  957. package/dist/core/tools/todos-mutations.js +85 -0
  958. package/dist/core/tools/todos-mutations.js.map +1 -0
  959. package/dist/core/tools/todos-paths.d.ts +5 -0
  960. package/dist/core/tools/todos-paths.d.ts.map +1 -0
  961. package/dist/core/tools/todos-paths.js +25 -0
  962. package/dist/core/tools/todos-paths.js.map +1 -0
  963. package/dist/core/tools/todos-render.d.ts +10 -0
  964. package/dist/core/tools/todos-render.d.ts.map +1 -0
  965. package/dist/core/tools/todos-render.js +159 -0
  966. package/dist/core/tools/todos-render.js.map +1 -0
  967. package/dist/core/tools/todos-storage.d.ts +9 -0
  968. package/dist/core/tools/todos-storage.d.ts.map +1 -0
  969. package/dist/core/tools/todos-storage.js +183 -0
  970. package/dist/core/tools/todos-storage.js.map +1 -0
  971. package/dist/core/tools/todos-types.d.ts +46 -0
  972. package/dist/core/tools/todos-types.d.ts.map +1 -0
  973. package/dist/core/tools/todos-types.js +27 -0
  974. package/dist/core/tools/todos-types.js.map +1 -0
  975. package/dist/core/tools/todos.d.ts +12 -32
  976. package/dist/core/tools/todos.d.ts.map +1 -1
  977. package/dist/core/tools/todos.js +7 -893
  978. package/dist/core/tools/todos.js.map +1 -1
  979. package/dist/index-extensions.d.ts +3 -0
  980. package/dist/index-extensions.d.ts.map +1 -0
  981. package/dist/index-extensions.js +2 -0
  982. package/dist/index-extensions.js.map +1 -0
  983. package/dist/index.d.ts +3 -4
  984. package/dist/index.d.ts.map +1 -1
  985. package/dist/index.js +2 -2
  986. package/dist/index.js.map +1 -1
  987. package/dist/main-app-mode.d.ts +15 -0
  988. package/dist/main-app-mode.d.ts.map +1 -0
  989. package/dist/main-app-mode.js +51 -0
  990. package/dist/main-app-mode.js.map +1 -0
  991. package/dist/main-session-options.d.ts +12 -0
  992. package/dist/main-session-options.d.ts.map +1 -0
  993. package/dist/main-session-options.js +87 -0
  994. package/dist/main-session-options.js.map +1 -0
  995. package/dist/main-session.d.ts +9 -0
  996. package/dist/main-session.d.ts.map +1 -0
  997. package/dist/main-session.js +188 -0
  998. package/dist/main-session.js.map +1 -0
  999. package/dist/main-stdio.d.ts +12 -0
  1000. package/dist/main-stdio.d.ts.map +1 -0
  1001. package/dist/main-stdio.js +68 -0
  1002. package/dist/main-stdio.js.map +1 -0
  1003. package/dist/main.d.ts +2 -3
  1004. package/dist/main.d.ts.map +1 -1
  1005. package/dist/main.js +11 -388
  1006. package/dist/main.js.map +1 -1
  1007. package/dist/migrations-config-values.d.ts +9 -0
  1008. package/dist/migrations-config-values.d.ts.map +1 -0
  1009. package/dist/migrations-config-values.js +298 -0
  1010. package/dist/migrations-config-values.js.map +1 -0
  1011. package/dist/migrations.d.ts.map +1 -1
  1012. package/dist/migrations.js +2 -296
  1013. package/dist/migrations.js.map +1 -1
  1014. package/dist/modes/interactive/components/chat-message-renderer.d.ts.map +1 -1
  1015. package/dist/modes/interactive/components/chat-message-renderer.js +0 -7
  1016. package/dist/modes/interactive/components/chat-message-renderer.js.map +1 -1
  1017. package/dist/modes/interactive/components/chat-session-host-actions.d.ts +9 -0
  1018. package/dist/modes/interactive/components/chat-session-host-actions.d.ts.map +1 -0
  1019. package/dist/modes/interactive/components/chat-session-host-actions.js +244 -0
  1020. package/dist/modes/interactive/components/chat-session-host-actions.js.map +1 -0
  1021. package/dist/modes/interactive/components/chat-session-host-editor.d.ts +18 -0
  1022. package/dist/modes/interactive/components/chat-session-host-editor.d.ts.map +1 -0
  1023. package/dist/modes/interactive/components/chat-session-host-editor.js +165 -0
  1024. package/dist/modes/interactive/components/chat-session-host-editor.js.map +1 -0
  1025. package/dist/modes/interactive/components/chat-session-host-events.d.ts +5 -0
  1026. package/dist/modes/interactive/components/chat-session-host-events.d.ts.map +1 -0
  1027. package/dist/modes/interactive/components/chat-session-host-events.js +200 -0
  1028. package/dist/modes/interactive/components/chat-session-host-events.js.map +1 -0
  1029. package/dist/modes/interactive/components/chat-session-host-rendering.d.ts +13 -0
  1030. package/dist/modes/interactive/components/chat-session-host-rendering.d.ts.map +1 -0
  1031. package/dist/modes/interactive/components/chat-session-host-rendering.js +185 -0
  1032. package/dist/modes/interactive/components/chat-session-host-rendering.js.map +1 -0
  1033. package/dist/modes/interactive/components/chat-session-host-runtime.d.ts +13 -0
  1034. package/dist/modes/interactive/components/chat-session-host-runtime.d.ts.map +1 -0
  1035. package/dist/modes/interactive/components/chat-session-host-runtime.js +101 -0
  1036. package/dist/modes/interactive/components/chat-session-host-runtime.js.map +1 -0
  1037. package/dist/modes/interactive/components/chat-session-host-state.d.ts +53 -0
  1038. package/dist/modes/interactive/components/chat-session-host-state.d.ts.map +1 -0
  1039. package/dist/modes/interactive/components/chat-session-host-state.js +42 -0
  1040. package/dist/modes/interactive/components/chat-session-host-state.js.map +1 -0
  1041. package/dist/modes/interactive/components/chat-session-host-types.d.ts +63 -0
  1042. package/dist/modes/interactive/components/chat-session-host-types.d.ts.map +1 -0
  1043. package/dist/modes/interactive/components/chat-session-host-types.js +2 -0
  1044. package/dist/modes/interactive/components/chat-session-host-types.js.map +1 -0
  1045. package/dist/modes/interactive/components/chat-session-host-utils.d.ts +28 -0
  1046. package/dist/modes/interactive/components/chat-session-host-utils.d.ts.map +1 -0
  1047. package/dist/modes/interactive/components/chat-session-host-utils.js +103 -0
  1048. package/dist/modes/interactive/components/chat-session-host-utils.js.map +1 -0
  1049. package/dist/modes/interactive/components/chat-session-host.d.ts +6 -129
  1050. package/dist/modes/interactive/components/chat-session-host.d.ts.map +1 -1
  1051. package/dist/modes/interactive/components/chat-session-host.js +50 -1022
  1052. package/dist/modes/interactive/components/chat-session-host.js.map +1 -1
  1053. package/dist/modes/interactive/components/config-selector-list.d.ts +65 -0
  1054. package/dist/modes/interactive/components/config-selector-list.d.ts.map +1 -0
  1055. package/dist/modes/interactive/components/config-selector-list.js +458 -0
  1056. package/dist/modes/interactive/components/config-selector-list.js.map +1 -0
  1057. package/dist/modes/interactive/components/config-selector.d.ts +3 -58
  1058. package/dist/modes/interactive/components/config-selector.d.ts.map +1 -1
  1059. package/dist/modes/interactive/components/config-selector.js +2 -457
  1060. package/dist/modes/interactive/components/config-selector.js.map +1 -1
  1061. package/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
  1062. package/dist/modes/interactive/components/model-selector.js +2 -2
  1063. package/dist/modes/interactive/components/model-selector.js.map +1 -1
  1064. package/dist/modes/interactive/components/session-selector-delete.d.ts +10 -0
  1065. package/dist/modes/interactive/components/session-selector-delete.d.ts.map +1 -0
  1066. package/dist/modes/interactive/components/session-selector-delete.js +40 -0
  1067. package/dist/modes/interactive/components/session-selector-delete.js.map +1 -0
  1068. package/dist/modes/interactive/components/session-selector-header.d.ts +33 -0
  1069. package/dist/modes/interactive/components/session-selector-header.d.ts.map +1 -0
  1070. package/dist/modes/interactive/components/session-selector-header.js +117 -0
  1071. package/dist/modes/interactive/components/session-selector-header.js.map +1 -0
  1072. package/dist/modes/interactive/components/session-selector-list.d.ts +49 -0
  1073. package/dist/modes/interactive/components/session-selector-list.d.ts.map +1 -0
  1074. package/dist/modes/interactive/components/session-selector-list.js +307 -0
  1075. package/dist/modes/interactive/components/session-selector-list.js.map +1 -0
  1076. package/dist/modes/interactive/components/session-selector-tree.d.ts +25 -0
  1077. package/dist/modes/interactive/components/session-selector-tree.d.ts.map +1 -0
  1078. package/dist/modes/interactive/components/session-selector-tree.js +53 -0
  1079. package/dist/modes/interactive/components/session-selector-tree.js.map +1 -0
  1080. package/dist/modes/interactive/components/session-selector-types.d.ts +4 -0
  1081. package/dist/modes/interactive/components/session-selector-types.d.ts.map +1 -0
  1082. package/dist/modes/interactive/components/session-selector-types.js +2 -0
  1083. package/dist/modes/interactive/components/session-selector-types.js.map +1 -0
  1084. package/dist/modes/interactive/components/session-selector-utils.d.ts +4 -0
  1085. package/dist/modes/interactive/components/session-selector-utils.d.ts.map +1 -0
  1086. package/dist/modes/interactive/components/session-selector-utils.js +37 -0
  1087. package/dist/modes/interactive/components/session-selector-utils.js.map +1 -0
  1088. package/dist/modes/interactive/components/session-selector.d.ts +3 -49
  1089. package/dist/modes/interactive/components/session-selector.d.ts.map +1 -1
  1090. package/dist/modes/interactive/components/session-selector.js +5 -542
  1091. package/dist/modes/interactive/components/session-selector.js.map +1 -1
  1092. package/dist/modes/interactive/components/settings-selector-handlers.d.ts +3 -0
  1093. package/dist/modes/interactive/components/settings-selector-handlers.d.ts.map +1 -0
  1094. package/dist/modes/interactive/components/settings-selector-handlers.js +84 -0
  1095. package/dist/modes/interactive/components/settings-selector-handlers.js.map +1 -0
  1096. package/dist/modes/interactive/components/settings-selector-items.d.ts +4 -0
  1097. package/dist/modes/interactive/components/settings-selector-items.d.ts.map +1 -0
  1098. package/dist/modes/interactive/components/settings-selector-items.js +211 -0
  1099. package/dist/modes/interactive/components/settings-selector-items.js.map +1 -0
  1100. package/dist/modes/interactive/components/settings-selector-options.d.ts +6 -0
  1101. package/dist/modes/interactive/components/settings-selector-options.d.ts.map +1 -0
  1102. package/dist/modes/interactive/components/settings-selector-options.js +14 -0
  1103. package/dist/modes/interactive/components/settings-selector-options.js.map +1 -0
  1104. package/dist/modes/interactive/components/settings-selector-submenus.d.ts +44 -0
  1105. package/dist/modes/interactive/components/settings-selector-submenus.d.ts.map +1 -0
  1106. package/dist/modes/interactive/components/settings-selector-submenus.js +228 -0
  1107. package/dist/modes/interactive/components/settings-selector-submenus.js.map +1 -0
  1108. package/dist/modes/interactive/components/settings-selector-types.d.ts +67 -0
  1109. package/dist/modes/interactive/components/settings-selector-types.d.ts.map +1 -0
  1110. package/dist/modes/interactive/components/settings-selector-types.js +2 -0
  1111. package/dist/modes/interactive/components/settings-selector-types.js.map +1 -0
  1112. package/dist/modes/interactive/components/settings-selector.d.ts +2 -63
  1113. package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
  1114. package/dist/modes/interactive/components/settings-selector.js +5 -538
  1115. package/dist/modes/interactive/components/settings-selector.js.map +1 -1
  1116. package/dist/modes/interactive/components/tree-selector-component.d.ts +21 -0
  1117. package/dist/modes/interactive/components/tree-selector-component.d.ts.map +1 -0
  1118. package/dist/modes/interactive/components/tree-selector-component.js +80 -0
  1119. package/dist/modes/interactive/components/tree-selector-component.js.map +1 -0
  1120. package/dist/modes/interactive/components/tree-selector-content.d.ts +8 -0
  1121. package/dist/modes/interactive/components/tree-selector-content.d.ts.map +1 -0
  1122. package/dist/modes/interactive/components/tree-selector-content.js +263 -0
  1123. package/dist/modes/interactive/components/tree-selector-content.js.map +1 -0
  1124. package/dist/modes/interactive/components/tree-selector-help.d.ts +16 -0
  1125. package/dist/modes/interactive/components/tree-selector-help.d.ts.map +1 -0
  1126. package/dist/modes/interactive/components/tree-selector-help.js +103 -0
  1127. package/dist/modes/interactive/components/tree-selector-help.js.map +1 -0
  1128. package/dist/modes/interactive/components/tree-selector-label-input.d.ts +16 -0
  1129. package/dist/modes/interactive/components/tree-selector-label-input.d.ts.map +1 -0
  1130. package/dist/modes/interactive/components/tree-selector-label-input.js +46 -0
  1131. package/dist/modes/interactive/components/tree-selector-label-input.js.map +1 -0
  1132. package/dist/modes/interactive/components/tree-selector-list.d.ts +33 -0
  1133. package/dist/modes/interactive/components/tree-selector-list.d.ts.map +1 -0
  1134. package/dist/modes/interactive/components/tree-selector-list.js +336 -0
  1135. package/dist/modes/interactive/components/tree-selector-list.js.map +1 -0
  1136. package/dist/modes/interactive/components/tree-selector-model.d.ts +7 -0
  1137. package/dist/modes/interactive/components/tree-selector-model.d.ts.map +1 -0
  1138. package/dist/modes/interactive/components/tree-selector-model.js +358 -0
  1139. package/dist/modes/interactive/components/tree-selector-model.js.map +1 -0
  1140. package/dist/modes/interactive/components/tree-selector-types.d.ts +57 -0
  1141. package/dist/modes/interactive/components/tree-selector-types.d.ts.map +1 -0
  1142. package/dist/modes/interactive/components/tree-selector-types.js +6 -0
  1143. package/dist/modes/interactive/components/tree-selector-types.js.map +1 -0
  1144. package/dist/modes/interactive/components/tree-selector-viewport.d.ts +10 -0
  1145. package/dist/modes/interactive/components/tree-selector-viewport.d.ts.map +1 -0
  1146. package/dist/modes/interactive/components/tree-selector-viewport.js +32 -0
  1147. package/dist/modes/interactive/components/tree-selector-viewport.js.map +1 -0
  1148. package/dist/modes/interactive/components/tree-selector.d.ts +2 -88
  1149. package/dist/modes/interactive/components/tree-selector.d.ts.map +1 -1
  1150. package/dist/modes/interactive/components/tree-selector.js +1 -1200
  1151. package/dist/modes/interactive/components/tree-selector.js.map +1 -1
  1152. package/dist/modes/interactive/interactive-agent-events.d.ts +2 -0
  1153. package/dist/modes/interactive/interactive-agent-events.d.ts.map +1 -0
  1154. package/dist/modes/interactive/interactive-agent-events.js +370 -0
  1155. package/dist/modes/interactive/interactive-agent-events.js.map +1 -0
  1156. package/dist/modes/interactive/interactive-auth-login.d.ts +2 -0
  1157. package/dist/modes/interactive/interactive-auth-login.d.ts.map +1 -0
  1158. package/dist/modes/interactive/interactive-auth-login.js +214 -0
  1159. package/dist/modes/interactive/interactive-auth-login.js.map +1 -0
  1160. package/dist/modes/interactive/interactive-auth-routing.d.ts +2 -0
  1161. package/dist/modes/interactive/interactive-auth-routing.d.ts.map +1 -0
  1162. package/dist/modes/interactive/interactive-auth-routing.js +128 -0
  1163. package/dist/modes/interactive/interactive-auth-routing.js.map +1 -0
  1164. package/dist/modes/interactive/interactive-autocomplete.d.ts +2 -0
  1165. package/dist/modes/interactive/interactive-autocomplete.d.ts.map +1 -0
  1166. package/dist/modes/interactive/interactive-autocomplete.js +140 -0
  1167. package/dist/modes/interactive/interactive-autocomplete.js.map +1 -0
  1168. package/dist/modes/interactive/interactive-bash-compact.d.ts +2 -0
  1169. package/dist/modes/interactive/interactive-bash-compact.d.ts.map +1 -0
  1170. package/dist/modes/interactive/interactive-bash-compact.js +112 -0
  1171. package/dist/modes/interactive/interactive-bash-compact.js.map +1 -0
  1172. package/dist/modes/interactive/interactive-editor-actions.d.ts +2 -0
  1173. package/dist/modes/interactive/interactive-editor-actions.d.ts.map +1 -0
  1174. package/dist/modes/interactive/interactive-editor-actions.js +131 -0
  1175. package/dist/modes/interactive/interactive-editor-actions.js.map +1 -0
  1176. package/dist/modes/interactive/interactive-extension-context.d.ts +2 -0
  1177. package/dist/modes/interactive/interactive-extension-context.d.ts.map +1 -0
  1178. package/dist/modes/interactive/interactive-extension-context.js +159 -0
  1179. package/dist/modes/interactive/interactive-extension-context.js.map +1 -0
  1180. package/dist/modes/interactive/interactive-extension-custom-ui.d.ts +2 -0
  1181. package/dist/modes/interactive/interactive-extension-custom-ui.d.ts.map +1 -0
  1182. package/dist/modes/interactive/interactive-extension-custom-ui.js +208 -0
  1183. package/dist/modes/interactive/interactive-extension-custom-ui.js.map +1 -0
  1184. package/dist/modes/interactive/interactive-extension-dialogs.d.ts +2 -0
  1185. package/dist/modes/interactive/interactive-extension-dialogs.d.ts.map +1 -0
  1186. package/dist/modes/interactive/interactive-extension-dialogs.js +162 -0
  1187. package/dist/modes/interactive/interactive-extension-dialogs.js.map +1 -0
  1188. package/dist/modes/interactive/interactive-extension-runtime.d.ts +2 -0
  1189. package/dist/modes/interactive/interactive-extension-runtime.d.ts.map +1 -0
  1190. package/dist/modes/interactive/interactive-extension-runtime.js +179 -0
  1191. package/dist/modes/interactive/interactive-extension-runtime.js.map +1 -0
  1192. package/dist/modes/interactive/interactive-extension-widgets.d.ts +2 -0
  1193. package/dist/modes/interactive/interactive-extension-widgets.d.ts.map +1 -0
  1194. package/dist/modes/interactive/interactive-extension-widgets.js +113 -0
  1195. package/dist/modes/interactive/interactive-extension-widgets.js.map +1 -0
  1196. package/dist/modes/interactive/interactive-hotkeys-debug.d.ts +2 -0
  1197. package/dist/modes/interactive/interactive-hotkeys-debug.d.ts.map +1 -0
  1198. package/dist/modes/interactive/interactive-hotkeys-debug.js +186 -0
  1199. package/dist/modes/interactive/interactive-hotkeys-debug.js.map +1 -0
  1200. package/dist/modes/interactive/interactive-input-handling.d.ts +2 -0
  1201. package/dist/modes/interactive/interactive-input-handling.d.ts.map +1 -0
  1202. package/dist/modes/interactive/interactive-input-handling.js +275 -0
  1203. package/dist/modes/interactive/interactive-input-handling.js.map +1 -0
  1204. package/dist/modes/interactive/interactive-mode-base.d.ts +103 -0
  1205. package/dist/modes/interactive/interactive-mode-base.d.ts.map +1 -0
  1206. package/dist/modes/interactive/interactive-mode-base.js +130 -0
  1207. package/dist/modes/interactive/interactive-mode-base.js.map +1 -0
  1208. package/dist/modes/interactive/interactive-mode-deps.d.ts +81 -0
  1209. package/dist/modes/interactive/interactive-mode-deps.d.ts.map +1 -0
  1210. package/dist/modes/interactive/interactive-mode-deps.js +74 -0
  1211. package/dist/modes/interactive/interactive-mode-deps.js.map +1 -0
  1212. package/dist/modes/interactive/interactive-mode-helpers.d.ts +21 -0
  1213. package/dist/modes/interactive/interactive-mode-helpers.d.ts.map +1 -0
  1214. package/dist/modes/interactive/interactive-mode-helpers.js +77 -0
  1215. package/dist/modes/interactive/interactive-mode-helpers.js.map +1 -0
  1216. package/dist/modes/interactive/interactive-mode-surface.d.ts +313 -0
  1217. package/dist/modes/interactive/interactive-mode-surface.d.ts.map +1 -0
  1218. package/dist/modes/interactive/interactive-mode-surface.js +2 -0
  1219. package/dist/modes/interactive/interactive-mode-surface.js.map +1 -0
  1220. package/dist/modes/interactive/interactive-mode-types.d.ts +29 -0
  1221. package/dist/modes/interactive/interactive-mode-types.d.ts.map +1 -0
  1222. package/dist/modes/interactive/interactive-mode-types.js +2 -0
  1223. package/dist/modes/interactive/interactive-mode-types.js.map +1 -0
  1224. package/dist/modes/interactive/interactive-mode.d.ts +30 -404
  1225. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  1226. package/dist/modes/interactive/interactive-mode.js +29 -5260
  1227. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  1228. package/dist/modes/interactive/interactive-model-routing.d.ts +2 -0
  1229. package/dist/modes/interactive/interactive-model-routing.d.ts.map +1 -0
  1230. package/dist/modes/interactive/interactive-model-routing.js +269 -0
  1231. package/dist/modes/interactive/interactive-model-routing.js.map +1 -0
  1232. package/dist/modes/interactive/interactive-process-lifecycle.d.ts +2 -0
  1233. package/dist/modes/interactive/interactive-process-lifecycle.d.ts.map +1 -0
  1234. package/dist/modes/interactive/interactive-process-lifecycle.js +189 -0
  1235. package/dist/modes/interactive/interactive-process-lifecycle.js.map +1 -0
  1236. package/dist/modes/interactive/interactive-queueing.d.ts +2 -0
  1237. package/dist/modes/interactive/interactive-queueing.d.ts.map +1 -0
  1238. package/dist/modes/interactive/interactive-queueing.js +163 -0
  1239. package/dist/modes/interactive/interactive-queueing.js.map +1 -0
  1240. package/dist/modes/interactive/interactive-render-chat.d.ts +2 -0
  1241. package/dist/modes/interactive/interactive-render-chat.d.ts.map +1 -0
  1242. package/dist/modes/interactive/interactive-render-chat.js +170 -0
  1243. package/dist/modes/interactive/interactive-render-chat.js.map +1 -0
  1244. package/dist/modes/interactive/interactive-resource-disclosure.d.ts +2 -0
  1245. package/dist/modes/interactive/interactive-resource-disclosure.d.ts.map +1 -0
  1246. package/dist/modes/interactive/interactive-resource-disclosure.js +101 -0
  1247. package/dist/modes/interactive/interactive-resource-disclosure.js.map +1 -0
  1248. package/dist/modes/interactive/interactive-resource-paths.d.ts +2 -0
  1249. package/dist/modes/interactive/interactive-resource-paths.d.ts.map +1 -0
  1250. package/dist/modes/interactive/interactive-resource-paths.js +228 -0
  1251. package/dist/modes/interactive/interactive-resource-paths.js.map +1 -0
  1252. package/dist/modes/interactive/interactive-resource-rendering.d.ts +2 -0
  1253. package/dist/modes/interactive/interactive-resource-rendering.d.ts.map +1 -0
  1254. package/dist/modes/interactive/interactive-resource-rendering.js +181 -0
  1255. package/dist/modes/interactive/interactive-resource-rendering.js.map +1 -0
  1256. package/dist/modes/interactive/interactive-selectors.d.ts +2 -0
  1257. package/dist/modes/interactive/interactive-selectors.d.ts.map +1 -0
  1258. package/dist/modes/interactive/interactive-selectors.js +198 -0
  1259. package/dist/modes/interactive/interactive-selectors.js.map +1 -0
  1260. package/dist/modes/interactive/interactive-session-routing.d.ts +2 -0
  1261. package/dist/modes/interactive/interactive-session-routing.d.ts.map +1 -0
  1262. package/dist/modes/interactive/interactive-session-routing.js +232 -0
  1263. package/dist/modes/interactive/interactive-session-routing.js.map +1 -0
  1264. package/dist/modes/interactive/interactive-session-runtime.d.ts +2 -0
  1265. package/dist/modes/interactive/interactive-session-runtime.d.ts.map +1 -0
  1266. package/dist/modes/interactive/interactive-session-runtime.js +131 -0
  1267. package/dist/modes/interactive/interactive-session-runtime.js.map +1 -0
  1268. package/dist/modes/interactive/interactive-slash-commands.d.ts +2 -0
  1269. package/dist/modes/interactive/interactive-slash-commands.d.ts.map +1 -0
  1270. package/dist/modes/interactive/interactive-slash-commands.js +338 -0
  1271. package/dist/modes/interactive/interactive-slash-commands.js.map +1 -0
  1272. package/dist/modes/interactive/interactive-startup.d.ts +2 -0
  1273. package/dist/modes/interactive/interactive-startup.d.ts.map +1 -0
  1274. package/dist/modes/interactive/interactive-startup.js +348 -0
  1275. package/dist/modes/interactive/interactive-startup.js.map +1 -0
  1276. package/dist/modes/interactive/model-search.d.ts +5 -0
  1277. package/dist/modes/interactive/model-search.d.ts.map +1 -1
  1278. package/dist/modes/interactive/model-search.js +9 -0
  1279. package/dist/modes/interactive/model-search.js.map +1 -1
  1280. package/dist/modes/interactive/theme/color-utils.d.ts +20 -0
  1281. package/dist/modes/interactive/theme/color-utils.d.ts.map +1 -0
  1282. package/dist/modes/interactive/theme/color-utils.js +204 -0
  1283. package/dist/modes/interactive/theme/color-utils.js.map +1 -0
  1284. package/dist/modes/interactive/theme/export-colors.d.ts +19 -0
  1285. package/dist/modes/interactive/theme/export-colors.d.ts.map +1 -0
  1286. package/dist/modes/interactive/theme/export-colors.js +69 -0
  1287. package/dist/modes/interactive/theme/export-colors.js.map +1 -0
  1288. package/dist/modes/interactive/theme/global-theme.d.ts +12 -0
  1289. package/dist/modes/interactive/theme/global-theme.d.ts.map +1 -0
  1290. package/dist/modes/interactive/theme/global-theme.js +150 -0
  1291. package/dist/modes/interactive/theme/global-theme.js.map +1 -0
  1292. package/dist/modes/interactive/theme/terminal-detection.d.ts +30 -0
  1293. package/dist/modes/interactive/theme/terminal-detection.d.ts.map +1 -0
  1294. package/dist/modes/interactive/theme/terminal-detection.js +89 -0
  1295. package/dist/modes/interactive/theme/terminal-detection.js.map +1 -0
  1296. package/dist/modes/interactive/theme/theme-class.d.ts +30 -0
  1297. package/dist/modes/interactive/theme/theme-class.d.ts.map +1 -0
  1298. package/dist/modes/interactive/theme/theme-class.js +83 -0
  1299. package/dist/modes/interactive/theme/theme-class.js.map +1 -0
  1300. package/dist/modes/interactive/theme/theme-loading.d.ts +17 -0
  1301. package/dist/modes/interactive/theme/theme-loading.d.ts.map +1 -0
  1302. package/dist/modes/interactive/theme/theme-loading.js +155 -0
  1303. package/dist/modes/interactive/theme/theme-loading.js.map +1 -0
  1304. package/dist/modes/interactive/theme/theme-parse.d.ts +5 -0
  1305. package/dist/modes/interactive/theme/theme-parse.d.ts.map +1 -0
  1306. package/dist/modes/interactive/theme/theme-parse.js +52 -0
  1307. package/dist/modes/interactive/theme/theme-parse.js.map +1 -0
  1308. package/dist/modes/interactive/theme/theme-schema.d.ts +255 -0
  1309. package/dist/modes/interactive/theme/theme-schema.d.ts.map +1 -0
  1310. package/dist/modes/interactive/theme/theme-schema.js +78 -0
  1311. package/dist/modes/interactive/theme/theme-schema.js.map +1 -0
  1312. package/dist/modes/interactive/theme/theme.d.ts +6 -108
  1313. package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
  1314. package/dist/modes/interactive/theme/theme.js +6 -1065
  1315. package/dist/modes/interactive/theme/theme.js.map +1 -1
  1316. package/dist/modes/interactive/theme/tui-theme.d.ts +15 -0
  1317. package/dist/modes/interactive/theme/tui-theme.d.ts.map +1 -0
  1318. package/dist/modes/interactive/theme/tui-theme.js +199 -0
  1319. package/dist/modes/interactive/theme/tui-theme.js.map +1 -0
  1320. package/dist/modes/rpc/rpc-client.d.ts +1 -61
  1321. package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
  1322. package/dist/modes/rpc/rpc-client.js +1 -72
  1323. package/dist/modes/rpc/rpc-client.js.map +1 -1
  1324. package/dist/modes/rpc/rpc-command-handler.d.ts +14 -0
  1325. package/dist/modes/rpc/rpc-command-handler.d.ts.map +1 -0
  1326. package/dist/modes/rpc/rpc-command-handler.js +226 -0
  1327. package/dist/modes/rpc/rpc-command-handler.js.map +1 -0
  1328. package/dist/modes/rpc/rpc-extension-ui.d.ts +15 -0
  1329. package/dist/modes/rpc/rpc-extension-ui.d.ts.map +1 -0
  1330. package/dist/modes/rpc/rpc-extension-ui.js +196 -0
  1331. package/dist/modes/rpc/rpc-extension-ui.js.map +1 -0
  1332. package/dist/modes/rpc/rpc-input.d.ts +12 -0
  1333. package/dist/modes/rpc/rpc-input.d.ts.map +1 -0
  1334. package/dist/modes/rpc/rpc-input.js +54 -0
  1335. package/dist/modes/rpc/rpc-input.js.map +1 -0
  1336. package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
  1337. package/dist/modes/rpc/rpc-mode.js +43 -607
  1338. package/dist/modes/rpc/rpc-mode.js.map +1 -1
  1339. package/dist/modes/rpc/rpc-responses.d.ts +8 -0
  1340. package/dist/modes/rpc/rpc-responses.d.ts.map +1 -0
  1341. package/dist/modes/rpc/rpc-responses.js +27 -0
  1342. package/dist/modes/rpc/rpc-responses.js.map +1 -0
  1343. package/dist/modes/rpc/rpc-session-binding.d.ts +25 -0
  1344. package/dist/modes/rpc/rpc-session-binding.d.ts.map +1 -0
  1345. package/dist/modes/rpc/rpc-session-binding.js +70 -0
  1346. package/dist/modes/rpc/rpc-session-binding.js.map +1 -0
  1347. package/dist/package-manager-cli-parser.d.ts +28 -0
  1348. package/dist/package-manager-cli-parser.d.ts.map +1 -0
  1349. package/dist/package-manager-cli-parser.js +269 -0
  1350. package/dist/package-manager-cli-parser.js.map +1 -0
  1351. package/dist/package-manager-cli.d.ts +0 -1
  1352. package/dist/package-manager-cli.d.ts.map +1 -1
  1353. package/dist/package-manager-cli.js +2 -267
  1354. package/dist/package-manager-cli.js.map +1 -1
  1355. package/dist/utils/git.d.ts.map +1 -1
  1356. package/dist/utils/git.js +10 -0
  1357. package/dist/utils/git.js.map +1 -1
  1358. package/dist/utils/shell.d.ts +1 -0
  1359. package/dist/utils/shell.d.ts.map +1 -1
  1360. package/dist/utils/shell.js +12 -5
  1361. package/dist/utils/shell.js.map +1 -1
  1362. package/dist/utils/version-check.d.ts +1 -0
  1363. package/dist/utils/version-check.d.ts.map +1 -1
  1364. package/dist/utils/version-check.js +17 -0
  1365. package/dist/utils/version-check.js.map +1 -1
  1366. package/docs/custom-provider.md +4 -3
  1367. package/docs/development.md +4 -0
  1368. package/docs/models.md +3 -2
  1369. package/docs/packages.md +2 -2
  1370. package/docs/quickstart.md +1 -1
  1371. package/docs/sdk.md +2 -40
  1372. package/docs/security.md +1 -1
  1373. package/docs/workflows.md +246 -179
  1374. package/examples/extensions/custom-provider-anthropic/index.ts +1 -106
  1375. package/examples/extensions/gondolin/index.ts +0 -23
  1376. package/examples/extensions/overlay-qa-animation-components.ts +255 -0
  1377. package/examples/extensions/overlay-qa-focus-components.ts +222 -0
  1378. package/examples/extensions/overlay-qa-position-components.ts +433 -0
  1379. package/examples/extensions/overlay-qa-shared.ts +37 -0
  1380. package/examples/extensions/overlay-qa-streaming-input-components.ts +205 -0
  1381. package/examples/extensions/overlay-qa-tests.ts +17 -1156
  1382. package/examples/extensions/overlay-qa-toggle-passive-components.ts +169 -0
  1383. package/examples/extensions/space-invaders.ts +0 -60
  1384. package/examples/extensions/subagent/display.ts +148 -0
  1385. package/examples/extensions/subagent/index.ts +11 -858
  1386. package/examples/extensions/subagent/render.ts +383 -0
  1387. package/examples/extensions/subagent/runner.ts +252 -0
  1388. package/examples/extensions/subagent/schemas.ts +59 -0
  1389. package/examples/extensions/subagent/types.ts +36 -0
  1390. package/examples/extensions/tic-tac-toe-instructions.ts +65 -0
  1391. package/examples/extensions/tic-tac-toe-rendering.ts +414 -0
  1392. package/examples/extensions/tic-tac-toe-state.ts +158 -0
  1393. package/examples/extensions/tic-tac-toe.ts +92 -754
  1394. package/examples/rpc-extension-ui-components.ts +189 -0
  1395. package/examples/rpc-extension-ui.ts +2 -179
  1396. package/package.json +7 -7
  1397. package/dist/builtin/workflows/src/workflows/define-workflow.ts +0 -277
  1398. package/dist/core/tools/bash-policy.d.ts +0 -62
  1399. package/dist/core/tools/bash-policy.d.ts.map +0 -1
  1400. package/dist/core/tools/bash-policy.js +0 -1069
  1401. package/dist/core/tools/bash-policy.js.map +0 -1
@@ -0,0 +1,189 @@
1
+ import type { ThinkingLevel } from "@earendil-works/pi-agent-core";
2
+ import type { Api, ImageContent, Model, TextContent } from "@earendil-works/pi-ai";
3
+ import type { KeyId } from "@earendil-works/pi-tui";
4
+ import type { TSchema } from "typebox";
5
+ import type { EventBus } from "../event-bus.ts";
6
+ import type { ExecOptions, ExecResult } from "../exec.ts";
7
+ import type { CustomMessage } from "../messages.ts";
8
+ import type { ResolvedResource } from "../package-manager.ts";
9
+ import type { DefaultResourceLoaderInheritanceSnapshot } from "../resource-loader.ts";
10
+ import type { SlashCommandInfo } from "../slash-commands.ts";
11
+ import type { AfterProviderResponseEvent, AgentEndEvent, AgentStartEvent, BeforeAgentStartEvent, BeforeProviderRequestEvent, ContextEvent, InputEvent, InputEventResult, MessageEndEvent, MessageStartEvent, MessageUpdateEvent, ModelSelectEvent, ProjectTrustHandler, ThinkingLevelSelectEvent, ToolExecutionEndEvent, ToolExecutionStartEvent, ToolExecutionUpdateEvent, TurnEndEvent, TurnStartEvent, UserBashEvent } from "./agent-events.ts";
12
+ import type { RegisteredCommand } from "./command-types.ts";
13
+ import type { ExtensionContext } from "./context-types.ts";
14
+ import type { BeforeAgentStartEventResult, BeforeProviderRequestEventResult, ContextEventResult, MessageEndEventResult, SessionBeforeCompactResult, SessionBeforeForkResult, SessionBeforeSwitchResult, SessionBeforeTreeResult, ToolCallEventResult, ToolResultEventResult, UserBashEventResult } from "./event-results.ts";
15
+ import type { MessageRenderer, SendMessageOptions } from "./message-types.ts";
16
+ import type { ProviderConfig } from "./provider-types.ts";
17
+ import type { ResourcesDiscoverEvent, ResourcesDiscoverResult, SessionBeforeCompactEvent, SessionBeforeForkEvent, SessionBeforeSwitchEvent, SessionBeforeTreeEvent, SessionCompactEvent, SessionShutdownEvent, SessionStartEvent, SessionTreeEvent } from "./session-events.ts";
18
+ import type { ToolDefinition, ToolInfo } from "./tool-types.ts";
19
+ import type { ToolCallEvent, ToolResultEvent } from "./tool-events.ts";
20
+ /** Handler function type for events */
21
+ export type ExtensionHandler<E, R = undefined> = (event: E, ctx: ExtensionContext) => Promise<R | void> | R | void;
22
+ /**
23
+ * ExtensionAPI passed to extension factory functions.
24
+ */
25
+ export interface ExtensionAPI {
26
+ on(event: "resources_discover", handler: ExtensionHandler<ResourcesDiscoverEvent, ResourcesDiscoverResult>): void;
27
+ on(event: "session_start", handler: ExtensionHandler<SessionStartEvent>): void;
28
+ on(event: "session_before_switch", handler: ExtensionHandler<SessionBeforeSwitchEvent, SessionBeforeSwitchResult>): void;
29
+ on(event: "session_before_fork", handler: ExtensionHandler<SessionBeforeForkEvent, SessionBeforeForkResult>): void;
30
+ on(event: "session_before_compact", handler: ExtensionHandler<SessionBeforeCompactEvent, SessionBeforeCompactResult>): void;
31
+ on(event: "session_compact", handler: ExtensionHandler<SessionCompactEvent>): void;
32
+ on(event: "session_shutdown", handler: ExtensionHandler<SessionShutdownEvent>): void;
33
+ on(event: "session_before_tree", handler: ExtensionHandler<SessionBeforeTreeEvent, SessionBeforeTreeResult>): void;
34
+ on(event: "session_tree", handler: ExtensionHandler<SessionTreeEvent>): void;
35
+ on(event: "context", handler: ExtensionHandler<ContextEvent, ContextEventResult>): void;
36
+ on(event: "before_provider_request", handler: ExtensionHandler<BeforeProviderRequestEvent, BeforeProviderRequestEventResult>): void;
37
+ on(event: "after_provider_response", handler: ExtensionHandler<AfterProviderResponseEvent>): void;
38
+ on(event: "before_agent_start", handler: ExtensionHandler<BeforeAgentStartEvent, BeforeAgentStartEventResult>): void;
39
+ on(event: "agent_start", handler: ExtensionHandler<AgentStartEvent>): void;
40
+ on(event: "agent_end", handler: ExtensionHandler<AgentEndEvent>): void;
41
+ on(event: "turn_start", handler: ExtensionHandler<TurnStartEvent>): void;
42
+ on(event: "turn_end", handler: ExtensionHandler<TurnEndEvent>): void;
43
+ on(event: "message_start", handler: ExtensionHandler<MessageStartEvent>): void;
44
+ on(event: "message_update", handler: ExtensionHandler<MessageUpdateEvent>): void;
45
+ on(event: "message_end", handler: ExtensionHandler<MessageEndEvent, MessageEndEventResult>): void;
46
+ on(event: "tool_execution_start", handler: ExtensionHandler<ToolExecutionStartEvent>): void;
47
+ on(event: "tool_execution_update", handler: ExtensionHandler<ToolExecutionUpdateEvent>): void;
48
+ on(event: "tool_execution_end", handler: ExtensionHandler<ToolExecutionEndEvent>): void;
49
+ on(event: "model_select", handler: ExtensionHandler<ModelSelectEvent>): void;
50
+ on(event: "thinking_level_select", handler: ExtensionHandler<ThinkingLevelSelectEvent>): void;
51
+ on(event: "tool_call", handler: ExtensionHandler<ToolCallEvent, ToolCallEventResult>): void;
52
+ on(event: "tool_result", handler: ExtensionHandler<ToolResultEvent, ToolResultEventResult>): void;
53
+ on(event: "user_bash", handler: ExtensionHandler<UserBashEvent, UserBashEventResult>): void;
54
+ on(event: "project_trust", handler: ProjectTrustHandler): void;
55
+ on(event: "input", handler: ExtensionHandler<InputEvent, InputEventResult>): void;
56
+ /** Register a tool that the LLM can call. */
57
+ registerTool<TParams extends TSchema = TSchema, TDetails = unknown, TState = unknown>(tool: ToolDefinition<TParams, TDetails, TState>): void;
58
+ /** Register a custom command. */
59
+ registerCommand(name: string, options: Omit<RegisteredCommand, "name" | "sourceInfo">): void;
60
+ /** Register a keyboard shortcut. */
61
+ registerShortcut(shortcut: KeyId, options: {
62
+ description?: string;
63
+ handler: (ctx: ExtensionContext) => Promise<void> | void;
64
+ }): void;
65
+ /** Register a CLI flag. */
66
+ registerFlag(name: string, options: {
67
+ description?: string;
68
+ type: "boolean" | "string";
69
+ default?: boolean | string;
70
+ }): void;
71
+ /** Get the value of a registered CLI flag. */
72
+ getFlag(name: string): boolean | string | undefined;
73
+ /** Return package-provided workflow files discovered for this session. */
74
+ getWorkflowResources(): ResolvedResource[];
75
+ /**
76
+ * Re-read package/settings workflow resources and return the updated snapshot when supported by the host.
77
+ * Does not reload extensions, skills, prompts, themes, or context files.
78
+ */
79
+ refreshWorkflowResources?: () => Promise<ResolvedResource[]>;
80
+ /**
81
+ * Return the resource-loader options that child Atomic sessions should inherit without sharing this loader instance.
82
+ */
83
+ getResourceLoaderInheritanceSnapshot?: () => DefaultResourceLoaderInheritanceSnapshot;
84
+ /** Register a custom renderer for CustomMessageEntry. */
85
+ registerMessageRenderer<T = unknown>(customType: string, renderer: MessageRenderer<T>): void;
86
+ /** Send a custom message to the session. */
87
+ sendMessage<T = unknown>(message: Pick<CustomMessage<T>, "customType" | "content" | "display" | "details">, options?: SendMessageOptions): void;
88
+ /**
89
+ * Send a user message to the agent. Always triggers a turn.
90
+ * When the agent is streaming, use deliverAs to specify how to queue the message.
91
+ */
92
+ sendUserMessage(content: string | (TextContent | ImageContent)[], options?: {
93
+ deliverAs?: "steer" | "followUp";
94
+ }): void;
95
+ /** Append a custom entry to the session for state persistence (not sent to LLM). */
96
+ appendEntry<T = unknown>(customType: string, data?: T): void;
97
+ /** Set the session display name (shown in session selector). */
98
+ setSessionName(name: string): void;
99
+ /** Get the current session name, if set. */
100
+ getSessionName(): string | undefined;
101
+ /** Set or clear a label on an entry. Labels are user-defined markers for bookmarking/navigation. */
102
+ setLabel(entryId: string, label: string | undefined): void;
103
+ /** Execute a shell command. */
104
+ exec(command: string, args: string[], options?: ExecOptions): Promise<ExecResult>;
105
+ /** Get the list of currently active tool names. */
106
+ getActiveTools(): string[];
107
+ /** Get all configured tools with parameter schema and source metadata. */
108
+ getAllTools(): ToolInfo[];
109
+ /** Set the active tools by name. */
110
+ setActiveTools(toolNames: string[]): void;
111
+ /** Get available slash commands in the current session. */
112
+ getCommands(): SlashCommandInfo[];
113
+ /** Set the current model. Returns false if no API key available. */
114
+ setModel(model: Model<Api>): Promise<boolean>;
115
+ /** Get current thinking level. */
116
+ getThinkingLevel(): ThinkingLevel;
117
+ /** Set thinking level (clamped to model capabilities). */
118
+ setThinkingLevel(level: ThinkingLevel): void;
119
+ /**
120
+ * Register or override a model provider.
121
+ *
122
+ * If `models` is provided: replaces all existing models for this provider.
123
+ * If only `baseUrl` is provided: overrides the URL for existing models.
124
+ * If `oauth` is provided: registers OAuth provider for /login support.
125
+ * If `streamSimple` is provided: registers a custom API stream handler.
126
+ *
127
+ * During initial extension load this call is queued and applied once the
128
+ * runner has bound its context. After that it takes effect immediately, so
129
+ * it is safe to call from command handlers or event callbacks without
130
+ * requiring a `/reload`.
131
+ *
132
+ * @example
133
+ * // Register a new provider with custom models
134
+ * pi.registerProvider("my-proxy", {
135
+ * baseUrl: "https://proxy.example.com",
136
+ * apiKey: "$PROXY_API_KEY",
137
+ * api: "anthropic-messages",
138
+ * models: [
139
+ * {
140
+ * id: "claude-sonnet-4-20250514",
141
+ * name: "Claude 4 Sonnet (proxy)",
142
+ * reasoning: false,
143
+ * input: ["text", "image"],
144
+ * cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
145
+ * contextWindow: 200000,
146
+ * maxTokens: 16384
147
+ * }
148
+ * ]
149
+ * });
150
+ *
151
+ * @example
152
+ * // Override baseUrl for an existing provider
153
+ * pi.registerProvider("anthropic", {
154
+ * baseUrl: "https://proxy.example.com"
155
+ * });
156
+ *
157
+ * @example
158
+ * // Register provider with OAuth support
159
+ * pi.registerProvider("corporate-ai", {
160
+ * baseUrl: "https://ai.corp.com",
161
+ * api: "openai-responses",
162
+ * models: [...],
163
+ * oauth: {
164
+ * name: "Corporate AI (SSO)",
165
+ * async login(callbacks) { ... },
166
+ * async refreshToken(credentials) { ... },
167
+ * getApiKey(credentials) { return credentials.access; }
168
+ * }
169
+ * });
170
+ */
171
+ registerProvider(name: string, config: ProviderConfig): void;
172
+ /**
173
+ * Unregister a previously registered provider.
174
+ *
175
+ * Removes all models belonging to the named provider and restores any
176
+ * built-in models that were overridden by it. Has no effect if the provider
177
+ * is not currently registered.
178
+ *
179
+ * Like `registerProvider`, this takes effect immediately when called after
180
+ * the initial load phase.
181
+ *
182
+ * @example
183
+ * pi.unregisterProvider("my-proxy");
184
+ */
185
+ unregisterProvider(name: string): void;
186
+ /** Shared event bus for extension communication. */
187
+ events: EventBus;
188
+ }
189
+ //# sourceMappingURL=api-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-types.d.ts","sourceRoot":"","sources":["../../../src/core/extensions/api-types.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ThinkingLevel } from \"@earendil-works/pi-agent-core\";\nimport type { Api, ImageContent, Model, TextContent } from \"@earendil-works/pi-ai\";\nimport type { KeyId } from \"@earendil-works/pi-tui\";\nimport type { TSchema } from \"typebox\";\nimport type { EventBus } from \"../event-bus.ts\";\nimport type { ExecOptions, ExecResult } from \"../exec.ts\";\nimport type { CustomMessage } from \"../messages.ts\";\nimport type { ResolvedResource } from \"../package-manager.ts\";\nimport type { DefaultResourceLoaderInheritanceSnapshot } from \"../resource-loader.ts\";\nimport type { SlashCommandInfo } from \"../slash-commands.ts\";\nimport type {\n\tAfterProviderResponseEvent,\n\tAgentEndEvent,\n\tAgentStartEvent,\n\tBeforeAgentStartEvent,\n\tBeforeProviderRequestEvent,\n\tContextEvent,\n\tInputEvent,\n\tInputEventResult,\n\tMessageEndEvent,\n\tMessageStartEvent,\n\tMessageUpdateEvent,\n\tModelSelectEvent,\n\tProjectTrustHandler,\n\tThinkingLevelSelectEvent,\n\tToolExecutionEndEvent,\n\tToolExecutionStartEvent,\n\tToolExecutionUpdateEvent,\n\tTurnEndEvent,\n\tTurnStartEvent,\n\tUserBashEvent,\n} from \"./agent-events.ts\";\nimport type { RegisteredCommand } from \"./command-types.ts\";\nimport type { ExtensionContext } from \"./context-types.ts\";\nimport type {\n\tBeforeAgentStartEventResult,\n\tBeforeProviderRequestEventResult,\n\tContextEventResult,\n\tMessageEndEventResult,\n\tSessionBeforeCompactResult,\n\tSessionBeforeForkResult,\n\tSessionBeforeSwitchResult,\n\tSessionBeforeTreeResult,\n\tToolCallEventResult,\n\tToolResultEventResult,\n\tUserBashEventResult,\n} from \"./event-results.ts\";\nimport type { MessageRenderer, SendMessageOptions } from \"./message-types.ts\";\nimport type { ProviderConfig } from \"./provider-types.ts\";\nimport type {\n\tResourcesDiscoverEvent,\n\tResourcesDiscoverResult,\n\tSessionBeforeCompactEvent,\n\tSessionBeforeForkEvent,\n\tSessionBeforeSwitchEvent,\n\tSessionBeforeTreeEvent,\n\tSessionCompactEvent,\n\tSessionShutdownEvent,\n\tSessionStartEvent,\n\tSessionTreeEvent,\n} from \"./session-events.ts\";\nimport type { ToolDefinition, ToolInfo } from \"./tool-types.ts\";\nimport type { ToolCallEvent, ToolResultEvent } from \"./tool-events.ts\";\n\n/** Handler function type for events */\n// biome-ignore lint/suspicious/noConfusingVoidType: void allows bare return statements\nexport type ExtensionHandler<E, R = undefined> = (event: E, ctx: ExtensionContext) => Promise<R | void> | R | void;\n\n/**\n * ExtensionAPI passed to extension factory functions.\n */\nexport interface ExtensionAPI {\n\t// =========================================================================\n\t// Event Subscription\n\t// =========================================================================\n\n\ton(event: \"resources_discover\", handler: ExtensionHandler<ResourcesDiscoverEvent, ResourcesDiscoverResult>): void;\n\ton(event: \"session_start\", handler: ExtensionHandler<SessionStartEvent>): void;\n\ton(\n\t\tevent: \"session_before_switch\",\n\t\thandler: ExtensionHandler<SessionBeforeSwitchEvent, SessionBeforeSwitchResult>,\n\t): void;\n\ton(event: \"session_before_fork\", handler: ExtensionHandler<SessionBeforeForkEvent, SessionBeforeForkResult>): void;\n\ton(\n\t\tevent: \"session_before_compact\",\n\t\thandler: ExtensionHandler<SessionBeforeCompactEvent, SessionBeforeCompactResult>,\n\t): void;\n\ton(event: \"session_compact\", handler: ExtensionHandler<SessionCompactEvent>): void;\n\ton(event: \"session_shutdown\", handler: ExtensionHandler<SessionShutdownEvent>): void;\n\ton(event: \"session_before_tree\", handler: ExtensionHandler<SessionBeforeTreeEvent, SessionBeforeTreeResult>): void;\n\ton(event: \"session_tree\", handler: ExtensionHandler<SessionTreeEvent>): void;\n\ton(event: \"context\", handler: ExtensionHandler<ContextEvent, ContextEventResult>): void;\n\ton(\n\t\tevent: \"before_provider_request\",\n\t\thandler: ExtensionHandler<BeforeProviderRequestEvent, BeforeProviderRequestEventResult>,\n\t): void;\n\ton(event: \"after_provider_response\", handler: ExtensionHandler<AfterProviderResponseEvent>): void;\n\ton(event: \"before_agent_start\", handler: ExtensionHandler<BeforeAgentStartEvent, BeforeAgentStartEventResult>): void;\n\ton(event: \"agent_start\", handler: ExtensionHandler<AgentStartEvent>): void;\n\ton(event: \"agent_end\", handler: ExtensionHandler<AgentEndEvent>): void;\n\ton(event: \"turn_start\", handler: ExtensionHandler<TurnStartEvent>): void;\n\ton(event: \"turn_end\", handler: ExtensionHandler<TurnEndEvent>): void;\n\ton(event: \"message_start\", handler: ExtensionHandler<MessageStartEvent>): void;\n\ton(event: \"message_update\", handler: ExtensionHandler<MessageUpdateEvent>): void;\n\ton(event: \"message_end\", handler: ExtensionHandler<MessageEndEvent, MessageEndEventResult>): void;\n\ton(event: \"tool_execution_start\", handler: ExtensionHandler<ToolExecutionStartEvent>): void;\n\ton(event: \"tool_execution_update\", handler: ExtensionHandler<ToolExecutionUpdateEvent>): void;\n\ton(event: \"tool_execution_end\", handler: ExtensionHandler<ToolExecutionEndEvent>): void;\n\ton(event: \"model_select\", handler: ExtensionHandler<ModelSelectEvent>): void;\n\ton(event: \"thinking_level_select\", handler: ExtensionHandler<ThinkingLevelSelectEvent>): void;\n\ton(event: \"tool_call\", handler: ExtensionHandler<ToolCallEvent, ToolCallEventResult>): void;\n\ton(event: \"tool_result\", handler: ExtensionHandler<ToolResultEvent, ToolResultEventResult>): void;\n\ton(event: \"user_bash\", handler: ExtensionHandler<UserBashEvent, UserBashEventResult>): void;\n\ton(event: \"project_trust\", handler: ProjectTrustHandler): void;\n\ton(event: \"input\", handler: ExtensionHandler<InputEvent, InputEventResult>): void;\n\n\t// =========================================================================\n\t// Tool Registration\n\t// =========================================================================\n\n\t/** Register a tool that the LLM can call. */\n\tregisterTool<TParams extends TSchema = TSchema, TDetails = unknown, TState = unknown>(\n\t\ttool: ToolDefinition<TParams, TDetails, TState>,\n\t): void;\n\n\t// =========================================================================\n\t// Command, Shortcut, Flag Registration\n\t// =========================================================================\n\n\t/** Register a custom command. */\n\tregisterCommand(name: string, options: Omit<RegisteredCommand, \"name\" | \"sourceInfo\">): void;\n\n\t/** Register a keyboard shortcut. */\n\tregisterShortcut(\n\t\tshortcut: KeyId,\n\t\toptions: {\n\t\t\tdescription?: string;\n\t\t\thandler: (ctx: ExtensionContext) => Promise<void> | void;\n\t\t},\n\t): void;\n\n\t/** Register a CLI flag. */\n\tregisterFlag(\n\t\tname: string,\n\t\toptions: {\n\t\t\tdescription?: string;\n\t\t\ttype: \"boolean\" | \"string\";\n\t\t\tdefault?: boolean | string;\n\t\t},\n\t): void;\n\n\t/** Get the value of a registered CLI flag. */\n\tgetFlag(name: string): boolean | string | undefined;\n\n\t/** Return package-provided workflow files discovered for this session. */\n\tgetWorkflowResources(): ResolvedResource[];\n\n\t/**\n\t * Re-read package/settings workflow resources and return the updated snapshot when supported by the host.\n\t * Does not reload extensions, skills, prompts, themes, or context files.\n\t */\n\trefreshWorkflowResources?: () => Promise<ResolvedResource[]>;\n\n\t/**\n\t * Return the resource-loader options that child Atomic sessions should inherit without sharing this loader instance.\n\t */\n\tgetResourceLoaderInheritanceSnapshot?: () => DefaultResourceLoaderInheritanceSnapshot;\n\n\t// =========================================================================\n\t// Message Rendering\n\t// =========================================================================\n\n\t/** Register a custom renderer for CustomMessageEntry. */\n\tregisterMessageRenderer<T = unknown>(customType: string, renderer: MessageRenderer<T>): void;\n\n\t// =========================================================================\n\t// Actions\n\t// =========================================================================\n\n\t/** Send a custom message to the session. */\n\tsendMessage<T = unknown>(\n\t\tmessage: Pick<CustomMessage<T>, \"customType\" | \"content\" | \"display\" | \"details\">,\n\t\toptions?: SendMessageOptions,\n\t): void;\n\n\t/**\n\t * Send a user message to the agent. Always triggers a turn.\n\t * When the agent is streaming, use deliverAs to specify how to queue the message.\n\t */\n\tsendUserMessage(\n\t\tcontent: string | (TextContent | ImageContent)[],\n\t\toptions?: { deliverAs?: \"steer\" | \"followUp\" },\n\t): void;\n\n\t/** Append a custom entry to the session for state persistence (not sent to LLM). */\n\tappendEntry<T = unknown>(customType: string, data?: T): void;\n\n\t// =========================================================================\n\t// Session Metadata\n\t// =========================================================================\n\n\t/** Set the session display name (shown in session selector). */\n\tsetSessionName(name: string): void;\n\n\t/** Get the current session name, if set. */\n\tgetSessionName(): string | undefined;\n\n\t/** Set or clear a label on an entry. Labels are user-defined markers for bookmarking/navigation. */\n\tsetLabel(entryId: string, label: string | undefined): void;\n\n\t/** Execute a shell command. */\n\texec(command: string, args: string[], options?: ExecOptions): Promise<ExecResult>;\n\n\t/** Get the list of currently active tool names. */\n\tgetActiveTools(): string[];\n\n\t/** Get all configured tools with parameter schema and source metadata. */\n\tgetAllTools(): ToolInfo[];\n\n\t/** Set the active tools by name. */\n\tsetActiveTools(toolNames: string[]): void;\n\n\t/** Get available slash commands in the current session. */\n\tgetCommands(): SlashCommandInfo[];\n\n\t// =========================================================================\n\t// Model and Thinking Level\n\t// =========================================================================\n\n\t/** Set the current model. Returns false if no API key available. */\n\tsetModel(model: Model<Api>): Promise<boolean>;\n\n\t/** Get current thinking level. */\n\tgetThinkingLevel(): ThinkingLevel;\n\n\t/** Set thinking level (clamped to model capabilities). */\n\tsetThinkingLevel(level: ThinkingLevel): void;\n\n\t// =========================================================================\n\t// Provider Registration\n\t// =========================================================================\n\n\t/**\n\t * Register or override a model provider.\n\t *\n\t * If `models` is provided: replaces all existing models for this provider.\n\t * If only `baseUrl` is provided: overrides the URL for existing models.\n\t * If `oauth` is provided: registers OAuth provider for /login support.\n\t * If `streamSimple` is provided: registers a custom API stream handler.\n\t *\n\t * During initial extension load this call is queued and applied once the\n\t * runner has bound its context. After that it takes effect immediately, so\n\t * it is safe to call from command handlers or event callbacks without\n\t * requiring a `/reload`.\n\t *\n\t * @example\n\t * // Register a new provider with custom models\n\t * pi.registerProvider(\"my-proxy\", {\n\t * baseUrl: \"https://proxy.example.com\",\n\t * apiKey: \"$PROXY_API_KEY\",\n\t * api: \"anthropic-messages\",\n\t * models: [\n\t * {\n\t * id: \"claude-sonnet-4-20250514\",\n\t * name: \"Claude 4 Sonnet (proxy)\",\n\t * reasoning: false,\n\t * input: [\"text\", \"image\"],\n\t * cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },\n\t * contextWindow: 200000,\n\t * maxTokens: 16384\n\t * }\n\t * ]\n\t * });\n\t *\n\t * @example\n\t * // Override baseUrl for an existing provider\n\t * pi.registerProvider(\"anthropic\", {\n\t * baseUrl: \"https://proxy.example.com\"\n\t * });\n\t *\n\t * @example\n\t * // Register provider with OAuth support\n\t * pi.registerProvider(\"corporate-ai\", {\n\t * baseUrl: \"https://ai.corp.com\",\n\t * api: \"openai-responses\",\n\t * models: [...],\n\t * oauth: {\n\t * name: \"Corporate AI (SSO)\",\n\t * async login(callbacks) { ... },\n\t * async refreshToken(credentials) { ... },\n\t * getApiKey(credentials) { return credentials.access; }\n\t * }\n\t * });\n\t */\n\tregisterProvider(name: string, config: ProviderConfig): void;\n\n\t/**\n\t * Unregister a previously registered provider.\n\t *\n\t * Removes all models belonging to the named provider and restores any\n\t * built-in models that were overridden by it. Has no effect if the provider\n\t * is not currently registered.\n\t *\n\t * Like `registerProvider`, this takes effect immediately when called after\n\t * the initial load phase.\n\t *\n\t * @example\n\t * pi.unregisterProvider(\"my-proxy\");\n\t */\n\tunregisterProvider(name: string): void;\n\n\t/** Shared event bus for extension communication. */\n\tevents: EventBus;\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=api-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-types.js","sourceRoot":"","sources":["../../../src/core/extensions/api-types.ts"],"names":[],"mappings":"","sourcesContent":["import type { ThinkingLevel } from \"@earendil-works/pi-agent-core\";\nimport type { Api, ImageContent, Model, TextContent } from \"@earendil-works/pi-ai\";\nimport type { KeyId } from \"@earendil-works/pi-tui\";\nimport type { TSchema } from \"typebox\";\nimport type { EventBus } from \"../event-bus.ts\";\nimport type { ExecOptions, ExecResult } from \"../exec.ts\";\nimport type { CustomMessage } from \"../messages.ts\";\nimport type { ResolvedResource } from \"../package-manager.ts\";\nimport type { DefaultResourceLoaderInheritanceSnapshot } from \"../resource-loader.ts\";\nimport type { SlashCommandInfo } from \"../slash-commands.ts\";\nimport type {\n\tAfterProviderResponseEvent,\n\tAgentEndEvent,\n\tAgentStartEvent,\n\tBeforeAgentStartEvent,\n\tBeforeProviderRequestEvent,\n\tContextEvent,\n\tInputEvent,\n\tInputEventResult,\n\tMessageEndEvent,\n\tMessageStartEvent,\n\tMessageUpdateEvent,\n\tModelSelectEvent,\n\tProjectTrustHandler,\n\tThinkingLevelSelectEvent,\n\tToolExecutionEndEvent,\n\tToolExecutionStartEvent,\n\tToolExecutionUpdateEvent,\n\tTurnEndEvent,\n\tTurnStartEvent,\n\tUserBashEvent,\n} from \"./agent-events.ts\";\nimport type { RegisteredCommand } from \"./command-types.ts\";\nimport type { ExtensionContext } from \"./context-types.ts\";\nimport type {\n\tBeforeAgentStartEventResult,\n\tBeforeProviderRequestEventResult,\n\tContextEventResult,\n\tMessageEndEventResult,\n\tSessionBeforeCompactResult,\n\tSessionBeforeForkResult,\n\tSessionBeforeSwitchResult,\n\tSessionBeforeTreeResult,\n\tToolCallEventResult,\n\tToolResultEventResult,\n\tUserBashEventResult,\n} from \"./event-results.ts\";\nimport type { MessageRenderer, SendMessageOptions } from \"./message-types.ts\";\nimport type { ProviderConfig } from \"./provider-types.ts\";\nimport type {\n\tResourcesDiscoverEvent,\n\tResourcesDiscoverResult,\n\tSessionBeforeCompactEvent,\n\tSessionBeforeForkEvent,\n\tSessionBeforeSwitchEvent,\n\tSessionBeforeTreeEvent,\n\tSessionCompactEvent,\n\tSessionShutdownEvent,\n\tSessionStartEvent,\n\tSessionTreeEvent,\n} from \"./session-events.ts\";\nimport type { ToolDefinition, ToolInfo } from \"./tool-types.ts\";\nimport type { ToolCallEvent, ToolResultEvent } from \"./tool-events.ts\";\n\n/** Handler function type for events */\n// biome-ignore lint/suspicious/noConfusingVoidType: void allows bare return statements\nexport type ExtensionHandler<E, R = undefined> = (event: E, ctx: ExtensionContext) => Promise<R | void> | R | void;\n\n/**\n * ExtensionAPI passed to extension factory functions.\n */\nexport interface ExtensionAPI {\n\t// =========================================================================\n\t// Event Subscription\n\t// =========================================================================\n\n\ton(event: \"resources_discover\", handler: ExtensionHandler<ResourcesDiscoverEvent, ResourcesDiscoverResult>): void;\n\ton(event: \"session_start\", handler: ExtensionHandler<SessionStartEvent>): void;\n\ton(\n\t\tevent: \"session_before_switch\",\n\t\thandler: ExtensionHandler<SessionBeforeSwitchEvent, SessionBeforeSwitchResult>,\n\t): void;\n\ton(event: \"session_before_fork\", handler: ExtensionHandler<SessionBeforeForkEvent, SessionBeforeForkResult>): void;\n\ton(\n\t\tevent: \"session_before_compact\",\n\t\thandler: ExtensionHandler<SessionBeforeCompactEvent, SessionBeforeCompactResult>,\n\t): void;\n\ton(event: \"session_compact\", handler: ExtensionHandler<SessionCompactEvent>): void;\n\ton(event: \"session_shutdown\", handler: ExtensionHandler<SessionShutdownEvent>): void;\n\ton(event: \"session_before_tree\", handler: ExtensionHandler<SessionBeforeTreeEvent, SessionBeforeTreeResult>): void;\n\ton(event: \"session_tree\", handler: ExtensionHandler<SessionTreeEvent>): void;\n\ton(event: \"context\", handler: ExtensionHandler<ContextEvent, ContextEventResult>): void;\n\ton(\n\t\tevent: \"before_provider_request\",\n\t\thandler: ExtensionHandler<BeforeProviderRequestEvent, BeforeProviderRequestEventResult>,\n\t): void;\n\ton(event: \"after_provider_response\", handler: ExtensionHandler<AfterProviderResponseEvent>): void;\n\ton(event: \"before_agent_start\", handler: ExtensionHandler<BeforeAgentStartEvent, BeforeAgentStartEventResult>): void;\n\ton(event: \"agent_start\", handler: ExtensionHandler<AgentStartEvent>): void;\n\ton(event: \"agent_end\", handler: ExtensionHandler<AgentEndEvent>): void;\n\ton(event: \"turn_start\", handler: ExtensionHandler<TurnStartEvent>): void;\n\ton(event: \"turn_end\", handler: ExtensionHandler<TurnEndEvent>): void;\n\ton(event: \"message_start\", handler: ExtensionHandler<MessageStartEvent>): void;\n\ton(event: \"message_update\", handler: ExtensionHandler<MessageUpdateEvent>): void;\n\ton(event: \"message_end\", handler: ExtensionHandler<MessageEndEvent, MessageEndEventResult>): void;\n\ton(event: \"tool_execution_start\", handler: ExtensionHandler<ToolExecutionStartEvent>): void;\n\ton(event: \"tool_execution_update\", handler: ExtensionHandler<ToolExecutionUpdateEvent>): void;\n\ton(event: \"tool_execution_end\", handler: ExtensionHandler<ToolExecutionEndEvent>): void;\n\ton(event: \"model_select\", handler: ExtensionHandler<ModelSelectEvent>): void;\n\ton(event: \"thinking_level_select\", handler: ExtensionHandler<ThinkingLevelSelectEvent>): void;\n\ton(event: \"tool_call\", handler: ExtensionHandler<ToolCallEvent, ToolCallEventResult>): void;\n\ton(event: \"tool_result\", handler: ExtensionHandler<ToolResultEvent, ToolResultEventResult>): void;\n\ton(event: \"user_bash\", handler: ExtensionHandler<UserBashEvent, UserBashEventResult>): void;\n\ton(event: \"project_trust\", handler: ProjectTrustHandler): void;\n\ton(event: \"input\", handler: ExtensionHandler<InputEvent, InputEventResult>): void;\n\n\t// =========================================================================\n\t// Tool Registration\n\t// =========================================================================\n\n\t/** Register a tool that the LLM can call. */\n\tregisterTool<TParams extends TSchema = TSchema, TDetails = unknown, TState = unknown>(\n\t\ttool: ToolDefinition<TParams, TDetails, TState>,\n\t): void;\n\n\t// =========================================================================\n\t// Command, Shortcut, Flag Registration\n\t// =========================================================================\n\n\t/** Register a custom command. */\n\tregisterCommand(name: string, options: Omit<RegisteredCommand, \"name\" | \"sourceInfo\">): void;\n\n\t/** Register a keyboard shortcut. */\n\tregisterShortcut(\n\t\tshortcut: KeyId,\n\t\toptions: {\n\t\t\tdescription?: string;\n\t\t\thandler: (ctx: ExtensionContext) => Promise<void> | void;\n\t\t},\n\t): void;\n\n\t/** Register a CLI flag. */\n\tregisterFlag(\n\t\tname: string,\n\t\toptions: {\n\t\t\tdescription?: string;\n\t\t\ttype: \"boolean\" | \"string\";\n\t\t\tdefault?: boolean | string;\n\t\t},\n\t): void;\n\n\t/** Get the value of a registered CLI flag. */\n\tgetFlag(name: string): boolean | string | undefined;\n\n\t/** Return package-provided workflow files discovered for this session. */\n\tgetWorkflowResources(): ResolvedResource[];\n\n\t/**\n\t * Re-read package/settings workflow resources and return the updated snapshot when supported by the host.\n\t * Does not reload extensions, skills, prompts, themes, or context files.\n\t */\n\trefreshWorkflowResources?: () => Promise<ResolvedResource[]>;\n\n\t/**\n\t * Return the resource-loader options that child Atomic sessions should inherit without sharing this loader instance.\n\t */\n\tgetResourceLoaderInheritanceSnapshot?: () => DefaultResourceLoaderInheritanceSnapshot;\n\n\t// =========================================================================\n\t// Message Rendering\n\t// =========================================================================\n\n\t/** Register a custom renderer for CustomMessageEntry. */\n\tregisterMessageRenderer<T = unknown>(customType: string, renderer: MessageRenderer<T>): void;\n\n\t// =========================================================================\n\t// Actions\n\t// =========================================================================\n\n\t/** Send a custom message to the session. */\n\tsendMessage<T = unknown>(\n\t\tmessage: Pick<CustomMessage<T>, \"customType\" | \"content\" | \"display\" | \"details\">,\n\t\toptions?: SendMessageOptions,\n\t): void;\n\n\t/**\n\t * Send a user message to the agent. Always triggers a turn.\n\t * When the agent is streaming, use deliverAs to specify how to queue the message.\n\t */\n\tsendUserMessage(\n\t\tcontent: string | (TextContent | ImageContent)[],\n\t\toptions?: { deliverAs?: \"steer\" | \"followUp\" },\n\t): void;\n\n\t/** Append a custom entry to the session for state persistence (not sent to LLM). */\n\tappendEntry<T = unknown>(customType: string, data?: T): void;\n\n\t// =========================================================================\n\t// Session Metadata\n\t// =========================================================================\n\n\t/** Set the session display name (shown in session selector). */\n\tsetSessionName(name: string): void;\n\n\t/** Get the current session name, if set. */\n\tgetSessionName(): string | undefined;\n\n\t/** Set or clear a label on an entry. Labels are user-defined markers for bookmarking/navigation. */\n\tsetLabel(entryId: string, label: string | undefined): void;\n\n\t/** Execute a shell command. */\n\texec(command: string, args: string[], options?: ExecOptions): Promise<ExecResult>;\n\n\t/** Get the list of currently active tool names. */\n\tgetActiveTools(): string[];\n\n\t/** Get all configured tools with parameter schema and source metadata. */\n\tgetAllTools(): ToolInfo[];\n\n\t/** Set the active tools by name. */\n\tsetActiveTools(toolNames: string[]): void;\n\n\t/** Get available slash commands in the current session. */\n\tgetCommands(): SlashCommandInfo[];\n\n\t// =========================================================================\n\t// Model and Thinking Level\n\t// =========================================================================\n\n\t/** Set the current model. Returns false if no API key available. */\n\tsetModel(model: Model<Api>): Promise<boolean>;\n\n\t/** Get current thinking level. */\n\tgetThinkingLevel(): ThinkingLevel;\n\n\t/** Set thinking level (clamped to model capabilities). */\n\tsetThinkingLevel(level: ThinkingLevel): void;\n\n\t// =========================================================================\n\t// Provider Registration\n\t// =========================================================================\n\n\t/**\n\t * Register or override a model provider.\n\t *\n\t * If `models` is provided: replaces all existing models for this provider.\n\t * If only `baseUrl` is provided: overrides the URL for existing models.\n\t * If `oauth` is provided: registers OAuth provider for /login support.\n\t * If `streamSimple` is provided: registers a custom API stream handler.\n\t *\n\t * During initial extension load this call is queued and applied once the\n\t * runner has bound its context. After that it takes effect immediately, so\n\t * it is safe to call from command handlers or event callbacks without\n\t * requiring a `/reload`.\n\t *\n\t * @example\n\t * // Register a new provider with custom models\n\t * pi.registerProvider(\"my-proxy\", {\n\t * baseUrl: \"https://proxy.example.com\",\n\t * apiKey: \"$PROXY_API_KEY\",\n\t * api: \"anthropic-messages\",\n\t * models: [\n\t * {\n\t * id: \"claude-sonnet-4-20250514\",\n\t * name: \"Claude 4 Sonnet (proxy)\",\n\t * reasoning: false,\n\t * input: [\"text\", \"image\"],\n\t * cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },\n\t * contextWindow: 200000,\n\t * maxTokens: 16384\n\t * }\n\t * ]\n\t * });\n\t *\n\t * @example\n\t * // Override baseUrl for an existing provider\n\t * pi.registerProvider(\"anthropic\", {\n\t * baseUrl: \"https://proxy.example.com\"\n\t * });\n\t *\n\t * @example\n\t * // Register provider with OAuth support\n\t * pi.registerProvider(\"corporate-ai\", {\n\t * baseUrl: \"https://ai.corp.com\",\n\t * api: \"openai-responses\",\n\t * models: [...],\n\t * oauth: {\n\t * name: \"Corporate AI (SSO)\",\n\t * async login(callbacks) { ... },\n\t * async refreshToken(credentials) { ... },\n\t * getApiKey(credentials) { return credentials.access; }\n\t * }\n\t * });\n\t */\n\tregisterProvider(name: string, config: ProviderConfig): void;\n\n\t/**\n\t * Unregister a previously registered provider.\n\t *\n\t * Removes all models belonging to the named provider and restores any\n\t * built-in models that were overridden by it. Has no effect if the provider\n\t * is not currently registered.\n\t *\n\t * Like `registerProvider`, this takes effect immediately when called after\n\t * the initial load phase.\n\t *\n\t * @example\n\t * pi.unregisterProvider(\"my-proxy\");\n\t */\n\tunregisterProvider(name: string): void;\n\n\t/** Shared event bus for extension communication. */\n\tevents: EventBus;\n}\n"]}
@@ -0,0 +1,14 @@
1
+ import type { AutocompleteItem } from "@earendil-works/pi-tui";
2
+ import type { SourceInfo } from "../source-info.ts";
3
+ import type { ExtensionCommandContext } from "./context-types.ts";
4
+ export interface RegisteredCommand {
5
+ name: string;
6
+ sourceInfo: SourceInfo;
7
+ description?: string;
8
+ getArgumentCompletions?: (argumentPrefix: string) => AutocompleteItem[] | null | Promise<AutocompleteItem[] | null>;
9
+ handler: (args: string, ctx: ExtensionCommandContext) => Promise<void>;
10
+ }
11
+ export interface ResolvedCommand extends RegisteredCommand {
12
+ invocationName: string;
13
+ }
14
+ //# sourceMappingURL=command-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-types.d.ts","sourceRoot":"","sources":["../../../src/core/extensions/command-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAElE,MAAM,WAAW,iBAAiB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,UAAU,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sBAAsB,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,gBAAgB,EAAE,GAAG,IAAI,GAAG,OAAO,CAAC,gBAAgB,EAAE,GAAG,IAAI,CAAC,CAAC;IACpH,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,uBAAuB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACvE;AAED,MAAM,WAAW,eAAgB,SAAQ,iBAAiB;IACzD,cAAc,EAAE,MAAM,CAAC;CACvB","sourcesContent":["import type { AutocompleteItem } from \"@earendil-works/pi-tui\";\nimport type { SourceInfo } from \"../source-info.ts\";\nimport type { ExtensionCommandContext } from \"./context-types.ts\";\n\nexport interface RegisteredCommand {\n\tname: string;\n\tsourceInfo: SourceInfo;\n\tdescription?: string;\n\tgetArgumentCompletions?: (argumentPrefix: string) => AutocompleteItem[] | null | Promise<AutocompleteItem[] | null>;\n\thandler: (args: string, ctx: ExtensionCommandContext) => Promise<void>;\n}\n\nexport interface ResolvedCommand extends RegisteredCommand {\n\tinvocationName: string;\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=command-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-types.js","sourceRoot":"","sources":["../../../src/core/extensions/command-types.ts"],"names":[],"mappings":"","sourcesContent":["import type { AutocompleteItem } from \"@earendil-works/pi-tui\";\nimport type { SourceInfo } from \"../source-info.ts\";\nimport type { ExtensionCommandContext } from \"./context-types.ts\";\n\nexport interface RegisteredCommand {\n\tname: string;\n\tsourceInfo: SourceInfo;\n\tdescription?: string;\n\tgetArgumentCompletions?: (argumentPrefix: string) => AutocompleteItem[] | null | Promise<AutocompleteItem[] | null>;\n\thandler: (args: string, ctx: ExtensionCommandContext) => Promise<void>;\n}\n\nexport interface ResolvedCommand extends RegisteredCommand {\n\tinvocationName: string;\n}\n"]}
@@ -0,0 +1,130 @@
1
+ import type { Api, ImageContent, Model, TextContent } from "@earendil-works/pi-ai";
2
+ import type { ContextCompactionResult } from "../compaction/index.ts";
3
+ import type { CustomMessage } from "../messages.ts";
4
+ import type { ModelRegistry } from "../model-registry.ts";
5
+ import type { ReadonlySessionManager, SessionManager } from "../session-manager.ts";
6
+ import type { BuildSystemPromptOptions } from "../system-prompt.ts";
7
+ import type { SendMessageOptions } from "./message-types.ts";
8
+ import type { ExtensionUIContext } from "./ui-types.ts";
9
+ export interface ContextUsage {
10
+ /** Estimated context tokens, or null if unknown (e.g. right after compaction, before next LLM response). */
11
+ tokens: number | null;
12
+ contextWindow: number;
13
+ /** Context usage as percentage of context window, or null if tokens is unknown. */
14
+ percent: number | null;
15
+ }
16
+ export interface CompactOptions {
17
+ /** Fraction of compactable context to keep. 0.3 is aggressive, 0.7 is light. */
18
+ compression_ratio?: number;
19
+ /** Number of recent context-eligible messages to keep uncompressed. */
20
+ preserve_recent?: number;
21
+ /** Focus query for relevance-based pruning. Defaults to auto-detected session context. */
22
+ query?: string;
23
+ onComplete?: (result: ContextCompactionResult) => void;
24
+ onError?: (error: Error) => void;
25
+ }
26
+ export interface WorkflowStageOrchestrationContext {
27
+ readonly kind: "workflow-stage";
28
+ readonly workflowRunId: string;
29
+ readonly workflowStageId: string;
30
+ readonly workflowStageName: string;
31
+ readonly constraints: {
32
+ readonly disableWorkflowTool: true;
33
+ readonly maxSubagentDepth: number;
34
+ };
35
+ }
36
+ export type OrchestrationContext = WorkflowStageOrchestrationContext;
37
+ /**
38
+ * Context passed to extension event handlers.
39
+ */
40
+ export type ExtensionMode = "tui" | "rpc" | "json" | "print";
41
+ export interface ExtensionContext {
42
+ /** Session-scoped orchestration policy for child runtimes such as workflow stages. */
43
+ readonly orchestrationContext?: OrchestrationContext;
44
+ /** UI methods for user interaction */
45
+ ui: ExtensionUIContext;
46
+ /** Current run mode. Use "tui" to guard terminal-only UI such as custom components. */
47
+ mode: ExtensionMode;
48
+ /** Whether dialog-capable UI is available (true in TUI and RPC modes) */
49
+ hasUI: boolean;
50
+ /** Current working directory */
51
+ cwd: string;
52
+ /** Session manager (read-only) */
53
+ sessionManager: ReadonlySessionManager;
54
+ /** Model registry for API key resolution */
55
+ modelRegistry: ModelRegistry;
56
+ /** Current model (may be undefined) */
57
+ model: Model<Api> | undefined;
58
+ /** Whether the agent is idle (not streaming) */
59
+ isIdle(): boolean;
60
+ /** Whether project-local trust is active for this context. */
61
+ isProjectTrusted(): boolean;
62
+ /** The current abort signal, or undefined when the agent is not streaming. */
63
+ signal: AbortSignal | undefined;
64
+ /** Abort the current agent operation */
65
+ abort(): void;
66
+ /** Whether there are queued messages waiting */
67
+ hasPendingMessages(): boolean;
68
+ /** Gracefully shutdown pi and exit. Available in all contexts. */
69
+ shutdown(): void;
70
+ /** Get current context usage for the active model. */
71
+ getContextUsage(): ContextUsage | undefined;
72
+ /** Trigger compaction without awaiting completion. */
73
+ compact(options?: CompactOptions): void;
74
+ /** Get the current effective system prompt. */
75
+ getSystemPrompt(): string;
76
+ }
77
+ /**
78
+ * Extended context for command handlers.
79
+ * Includes session control methods only safe in user-initiated commands.
80
+ */
81
+ export interface ExtensionCommandContext extends ExtensionContext {
82
+ /** Get the current base system-prompt construction options. */
83
+ getSystemPromptOptions(): BuildSystemPromptOptions;
84
+ /** Wait for the agent to finish streaming */
85
+ waitForIdle(): Promise<void>;
86
+ /** Start a new session, optionally with initialization. */
87
+ newSession(options?: {
88
+ parentSession?: string;
89
+ setup?: (sessionManager: SessionManager) => Promise<void>;
90
+ withSession?: (ctx: ReplacedSessionContext) => Promise<void>;
91
+ }): Promise<{
92
+ cancelled: boolean;
93
+ }>;
94
+ /** Fork from a specific entry, creating a new session file. */
95
+ fork(entryId: string, options?: {
96
+ position?: "before" | "at";
97
+ withSession?: (ctx: ReplacedSessionContext) => Promise<void>;
98
+ }): Promise<{
99
+ cancelled: boolean;
100
+ }>;
101
+ /** Navigate to a different point in the session tree. */
102
+ navigateTree(targetId: string, options?: {
103
+ summarize?: boolean;
104
+ customInstructions?: string;
105
+ replaceInstructions?: boolean;
106
+ label?: string;
107
+ }): Promise<{
108
+ cancelled: boolean;
109
+ }>;
110
+ /** Switch to a different session file. */
111
+ switchSession(sessionPath: string, options?: {
112
+ withSession?: (ctx: ReplacedSessionContext) => Promise<void>;
113
+ }): Promise<{
114
+ cancelled: boolean;
115
+ }>;
116
+ /** Reload extensions, skills, prompts, and themes. */
117
+ reload(): Promise<void>;
118
+ }
119
+ /**
120
+ * Fresh command-capable context bound to the replacement session after a session switch.
121
+ *
122
+ * This is passed to `withSession()` callbacks on `newSession()`, `fork()`, and `switchSession()`.
123
+ */
124
+ export interface ReplacedSessionContext extends ExtensionCommandContext {
125
+ sendMessage<T = unknown>(message: Pick<CustomMessage<T>, "customType" | "content" | "display" | "details">, options?: SendMessageOptions): Promise<void>;
126
+ sendUserMessage(content: string | (TextContent | ImageContent)[], options?: {
127
+ deliverAs?: "steer" | "followUp";
128
+ }): Promise<void>;
129
+ }
130
+ //# sourceMappingURL=context-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-types.d.ts","sourceRoot":"","sources":["../../../src/core/extensions/context-types.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Api, ImageContent, Model, TextContent } from \"@earendil-works/pi-ai\";\nimport type { ContextCompactionResult } from \"../compaction/index.ts\";\nimport type { CustomMessage } from \"../messages.ts\";\nimport type { ModelRegistry } from \"../model-registry.ts\";\nimport type { ReadonlySessionManager, SessionManager } from \"../session-manager.ts\";\nimport type { BuildSystemPromptOptions } from \"../system-prompt.ts\";\nimport type { SendMessageOptions } from \"./message-types.ts\";\nimport type { ExtensionUIContext } from \"./ui-types.ts\";\n\nexport interface ContextUsage {\n\t/** Estimated context tokens, or null if unknown (e.g. right after compaction, before next LLM response). */\n\ttokens: number | null;\n\tcontextWindow: number;\n\t/** Context usage as percentage of context window, or null if tokens is unknown. */\n\tpercent: number | null;\n}\n\nexport interface CompactOptions {\n\t/** Fraction of compactable context to keep. 0.3 is aggressive, 0.7 is light. */\n\tcompression_ratio?: number;\n\t/** Number of recent context-eligible messages to keep uncompressed. */\n\tpreserve_recent?: number;\n\t/** Focus query for relevance-based pruning. Defaults to auto-detected session context. */\n\tquery?: string;\n\tonComplete?: (result: ContextCompactionResult) => void;\n\tonError?: (error: Error) => void;\n}\n\nexport interface WorkflowStageOrchestrationContext {\n\treadonly kind: \"workflow-stage\";\n\treadonly workflowRunId: string;\n\treadonly workflowStageId: string;\n\treadonly workflowStageName: string;\n\treadonly constraints: {\n\t\treadonly disableWorkflowTool: true;\n\t\treadonly maxSubagentDepth: number;\n\t};\n}\n\n// Union alias kept for forward-compatible orchestration context variants.\nexport type OrchestrationContext = WorkflowStageOrchestrationContext;\n\n/**\n * Context passed to extension event handlers.\n */\nexport type ExtensionMode = \"tui\" | \"rpc\" | \"json\" | \"print\";\n\nexport interface ExtensionContext {\n\t/** Session-scoped orchestration policy for child runtimes such as workflow stages. */\n\treadonly orchestrationContext?: OrchestrationContext;\n\t/** UI methods for user interaction */\n\tui: ExtensionUIContext;\n\t/** Current run mode. Use \"tui\" to guard terminal-only UI such as custom components. */\n\tmode: ExtensionMode;\n\t/** Whether dialog-capable UI is available (true in TUI and RPC modes) */\n\thasUI: boolean;\n\t/** Current working directory */\n\tcwd: string;\n\t/** Session manager (read-only) */\n\tsessionManager: ReadonlySessionManager;\n\t/** Model registry for API key resolution */\n\tmodelRegistry: ModelRegistry;\n\t/** Current model (may be undefined) */\n\tmodel: Model<Api> | undefined;\n\t/** Whether the agent is idle (not streaming) */\n\tisIdle(): boolean;\n\t/** Whether project-local trust is active for this context. */\n\tisProjectTrusted(): boolean;\n\t/** The current abort signal, or undefined when the agent is not streaming. */\n\tsignal: AbortSignal | undefined;\n\t/** Abort the current agent operation */\n\tabort(): void;\n\t/** Whether there are queued messages waiting */\n\thasPendingMessages(): boolean;\n\t/** Gracefully shutdown pi and exit. Available in all contexts. */\n\tshutdown(): void;\n\t/** Get current context usage for the active model. */\n\tgetContextUsage(): ContextUsage | undefined;\n\t/** Trigger compaction without awaiting completion. */\n\tcompact(options?: CompactOptions): void;\n\t/** Get the current effective system prompt. */\n\tgetSystemPrompt(): string;\n}\n\n/**\n * Extended context for command handlers.\n * Includes session control methods only safe in user-initiated commands.\n */\nexport interface ExtensionCommandContext extends ExtensionContext {\n\t/** Get the current base system-prompt construction options. */\n\tgetSystemPromptOptions(): BuildSystemPromptOptions;\n\n\t/** Wait for the agent to finish streaming */\n\twaitForIdle(): Promise<void>;\n\n\t/** Start a new session, optionally with initialization. */\n\tnewSession(options?: {\n\t\tparentSession?: string;\n\t\tsetup?: (sessionManager: SessionManager) => Promise<void>;\n\t\twithSession?: (ctx: ReplacedSessionContext) => Promise<void>;\n\t}): Promise<{ cancelled: boolean }>;\n\n\t/** Fork from a specific entry, creating a new session file. */\n\tfork(\n\t\tentryId: string,\n\t\toptions?: { position?: \"before\" | \"at\"; withSession?: (ctx: ReplacedSessionContext) => Promise<void> },\n\t): Promise<{ cancelled: boolean }>;\n\n\t/** Navigate to a different point in the session tree. */\n\tnavigateTree(\n\t\ttargetId: string,\n\t\toptions?: { summarize?: boolean; customInstructions?: string; replaceInstructions?: boolean; label?: string },\n\t): Promise<{ cancelled: boolean }>;\n\n\t/** Switch to a different session file. */\n\tswitchSession(\n\t\tsessionPath: string,\n\t\toptions?: { withSession?: (ctx: ReplacedSessionContext) => Promise<void> },\n\t): Promise<{ cancelled: boolean }>;\n\n\t/** Reload extensions, skills, prompts, and themes. */\n\treload(): Promise<void>;\n}\n\n/**\n * Fresh command-capable context bound to the replacement session after a session switch.\n *\n * This is passed to `withSession()` callbacks on `newSession()`, `fork()`, and `switchSession()`.\n */\nexport interface ReplacedSessionContext extends ExtensionCommandContext {\n\tsendMessage<T = unknown>(\n\t\tmessage: Pick<CustomMessage<T>, \"customType\" | \"content\" | \"display\" | \"details\">,\n\t\toptions?: SendMessageOptions,\n\t): Promise<void>;\n\n\tsendUserMessage(\n\t\tcontent: string | (TextContent | ImageContent)[],\n\t\toptions?: { deliverAs?: \"steer\" | \"followUp\" },\n\t): Promise<void>;\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=context-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-types.js","sourceRoot":"","sources":["../../../src/core/extensions/context-types.ts"],"names":[],"mappings":"","sourcesContent":["import type { Api, ImageContent, Model, TextContent } from \"@earendil-works/pi-ai\";\nimport type { ContextCompactionResult } from \"../compaction/index.ts\";\nimport type { CustomMessage } from \"../messages.ts\";\nimport type { ModelRegistry } from \"../model-registry.ts\";\nimport type { ReadonlySessionManager, SessionManager } from \"../session-manager.ts\";\nimport type { BuildSystemPromptOptions } from \"../system-prompt.ts\";\nimport type { SendMessageOptions } from \"./message-types.ts\";\nimport type { ExtensionUIContext } from \"./ui-types.ts\";\n\nexport interface ContextUsage {\n\t/** Estimated context tokens, or null if unknown (e.g. right after compaction, before next LLM response). */\n\ttokens: number | null;\n\tcontextWindow: number;\n\t/** Context usage as percentage of context window, or null if tokens is unknown. */\n\tpercent: number | null;\n}\n\nexport interface CompactOptions {\n\t/** Fraction of compactable context to keep. 0.3 is aggressive, 0.7 is light. */\n\tcompression_ratio?: number;\n\t/** Number of recent context-eligible messages to keep uncompressed. */\n\tpreserve_recent?: number;\n\t/** Focus query for relevance-based pruning. Defaults to auto-detected session context. */\n\tquery?: string;\n\tonComplete?: (result: ContextCompactionResult) => void;\n\tonError?: (error: Error) => void;\n}\n\nexport interface WorkflowStageOrchestrationContext {\n\treadonly kind: \"workflow-stage\";\n\treadonly workflowRunId: string;\n\treadonly workflowStageId: string;\n\treadonly workflowStageName: string;\n\treadonly constraints: {\n\t\treadonly disableWorkflowTool: true;\n\t\treadonly maxSubagentDepth: number;\n\t};\n}\n\n// Union alias kept for forward-compatible orchestration context variants.\nexport type OrchestrationContext = WorkflowStageOrchestrationContext;\n\n/**\n * Context passed to extension event handlers.\n */\nexport type ExtensionMode = \"tui\" | \"rpc\" | \"json\" | \"print\";\n\nexport interface ExtensionContext {\n\t/** Session-scoped orchestration policy for child runtimes such as workflow stages. */\n\treadonly orchestrationContext?: OrchestrationContext;\n\t/** UI methods for user interaction */\n\tui: ExtensionUIContext;\n\t/** Current run mode. Use \"tui\" to guard terminal-only UI such as custom components. */\n\tmode: ExtensionMode;\n\t/** Whether dialog-capable UI is available (true in TUI and RPC modes) */\n\thasUI: boolean;\n\t/** Current working directory */\n\tcwd: string;\n\t/** Session manager (read-only) */\n\tsessionManager: ReadonlySessionManager;\n\t/** Model registry for API key resolution */\n\tmodelRegistry: ModelRegistry;\n\t/** Current model (may be undefined) */\n\tmodel: Model<Api> | undefined;\n\t/** Whether the agent is idle (not streaming) */\n\tisIdle(): boolean;\n\t/** Whether project-local trust is active for this context. */\n\tisProjectTrusted(): boolean;\n\t/** The current abort signal, or undefined when the agent is not streaming. */\n\tsignal: AbortSignal | undefined;\n\t/** Abort the current agent operation */\n\tabort(): void;\n\t/** Whether there are queued messages waiting */\n\thasPendingMessages(): boolean;\n\t/** Gracefully shutdown pi and exit. Available in all contexts. */\n\tshutdown(): void;\n\t/** Get current context usage for the active model. */\n\tgetContextUsage(): ContextUsage | undefined;\n\t/** Trigger compaction without awaiting completion. */\n\tcompact(options?: CompactOptions): void;\n\t/** Get the current effective system prompt. */\n\tgetSystemPrompt(): string;\n}\n\n/**\n * Extended context for command handlers.\n * Includes session control methods only safe in user-initiated commands.\n */\nexport interface ExtensionCommandContext extends ExtensionContext {\n\t/** Get the current base system-prompt construction options. */\n\tgetSystemPromptOptions(): BuildSystemPromptOptions;\n\n\t/** Wait for the agent to finish streaming */\n\twaitForIdle(): Promise<void>;\n\n\t/** Start a new session, optionally with initialization. */\n\tnewSession(options?: {\n\t\tparentSession?: string;\n\t\tsetup?: (sessionManager: SessionManager) => Promise<void>;\n\t\twithSession?: (ctx: ReplacedSessionContext) => Promise<void>;\n\t}): Promise<{ cancelled: boolean }>;\n\n\t/** Fork from a specific entry, creating a new session file. */\n\tfork(\n\t\tentryId: string,\n\t\toptions?: { position?: \"before\" | \"at\"; withSession?: (ctx: ReplacedSessionContext) => Promise<void> },\n\t): Promise<{ cancelled: boolean }>;\n\n\t/** Navigate to a different point in the session tree. */\n\tnavigateTree(\n\t\ttargetId: string,\n\t\toptions?: { summarize?: boolean; customInstructions?: string; replaceInstructions?: boolean; label?: string },\n\t): Promise<{ cancelled: boolean }>;\n\n\t/** Switch to a different session file. */\n\tswitchSession(\n\t\tsessionPath: string,\n\t\toptions?: { withSession?: (ctx: ReplacedSessionContext) => Promise<void> },\n\t): Promise<{ cancelled: boolean }>;\n\n\t/** Reload extensions, skills, prompts, and themes. */\n\treload(): Promise<void>;\n}\n\n/**\n * Fresh command-capable context bound to the replacement session after a session switch.\n *\n * This is passed to `withSession()` callbacks on `newSession()`, `fork()`, and `switchSession()`.\n */\nexport interface ReplacedSessionContext extends ExtensionCommandContext {\n\tsendMessage<T = unknown>(\n\t\tmessage: Pick<CustomMessage<T>, \"customType\" | \"content\" | \"display\" | \"details\">,\n\t\toptions?: SendMessageOptions,\n\t): Promise<void>;\n\n\tsendUserMessage(\n\t\tcontent: string | (TextContent | ImageContent)[],\n\t\toptions?: { deliverAs?: \"steer\" | \"followUp\" },\n\t): Promise<void>;\n}\n"]}
@@ -0,0 +1,61 @@
1
+ import type { AgentMessage } from "@earendil-works/pi-agent-core";
2
+ import type { ImageContent, TextContent } from "@earendil-works/pi-ai";
3
+ import type { BashResult } from "../bash-executor.ts";
4
+ import type { ContextDeletionRequest } from "../compaction/index.ts";
5
+ import type { CustomMessage } from "../messages.ts";
6
+ import type { BashOperations } from "../tools/bash.ts";
7
+ export interface ContextEventResult {
8
+ messages?: AgentMessage[];
9
+ }
10
+ export type BeforeProviderRequestEventResult = unknown;
11
+ export interface ToolCallEventResult {
12
+ /** Block tool execution. To modify arguments, mutate `event.input` in place instead. */
13
+ block?: boolean;
14
+ reason?: string;
15
+ }
16
+ /** Result from user_bash event handler */
17
+ export interface UserBashEventResult {
18
+ /** Custom operations to use for execution */
19
+ operations?: BashOperations;
20
+ /** Full replacement: extension handled execution, use this result */
21
+ result?: BashResult;
22
+ }
23
+ export interface ToolResultEventResult {
24
+ content?: (TextContent | ImageContent)[];
25
+ details?: unknown;
26
+ isError?: boolean;
27
+ }
28
+ export interface MessageEndEventResult {
29
+ /** Replace the finalized message. The replacement must keep the original message role. */
30
+ message?: AgentMessage;
31
+ }
32
+ export interface BeforeAgentStartEventResult {
33
+ message?: Pick<CustomMessage, "customType" | "content" | "display" | "details">;
34
+ /** Replace the system prompt for this turn. If multiple extensions return this, they are chained. */
35
+ systemPrompt?: string;
36
+ }
37
+ export interface SessionBeforeSwitchResult {
38
+ cancel?: boolean;
39
+ }
40
+ export interface SessionBeforeForkResult {
41
+ cancel?: boolean;
42
+ skipConversationRestore?: boolean;
43
+ }
44
+ export interface SessionBeforeCompactResult {
45
+ cancel?: boolean;
46
+ deletionRequest?: ContextDeletionRequest;
47
+ }
48
+ export interface SessionBeforeTreeResult {
49
+ cancel?: boolean;
50
+ summary?: {
51
+ summary: string;
52
+ details?: unknown;
53
+ };
54
+ /** Override custom instructions for summarization */
55
+ customInstructions?: string;
56
+ /** Override whether customInstructions replaces the default prompt */
57
+ replaceInstructions?: boolean;
58
+ /** Override label to attach to the branch summary entry */
59
+ label?: string;
60
+ }
61
+ //# sourceMappingURL=event-results.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-results.d.ts","sourceRoot":"","sources":["../../../src/core/extensions/event-results.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,MAAM,WAAW,kBAAkB;IAClC,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;CAC1B;AAED,MAAM,MAAM,gCAAgC,GAAG,OAAO,CAAC;AAEvD,MAAM,WAAW,mBAAmB;IACnC,wFAAwF;IACxF,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,0CAA0C;AAC1C,MAAM,WAAW,mBAAmB;IACnC,6CAA6C;IAC7C,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,qEAAqE;IACrE,MAAM,CAAC,EAAE,UAAU,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACrC,OAAO,CAAC,EAAE,CAAC,WAAW,GAAG,YAAY,CAAC,EAAE,CAAC;IACzC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACrC,0FAA0F;IAC1F,OAAO,CAAC,EAAE,YAAY,CAAC;CACvB;AAED,MAAM,WAAW,2BAA2B;IAC3C,OAAO,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,YAAY,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC,CAAC;IAChF,qGAAqG;IACrG,YAAY,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,yBAAyB;IACzC,MAAM,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,uBAAuB;IACvC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,uBAAuB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,MAAM,WAAW,0BAA0B;IAC1C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,eAAe,CAAC,EAAE,sBAAsB,CAAC;CACzC;AAED,MAAM,WAAW,uBAAuB;IACvC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE;QACT,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,OAAO,CAAC;KAClB,CAAC;IACF,qDAAqD;IACrD,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,sEAAsE;IACtE,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,2DAA2D;IAC3D,KAAK,CAAC,EAAE,MAAM,CAAC;CACf","sourcesContent":["import type { AgentMessage } from \"@earendil-works/pi-agent-core\";\nimport type { ImageContent, TextContent } from \"@earendil-works/pi-ai\";\nimport type { BashResult } from \"../bash-executor.ts\";\nimport type { ContextDeletionRequest } from \"../compaction/index.ts\";\nimport type { CustomMessage } from \"../messages.ts\";\nimport type { BashOperations } from \"../tools/bash.ts\";\n\nexport interface ContextEventResult {\n\tmessages?: AgentMessage[];\n}\n\nexport type BeforeProviderRequestEventResult = unknown;\n\nexport interface ToolCallEventResult {\n\t/** Block tool execution. To modify arguments, mutate `event.input` in place instead. */\n\tblock?: boolean;\n\treason?: string;\n}\n\n/** Result from user_bash event handler */\nexport interface UserBashEventResult {\n\t/** Custom operations to use for execution */\n\toperations?: BashOperations;\n\t/** Full replacement: extension handled execution, use this result */\n\tresult?: BashResult;\n}\n\nexport interface ToolResultEventResult {\n\tcontent?: (TextContent | ImageContent)[];\n\tdetails?: unknown;\n\tisError?: boolean;\n}\n\nexport interface MessageEndEventResult {\n\t/** Replace the finalized message. The replacement must keep the original message role. */\n\tmessage?: AgentMessage;\n}\n\nexport interface BeforeAgentStartEventResult {\n\tmessage?: Pick<CustomMessage, \"customType\" | \"content\" | \"display\" | \"details\">;\n\t/** Replace the system prompt for this turn. If multiple extensions return this, they are chained. */\n\tsystemPrompt?: string;\n}\n\nexport interface SessionBeforeSwitchResult {\n\tcancel?: boolean;\n}\n\nexport interface SessionBeforeForkResult {\n\tcancel?: boolean;\n\tskipConversationRestore?: boolean;\n}\n\nexport interface SessionBeforeCompactResult {\n\tcancel?: boolean;\n\tdeletionRequest?: ContextDeletionRequest;\n}\n\nexport interface SessionBeforeTreeResult {\n\tcancel?: boolean;\n\tsummary?: {\n\t\tsummary: string;\n\t\tdetails?: unknown;\n\t};\n\t/** Override custom instructions for summarization */\n\tcustomInstructions?: string;\n\t/** Override whether customInstructions replaces the default prompt */\n\treplaceInstructions?: boolean;\n\t/** Override label to attach to the branch summary entry */\n\tlabel?: string;\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=event-results.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-results.js","sourceRoot":"","sources":["../../../src/core/extensions/event-results.ts"],"names":[],"mappings":"","sourcesContent":["import type { AgentMessage } from \"@earendil-works/pi-agent-core\";\nimport type { ImageContent, TextContent } from \"@earendil-works/pi-ai\";\nimport type { BashResult } from \"../bash-executor.ts\";\nimport type { ContextDeletionRequest } from \"../compaction/index.ts\";\nimport type { CustomMessage } from \"../messages.ts\";\nimport type { BashOperations } from \"../tools/bash.ts\";\n\nexport interface ContextEventResult {\n\tmessages?: AgentMessage[];\n}\n\nexport type BeforeProviderRequestEventResult = unknown;\n\nexport interface ToolCallEventResult {\n\t/** Block tool execution. To modify arguments, mutate `event.input` in place instead. */\n\tblock?: boolean;\n\treason?: string;\n}\n\n/** Result from user_bash event handler */\nexport interface UserBashEventResult {\n\t/** Custom operations to use for execution */\n\toperations?: BashOperations;\n\t/** Full replacement: extension handled execution, use this result */\n\tresult?: BashResult;\n}\n\nexport interface ToolResultEventResult {\n\tcontent?: (TextContent | ImageContent)[];\n\tdetails?: unknown;\n\tisError?: boolean;\n}\n\nexport interface MessageEndEventResult {\n\t/** Replace the finalized message. The replacement must keep the original message role. */\n\tmessage?: AgentMessage;\n}\n\nexport interface BeforeAgentStartEventResult {\n\tmessage?: Pick<CustomMessage, \"customType\" | \"content\" | \"display\" | \"details\">;\n\t/** Replace the system prompt for this turn. If multiple extensions return this, they are chained. */\n\tsystemPrompt?: string;\n}\n\nexport interface SessionBeforeSwitchResult {\n\tcancel?: boolean;\n}\n\nexport interface SessionBeforeForkResult {\n\tcancel?: boolean;\n\tskipConversationRestore?: boolean;\n}\n\nexport interface SessionBeforeCompactResult {\n\tcancel?: boolean;\n\tdeletionRequest?: ContextDeletionRequest;\n}\n\nexport interface SessionBeforeTreeResult {\n\tcancel?: boolean;\n\tsummary?: {\n\t\tsummary: string;\n\t\tdetails?: unknown;\n\t};\n\t/** Override custom instructions for summarization */\n\tcustomInstructions?: string;\n\t/** Override whether customInstructions replaces the default prompt */\n\treplaceInstructions?: boolean;\n\t/** Override label to attach to the branch summary entry */\n\tlabel?: string;\n}\n"]}
@@ -0,0 +1,6 @@
1
+ import type { AfterProviderResponseEvent, AgentEndEvent, AgentStartEvent, BeforeAgentStartEvent, BeforeProviderRequestEvent, ContextEvent, InputEvent, MessageEndEvent, MessageStartEvent, MessageUpdateEvent, ModelSelectEvent, ProjectTrustEvent, ThinkingLevelSelectEvent, ToolExecutionEndEvent, ToolExecutionStartEvent, ToolExecutionUpdateEvent, TurnEndEvent, TurnStartEvent, UserBashEvent } from "./agent-events.ts";
2
+ import type { ResourcesDiscoverEvent, SessionEvent } from "./session-events.ts";
3
+ import type { ToolCallEvent, ToolResultEvent } from "./tool-events.ts";
4
+ /** Union of all event types */
5
+ export type ExtensionEvent = ResourcesDiscoverEvent | SessionEvent | ContextEvent | BeforeProviderRequestEvent | AfterProviderResponseEvent | BeforeAgentStartEvent | AgentStartEvent | AgentEndEvent | TurnStartEvent | TurnEndEvent | MessageStartEvent | MessageUpdateEvent | MessageEndEvent | ToolExecutionStartEvent | ToolExecutionUpdateEvent | ToolExecutionEndEvent | ModelSelectEvent | ThinkingLevelSelectEvent | UserBashEvent | ProjectTrustEvent | InputEvent | ToolCallEvent | ToolResultEvent;
6
+ //# sourceMappingURL=event-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-types.d.ts","sourceRoot":"","sources":["../../../src/core/extensions/event-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,0BAA0B,EAC1B,aAAa,EACb,eAAe,EACf,qBAAqB,EACrB,0BAA0B,EAC1B,YAAY,EACZ,UAAU,EACV,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,wBAAwB,EACxB,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EACxB,YAAY,EACZ,cAAc,EACd,aAAa,EACb,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEvE,+BAA+B;AAC/B,MAAM,MAAM,cAAc,GACvB,sBAAsB,GACtB,YAAY,GACZ,YAAY,GACZ,0BAA0B,GAC1B,0BAA0B,GAC1B,qBAAqB,GACrB,eAAe,GACf,aAAa,GACb,cAAc,GACd,YAAY,GACZ,iBAAiB,GACjB,kBAAkB,GAClB,eAAe,GACf,uBAAuB,GACvB,wBAAwB,GACxB,qBAAqB,GACrB,gBAAgB,GAChB,wBAAwB,GACxB,aAAa,GACb,iBAAiB,GACjB,UAAU,GACV,aAAa,GACb,eAAe,CAAC","sourcesContent":["import type {\n\tAfterProviderResponseEvent,\n\tAgentEndEvent,\n\tAgentStartEvent,\n\tBeforeAgentStartEvent,\n\tBeforeProviderRequestEvent,\n\tContextEvent,\n\tInputEvent,\n\tMessageEndEvent,\n\tMessageStartEvent,\n\tMessageUpdateEvent,\n\tModelSelectEvent,\n\tProjectTrustEvent,\n\tThinkingLevelSelectEvent,\n\tToolExecutionEndEvent,\n\tToolExecutionStartEvent,\n\tToolExecutionUpdateEvent,\n\tTurnEndEvent,\n\tTurnStartEvent,\n\tUserBashEvent,\n} from \"./agent-events.ts\";\nimport type { ResourcesDiscoverEvent, SessionEvent } from \"./session-events.ts\";\nimport type { ToolCallEvent, ToolResultEvent } from \"./tool-events.ts\";\n\n/** Union of all event types */\nexport type ExtensionEvent =\n\t| ResourcesDiscoverEvent\n\t| SessionEvent\n\t| ContextEvent\n\t| BeforeProviderRequestEvent\n\t| AfterProviderResponseEvent\n\t| BeforeAgentStartEvent\n\t| AgentStartEvent\n\t| AgentEndEvent\n\t| TurnStartEvent\n\t| TurnEndEvent\n\t| MessageStartEvent\n\t| MessageUpdateEvent\n\t| MessageEndEvent\n\t| ToolExecutionStartEvent\n\t| ToolExecutionUpdateEvent\n\t| ToolExecutionEndEvent\n\t| ModelSelectEvent\n\t| ThinkingLevelSelectEvent\n\t| UserBashEvent\n\t| ProjectTrustEvent\n\t| InputEvent\n\t| ToolCallEvent\n\t| ToolResultEvent;\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=event-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-types.js","sourceRoot":"","sources":["../../../src/core/extensions/event-types.ts"],"names":[],"mappings":"","sourcesContent":["import type {\n\tAfterProviderResponseEvent,\n\tAgentEndEvent,\n\tAgentStartEvent,\n\tBeforeAgentStartEvent,\n\tBeforeProviderRequestEvent,\n\tContextEvent,\n\tInputEvent,\n\tMessageEndEvent,\n\tMessageStartEvent,\n\tMessageUpdateEvent,\n\tModelSelectEvent,\n\tProjectTrustEvent,\n\tThinkingLevelSelectEvent,\n\tToolExecutionEndEvent,\n\tToolExecutionStartEvent,\n\tToolExecutionUpdateEvent,\n\tTurnEndEvent,\n\tTurnStartEvent,\n\tUserBashEvent,\n} from \"./agent-events.ts\";\nimport type { ResourcesDiscoverEvent, SessionEvent } from \"./session-events.ts\";\nimport type { ToolCallEvent, ToolResultEvent } from \"./tool-events.ts\";\n\n/** Union of all event types */\nexport type ExtensionEvent =\n\t| ResourcesDiscoverEvent\n\t| SessionEvent\n\t| ContextEvent\n\t| BeforeProviderRequestEvent\n\t| AfterProviderResponseEvent\n\t| BeforeAgentStartEvent\n\t| AgentStartEvent\n\t| AgentEndEvent\n\t| TurnStartEvent\n\t| TurnEndEvent\n\t| MessageStartEvent\n\t| MessageUpdateEvent\n\t| MessageEndEvent\n\t| ToolExecutionStartEvent\n\t| ToolExecutionUpdateEvent\n\t| ToolExecutionEndEvent\n\t| ModelSelectEvent\n\t| ThinkingLevelSelectEvent\n\t| UserBashEvent\n\t| ProjectTrustEvent\n\t| InputEvent\n\t| ToolCallEvent\n\t| ToolResultEvent;\n"]}
@@ -0,0 +1,10 @@
1
+ import type { EventBus } from "../event-bus.ts";
2
+ import type { Extension, ExtensionAPI, ExtensionRuntime } from "./types.ts";
3
+ import { type ResourceLoaderInheritanceSnapshotProvider, type WorkflowResourceProviderInput } from "./loader-resources.ts";
4
+ /**
5
+ * Create the ExtensionAPI for an extension.
6
+ * Registration methods write to the extension object.
7
+ * Action methods delegate to the shared runtime.
8
+ */
9
+ export declare function createExtensionAPI(extension: Extension, runtime: ExtensionRuntime, cwd: string, eventBus: EventBus, workflowResourceProvider?: WorkflowResourceProviderInput, resourceLoaderInheritanceSnapshotProvider?: ResourceLoaderInheritanceSnapshotProvider): ExtensionAPI;
10
+ //# sourceMappingURL=loader-api.d.ts.map