@bastani/atomic 0.9.11-alpha.7 → 0.9.11-alpha.9

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 (1798) hide show
  1. package/CHANGELOG.md +98 -0
  2. package/README.md +3 -5
  3. package/dist/builtin/intercom/package.json +3 -3
  4. package/dist/builtin/mcp/CHANGELOG.md +6 -0
  5. package/dist/builtin/mcp/commands.ts +7 -3
  6. package/dist/builtin/mcp/package.json +6 -6
  7. package/dist/builtin/mcp/sampling-handler.ts +1 -5
  8. package/dist/builtin/subagents/CHANGELOG.md +9 -0
  9. package/dist/builtin/subagents/package.json +5 -5
  10. package/dist/builtin/subagents/src/agents/agent-discovery.ts +26 -15
  11. package/dist/builtin/subagents/src/agents/agent-loaders.ts +48 -34
  12. package/dist/builtin/subagents/src/agents/agent-management-helpers.ts +80 -31
  13. package/dist/builtin/subagents/src/agents/agent-management.ts +194 -55
  14. package/dist/builtin/subagents/src/agents/agent-overrides.ts +85 -32
  15. package/dist/builtin/subagents/src/agents/agent-paths.ts +4 -1
  16. package/dist/builtin/subagents/src/agents/agent-selection.ts +1 -1
  17. package/dist/builtin/subagents/src/agents/agent-serializer.ts +1 -4
  18. package/dist/builtin/subagents/src/agents/agents.ts +9 -9
  19. package/dist/builtin/subagents/src/agents/chain-serializer.ts +9 -5
  20. package/dist/builtin/subagents/src/agents/identity.ts +12 -3
  21. package/dist/builtin/subagents/src/agents/skills-paths.ts +64 -24
  22. package/dist/builtin/subagents/src/agents/skills.ts +29 -26
  23. package/dist/builtin/subagents/src/extension/doctor.ts +31 -20
  24. package/dist/builtin/subagents/src/extension/fanout-child.ts +27 -12
  25. package/dist/builtin/subagents/src/extension/index.ts +119 -43
  26. package/dist/builtin/subagents/src/extension/prompt-guidance.ts +0 -1
  27. package/dist/builtin/subagents/src/extension/schemas.ts +304 -177
  28. package/dist/builtin/subagents/src/extension/startup-maintenance.ts +137 -73
  29. package/dist/builtin/subagents/src/intercom/intercom-bridge.ts +49 -21
  30. package/dist/builtin/subagents/src/intercom/result-intercom.ts +76 -38
  31. package/dist/builtin/subagents/src/runs/background/async-event-journal.ts +12 -6
  32. package/dist/builtin/subagents/src/runs/background/async-execution-chain.ts +164 -57
  33. package/dist/builtin/subagents/src/runs/background/async-execution-common.ts +15 -18
  34. package/dist/builtin/subagents/src/runs/background/async-execution-single.ts +66 -27
  35. package/dist/builtin/subagents/src/runs/background/async-execution-types.ts +4 -14
  36. package/dist/builtin/subagents/src/runs/background/async-execution.ts +1 -1
  37. package/dist/builtin/subagents/src/runs/background/async-job-tracker.ts +86 -32
  38. package/dist/builtin/subagents/src/runs/background/async-resume.ts +93 -36
  39. package/dist/builtin/subagents/src/runs/background/async-status.ts +82 -27
  40. package/dist/builtin/subagents/src/runs/background/completion-claims.ts +12 -5
  41. package/dist/builtin/subagents/src/runs/background/completion-dedupe.ts +3 -1
  42. package/dist/builtin/subagents/src/runs/background/completion-notification.ts +3 -1
  43. package/dist/builtin/subagents/src/runs/background/notify.ts +36 -18
  44. package/dist/builtin/subagents/src/runs/background/parallel-groups.ts +28 -14
  45. package/dist/builtin/subagents/src/runs/background/result-delivery-processor.ts +147 -79
  46. package/dist/builtin/subagents/src/runs/background/result-file-claims.ts +20 -5
  47. package/dist/builtin/subagents/src/runs/background/result-quarantine.ts +7 -2
  48. package/dist/builtin/subagents/src/runs/background/result-status.ts +11 -5
  49. package/dist/builtin/subagents/src/runs/background/result-watcher-data.ts +18 -5
  50. package/dist/builtin/subagents/src/runs/background/result-watcher.ts +104 -35
  51. package/dist/builtin/subagents/src/runs/background/run-id-resolver.ts +28 -7
  52. package/dist/builtin/subagents/src/runs/background/run-status.ts +120 -32
  53. package/dist/builtin/subagents/src/runs/background/stale-run-reconciler.ts +98 -39
  54. package/dist/builtin/subagents/src/runs/background/subagent-runner-dynamic.ts +185 -37
  55. package/dist/builtin/subagents/src/runs/background/subagent-runner-finalize.ts +23 -9
  56. package/dist/builtin/subagents/src/runs/background/subagent-runner-output.ts +6 -2
  57. package/dist/builtin/subagents/src/runs/background/subagent-runner-parallel-helpers.ts +34 -18
  58. package/dist/builtin/subagents/src/runs/background/subagent-runner-parallel.ts +175 -26
  59. package/dist/builtin/subagents/src/runs/background/subagent-runner-sequential.ts +68 -23
  60. package/dist/builtin/subagents/src/runs/background/subagent-runner-state.ts +200 -49
  61. package/dist/builtin/subagents/src/runs/background/subagent-runner-step.ts +81 -49
  62. package/dist/builtin/subagents/src/runs/background/subagent-runner-streaming.ts +33 -11
  63. package/dist/builtin/subagents/src/runs/background/subagent-runner-types.ts +16 -6
  64. package/dist/builtin/subagents/src/runs/background/subagent-runner-utils.ts +2 -3
  65. package/dist/builtin/subagents/src/runs/background/subagent-runner.ts +11 -8
  66. package/dist/builtin/subagents/src/runs/foreground/chain-execution-details.ts +5 -2
  67. package/dist/builtin/subagents/src/runs/foreground/chain-execution-dynamic-step.ts +113 -31
  68. package/dist/builtin/subagents/src/runs/foreground/chain-execution-parallel-runner.ts +64 -55
  69. package/dist/builtin/subagents/src/runs/foreground/chain-execution-parallel-step.ts +103 -37
  70. package/dist/builtin/subagents/src/runs/foreground/chain-execution-sequential-step.ts +97 -62
  71. package/dist/builtin/subagents/src/runs/foreground/chain-execution-types.ts +22 -10
  72. package/dist/builtin/subagents/src/runs/foreground/chain-execution.ts +9 -6
  73. package/dist/builtin/subagents/src/runs/foreground/detached-cleanup-barrier.ts +22 -22
  74. package/dist/builtin/subagents/src/runs/foreground/execution-attempt-control.ts +45 -40
  75. package/dist/builtin/subagents/src/runs/foreground/execution-attempt-finalize.ts +6 -5
  76. package/dist/builtin/subagents/src/runs/foreground/execution-attempt.ts +118 -43
  77. package/dist/builtin/subagents/src/runs/foreground/execution-detach-reservations.ts +17 -7
  78. package/dist/builtin/subagents/src/runs/foreground/execution-detach-route.ts +5 -3
  79. package/dist/builtin/subagents/src/runs/foreground/execution-intercom-detach.ts +39 -35
  80. package/dist/builtin/subagents/src/runs/foreground/execution-run-sync.ts +81 -42
  81. package/dist/builtin/subagents/src/runs/foreground/execution-structured-retries.ts +27 -21
  82. package/dist/builtin/subagents/src/runs/foreground/execution-updates.ts +2 -5
  83. package/dist/builtin/subagents/src/runs/foreground/execution-utils.ts +9 -4
  84. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-async.ts +64 -27
  85. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-chain.ts +31 -18
  86. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-context.ts +95 -62
  87. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-input.ts +30 -9
  88. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-parallel-task.ts +106 -96
  89. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-parallel.ts +68 -37
  90. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-resume.ts +260 -84
  91. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-runtime.ts +6 -1
  92. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-single.ts +63 -40
  93. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-status.ts +110 -59
  94. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-types.ts +20 -3
  95. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-worktree.ts +8 -6
  96. package/dist/builtin/subagents/src/runs/foreground/subagent-executor.ts +65 -47
  97. package/dist/builtin/subagents/src/runs/shared/chain-outputs.ts +37 -12
  98. package/dist/builtin/subagents/src/runs/shared/dynamic-fanout.ts +120 -34
  99. package/dist/builtin/subagents/src/runs/shared/final-drain.ts +12 -7
  100. package/dist/builtin/subagents/src/runs/shared/intercom-group.ts +3 -2
  101. package/dist/builtin/subagents/src/runs/shared/long-running-guard.ts +8 -3
  102. package/dist/builtin/subagents/src/runs/shared/mcp-direct-tool-allowlist.ts +42 -19
  103. package/dist/builtin/subagents/src/runs/shared/model-candidate-filter.ts +8 -4
  104. package/dist/builtin/subagents/src/runs/shared/model-fallback.ts +103 -38
  105. package/dist/builtin/subagents/src/runs/shared/nested-events-control.ts +30 -20
  106. package/dist/builtin/subagents/src/runs/shared/nested-events-core.ts +45 -20
  107. package/dist/builtin/subagents/src/runs/shared/nested-events-projection.ts +57 -23
  108. package/dist/builtin/subagents/src/runs/shared/nested-events-registry.ts +77 -29
  109. package/dist/builtin/subagents/src/runs/shared/nested-events-sanitize.ts +99 -42
  110. package/dist/builtin/subagents/src/runs/shared/nested-events.ts +32 -26
  111. package/dist/builtin/subagents/src/runs/shared/nested-path.ts +22 -17
  112. package/dist/builtin/subagents/src/runs/shared/nested-render.ts +31 -10
  113. package/dist/builtin/subagents/src/runs/shared/parallel-utils.ts +9 -8
  114. package/dist/builtin/subagents/src/runs/shared/pi-args.ts +54 -30
  115. package/dist/builtin/subagents/src/runs/shared/pi-spawn.ts +17 -13
  116. package/dist/builtin/subagents/src/runs/shared/run-history.ts +13 -6
  117. package/dist/builtin/subagents/src/runs/shared/single-output.ts +11 -6
  118. package/dist/builtin/subagents/src/runs/shared/spawn-env.ts +21 -0
  119. package/dist/builtin/subagents/src/runs/shared/structured-output.ts +33 -19
  120. package/dist/builtin/subagents/src/runs/shared/subagent-control.ts +59 -48
  121. package/dist/builtin/subagents/src/runs/shared/subagent-prompt-runtime.ts +18 -11
  122. package/dist/builtin/subagents/src/runs/shared/workflow-graph.ts +41 -11
  123. package/dist/builtin/subagents/src/runs/shared/worktree-post-create.ts +46 -10
  124. package/dist/builtin/subagents/src/runs/shared/worktree-root.ts +21 -5
  125. package/dist/builtin/subagents/src/runs/shared/worktree.ts +89 -34
  126. package/dist/builtin/subagents/src/shared/artifacts.ts +137 -7
  127. package/dist/builtin/subagents/src/shared/event-jsonl-writer.ts +49 -13
  128. package/dist/builtin/subagents/src/shared/fast-mode.ts +13 -6
  129. package/dist/builtin/subagents/src/shared/fork-context.ts +7 -4
  130. package/dist/builtin/subagents/src/shared/formatters.ts +14 -9
  131. package/dist/builtin/subagents/src/shared/jsonl-writer.ts +2 -1
  132. package/dist/builtin/subagents/src/shared/model-info.ts +10 -3
  133. package/dist/builtin/subagents/src/shared/post-exit-stdio-guard.ts +7 -6
  134. package/dist/builtin/subagents/src/shared/session-tokens.ts +2 -1
  135. package/dist/builtin/subagents/src/shared/settings.ts +39 -43
  136. package/dist/builtin/subagents/src/shared/status-format.ts +10 -2
  137. package/dist/builtin/subagents/src/shared/types-async.ts +22 -19
  138. package/dist/builtin/subagents/src/shared/types-config.ts +1 -1
  139. package/dist/builtin/subagents/src/shared/types-depth.ts +23 -11
  140. package/dist/builtin/subagents/src/shared/types-results.ts +49 -6
  141. package/dist/builtin/subagents/src/shared/types-runtime.ts +16 -17
  142. package/dist/builtin/subagents/src/shared/types.ts +2 -2
  143. package/dist/builtin/subagents/src/shared/utils.ts +34 -20
  144. package/dist/builtin/subagents/src/slash/prompt-template-bridge.ts +44 -47
  145. package/dist/builtin/subagents/src/slash/saved-chain-mapping.ts +5 -7
  146. package/dist/builtin/subagents/src/slash/slash-bridge.ts +3 -3
  147. package/dist/builtin/subagents/src/slash/slash-commands.ts +78 -52
  148. package/dist/builtin/subagents/src/slash/slash-live-state.ts +59 -32
  149. package/dist/builtin/subagents/src/tui/render-chain-graph.ts +120 -32
  150. package/dist/builtin/subagents/src/tui/render-event-formatting.ts +85 -22
  151. package/dist/builtin/subagents/src/tui/render-helpers.ts +16 -6
  152. package/dist/builtin/subagents/src/tui/render-layout.ts +8 -3
  153. package/dist/builtin/subagents/src/tui/render-result-compact.ts +125 -43
  154. package/dist/builtin/subagents/src/tui/render-result.ts +128 -85
  155. package/dist/builtin/subagents/src/tui/render-stable-output.ts +17 -13
  156. package/dist/builtin/subagents/src/tui/render-status-progress.ts +52 -20
  157. package/dist/builtin/subagents/src/tui/render-widget-graph.ts +130 -28
  158. package/dist/builtin/subagents/src/tui/render-widget.ts +54 -27
  159. package/dist/builtin/subagents/src/tui/render.ts +10 -3
  160. package/dist/builtin/web-access/package.json +2 -2
  161. package/dist/builtin/workflows/CHANGELOG.md +31 -0
  162. package/dist/builtin/workflows/README.md +7 -1
  163. package/dist/builtin/workflows/builtin/open-claude-design-phases.ts +104 -40
  164. package/dist/builtin/workflows/builtin/open-claude-design-runner.ts +57 -26
  165. package/dist/builtin/workflows/builtin/open-claude-design-setup.ts +125 -12
  166. package/dist/builtin/workflows/package.json +3 -3
  167. package/dist/builtin/workflows/skills/impeccable/scripts/live-accept.mjs +4 -1
  168. package/dist/builtin/workflows/skills/impeccable/scripts/live-browser-dom.js +5 -1
  169. package/dist/builtin/workflows/skills/impeccable/scripts/live-browser-session.js +7 -1
  170. package/dist/builtin/workflows/skills/impeccable/scripts/live-manual-edit-evidence.mjs +5 -2
  171. package/dist/builtin/workflows/skills/impeccable/scripts/live-server.mjs +7 -1
  172. package/dist/builtin/workflows/src/authoring/typebox-defaults.d.ts +5 -5
  173. package/dist/builtin/workflows/src/authoring/typebox-defaults.ts +160 -197
  174. package/dist/builtin/workflows/src/authoring/workflow.ts +137 -133
  175. package/dist/builtin/workflows/src/authoring.d.ts +3 -3
  176. package/dist/builtin/workflows/src/durable/backend.ts +507 -439
  177. package/dist/builtin/workflows/src/durable/boundary-lifecycle.ts +142 -118
  178. package/dist/builtin/workflows/src/durable/boundary-topology.ts +410 -355
  179. package/dist/builtin/workflows/src/durable/child-invocation.ts +6 -6
  180. package/dist/builtin/workflows/src/durable/child-primitive.ts +109 -101
  181. package/dist/builtin/workflows/src/durable/completed-catalog-stage-groups.ts +234 -194
  182. package/dist/builtin/workflows/src/durable/completed-catalog.ts +379 -372
  183. package/dist/builtin/workflows/src/durable/completed-inspection.ts +118 -116
  184. package/dist/builtin/workflows/src/durable/completed-subtree.ts +24 -20
  185. package/dist/builtin/workflows/src/durable/dbos-backend.ts +484 -418
  186. package/dist/builtin/workflows/src/durable/dbos-embedded-postgres-root.ts +86 -87
  187. package/dist/builtin/workflows/src/durable/dbos-embedded-postgres.ts +171 -149
  188. package/dist/builtin/workflows/src/durable/dbos-envelope.ts +400 -324
  189. package/dist/builtin/workflows/src/durable/dbos-lifecycle.ts +117 -121
  190. package/dist/builtin/workflows/src/durable/dbos-local-postgres.ts +75 -68
  191. package/dist/builtin/workflows/src/durable/dbos-metadata.ts +138 -119
  192. package/dist/builtin/workflows/src/durable/dbos-prompt-reservations.ts +316 -259
  193. package/dist/builtin/workflows/src/durable/dbos-sdk-handle.ts +138 -117
  194. package/dist/builtin/workflows/src/durable/dbos-status-transition.ts +48 -43
  195. package/dist/builtin/workflows/src/durable/dbos-tombstone.ts +14 -14
  196. package/dist/builtin/workflows/src/durable/durable-hash.ts +9 -11
  197. package/dist/builtin/workflows/src/durable/factory.ts +45 -46
  198. package/dist/builtin/workflows/src/durable/format-version.ts +1 -1
  199. package/dist/builtin/workflows/src/durable/index.ts +69 -70
  200. package/dist/builtin/workflows/src/durable/local-command.ts +47 -43
  201. package/dist/builtin/workflows/src/durable/prompt-reservation-state.ts +156 -149
  202. package/dist/builtin/workflows/src/durable/prompt-reservations.ts +16 -16
  203. package/dist/builtin/workflows/src/durable/resume-catalog.ts +11 -11
  204. package/dist/builtin/workflows/src/durable/resume-eligibility.ts +27 -25
  205. package/dist/builtin/workflows/src/durable/resume-runtime.ts +261 -226
  206. package/dist/builtin/workflows/src/durable/retention-policy.ts +31 -30
  207. package/dist/builtin/workflows/src/durable/run-timing.ts +42 -41
  208. package/dist/builtin/workflows/src/durable/scoped-backend.ts +249 -228
  209. package/dist/builtin/workflows/src/durable/stage-primitive.ts +456 -398
  210. package/dist/builtin/workflows/src/durable/stage-topology-validation.ts +199 -186
  211. package/dist/builtin/workflows/src/durable/stage-topology.ts +40 -40
  212. package/dist/builtin/workflows/src/durable/tool-failure-checkpoint.ts +37 -37
  213. package/dist/builtin/workflows/src/durable/tool-outcome.ts +95 -85
  214. package/dist/builtin/workflows/src/durable/tool-primitive.ts +606 -410
  215. package/dist/builtin/workflows/src/durable/types.ts +219 -216
  216. package/dist/builtin/workflows/src/durable/ui-primitive.ts +241 -208
  217. package/dist/builtin/workflows/src/durable/workflow-child-result.ts +40 -37
  218. package/dist/builtin/workflows/src/durable/workflow-status-transition.ts +16 -15
  219. package/dist/builtin/workflows/src/engine/graph-inference.ts +76 -76
  220. package/dist/builtin/workflows/src/engine/options.ts +35 -36
  221. package/dist/builtin/workflows/src/engine/primitives/chain.ts +27 -22
  222. package/dist/builtin/workflows/src/engine/primitives/exit.ts +1 -1
  223. package/dist/builtin/workflows/src/engine/primitives/parallel.ts +64 -52
  224. package/dist/builtin/workflows/src/engine/primitives/task.ts +110 -95
  225. package/dist/builtin/workflows/src/engine/primitives/ui.ts +46 -50
  226. package/dist/builtin/workflows/src/engine/primitives/workflow.ts +194 -160
  227. package/dist/builtin/workflows/src/engine/replay.ts +6 -6
  228. package/dist/builtin/workflows/src/engine/run-durable-admission.ts +30 -30
  229. package/dist/builtin/workflows/src/engine/run-durable-finalize.ts +64 -47
  230. package/dist/builtin/workflows/src/engine/run-durable-stage-session.ts +29 -23
  231. package/dist/builtin/workflows/src/engine/run-durable-topology.ts +246 -219
  232. package/dist/builtin/workflows/src/engine/run-returned-status.ts +60 -57
  233. package/dist/builtin/workflows/src/engine/run-terminal-event.ts +25 -23
  234. package/dist/builtin/workflows/src/engine/run-terminal-failure.ts +45 -42
  235. package/dist/builtin/workflows/src/engine/run-tool-admission-boundary.ts +99 -0
  236. package/dist/builtin/workflows/src/engine/run-tool-control-registry.ts +179 -0
  237. package/dist/builtin/workflows/src/engine/run-tool-execution-tracker.ts +144 -132
  238. package/dist/builtin/workflows/src/engine/run-tool-node-lifecycle.ts +134 -69
  239. package/dist/builtin/workflows/src/engine/run.ts +678 -473
  240. package/dist/builtin/workflows/src/engine/runtime.ts +160 -153
  241. package/dist/builtin/workflows/src/engine/workflow-activity.ts +7 -3
  242. package/dist/builtin/workflows/src/engine/workflow-tool-abort.ts +92 -0
  243. package/dist/builtin/workflows/src/extension/atomic-stage-session.ts +123 -120
  244. package/dist/builtin/workflows/src/extension/background-ui-adapter.ts +108 -112
  245. package/dist/builtin/workflows/src/extension/companions.ts +116 -116
  246. package/dist/builtin/workflows/src/extension/completed-stage-intercom-ask.ts +123 -111
  247. package/dist/builtin/workflows/src/extension/config-file-loader.ts +153 -148
  248. package/dist/builtin/workflows/src/extension/config-loader.ts +264 -283
  249. package/dist/builtin/workflows/src/extension/discovery-loaders.ts +81 -84
  250. package/dist/builtin/workflows/src/extension/discovery.ts +267 -272
  251. package/dist/builtin/workflows/src/extension/dispatcher.ts +214 -217
  252. package/dist/builtin/workflows/src/extension/extension-factory.ts +102 -108
  253. package/dist/builtin/workflows/src/extension/extension-lifecycle.ts +118 -116
  254. package/dist/builtin/workflows/src/extension/extension-runtime-state.ts +413 -419
  255. package/dist/builtin/workflows/src/extension/hil-answer-notifications.ts +270 -261
  256. package/dist/builtin/workflows/src/extension/index.bundle.mjs +33743 -32844
  257. package/dist/builtin/workflows/src/extension/index.ts +37 -37
  258. package/dist/builtin/workflows/src/extension/lifecycle-notification-delivery.ts +64 -64
  259. package/dist/builtin/workflows/src/extension/lifecycle-notifications.ts +384 -378
  260. package/dist/builtin/workflows/src/extension/mcp.ts +35 -35
  261. package/dist/builtin/workflows/src/extension/postmortem-deps.ts +31 -35
  262. package/dist/builtin/workflows/src/extension/public-types.ts +160 -182
  263. package/dist/builtin/workflows/src/extension/render-call.ts +85 -88
  264. package/dist/builtin/workflows/src/extension/render-component.ts +9 -11
  265. package/dist/builtin/workflows/src/extension/render-result.ts +447 -386
  266. package/dist/builtin/workflows/src/extension/renderers.ts +35 -35
  267. package/dist/builtin/workflows/src/extension/runtime-active-block-claim.ts +37 -37
  268. package/dist/builtin/workflows/src/extension/runtime-durable-resume.ts +145 -143
  269. package/dist/builtin/workflows/src/extension/runtime.ts +346 -264
  270. package/dist/builtin/workflows/src/extension/status-writer.ts +95 -95
  271. package/dist/builtin/workflows/src/extension/ui-surface.ts +224 -222
  272. package/dist/builtin/workflows/src/extension/wiring.ts +307 -283
  273. package/dist/builtin/workflows/src/extension/workflow-command-completions.ts +109 -108
  274. package/dist/builtin/workflows/src/extension/workflow-command-registration.ts +257 -227
  275. package/dist/builtin/workflows/src/extension/workflow-command-surfaces.ts +84 -84
  276. package/dist/builtin/workflows/src/extension/workflow-command-utils.ts +126 -132
  277. package/dist/builtin/workflows/src/extension/workflow-durable-resume-command.ts +213 -205
  278. package/dist/builtin/workflows/src/extension/workflow-model-catalog.ts +24 -0
  279. package/dist/builtin/workflows/src/extension/workflow-module-loader.ts +104 -104
  280. package/dist/builtin/workflows/src/extension/workflow-policy.ts +7 -9
  281. package/dist/builtin/workflows/src/extension/workflow-ports.ts +30 -34
  282. package/dist/builtin/workflows/src/extension/workflow-prompts.ts +15 -14
  283. package/dist/builtin/workflows/src/extension/workflow-reload-coordinator.ts +46 -46
  284. package/dist/builtin/workflows/src/extension/workflow-reload-report.ts +28 -25
  285. package/dist/builtin/workflows/src/extension/workflow-resume-picker-rows.ts +48 -45
  286. package/dist/builtin/workflows/src/extension/workflow-resume-shadow.ts +28 -31
  287. package/dist/builtin/workflows/src/extension/workflow-run-control-command.ts +539 -453
  288. package/dist/builtin/workflows/src/extension/workflow-schema.ts +149 -92
  289. package/dist/builtin/workflows/src/extension/workflow-stage-results.ts +182 -194
  290. package/dist/builtin/workflows/src/extension/workflow-status-summary.ts +150 -155
  291. package/dist/builtin/workflows/src/extension/workflow-targets.ts +151 -121
  292. package/dist/builtin/workflows/src/extension/workflow-tool-content.ts +204 -224
  293. package/dist/builtin/workflows/src/extension/workflow-tool-control.ts +512 -372
  294. package/dist/builtin/workflows/src/extension/workflow-tool-inspection.ts +146 -150
  295. package/dist/builtin/workflows/src/extension/workflow-tool-registration.ts +43 -46
  296. package/dist/builtin/workflows/src/extension/workflow-tool-send.ts +341 -292
  297. package/dist/builtin/workflows/src/extension/workflow-tool.ts +122 -129
  298. package/dist/builtin/workflows/src/intercom/intercom-bridge.ts +17 -20
  299. package/dist/builtin/workflows/src/intercom/intercom-routing.ts +62 -62
  300. package/dist/builtin/workflows/src/intercom/result-intercom.ts +123 -123
  301. package/dist/builtin/workflows/src/runs/background/cancellation-registry.ts +72 -59
  302. package/dist/builtin/workflows/src/runs/background/durable-resume-transition.ts +45 -45
  303. package/dist/builtin/workflows/src/runs/background/job-tracker.ts +69 -34
  304. package/dist/builtin/workflows/src/runs/background/quit-tool-node.ts +71 -0
  305. package/dist/builtin/workflows/src/runs/background/quit.ts +359 -138
  306. package/dist/builtin/workflows/src/runs/background/resume-acknowledgements.ts +70 -69
  307. package/dist/builtin/workflows/src/runs/background/run-inspect.ts +85 -80
  308. package/dist/builtin/workflows/src/runs/background/runner.ts +122 -121
  309. package/dist/builtin/workflows/src/runs/background/startup-admission.ts +56 -60
  310. package/dist/builtin/workflows/src/runs/background/status.ts +324 -294
  311. package/dist/builtin/workflows/src/runs/background/workflow-lifecycle-aggregate.ts +23 -17
  312. package/dist/builtin/workflows/src/runs/foreground/executor-abort.ts +311 -309
  313. package/dist/builtin/workflows/src/runs/foreground/executor-child-boundary.ts +228 -201
  314. package/dist/builtin/workflows/src/runs/foreground/executor-child-helpers.ts +56 -51
  315. package/dist/builtin/workflows/src/runs/foreground/executor-continuation.ts +168 -152
  316. package/dist/builtin/workflows/src/runs/foreground/executor-direct-helpers.ts +255 -217
  317. package/dist/builtin/workflows/src/runs/foreground/executor-exit-manager.ts +178 -173
  318. package/dist/builtin/workflows/src/runs/foreground/executor-hil.ts +273 -269
  319. package/dist/builtin/workflows/src/runs/foreground/executor-inputs.ts +59 -56
  320. package/dist/builtin/workflows/src/runs/foreground/executor-lifecycle.ts +368 -361
  321. package/dist/builtin/workflows/src/runs/foreground/executor-outputs.ts +123 -127
  322. package/dist/builtin/workflows/src/runs/foreground/executor-prompt-nodes.ts +355 -339
  323. package/dist/builtin/workflows/src/runs/foreground/executor-queued-user-message.ts +47 -47
  324. package/dist/builtin/workflows/src/runs/foreground/executor-run-finalizers.ts +125 -104
  325. package/dist/builtin/workflows/src/runs/foreground/executor-scheduler.ts +189 -189
  326. package/dist/builtin/workflows/src/runs/foreground/executor-stage-call.ts +294 -250
  327. package/dist/builtin/workflows/src/runs/foreground/executor-stage-context.ts +141 -127
  328. package/dist/builtin/workflows/src/runs/foreground/executor-stage-control.ts +218 -213
  329. package/dist/builtin/workflows/src/runs/foreground/executor-stage-factory.ts +406 -364
  330. package/dist/builtin/workflows/src/runs/foreground/executor-stage-replay.ts +143 -127
  331. package/dist/builtin/workflows/src/runs/foreground/executor-stage-types.ts +49 -49
  332. package/dist/builtin/workflows/src/runs/foreground/executor-task-context.ts +1 -1
  333. package/dist/builtin/workflows/src/runs/foreground/executor-task-prompts.ts +148 -153
  334. package/dist/builtin/workflows/src/runs/foreground/executor-types.ts +155 -117
  335. package/dist/builtin/workflows/src/runs/foreground/executor.ts +10 -10
  336. package/dist/builtin/workflows/src/runs/foreground/postmortem-stage-chat.ts +168 -141
  337. package/dist/builtin/workflows/src/runs/foreground/stage-control-registry.ts +356 -379
  338. package/dist/builtin/workflows/src/runs/foreground/stage-delivery-activity.ts +53 -53
  339. package/dist/builtin/workflows/src/runs/foreground/stage-queued-user-messages.ts +95 -0
  340. package/dist/builtin/workflows/src/runs/foreground/stage-runner-candidate.ts +8 -8
  341. package/dist/builtin/workflows/src/runs/foreground/stage-runner-context.ts +232 -232
  342. package/dist/builtin/workflows/src/runs/foreground/stage-runner-controller.ts +630 -493
  343. package/dist/builtin/workflows/src/runs/foreground/stage-runner-message-admission.ts +182 -181
  344. package/dist/builtin/workflows/src/runs/foreground/stage-runner-messages.ts +80 -80
  345. package/dist/builtin/workflows/src/runs/foreground/stage-runner-options.ts +78 -78
  346. package/dist/builtin/workflows/src/runs/foreground/stage-runner-output.ts +102 -104
  347. package/dist/builtin/workflows/src/runs/foreground/stage-runner-pause.ts +178 -173
  348. package/dist/builtin/workflows/src/runs/foreground/stage-runner-replacement.ts +31 -32
  349. package/dist/builtin/workflows/src/runs/foreground/stage-runner-send-user-message.ts +114 -105
  350. package/dist/builtin/workflows/src/runs/foreground/stage-runner-session-options.ts +29 -29
  351. package/dist/builtin/workflows/src/runs/foreground/stage-runner-session.ts +44 -52
  352. package/dist/builtin/workflows/src/runs/foreground/stage-runner-structured-output.ts +63 -58
  353. package/dist/builtin/workflows/src/runs/foreground/stage-runner-types.ts +157 -148
  354. package/dist/builtin/workflows/src/runs/foreground/stage-runner-unresolved-overflow.ts +27 -23
  355. package/dist/builtin/workflows/src/runs/foreground/stage-runner.ts +10 -10
  356. package/dist/builtin/workflows/src/runs/foreground/stage-tool-execution-buffer.ts +33 -31
  357. package/dist/builtin/workflows/src/runs/shared/concurrency.ts +53 -53
  358. package/dist/builtin/workflows/src/runs/shared/graph-inference.ts +1 -1
  359. package/dist/builtin/workflows/src/runs/shared/model-fallback-candidates.ts +257 -245
  360. package/dist/builtin/workflows/src/runs/shared/model-fallback-failures.ts +378 -363
  361. package/dist/builtin/workflows/src/runs/shared/prompt-callsite.ts +55 -55
  362. package/dist/builtin/workflows/src/runs/shared/validate-inputs.ts +75 -84
  363. package/dist/builtin/workflows/src/runs/shared/worktree-cache-lifecycle.ts +1 -3
  364. package/dist/builtin/workflows/src/runs/shared/worktree-cwd.ts +96 -83
  365. package/dist/builtin/workflows/src/runs/shared/worktree-diff.ts +9 -2
  366. package/dist/builtin/workflows/src/runs/shared/worktree-git-runner.ts +21 -6
  367. package/dist/builtin/workflows/src/runs/shared/worktree-git.ts +60 -30
  368. package/dist/builtin/workflows/src/runs/shared/worktree-post-create.ts +12 -5
  369. package/dist/builtin/workflows/src/runs/shared/worktree-setup.ts +51 -30
  370. package/dist/builtin/workflows/src/runs/shared/worktree.ts +4 -4
  371. package/dist/builtin/workflows/src/sdk-surface.ts +38 -19
  372. package/dist/builtin/workflows/src/shared/authoring-contract-stage.d.ts +11 -5
  373. package/dist/builtin/workflows/src/shared/authoring-contract-stage.ts +299 -275
  374. package/dist/builtin/workflows/src/shared/authoring-contract-ui.d.ts +21 -7
  375. package/dist/builtin/workflows/src/shared/authoring-contract-ui.ts +290 -264
  376. package/dist/builtin/workflows/src/shared/expanded-workflow-graph.ts +220 -211
  377. package/dist/builtin/workflows/src/shared/intercom-group.ts +22 -22
  378. package/dist/builtin/workflows/src/shared/persistence-compaction-policy.ts +30 -30
  379. package/dist/builtin/workflows/src/shared/persistence-restore-helpers.ts +432 -406
  380. package/dist/builtin/workflows/src/shared/persistence-restore.ts +187 -181
  381. package/dist/builtin/workflows/src/shared/persistence-session-entries.ts +211 -212
  382. package/dist/builtin/workflows/src/shared/prompt-callsite-context.ts +3 -3
  383. package/dist/builtin/workflows/src/shared/render-inputs-schema.ts +84 -91
  384. package/dist/builtin/workflows/src/shared/resume-continuation.ts +1 -1
  385. package/dist/builtin/workflows/src/shared/returned-run-status.ts +91 -77
  386. package/dist/builtin/workflows/src/shared/run-visibility.ts +2 -2
  387. package/dist/builtin/workflows/src/shared/schema-introspection.ts +50 -60
  388. package/dist/builtin/workflows/src/shared/serializable.ts +72 -86
  389. package/dist/builtin/workflows/src/shared/session-transcript.ts +44 -39
  390. package/dist/builtin/workflows/src/shared/stage-prompt.ts +183 -202
  391. package/dist/builtin/workflows/src/shared/stage-ui-broker.ts +270 -274
  392. package/dist/builtin/workflows/src/shared/store-factory.ts +8 -8
  393. package/dist/builtin/workflows/src/shared/store-internal.ts +168 -172
  394. package/dist/builtin/workflows/src/shared/store-prompt-methods.ts +196 -200
  395. package/dist/builtin/workflows/src/shared/store-public-types.ts +208 -204
  396. package/dist/builtin/workflows/src/shared/store-run-methods.ts +238 -231
  397. package/dist/builtin/workflows/src/shared/store-stage-methods.ts +284 -285
  398. package/dist/builtin/workflows/src/shared/store-tool-node-methods.ts +43 -36
  399. package/dist/builtin/workflows/src/shared/store-types.ts +263 -263
  400. package/dist/builtin/workflows/src/shared/store.ts +7 -7
  401. package/dist/builtin/workflows/src/shared/timing.ts +36 -34
  402. package/dist/builtin/workflows/src/shared/types.ts +256 -213
  403. package/dist/builtin/workflows/src/shared/workflow-authoring-types.d.ts +10 -4
  404. package/dist/builtin/workflows/src/shared/workflow-authoring-types.ts +81 -59
  405. package/dist/builtin/workflows/src/shared/workflow-failures-classifier.ts +247 -227
  406. package/dist/builtin/workflows/src/shared/workflow-failures-contract.ts +45 -46
  407. package/dist/builtin/workflows/src/shared/workflow-failures-decisions.ts +330 -351
  408. package/dist/builtin/workflows/src/shared/workflow-failures-signals.ts +192 -195
  409. package/dist/builtin/workflows/src/shared/workflow-failures.ts +10 -10
  410. package/dist/builtin/workflows/src/shared/workflow-run-ownership.ts +32 -36
  411. package/dist/builtin/workflows/src/tui/chat-surface-message.ts +157 -184
  412. package/dist/builtin/workflows/src/tui/chat-surface.ts +332 -355
  413. package/dist/builtin/workflows/src/tui/color-utils.ts +21 -30
  414. package/dist/builtin/workflows/src/tui/connectors.ts +57 -61
  415. package/dist/builtin/workflows/src/tui/dispatch-confirm.ts +168 -192
  416. package/dist/builtin/workflows/src/tui/edge.ts +10 -9
  417. package/dist/builtin/workflows/src/tui/graph-canvas.ts +131 -134
  418. package/dist/builtin/workflows/src/tui/graph-theme.ts +139 -148
  419. package/dist/builtin/workflows/src/tui/graph-view-constants.ts +6 -6
  420. package/dist/builtin/workflows/src/tui/graph-view-graph-render.ts +146 -179
  421. package/dist/builtin/workflows/src/tui/graph-view-input.ts +295 -323
  422. package/dist/builtin/workflows/src/tui/graph-view-render-helpers.ts +291 -327
  423. package/dist/builtin/workflows/src/tui/graph-view-render.ts +171 -191
  424. package/dist/builtin/workflows/src/tui/graph-view-state.ts +317 -303
  425. package/dist/builtin/workflows/src/tui/graph-view-types.ts +65 -59
  426. package/dist/builtin/workflows/src/tui/header.ts +140 -156
  427. package/dist/builtin/workflows/src/tui/host-input-form.ts +47 -45
  428. package/dist/builtin/workflows/src/tui/inline-form-card.ts +277 -266
  429. package/dist/builtin/workflows/src/tui/inline-form-editor-text.ts +61 -62
  430. package/dist/builtin/workflows/src/tui/inline-form-editor.ts +407 -412
  431. package/dist/builtin/workflows/src/tui/inline-form-overlay.ts +203 -214
  432. package/dist/builtin/workflows/src/tui/inline-form-store.ts +24 -24
  433. package/dist/builtin/workflows/src/tui/inputs-overlay.ts +116 -129
  434. package/dist/builtin/workflows/src/tui/inputs-picker-editing.ts +111 -115
  435. package/dist/builtin/workflows/src/tui/inputs-picker-input.ts +255 -269
  436. package/dist/builtin/workflows/src/tui/inputs-picker-render.ts +248 -236
  437. package/dist/builtin/workflows/src/tui/inputs-picker-types.ts +111 -140
  438. package/dist/builtin/workflows/src/tui/inputs-picker.ts +12 -12
  439. package/dist/builtin/workflows/src/tui/keybindings-adapter.ts +49 -57
  440. package/dist/builtin/workflows/src/tui/layout.ts +124 -133
  441. package/dist/builtin/workflows/src/tui/mouse-input.ts +45 -47
  442. package/dist/builtin/workflows/src/tui/node-card.ts +230 -219
  443. package/dist/builtin/workflows/src/tui/overlay-adapter.ts +381 -394
  444. package/dist/builtin/workflows/src/tui/overlay-terminal-modes.ts +20 -19
  445. package/dist/builtin/workflows/src/tui/prompt-card-input.ts +183 -194
  446. package/dist/builtin/workflows/src/tui/prompt-card-render.ts +243 -302
  447. package/dist/builtin/workflows/src/tui/prompt-card-select.ts +76 -98
  448. package/dist/builtin/workflows/src/tui/prompt-card-state.ts +40 -40
  449. package/dist/builtin/workflows/src/tui/prompt-card-text.ts +76 -83
  450. package/dist/builtin/workflows/src/tui/prompt-card.ts +3 -3
  451. package/dist/builtin/workflows/src/tui/renderers.ts +6 -6
  452. package/dist/builtin/workflows/src/tui/run-detail.ts +287 -279
  453. package/dist/builtin/workflows/src/tui/session-list.ts +19 -22
  454. package/dist/builtin/workflows/src/tui/session-overlays.ts +82 -87
  455. package/dist/builtin/workflows/src/tui/session-picker.ts +258 -275
  456. package/dist/builtin/workflows/src/tui/stage-chat-composer-drafts.ts +11 -11
  457. package/dist/builtin/workflows/src/tui/stage-chat-layout.ts +55 -62
  458. package/dist/builtin/workflows/src/tui/stage-chat-view-archive-history.ts +220 -263
  459. package/dist/builtin/workflows/src/tui/stage-chat-view-custom-ui.ts +91 -102
  460. package/dist/builtin/workflows/src/tui/stage-chat-view-delivery-activity.ts +51 -59
  461. package/dist/builtin/workflows/src/tui/stage-chat-view-footer-status.ts +154 -208
  462. package/dist/builtin/workflows/src/tui/stage-chat-view-input.ts +174 -208
  463. package/dist/builtin/workflows/src/tui/stage-chat-view-live-events.ts +32 -44
  464. package/dist/builtin/workflows/src/tui/stage-chat-view-pending-tools.ts +2 -4
  465. package/dist/builtin/workflows/src/tui/stage-chat-view-render-helpers.ts +82 -97
  466. package/dist/builtin/workflows/src/tui/stage-chat-view-render-settings.ts +33 -31
  467. package/dist/builtin/workflows/src/tui/stage-chat-view-state.ts +428 -400
  468. package/dist/builtin/workflows/src/tui/stage-chat-view-status.ts +24 -25
  469. package/dist/builtin/workflows/src/tui/stage-chat-view-transcript.ts +181 -197
  470. package/dist/builtin/workflows/src/tui/stage-chat-view-types.ts +125 -134
  471. package/dist/builtin/workflows/src/tui/stage-chat-view.ts +210 -211
  472. package/dist/builtin/workflows/src/tui/status-helpers.ts +65 -69
  473. package/dist/builtin/workflows/src/tui/status-list.ts +316 -294
  474. package/dist/builtin/workflows/src/tui/store-widget-installer.ts +213 -214
  475. package/dist/builtin/workflows/src/tui/submit-pane.ts +114 -130
  476. package/dist/builtin/workflows/src/tui/switcher.ts +116 -134
  477. package/dist/builtin/workflows/src/tui/text-helpers.ts +136 -145
  478. package/dist/builtin/workflows/src/tui/toast.ts +68 -67
  479. package/dist/builtin/workflows/src/tui/widget.ts +265 -285
  480. package/dist/builtin/workflows/src/tui/workflow-attach-pane-handle.ts +12 -17
  481. package/dist/builtin/workflows/src/tui/workflow-attach-pane-types.ts +81 -82
  482. package/dist/builtin/workflows/src/tui/workflow-attach-pane.ts +467 -445
  483. package/dist/builtin/workflows/src/tui/workflow-list.ts +130 -145
  484. package/dist/builtin/workflows/src/tui/workflow-notice-card.ts +127 -144
  485. package/dist/builtin/workflows/src/tui/workflow-resume-selector.ts +217 -216
  486. package/dist/builtin/workflows/src/workflows/identity.ts +11 -11
  487. package/dist/builtin/workflows/src/workflows/registry.ts +66 -68
  488. package/dist/bun/cli.js.map +1 -1
  489. package/dist/bun/internal-intercom-broker.d.ts.map +1 -1
  490. package/dist/bun/internal-intercom-broker.js +1 -1
  491. package/dist/bun/internal-intercom-broker.js.map +1 -1
  492. package/dist/bun/register-bedrock.js +1 -1
  493. package/dist/bun/register-bedrock.js.map +1 -1
  494. package/dist/cli/args.d.ts.map +1 -1
  495. package/dist/cli/args.js +8 -1
  496. package/dist/cli/args.js.map +1 -1
  497. package/dist/cli/credential-print.d.ts +170 -0
  498. package/dist/cli/credential-print.d.ts.map +1 -0
  499. package/dist/cli/credential-print.js +513 -0
  500. package/dist/cli/credential-print.js.map +1 -0
  501. package/dist/cli/list-models.d.ts +2 -2
  502. package/dist/cli/list-models.d.ts.map +1 -1
  503. package/dist/cli/list-models.js +5 -5
  504. package/dist/cli/list-models.js.map +1 -1
  505. package/dist/cli/project-trust.d.ts +1 -1
  506. package/dist/cli/project-trust.d.ts.map +1 -1
  507. package/dist/cli/project-trust.js.map +1 -1
  508. package/dist/cli/startup-ui.d.ts.map +1 -1
  509. package/dist/cli/startup-ui.js +13 -6
  510. package/dist/cli/startup-ui.js.map +1 -1
  511. package/dist/config-self-update.d.ts.map +1 -1
  512. package/dist/config-self-update.js +5 -2
  513. package/dist/config-self-update.js.map +1 -1
  514. package/dist/config.d.ts.map +1 -1
  515. package/dist/config.js +1 -3
  516. package/dist/config.js.map +1 -1
  517. package/dist/core/agent-session-accessors.d.ts.map +1 -1
  518. package/dist/core/agent-session-accessors.js +125 -25
  519. package/dist/core/agent-session-accessors.js.map +1 -1
  520. package/dist/core/agent-session-auto-compaction.d.ts.map +1 -1
  521. package/dist/core/agent-session-auto-compaction.js +6 -7
  522. package/dist/core/agent-session-auto-compaction.js.map +1 -1
  523. package/dist/core/agent-session-bash.d.ts +1 -1
  524. package/dist/core/agent-session-bash.d.ts.map +1 -1
  525. package/dist/core/agent-session-bash.js +3 -1
  526. package/dist/core/agent-session-bash.js.map +1 -1
  527. package/dist/core/agent-session-compaction.d.ts.map +1 -1
  528. package/dist/core/agent-session-compaction.js +46 -9
  529. package/dist/core/agent-session-compaction.js.map +1 -1
  530. package/dist/core/agent-session-custom-message-commit.d.ts +1 -1
  531. package/dist/core/agent-session-custom-message-commit.d.ts.map +1 -1
  532. package/dist/core/agent-session-custom-message-commit.js +13 -9
  533. package/dist/core/agent-session-custom-message-commit.js.map +1 -1
  534. package/dist/core/agent-session-delivery-forwarding.d.ts +1 -1
  535. package/dist/core/agent-session-delivery-forwarding.d.ts.map +1 -1
  536. package/dist/core/agent-session-delivery-forwarding.js.map +1 -1
  537. package/dist/core/agent-session-events.d.ts.map +1 -1
  538. package/dist/core/agent-session-events.js +15 -8
  539. package/dist/core/agent-session-events.js.map +1 -1
  540. package/dist/core/agent-session-export.d.ts +1 -1
  541. package/dist/core/agent-session-export.d.ts.map +1 -1
  542. package/dist/core/agent-session-export.js.map +1 -1
  543. package/dist/core/agent-session-extension-bindings.d.ts.map +1 -1
  544. package/dist/core/agent-session-extension-bindings.js +17 -10
  545. package/dist/core/agent-session-extension-bindings.js.map +1 -1
  546. package/dist/core/agent-session-message-queue.d.ts +4 -4
  547. package/dist/core/agent-session-message-queue.d.ts.map +1 -1
  548. package/dist/core/agent-session-message-queue.js +21 -12
  549. package/dist/core/agent-session-message-queue.js.map +1 -1
  550. package/dist/core/agent-session-methods.d.ts +8 -9
  551. package/dist/core/agent-session-methods.d.ts.map +1 -1
  552. package/dist/core/agent-session-methods.js.map +1 -1
  553. package/dist/core/agent-session-models.d.ts +1 -1
  554. package/dist/core/agent-session-models.d.ts.map +1 -1
  555. package/dist/core/agent-session-models.js +19 -15
  556. package/dist/core/agent-session-models.js.map +1 -1
  557. package/dist/core/agent-session-persistent-custom-messages.d.ts +1 -1
  558. package/dist/core/agent-session-persistent-custom-messages.d.ts.map +1 -1
  559. package/dist/core/agent-session-persistent-custom-messages.js +6 -4
  560. package/dist/core/agent-session-persistent-custom-messages.js.map +1 -1
  561. package/dist/core/agent-session-post-tool-compaction.d.ts +1 -1
  562. package/dist/core/agent-session-post-tool-compaction.d.ts.map +1 -1
  563. package/dist/core/agent-session-post-tool-compaction.js +2 -4
  564. package/dist/core/agent-session-post-tool-compaction.js.map +1 -1
  565. package/dist/core/agent-session-prompt.d.ts.map +1 -1
  566. package/dist/core/agent-session-prompt.js +7 -11
  567. package/dist/core/agent-session-prompt.js.map +1 -1
  568. package/dist/core/agent-session-queue-pause.d.ts.map +1 -1
  569. package/dist/core/agent-session-queue-pause.js +8 -7
  570. package/dist/core/agent-session-queue-pause.js.map +1 -1
  571. package/dist/core/agent-session-retry.d.ts.map +1 -1
  572. package/dist/core/agent-session-retry.js +31 -8
  573. package/dist/core/agent-session-retry.js.map +1 -1
  574. package/dist/core/agent-session-runtime-auth.d.ts +3 -3
  575. package/dist/core/agent-session-runtime-auth.d.ts.map +1 -1
  576. package/dist/core/agent-session-runtime-auth.js +7 -15
  577. package/dist/core/agent-session-runtime-auth.js.map +1 -1
  578. package/dist/core/agent-session-runtime.d.ts +14 -3
  579. package/dist/core/agent-session-runtime.d.ts.map +1 -1
  580. package/dist/core/agent-session-runtime.js +20 -4
  581. package/dist/core/agent-session-runtime.js.map +1 -1
  582. package/dist/core/agent-session-services.d.ts +3 -8
  583. package/dist/core/agent-session-services.d.ts.map +1 -1
  584. package/dist/core/agent-session-services.js +20 -25
  585. package/dist/core/agent-session-services.js.map +1 -1
  586. package/dist/core/agent-session-state.d.ts +1 -1
  587. package/dist/core/agent-session-state.d.ts.map +1 -1
  588. package/dist/core/agent-session-state.js.map +1 -1
  589. package/dist/core/agent-session-tool-hooks.d.ts.map +1 -1
  590. package/dist/core/agent-session-tool-hooks.js +2 -6
  591. package/dist/core/agent-session-tool-hooks.js.map +1 -1
  592. package/dist/core/agent-session-tool-registry.d.ts.map +1 -1
  593. package/dist/core/agent-session-tool-registry.js +5 -3
  594. package/dist/core/agent-session-tool-registry.js.map +1 -1
  595. package/dist/core/agent-session-transfer.d.ts.map +1 -1
  596. package/dist/core/agent-session-transfer.js +6 -10
  597. package/dist/core/agent-session-transfer.js.map +1 -1
  598. package/dist/core/agent-session-tree.d.ts +1 -1
  599. package/dist/core/agent-session-tree.d.ts.map +1 -1
  600. package/dist/core/agent-session-tree.js +5 -0
  601. package/dist/core/agent-session-tree.js.map +1 -1
  602. package/dist/core/agent-session-types.d.ts +3 -3
  603. package/dist/core/agent-session-types.d.ts.map +1 -1
  604. package/dist/core/agent-session-types.js +4 -1
  605. package/dist/core/agent-session-types.js.map +1 -1
  606. package/dist/core/agent-session.d.ts +16 -12
  607. package/dist/core/agent-session.d.ts.map +1 -1
  608. package/dist/core/agent-session.js +9 -10
  609. package/dist/core/agent-session.js.map +1 -1
  610. package/dist/core/anthropic-thinking-guard.d.ts.map +1 -1
  611. package/dist/core/anthropic-thinking-guard.js +4 -2
  612. package/dist/core/anthropic-thinking-guard.js.map +1 -1
  613. package/dist/core/async/format.d.ts +1 -1
  614. package/dist/core/async/format.d.ts.map +1 -1
  615. package/dist/core/async/format.js +3 -1
  616. package/dist/core/async/format.js.map +1 -1
  617. package/dist/core/async/job-manager.d.ts.map +1 -1
  618. package/dist/core/async/job-manager.js +20 -5
  619. package/dist/core/async/job-manager.js.map +1 -1
  620. package/dist/core/async/session-manager.d.ts.map +1 -1
  621. package/dist/core/async/session-manager.js.map +1 -1
  622. package/dist/core/atomic-guide-command.d.ts.map +1 -1
  623. package/dist/core/atomic-guide-command.js +1 -2
  624. package/dist/core/atomic-guide-command.js.map +1 -1
  625. package/dist/core/auth-guidance.d.ts.map +1 -1
  626. package/dist/core/auth-guidance.js.map +1 -1
  627. package/dist/core/auth-storage-backends.d.ts +1 -0
  628. package/dist/core/auth-storage-backends.d.ts.map +1 -1
  629. package/dist/core/auth-storage-backends.js +18 -4
  630. package/dist/core/auth-storage-backends.js.map +1 -1
  631. package/dist/core/auth-storage.d.ts +13 -140
  632. package/dist/core/auth-storage.d.ts.map +1 -1
  633. package/dist/core/auth-storage.js +69 -379
  634. package/dist/core/auth-storage.js.map +1 -1
  635. package/dist/core/builtin-packages.d.ts.map +1 -1
  636. package/dist/core/builtin-packages.js +1 -4
  637. package/dist/core/builtin-packages.js.map +1 -1
  638. package/dist/core/cache-stats.d.ts.map +1 -1
  639. package/dist/core/cache-stats.js +8 -6
  640. package/dist/core/cache-stats.js.map +1 -1
  641. package/dist/core/callback-activity.d.ts.map +1 -1
  642. package/dist/core/callback-activity.js.map +1 -1
  643. package/dist/core/codex-errors.d.ts.map +1 -1
  644. package/dist/core/codex-errors.js +1 -1
  645. package/dist/core/codex-errors.js.map +1 -1
  646. package/dist/core/codex-fast-mode.d.ts.map +1 -1
  647. package/dist/core/codex-fast-mode.js.map +1 -1
  648. package/dist/core/compaction/branch-summarization.d.ts.map +1 -1
  649. package/dist/core/compaction/branch-summarization.js +1 -1
  650. package/dist/core/compaction/branch-summarization.js.map +1 -1
  651. package/dist/core/compaction/compaction-boundary.d.ts.map +1 -1
  652. package/dist/core/compaction/compaction-boundary.js +10 -6
  653. package/dist/core/compaction/compaction-boundary.js.map +1 -1
  654. package/dist/core/compaction/compaction-runner.d.ts +1 -1
  655. package/dist/core/compaction/compaction-runner.d.ts.map +1 -1
  656. package/dist/core/compaction/compaction-runner.js +2 -4
  657. package/dist/core/compaction/compaction-runner.js.map +1 -1
  658. package/dist/core/compaction/compaction.d.ts.map +1 -1
  659. package/dist/core/compaction/compaction.js +5 -1
  660. package/dist/core/compaction/compaction.js.map +1 -1
  661. package/dist/core/compaction/deleted-ranges.d.ts.map +1 -1
  662. package/dist/core/compaction/deleted-ranges.js.map +1 -1
  663. package/dist/core/compaction/fallback-planner.d.ts.map +1 -1
  664. package/dist/core/compaction/fallback-planner.js.map +1 -1
  665. package/dist/core/compaction/index.d.ts +6 -6
  666. package/dist/core/compaction/index.d.ts.map +1 -1
  667. package/dist/core/compaction/index.js +6 -6
  668. package/dist/core/compaction/index.js.map +1 -1
  669. package/dist/core/compaction/planner-outcome.d.ts.map +1 -1
  670. package/dist/core/compaction/planner-outcome.js.map +1 -1
  671. package/dist/core/compaction/range-planner-diagnostics.d.ts.map +1 -1
  672. package/dist/core/compaction/range-planner-diagnostics.js +4 -2
  673. package/dist/core/compaction/range-planner-diagnostics.js.map +1 -1
  674. package/dist/core/compaction/range-planner.d.ts.map +1 -1
  675. package/dist/core/compaction/range-planner.js +4 -1
  676. package/dist/core/compaction/range-planner.js.map +1 -1
  677. package/dist/core/compaction/transcript-serialization.d.ts.map +1 -1
  678. package/dist/core/compaction/transcript-serialization.js.map +1 -1
  679. package/dist/core/context-tool-pairing.js +3 -3
  680. package/dist/core/context-tool-pairing.js.map +1 -1
  681. package/dist/core/copilot-env-routing.d.ts +36 -0
  682. package/dist/core/copilot-env-routing.d.ts.map +1 -0
  683. package/dist/core/copilot-env-routing.js +94 -0
  684. package/dist/core/copilot-env-routing.js.map +1 -0
  685. package/dist/core/exec.d.ts.map +1 -1
  686. package/dist/core/exec.js +5 -0
  687. package/dist/core/exec.js.map +1 -1
  688. package/dist/core/experimental.d.ts.map +1 -1
  689. package/dist/core/experimental.js +2 -1
  690. package/dist/core/experimental.js.map +1 -1
  691. package/dist/core/extensions/api-types.d.ts +2 -2
  692. package/dist/core/extensions/api-types.d.ts.map +1 -1
  693. package/dist/core/extensions/api-types.js.map +1 -1
  694. package/dist/core/extensions/context-types.d.ts +7 -1
  695. package/dist/core/extensions/context-types.d.ts.map +1 -1
  696. package/dist/core/extensions/context-types.js.map +1 -1
  697. package/dist/core/extensions/index.d.ts +7 -7
  698. package/dist/core/extensions/index.d.ts.map +1 -1
  699. package/dist/core/extensions/index.js +2 -2
  700. package/dist/core/extensions/index.js.map +1 -1
  701. package/dist/core/extensions/loader-api.d.ts +1 -1
  702. package/dist/core/extensions/loader-api.d.ts.map +1 -1
  703. package/dist/core/extensions/loader-api.js +4 -2
  704. package/dist/core/extensions/loader-api.js.map +1 -1
  705. package/dist/core/extensions/loader-core.d.ts.map +1 -1
  706. package/dist/core/extensions/loader-core.js +2 -2
  707. package/dist/core/extensions/loader-core.js.map +1 -1
  708. package/dist/core/extensions/loader-discovery.d.ts.map +1 -1
  709. package/dist/core/extensions/loader-discovery.js.map +1 -1
  710. package/dist/core/extensions/loader-resources.d.ts.map +1 -1
  711. package/dist/core/extensions/loader-resources.js.map +1 -1
  712. package/dist/core/extensions/loader-runtime.d.ts.map +1 -1
  713. package/dist/core/extensions/loader-runtime.js +23 -11
  714. package/dist/core/extensions/loader-runtime.js.map +1 -1
  715. package/dist/core/extensions/loader-virtual-modules.d.ts +17 -0
  716. package/dist/core/extensions/loader-virtual-modules.d.ts.map +1 -1
  717. package/dist/core/extensions/loader-virtual-modules.js +288 -19
  718. package/dist/core/extensions/loader-virtual-modules.js.map +1 -1
  719. package/dist/core/extensions/loader.d.ts.map +1 -1
  720. package/dist/core/extensions/loader.js.map +1 -1
  721. package/dist/core/extensions/provider-types.d.ts +2 -42
  722. package/dist/core/extensions/provider-types.d.ts.map +1 -1
  723. package/dist/core/extensions/provider-types.js.map +1 -1
  724. package/dist/core/extensions/reactive-widget.d.ts.map +1 -1
  725. package/dist/core/extensions/reactive-widget.js.map +1 -1
  726. package/dist/core/extensions/runner-context.d.ts +27 -1
  727. package/dist/core/extensions/runner-context.d.ts.map +1 -1
  728. package/dist/core/extensions/runner-context.js +52 -0
  729. package/dist/core/extensions/runner-context.js.map +1 -1
  730. package/dist/core/extensions/runner-events.d.ts.map +1 -1
  731. package/dist/core/extensions/runner-events.js.map +1 -1
  732. package/dist/core/extensions/runner.d.ts +1 -0
  733. package/dist/core/extensions/runner.d.ts.map +1 -1
  734. package/dist/core/extensions/runner.js +18 -6
  735. package/dist/core/extensions/runner.js.map +1 -1
  736. package/dist/core/extensions/runtime-types.d.ts +3 -1
  737. package/dist/core/extensions/runtime-types.d.ts.map +1 -1
  738. package/dist/core/extensions/runtime-types.js.map +1 -1
  739. package/dist/core/extensions/session-events.d.ts.map +1 -1
  740. package/dist/core/extensions/session-events.js.map +1 -1
  741. package/dist/core/extensions/tool-types.d.ts.map +1 -1
  742. package/dist/core/extensions/tool-types.js.map +1 -1
  743. package/dist/core/extensions/types.d.ts +15 -2
  744. package/dist/core/extensions/types.d.ts.map +1 -1
  745. package/dist/core/extensions/types.js +1 -1
  746. package/dist/core/extensions/types.js.map +1 -1
  747. package/dist/core/extensions/ui-types.d.ts +16 -2
  748. package/dist/core/extensions/ui-types.d.ts.map +1 -1
  749. package/dist/core/extensions/ui-types.js.map +1 -1
  750. package/dist/core/fallback-models.d.ts +4 -4
  751. package/dist/core/fallback-models.d.ts.map +1 -1
  752. package/dist/core/fallback-models.js +14 -5
  753. package/dist/core/fallback-models.js.map +1 -1
  754. package/dist/core/flattened-tool-arguments.d.ts.map +1 -1
  755. package/dist/core/flattened-tool-arguments.js.map +1 -1
  756. package/dist/core/footer-data-provider.d.ts +10 -0
  757. package/dist/core/footer-data-provider.d.ts.map +1 -1
  758. package/dist/core/footer-data-provider.js +5 -3
  759. package/dist/core/footer-data-provider.js.map +1 -1
  760. package/dist/core/http-dispatcher.d.ts.map +1 -1
  761. package/dist/core/http-dispatcher.js.map +1 -1
  762. package/dist/core/keybindings.d.ts +1 -1
  763. package/dist/core/keybindings.d.ts.map +1 -1
  764. package/dist/core/keybindings.js.map +1 -1
  765. package/dist/core/messages.d.ts.map +1 -1
  766. package/dist/core/messages.js.map +1 -1
  767. package/dist/core/model-capabilities.d.ts.map +1 -1
  768. package/dist/core/model-capabilities.js +1 -2
  769. package/dist/core/model-capabilities.js.map +1 -1
  770. package/dist/core/model-config.d.ts +542 -0
  771. package/dist/core/model-config.d.ts.map +1 -0
  772. package/dist/core/{model-registry-schemas.js → model-config.js} +85 -34
  773. package/dist/core/model-config.js.map +1 -0
  774. package/dist/core/model-registry.d.ts +25 -85
  775. package/dist/core/model-registry.d.ts.map +1 -1
  776. package/dist/core/model-registry.js +65 -388
  777. package/dist/core/model-registry.js.map +1 -1
  778. package/dist/core/model-resolver-cli.d.ts +2 -2
  779. package/dist/core/model-resolver-cli.d.ts.map +1 -1
  780. package/dist/core/model-resolver-cli.js +2 -2
  781. package/dist/core/model-resolver-cli.js.map +1 -1
  782. package/dist/core/model-resolver-defaults.js.map +1 -1
  783. package/dist/core/model-resolver-initial.d.ts +4 -4
  784. package/dist/core/model-resolver-initial.d.ts.map +1 -1
  785. package/dist/core/model-resolver-initial.js +18 -18
  786. package/dist/core/model-resolver-initial.js.map +1 -1
  787. package/dist/core/model-resolver-patterns.d.ts.map +1 -1
  788. package/dist/core/model-resolver-patterns.js.map +1 -1
  789. package/dist/core/model-resolver-scope.d.ts +3 -3
  790. package/dist/core/model-resolver-scope.d.ts.map +1 -1
  791. package/dist/core/model-resolver-scope.js +16 -6
  792. package/dist/core/model-resolver-scope.js.map +1 -1
  793. package/dist/core/model-resolver-types.d.ts.map +1 -1
  794. package/dist/core/model-resolver-types.js.map +1 -1
  795. package/dist/core/model-resolver.d.ts +3 -3
  796. package/dist/core/model-resolver.d.ts.map +1 -1
  797. package/dist/core/model-resolver.js +1 -1
  798. package/dist/core/model-resolver.js.map +1 -1
  799. package/dist/core/model-runtime-auth.d.ts +7 -0
  800. package/dist/core/model-runtime-auth.d.ts.map +1 -0
  801. package/dist/core/model-runtime-auth.js +17 -0
  802. package/dist/core/model-runtime-auth.js.map +1 -0
  803. package/dist/core/model-runtime-providers.d.ts +6 -0
  804. package/dist/core/model-runtime-providers.d.ts.map +1 -0
  805. package/dist/core/model-runtime-providers.js +22 -0
  806. package/dist/core/model-runtime-providers.js.map +1 -0
  807. package/dist/core/model-runtime-restoration.d.ts +6 -0
  808. package/dist/core/model-runtime-restoration.d.ts.map +1 -0
  809. package/dist/core/model-runtime-restoration.js +21 -0
  810. package/dist/core/model-runtime-restoration.js.map +1 -0
  811. package/dist/core/model-runtime-snapshot.d.ts +16 -0
  812. package/dist/core/model-runtime-snapshot.d.ts.map +1 -0
  813. package/dist/core/model-runtime-snapshot.js +52 -0
  814. package/dist/core/model-runtime-snapshot.js.map +1 -0
  815. package/dist/core/model-runtime-streaming.d.ts +17 -0
  816. package/dist/core/model-runtime-streaming.d.ts.map +1 -0
  817. package/dist/core/model-runtime-streaming.js +66 -0
  818. package/dist/core/model-runtime-streaming.js.map +1 -0
  819. package/dist/core/model-runtime-types.d.ts +21 -0
  820. package/dist/core/model-runtime-types.d.ts.map +1 -0
  821. package/dist/core/model-runtime-types.js +2 -0
  822. package/dist/core/model-runtime-types.js.map +1 -0
  823. package/dist/core/model-runtime.d.ts +50 -29
  824. package/dist/core/model-runtime.d.ts.map +1 -1
  825. package/dist/core/model-runtime.js +332 -90
  826. package/dist/core/model-runtime.js.map +1 -1
  827. package/dist/core/models-store.d.ts +2 -10
  828. package/dist/core/models-store.d.ts.map +1 -1
  829. package/dist/core/models-store.js +2 -29
  830. package/dist/core/models-store.js.map +1 -1
  831. package/dist/core/oauth-login.d.ts +24 -0
  832. package/dist/core/oauth-login.d.ts.map +1 -0
  833. package/dist/core/oauth-login.js +92 -0
  834. package/dist/core/oauth-login.js.map +1 -0
  835. package/dist/core/oauth-provider-metadata.d.ts +5 -0
  836. package/dist/core/oauth-provider-metadata.d.ts.map +1 -0
  837. package/dist/core/oauth-provider-metadata.js +33 -0
  838. package/dist/core/oauth-provider-metadata.js.map +1 -0
  839. package/dist/core/openai-responses-payload-sanitizer.js.map +1 -1
  840. package/dist/core/output-guard.d.ts +44 -0
  841. package/dist/core/output-guard.d.ts.map +1 -1
  842. package/dist/core/output-guard.js +63 -0
  843. package/dist/core/output-guard.js.map +1 -1
  844. package/dist/core/package-manager-auto-resources.d.ts.map +1 -1
  845. package/dist/core/package-manager-auto-resources.js +6 -1
  846. package/dist/core/package-manager-auto-resources.js.map +1 -1
  847. package/dist/core/package-manager-git.d.ts.map +1 -1
  848. package/dist/core/package-manager-git.js +27 -11
  849. package/dist/core/package-manager-git.js.map +1 -1
  850. package/dist/core/package-manager-npm.d.ts.map +1 -1
  851. package/dist/core/package-manager-npm.js +4 -2
  852. package/dist/core/package-manager-npm.js.map +1 -1
  853. package/dist/core/package-manager-operations.d.ts.map +1 -1
  854. package/dist/core/package-manager-operations.js +2 -2
  855. package/dist/core/package-manager-operations.js.map +1 -1
  856. package/dist/core/package-manager-paths.d.ts.map +1 -1
  857. package/dist/core/package-manager-paths.js.map +1 -1
  858. package/dist/core/package-manager-resolver.d.ts.map +1 -1
  859. package/dist/core/package-manager-resolver.js +19 -16
  860. package/dist/core/package-manager-resolver.js.map +1 -1
  861. package/dist/core/package-manager-resource-collector.d.ts.map +1 -1
  862. package/dist/core/package-manager-resource-collector.js +6 -6
  863. package/dist/core/package-manager-resource-collector.js.map +1 -1
  864. package/dist/core/package-manager-resource-files.d.ts.map +1 -1
  865. package/dist/core/package-manager-resource-files.js +4 -3
  866. package/dist/core/package-manager-resource-files.js.map +1 -1
  867. package/dist/core/package-manager-resource-patterns.d.ts.map +1 -1
  868. package/dist/core/package-manager-resource-patterns.js.map +1 -1
  869. package/dist/core/package-manager-settings.d.ts.map +1 -1
  870. package/dist/core/package-manager-settings.js +3 -2
  871. package/dist/core/package-manager-settings.js.map +1 -1
  872. package/dist/core/package-manager-source.d.ts.map +1 -1
  873. package/dist/core/package-manager-source.js +1 -1
  874. package/dist/core/package-manager-source.js.map +1 -1
  875. package/dist/core/package-manager.d.ts +1 -1
  876. package/dist/core/package-manager.d.ts.map +1 -1
  877. package/dist/core/package-manager.js +2 -3
  878. package/dist/core/package-manager.js.map +1 -1
  879. package/dist/core/prompt-templates-async.d.ts.map +1 -1
  880. package/dist/core/prompt-templates-async.js +15 -7
  881. package/dist/core/prompt-templates-async.js.map +1 -1
  882. package/dist/core/prompt-templates.d.ts.map +1 -1
  883. package/dist/core/prompt-templates.js +1 -3
  884. package/dist/core/prompt-templates.js.map +1 -1
  885. package/dist/core/provider-composer-internal.d.ts +53 -0
  886. package/dist/core/provider-composer-internal.d.ts.map +1 -0
  887. package/dist/core/provider-composer-internal.js +273 -0
  888. package/dist/core/provider-composer-internal.js.map +1 -0
  889. package/dist/core/provider-composer.d.ts +16 -0
  890. package/dist/core/provider-composer.d.ts.map +1 -0
  891. package/dist/core/provider-composer.js +108 -0
  892. package/dist/core/provider-composer.js.map +1 -0
  893. package/dist/core/provider-context-usage.d.ts.map +1 -1
  894. package/dist/core/provider-context-usage.js +2 -1
  895. package/dist/core/provider-context-usage.js.map +1 -1
  896. package/dist/core/remote-catalog-provider.d.ts.map +1 -1
  897. package/dist/core/remote-catalog-provider.js +74 -122
  898. package/dist/core/remote-catalog-provider.js.map +1 -1
  899. package/dist/core/resolve-config-value.d.ts +8 -7
  900. package/dist/core/resolve-config-value.d.ts.map +1 -1
  901. package/dist/core/resolve-config-value.js +26 -23
  902. package/dist/core/resolve-config-value.js.map +1 -1
  903. package/dist/core/resource-loader-assets.d.ts.map +1 -1
  904. package/dist/core/resource-loader-assets.js +31 -7
  905. package/dist/core/resource-loader-assets.js.map +1 -1
  906. package/dist/core/resource-loader-context-files.d.ts +6 -0
  907. package/dist/core/resource-loader-context-files.d.ts.map +1 -1
  908. package/dist/core/resource-loader-context-files.js +83 -4
  909. package/dist/core/resource-loader-context-files.js.map +1 -1
  910. package/dist/core/resource-loader-core.d.ts +12 -3
  911. package/dist/core/resource-loader-core.d.ts.map +1 -1
  912. package/dist/core/resource-loader-core.js +36 -19
  913. package/dist/core/resource-loader-core.js.map +1 -1
  914. package/dist/core/resource-loader-discovery.d.ts.map +1 -1
  915. package/dist/core/resource-loader-discovery.js.map +1 -1
  916. package/dist/core/resource-loader-extensions.d.ts.map +1 -1
  917. package/dist/core/resource-loader-extensions.js +33 -21
  918. package/dist/core/resource-loader-extensions.js.map +1 -1
  919. package/dist/core/resource-loader-internals.d.ts +13 -6
  920. package/dist/core/resource-loader-internals.d.ts.map +1 -1
  921. package/dist/core/resource-loader-internals.js.map +1 -1
  922. package/dist/core/resource-loader-package-resources.d.ts.map +1 -1
  923. package/dist/core/resource-loader-package-resources.js +1 -1
  924. package/dist/core/resource-loader-package-resources.js.map +1 -1
  925. package/dist/core/resource-loader-paths.js.map +1 -1
  926. package/dist/core/resource-loader-reload.d.ts.map +1 -1
  927. package/dist/core/resource-loader-reload.js +28 -13
  928. package/dist/core/resource-loader-reload.js.map +1 -1
  929. package/dist/core/resource-loader-source-info.d.ts +1 -1
  930. package/dist/core/resource-loader-source-info.d.ts.map +1 -1
  931. package/dist/core/resource-loader-source-info.js +1 -1
  932. package/dist/core/resource-loader-source-info.js.map +1 -1
  933. package/dist/core/resource-loader-types.d.ts +9 -3
  934. package/dist/core/resource-loader-types.d.ts.map +1 -1
  935. package/dist/core/resource-loader-types.js.map +1 -1
  936. package/dist/core/resource-loader.d.ts +1 -1
  937. package/dist/core/resource-loader.d.ts.map +1 -1
  938. package/dist/core/resource-loader.js +1 -1
  939. package/dist/core/resource-loader.js.map +1 -1
  940. package/dist/core/runtime-credentials.d.ts +16 -0
  941. package/dist/core/runtime-credentials.d.ts.map +1 -0
  942. package/dist/core/runtime-credentials.js +42 -0
  943. package/dist/core/runtime-credentials.js.map +1 -0
  944. package/dist/core/sdk-exports.d.ts +1 -1
  945. package/dist/core/sdk-exports.d.ts.map +1 -1
  946. package/dist/core/sdk-exports.js +2 -2
  947. package/dist/core/sdk-exports.js.map +1 -1
  948. package/dist/core/sdk-types.d.ts +4 -10
  949. package/dist/core/sdk-types.d.ts.map +1 -1
  950. package/dist/core/sdk-types.js.map +1 -1
  951. package/dist/core/sdk.d.ts +1 -1
  952. package/dist/core/sdk.d.ts.map +1 -1
  953. package/dist/core/sdk.js +37 -45
  954. package/dist/core/sdk.js.map +1 -1
  955. package/dist/core/session-manager-archive.d.ts.map +1 -1
  956. package/dist/core/session-manager-archive.js +5 -2
  957. package/dist/core/session-manager-archive.js.map +1 -1
  958. package/dist/core/session-manager-classification.js +3 -3
  959. package/dist/core/session-manager-classification.js.map +1 -1
  960. package/dist/core/session-manager-core.d.ts.map +1 -1
  961. package/dist/core/session-manager-core.js +3 -3
  962. package/dist/core/session-manager-core.js.map +1 -1
  963. package/dist/core/session-manager-entries.d.ts +1 -1
  964. package/dist/core/session-manager-entries.d.ts.map +1 -1
  965. package/dist/core/session-manager-entries.js.map +1 -1
  966. package/dist/core/session-manager-history.d.ts.map +1 -1
  967. package/dist/core/session-manager-history.js +13 -5
  968. package/dist/core/session-manager-history.js.map +1 -1
  969. package/dist/core/session-manager-list.d.ts.map +1 -1
  970. package/dist/core/session-manager-list.js +1 -1
  971. package/dist/core/session-manager-list.js.map +1 -1
  972. package/dist/core/session-manager-migrations.js.map +1 -1
  973. package/dist/core/session-manager-storage.d.ts.map +1 -1
  974. package/dist/core/session-manager-storage.js.map +1 -1
  975. package/dist/core/session-manager-types.d.ts.map +1 -1
  976. package/dist/core/session-manager-types.js.map +1 -1
  977. package/dist/core/session-manager.d.ts +4 -4
  978. package/dist/core/session-manager.d.ts.map +1 -1
  979. package/dist/core/session-manager.js +2 -2
  980. package/dist/core/session-manager.js.map +1 -1
  981. package/dist/core/settings-manager-core.d.ts.map +1 -1
  982. package/dist/core/settings-manager-core.js.map +1 -1
  983. package/dist/core/settings-manager-ui-accessors.js +2 -1
  984. package/dist/core/settings-manager-ui-accessors.js.map +1 -1
  985. package/dist/core/settings-storage.d.ts.map +1 -1
  986. package/dist/core/settings-storage.js +3 -3
  987. package/dist/core/settings-storage.js.map +1 -1
  988. package/dist/core/settings-types.d.ts.map +1 -1
  989. package/dist/core/settings-types.js.map +1 -1
  990. package/dist/core/skills-async.d.ts.map +1 -1
  991. package/dist/core/skills-async.js +18 -8
  992. package/dist/core/skills-async.js.map +1 -1
  993. package/dist/core/slash-commands.d.ts.map +1 -1
  994. package/dist/core/slash-commands.js +76 -19
  995. package/dist/core/slash-commands.js.map +1 -1
  996. package/dist/core/system-prompt.d.ts.map +1 -1
  997. package/dist/core/system-prompt.js +5 -19
  998. package/dist/core/system-prompt.js.map +1 -1
  999. package/dist/core/thinking-blocks.d.ts.map +1 -1
  1000. package/dist/core/thinking-blocks.js +2 -2
  1001. package/dist/core/thinking-blocks.js.map +1 -1
  1002. package/dist/core/tools/artifact-protocol.d.ts.map +1 -1
  1003. package/dist/core/tools/artifact-protocol.js.map +1 -1
  1004. package/dist/core/tools/artifacts.d.ts.map +1 -1
  1005. package/dist/core/tools/artifacts.js.map +1 -1
  1006. package/dist/core/tools/ask-user-question/ask-user-question.d.ts.map +1 -1
  1007. package/dist/core/tools/ask-user-question/ask-user-question.js.map +1 -1
  1008. package/dist/core/tools/ask-user-question/state/build-questionnaire.d.ts +1 -1
  1009. package/dist/core/tools/ask-user-question/state/build-questionnaire.d.ts.map +1 -1
  1010. package/dist/core/tools/ask-user-question/state/build-questionnaire.js +1 -1
  1011. package/dist/core/tools/ask-user-question/state/build-questionnaire.js.map +1 -1
  1012. package/dist/core/tools/ask-user-question/state/questionnaire-session.d.ts.map +1 -1
  1013. package/dist/core/tools/ask-user-question/state/questionnaire-session.js +2 -4
  1014. package/dist/core/tools/ask-user-question/state/questionnaire-session.js.map +1 -1
  1015. package/dist/core/tools/ask-user-question/state/state-reducer.d.ts.map +1 -1
  1016. package/dist/core/tools/ask-user-question/state/state-reducer.js.map +1 -1
  1017. package/dist/core/tools/ask-user-question/view/body-residual-spacer.d.ts.map +1 -1
  1018. package/dist/core/tools/ask-user-question/view/body-residual-spacer.js.map +1 -1
  1019. package/dist/core/tools/ask-user-question/view/components/multi-select-view.d.ts.map +1 -1
  1020. package/dist/core/tools/ask-user-question/view/components/multi-select-view.js.map +1 -1
  1021. package/dist/core/tools/ask-user-question/view/components/preview/markdown-content-cache.d.ts +1 -1
  1022. package/dist/core/tools/ask-user-question/view/components/preview/markdown-content-cache.d.ts.map +1 -1
  1023. package/dist/core/tools/ask-user-question/view/components/preview/markdown-content-cache.js.map +1 -1
  1024. package/dist/core/tools/ask-user-question/view/components/preview/preview-block-renderer.d.ts +1 -1
  1025. package/dist/core/tools/ask-user-question/view/components/preview/preview-block-renderer.d.ts.map +1 -1
  1026. package/dist/core/tools/ask-user-question/view/components/preview/preview-block-renderer.js +1 -3
  1027. package/dist/core/tools/ask-user-question/view/components/preview/preview-block-renderer.js.map +1 -1
  1028. package/dist/core/tools/ask-user-question/view/components/submit-picker.d.ts.map +1 -1
  1029. package/dist/core/tools/ask-user-question/view/components/submit-picker.js.map +1 -1
  1030. package/dist/core/tools/ask-user-question/view/components/tab-bar.d.ts.map +1 -1
  1031. package/dist/core/tools/ask-user-question/view/components/tab-bar.js.map +1 -1
  1032. package/dist/core/tools/ask-user-question/view/dialog-builder.d.ts +1 -1
  1033. package/dist/core/tools/ask-user-question/view/dialog-builder.d.ts.map +1 -1
  1034. package/dist/core/tools/ask-user-question/view/dialog-builder.js +1 -1
  1035. package/dist/core/tools/ask-user-question/view/dialog-builder.js.map +1 -1
  1036. package/dist/core/tools/ask-user-question/view/props-adapter.d.ts.map +1 -1
  1037. package/dist/core/tools/ask-user-question/view/props-adapter.js +2 -4
  1038. package/dist/core/tools/ask-user-question/view/props-adapter.js.map +1 -1
  1039. package/dist/core/tools/ask-user-question/view/tab-content-strategy.d.ts +1 -1
  1040. package/dist/core/tools/ask-user-question/view/tab-content-strategy.d.ts.map +1 -1
  1041. package/dist/core/tools/ask-user-question/view/tab-content-strategy.js +2 -9
  1042. package/dist/core/tools/ask-user-question/view/tab-content-strategy.js.map +1 -1
  1043. package/dist/core/tools/bash-async-execution.d.ts.map +1 -1
  1044. package/dist/core/tools/bash-async-execution.js +11 -4
  1045. package/dist/core/tools/bash-async-execution.js.map +1 -1
  1046. package/dist/core/tools/bash-async-jobs.d.ts.map +1 -1
  1047. package/dist/core/tools/bash-async-jobs.js +14 -2
  1048. package/dist/core/tools/bash-async-jobs.js.map +1 -1
  1049. package/dist/core/tools/bash-async-output.d.ts.map +1 -1
  1050. package/dist/core/tools/bash-async-output.js +6 -2
  1051. package/dist/core/tools/bash-async-output.js.map +1 -1
  1052. package/dist/core/tools/bash-interceptor.d.ts.map +1 -1
  1053. package/dist/core/tools/bash-interceptor.js +20 -4
  1054. package/dist/core/tools/bash-interceptor.js.map +1 -1
  1055. package/dist/core/tools/bash-leading-cd.d.ts.map +1 -1
  1056. package/dist/core/tools/bash-leading-cd.js +9 -3
  1057. package/dist/core/tools/bash-leading-cd.js.map +1 -1
  1058. package/dist/core/tools/bash-pty-native.d.ts.map +1 -1
  1059. package/dist/core/tools/bash-pty-native.js.map +1 -1
  1060. package/dist/core/tools/bash-session-environment.d.ts.map +1 -1
  1061. package/dist/core/tools/bash-session-environment.js +24 -12
  1062. package/dist/core/tools/bash-session-environment.js.map +1 -1
  1063. package/dist/core/tools/bash.d.ts.map +1 -1
  1064. package/dist/core/tools/bash.js +123 -27
  1065. package/dist/core/tools/bash.js.map +1 -1
  1066. package/dist/core/tools/block-resolver.d.ts.map +1 -1
  1067. package/dist/core/tools/block-resolver.js.map +1 -1
  1068. package/dist/core/tools/conflict-registry.d.ts.map +1 -1
  1069. package/dist/core/tools/conflict-registry.js.map +1 -1
  1070. package/dist/core/tools/directory-tree.d.ts.map +1 -1
  1071. package/dist/core/tools/directory-tree.js +20 -4
  1072. package/dist/core/tools/directory-tree.js.map +1 -1
  1073. package/dist/core/tools/edit.d.ts.map +1 -1
  1074. package/dist/core/tools/edit.js +37 -13
  1075. package/dist/core/tools/edit.js.map +1 -1
  1076. package/dist/core/tools/fetch-url.d.ts.map +1 -1
  1077. package/dist/core/tools/fetch-url.js +127 -41
  1078. package/dist/core/tools/fetch-url.js.map +1 -1
  1079. package/dist/core/tools/find.d.ts.map +1 -1
  1080. package/dist/core/tools/find.js +176 -46
  1081. package/dist/core/tools/find.js.map +1 -1
  1082. package/dist/core/tools/grep.d.ts.map +1 -1
  1083. package/dist/core/tools/grep.js +43 -10
  1084. package/dist/core/tools/grep.js.map +1 -1
  1085. package/dist/core/tools/hashline-engine/apply.d.ts.map +1 -1
  1086. package/dist/core/tools/hashline-engine/apply.js +6 -6
  1087. package/dist/core/tools/hashline-engine/apply.js.map +1 -1
  1088. package/dist/core/tools/hashline-engine/block.js +1 -1
  1089. package/dist/core/tools/hashline-engine/block.js.map +1 -1
  1090. package/dist/core/tools/hashline-engine/format.d.ts.map +1 -1
  1091. package/dist/core/tools/hashline-engine/format.js +1 -1
  1092. package/dist/core/tools/hashline-engine/format.js.map +1 -1
  1093. package/dist/core/tools/hashline-engine/input.d.ts.map +1 -1
  1094. package/dist/core/tools/hashline-engine/input.js +7 -7
  1095. package/dist/core/tools/hashline-engine/input.js.map +1 -1
  1096. package/dist/core/tools/hashline-engine/parser.js +1 -1
  1097. package/dist/core/tools/hashline-engine/parser.js.map +1 -1
  1098. package/dist/core/tools/hashline-engine/patcher.js +5 -5
  1099. package/dist/core/tools/hashline-engine/patcher.js.map +1 -1
  1100. package/dist/core/tools/hashline-engine/prefixes.js +4 -4
  1101. package/dist/core/tools/hashline-engine/prefixes.js.map +1 -1
  1102. package/dist/core/tools/hashline-engine/recovery.d.ts.map +1 -1
  1103. package/dist/core/tools/hashline-engine/recovery.js +4 -2
  1104. package/dist/core/tools/hashline-engine/recovery.js.map +1 -1
  1105. package/dist/core/tools/hashline-engine/snapshots.js +5 -5
  1106. package/dist/core/tools/hashline-engine/snapshots.js.map +1 -1
  1107. package/dist/core/tools/hashline.d.ts.map +1 -1
  1108. package/dist/core/tools/hashline.js +24 -13
  1109. package/dist/core/tools/hashline.js.map +1 -1
  1110. package/dist/core/tools/index.d.ts +6 -6
  1111. package/dist/core/tools/index.d.ts.map +1 -1
  1112. package/dist/core/tools/index.js +6 -6
  1113. package/dist/core/tools/index.js.map +1 -1
  1114. package/dist/core/tools/ls.d.ts.map +1 -1
  1115. package/dist/core/tools/ls.js +2 -1
  1116. package/dist/core/tools/ls.js.map +1 -1
  1117. package/dist/core/tools/notebook.d.ts.map +1 -1
  1118. package/dist/core/tools/notebook.js +13 -3
  1119. package/dist/core/tools/notebook.js.map +1 -1
  1120. package/dist/core/tools/read-document-extract.d.ts.map +1 -1
  1121. package/dist/core/tools/read-document-extract.js +30 -10
  1122. package/dist/core/tools/read-document-extract.js.map +1 -1
  1123. package/dist/core/tools/read-selectors.d.ts.map +1 -1
  1124. package/dist/core/tools/read-selectors.js +59 -15
  1125. package/dist/core/tools/read-selectors.js.map +1 -1
  1126. package/dist/core/tools/read-url.d.ts.map +1 -1
  1127. package/dist/core/tools/read-url.js +41 -7
  1128. package/dist/core/tools/read-url.js.map +1 -1
  1129. package/dist/core/tools/read.d.ts.map +1 -1
  1130. package/dist/core/tools/read.js +306 -71
  1131. package/dist/core/tools/read.js.map +1 -1
  1132. package/dist/core/tools/resource-selectors.d.ts +4 -0
  1133. package/dist/core/tools/resource-selectors.d.ts.map +1 -1
  1134. package/dist/core/tools/resource-selectors.js +324 -84
  1135. package/dist/core/tools/resource-selectors.js.map +1 -1
  1136. package/dist/core/tools/search-details.d.ts.map +1 -1
  1137. package/dist/core/tools/search-details.js +13 -1
  1138. package/dist/core/tools/search-details.js.map +1 -1
  1139. package/dist/core/tools/search-line-ranges.d.ts.map +1 -1
  1140. package/dist/core/tools/search-line-ranges.js +5 -2
  1141. package/dist/core/tools/search-line-ranges.js.map +1 -1
  1142. package/dist/core/tools/search-native.d.ts.map +1 -1
  1143. package/dist/core/tools/search-native.js.map +1 -1
  1144. package/dist/core/tools/search.d.ts.map +1 -1
  1145. package/dist/core/tools/search.js +244 -90
  1146. package/dist/core/tools/search.js.map +1 -1
  1147. package/dist/core/tools/structured-output.d.ts +1 -1
  1148. package/dist/core/tools/structured-output.d.ts.map +1 -1
  1149. package/dist/core/tools/structured-output.js.map +1 -1
  1150. package/dist/core/tools/todos-execute.d.ts.map +1 -1
  1151. package/dist/core/tools/todos-execute.js +4 -4
  1152. package/dist/core/tools/todos-execute.js.map +1 -1
  1153. package/dist/core/tools/todos-locks.d.ts.map +1 -1
  1154. package/dist/core/tools/todos-locks.js.map +1 -1
  1155. package/dist/core/tools/todos-mutations.js +1 -1
  1156. package/dist/core/tools/todos-mutations.js.map +1 -1
  1157. package/dist/core/tools/todos-paths.js +2 -2
  1158. package/dist/core/tools/todos-paths.js.map +1 -1
  1159. package/dist/core/tools/todos-render.d.ts.map +1 -1
  1160. package/dist/core/tools/todos-render.js +2 -2
  1161. package/dist/core/tools/todos-render.js.map +1 -1
  1162. package/dist/core/tools/todos-storage.d.ts.map +1 -1
  1163. package/dist/core/tools/todos-storage.js +1 -2
  1164. package/dist/core/tools/todos-storage.js.map +1 -1
  1165. package/dist/core/tools/todos-types.d.ts.map +1 -1
  1166. package/dist/core/tools/todos-types.js +1 -11
  1167. package/dist/core/tools/todos-types.js.map +1 -1
  1168. package/dist/core/tools/tool-definition-wrapper.d.ts.map +1 -1
  1169. package/dist/core/tools/tool-definition-wrapper.js +2 -6
  1170. package/dist/core/tools/tool-definition-wrapper.js.map +1 -1
  1171. package/dist/core/tools/url-ip-guards.d.ts.map +1 -1
  1172. package/dist/core/tools/url-ip-guards.js +27 -17
  1173. package/dist/core/tools/url-ip-guards.js.map +1 -1
  1174. package/dist/core/tools/write.d.ts.map +1 -1
  1175. package/dist/core/tools/write.js +88 -29
  1176. package/dist/core/tools/write.js.map +1 -1
  1177. package/dist/core/usage-totals.d.ts.map +1 -1
  1178. package/dist/core/usage-totals.js +5 -2
  1179. package/dist/core/usage-totals.js.map +1 -1
  1180. package/dist/core/workflow-stage-admission.d.ts.map +1 -1
  1181. package/dist/core/workflow-stage-admission.js +8 -2
  1182. package/dist/core/workflow-stage-admission.js.map +1 -1
  1183. package/dist/extensions/llama/index.js +1 -1
  1184. package/dist/extensions/llama/index.js.map +1 -1
  1185. package/dist/extensions/llama/provider.d.ts +2 -4
  1186. package/dist/extensions/llama/provider.d.ts.map +1 -1
  1187. package/dist/extensions/llama/provider.js +26 -18
  1188. package/dist/extensions/llama/provider.js.map +1 -1
  1189. package/dist/extensions/llama/ui.d.ts.map +1 -1
  1190. package/dist/extensions/llama/ui.js.map +1 -1
  1191. package/dist/index-extensions.d.ts +2 -2
  1192. package/dist/index-extensions.d.ts.map +1 -1
  1193. package/dist/index-extensions.js +1 -1
  1194. package/dist/index-extensions.js.map +1 -1
  1195. package/dist/index.d.ts +21 -22
  1196. package/dist/index.d.ts.map +1 -1
  1197. package/dist/index.js +25 -26
  1198. package/dist/index.js.map +1 -1
  1199. package/dist/main-deferred-startup.d.ts +1 -1
  1200. package/dist/main-deferred-startup.d.ts.map +1 -1
  1201. package/dist/main-deferred-startup.js +16 -15
  1202. package/dist/main-deferred-startup.js.map +1 -1
  1203. package/dist/main-early-input.js.map +1 -1
  1204. package/dist/main-first-time-setup.d.ts +1 -1
  1205. package/dist/main-first-time-setup.d.ts.map +1 -1
  1206. package/dist/main-first-time-setup.js.map +1 -1
  1207. package/dist/main-runtime-api-key.d.ts +6 -0
  1208. package/dist/main-runtime-api-key.d.ts.map +1 -0
  1209. package/dist/main-runtime-api-key.js +6 -0
  1210. package/dist/main-runtime-api-key.js.map +1 -0
  1211. package/dist/main-session-options.d.ts +2 -2
  1212. package/dist/main-session-options.d.ts.map +1 -1
  1213. package/dist/main-session-options.js +3 -3
  1214. package/dist/main-session-options.js.map +1 -1
  1215. package/dist/main-session.d.ts.map +1 -1
  1216. package/dist/main-session.js +4 -4
  1217. package/dist/main-session.js.map +1 -1
  1218. package/dist/main.d.ts +1 -1
  1219. package/dist/main.d.ts.map +1 -1
  1220. package/dist/main.js +152 -49
  1221. package/dist/main.js.map +1 -1
  1222. package/dist/migrations-config-values.d.ts.map +1 -1
  1223. package/dist/migrations-config-values.js +3 -1
  1224. package/dist/migrations-config-values.js.map +1 -1
  1225. package/dist/migrations.d.ts.map +1 -1
  1226. package/dist/migrations.js.map +1 -1
  1227. package/dist/modes/interactive/chat-input-actions.d.ts.map +1 -1
  1228. package/dist/modes/interactive/chat-input-actions.js +3 -6
  1229. package/dist/modes/interactive/chat-input-actions.js.map +1 -1
  1230. package/dist/modes/interactive/components/atomic-banner.d.ts.map +1 -1
  1231. package/dist/modes/interactive/components/atomic-banner.js +7 -5
  1232. package/dist/modes/interactive/components/atomic-banner.js.map +1 -1
  1233. package/dist/modes/interactive/components/atomic-working-status.d.ts.map +1 -1
  1234. package/dist/modes/interactive/components/atomic-working-status.js +26 -13
  1235. package/dist/modes/interactive/components/atomic-working-status.js.map +1 -1
  1236. package/dist/modes/interactive/components/chat-message-renderer.d.ts +1 -1
  1237. package/dist/modes/interactive/components/chat-message-renderer.d.ts.map +1 -1
  1238. package/dist/modes/interactive/components/chat-message-renderer.js +6 -5
  1239. package/dist/modes/interactive/components/chat-message-renderer.js.map +1 -1
  1240. package/dist/modes/interactive/components/chat-session-host-actions.d.ts +3 -2
  1241. package/dist/modes/interactive/components/chat-session-host-actions.d.ts.map +1 -1
  1242. package/dist/modes/interactive/components/chat-session-host-actions.js +14 -18
  1243. package/dist/modes/interactive/components/chat-session-host-actions.js.map +1 -1
  1244. package/dist/modes/interactive/components/chat-session-host-editor.d.ts +4 -4
  1245. package/dist/modes/interactive/components/chat-session-host-editor.d.ts.map +1 -1
  1246. package/dist/modes/interactive/components/chat-session-host-editor.js +9 -4
  1247. package/dist/modes/interactive/components/chat-session-host-editor.js.map +1 -1
  1248. package/dist/modes/interactive/components/chat-session-host-events.d.ts.map +1 -1
  1249. package/dist/modes/interactive/components/chat-session-host-events.js +9 -8
  1250. package/dist/modes/interactive/components/chat-session-host-events.js.map +1 -1
  1251. package/dist/modes/interactive/components/chat-session-host-rendering.d.ts +1 -1
  1252. package/dist/modes/interactive/components/chat-session-host-rendering.d.ts.map +1 -1
  1253. package/dist/modes/interactive/components/chat-session-host-rendering.js +22 -7
  1254. package/dist/modes/interactive/components/chat-session-host-rendering.js.map +1 -1
  1255. package/dist/modes/interactive/components/chat-session-host-runtime.d.ts +9 -2
  1256. package/dist/modes/interactive/components/chat-session-host-runtime.d.ts.map +1 -1
  1257. package/dist/modes/interactive/components/chat-session-host-runtime.js +15 -13
  1258. package/dist/modes/interactive/components/chat-session-host-runtime.js.map +1 -1
  1259. package/dist/modes/interactive/components/chat-session-host-state.d.ts +2 -2
  1260. package/dist/modes/interactive/components/chat-session-host-state.d.ts.map +1 -1
  1261. package/dist/modes/interactive/components/chat-session-host-state.js.map +1 -1
  1262. package/dist/modes/interactive/components/chat-session-host-terminal-cleanup.d.ts.map +1 -1
  1263. package/dist/modes/interactive/components/chat-session-host-terminal-cleanup.js.map +1 -1
  1264. package/dist/modes/interactive/components/chat-session-host-types.d.ts +9 -2
  1265. package/dist/modes/interactive/components/chat-session-host-types.d.ts.map +1 -1
  1266. package/dist/modes/interactive/components/chat-session-host-types.js.map +1 -1
  1267. package/dist/modes/interactive/components/chat-session-host-utils.d.ts +1 -1
  1268. package/dist/modes/interactive/components/chat-session-host-utils.d.ts.map +1 -1
  1269. package/dist/modes/interactive/components/chat-session-host-utils.js +3 -8
  1270. package/dist/modes/interactive/components/chat-session-host-utils.js.map +1 -1
  1271. package/dist/modes/interactive/components/chat-session-host.d.ts +4 -4
  1272. package/dist/modes/interactive/components/chat-session-host.d.ts.map +1 -1
  1273. package/dist/modes/interactive/components/chat-session-host.js +1 -2
  1274. package/dist/modes/interactive/components/chat-session-host.js.map +1 -1
  1275. package/dist/modes/interactive/components/chat-transcript.d.ts +1 -1
  1276. package/dist/modes/interactive/components/chat-transcript.d.ts.map +1 -1
  1277. package/dist/modes/interactive/components/chat-transcript.js +5 -12
  1278. package/dist/modes/interactive/components/chat-transcript.js.map +1 -1
  1279. package/dist/modes/interactive/components/compaction-boundary-message.d.ts.map +1 -1
  1280. package/dist/modes/interactive/components/compaction-boundary-message.js +18 -7
  1281. package/dist/modes/interactive/components/compaction-boundary-message.js.map +1 -1
  1282. package/dist/modes/interactive/components/config-selector-list.d.ts.map +1 -1
  1283. package/dist/modes/interactive/components/config-selector-list.js +4 -2
  1284. package/dist/modes/interactive/components/config-selector-list.js.map +1 -1
  1285. package/dist/modes/interactive/components/config-selector-project-scope.d.ts.map +1 -1
  1286. package/dist/modes/interactive/components/config-selector-project-scope.js +2 -4
  1287. package/dist/modes/interactive/components/config-selector-project-scope.js.map +1 -1
  1288. package/dist/modes/interactive/components/config-selector.d.ts.map +1 -1
  1289. package/dist/modes/interactive/components/config-selector.js +15 -6
  1290. package/dist/modes/interactive/components/config-selector.js.map +1 -1
  1291. package/dist/modes/interactive/components/countdown-timer.d.ts.map +1 -1
  1292. package/dist/modes/interactive/components/countdown-timer.js.map +1 -1
  1293. package/dist/modes/interactive/components/custom-editor.d.ts +11 -0
  1294. package/dist/modes/interactive/components/custom-editor.d.ts.map +1 -1
  1295. package/dist/modes/interactive/components/custom-editor.js +21 -5
  1296. package/dist/modes/interactive/components/custom-editor.js.map +1 -1
  1297. package/dist/modes/interactive/components/custom-entry.d.ts.map +1 -1
  1298. package/dist/modes/interactive/components/custom-entry.js.map +1 -1
  1299. package/dist/modes/interactive/components/custom-message.d.ts.map +1 -1
  1300. package/dist/modes/interactive/components/custom-message.js +1 -3
  1301. package/dist/modes/interactive/components/custom-message.js.map +1 -1
  1302. package/dist/modes/interactive/components/diff.js +2 -2
  1303. package/dist/modes/interactive/components/diff.js.map +1 -1
  1304. package/dist/modes/interactive/components/extension-editor.d.ts.map +1 -1
  1305. package/dist/modes/interactive/components/extension-editor.js +1 -1
  1306. package/dist/modes/interactive/components/extension-editor.js.map +1 -1
  1307. package/dist/modes/interactive/components/first-time-setup.d.ts.map +1 -1
  1308. package/dist/modes/interactive/components/first-time-setup.js +15 -4
  1309. package/dist/modes/interactive/components/first-time-setup.js.map +1 -1
  1310. package/dist/modes/interactive/components/footer.d.ts.map +1 -1
  1311. package/dist/modes/interactive/components/footer.js +17 -16
  1312. package/dist/modes/interactive/components/footer.js.map +1 -1
  1313. package/dist/modes/interactive/components/host-input-form-mount.d.ts.map +1 -1
  1314. package/dist/modes/interactive/components/host-input-form-mount.js +4 -2
  1315. package/dist/modes/interactive/components/host-input-form-mount.js.map +1 -1
  1316. package/dist/modes/interactive/components/host-input-form.d.ts.map +1 -1
  1317. package/dist/modes/interactive/components/host-input-form.js +55 -21
  1318. package/dist/modes/interactive/components/host-input-form.js.map +1 -1
  1319. package/dist/modes/interactive/components/host-session-picker.d.ts.map +1 -1
  1320. package/dist/modes/interactive/components/host-session-picker.js +8 -3
  1321. package/dist/modes/interactive/components/host-session-picker.js.map +1 -1
  1322. package/dist/modes/interactive/components/index.d.ts +7 -7
  1323. package/dist/modes/interactive/components/index.d.ts.map +1 -1
  1324. package/dist/modes/interactive/components/index.js +4 -4
  1325. package/dist/modes/interactive/components/index.js.map +1 -1
  1326. package/dist/modes/interactive/components/keybinding-hints.d.ts.map +1 -1
  1327. package/dist/modes/interactive/components/keybinding-hints.js.map +1 -1
  1328. package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -1
  1329. package/dist/modes/interactive/components/login-dialog.js +1 -3
  1330. package/dist/modes/interactive/components/login-dialog.js.map +1 -1
  1331. package/dist/modes/interactive/components/model-selector.d.ts +4 -3
  1332. package/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
  1333. package/dist/modes/interactive/components/model-selector.js +60 -74
  1334. package/dist/modes/interactive/components/model-selector.js.map +1 -1
  1335. package/dist/modes/interactive/components/oauth-selector.d.ts +4 -3
  1336. package/dist/modes/interactive/components/oauth-selector.d.ts.map +1 -1
  1337. package/dist/modes/interactive/components/oauth-selector.js +10 -13
  1338. package/dist/modes/interactive/components/oauth-selector.js.map +1 -1
  1339. package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -1
  1340. package/dist/modes/interactive/components/scoped-models-selector.js +5 -1
  1341. package/dist/modes/interactive/components/scoped-models-selector.js.map +1 -1
  1342. package/dist/modes/interactive/components/session-selector-list.d.ts +1 -1
  1343. package/dist/modes/interactive/components/session-selector-list.d.ts.map +1 -1
  1344. package/dist/modes/interactive/components/session-selector-list.js.map +1 -1
  1345. package/dist/modes/interactive/components/session-selector.d.ts.map +1 -1
  1346. package/dist/modes/interactive/components/session-selector.js.map +1 -1
  1347. package/dist/modes/interactive/components/settings-selector-handlers.d.ts.map +1 -1
  1348. package/dist/modes/interactive/components/settings-selector-handlers.js.map +1 -1
  1349. package/dist/modes/interactive/components/settings-selector-submenus.d.ts.map +1 -1
  1350. package/dist/modes/interactive/components/settings-selector-submenus.js.map +1 -1
  1351. package/dist/modes/interactive/components/startup-identity.d.ts.map +1 -1
  1352. package/dist/modes/interactive/components/startup-identity.js.map +1 -1
  1353. package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
  1354. package/dist/modes/interactive/components/tool-execution.js.map +1 -1
  1355. package/dist/modes/interactive/components/tree-selector-model.js +1 -9
  1356. package/dist/modes/interactive/components/tree-selector-model.js.map +1 -1
  1357. package/dist/modes/interactive/components/tree-selector-viewport.d.ts.map +1 -1
  1358. package/dist/modes/interactive/components/tree-selector-viewport.js.map +1 -1
  1359. package/dist/modes/interactive/components/working-status.d.ts.map +1 -1
  1360. package/dist/modes/interactive/components/working-status.js +1 -1
  1361. package/dist/modes/interactive/components/working-status.js.map +1 -1
  1362. package/dist/modes/interactive/external-editor.d.ts.map +1 -1
  1363. package/dist/modes/interactive/external-editor.js.map +1 -1
  1364. package/dist/modes/interactive/interactive-agent-events.js +20 -13
  1365. package/dist/modes/interactive/interactive-agent-events.js.map +1 -1
  1366. package/dist/modes/interactive/interactive-auth-login.js +24 -35
  1367. package/dist/modes/interactive/interactive-auth-login.js.map +1 -1
  1368. package/dist/modes/interactive/interactive-auth-routing.d.ts +1 -1
  1369. package/dist/modes/interactive/interactive-auth-routing.d.ts.map +1 -1
  1370. package/dist/modes/interactive/interactive-auth-routing.js +22 -51
  1371. package/dist/modes/interactive/interactive-auth-routing.js.map +1 -1
  1372. package/dist/modes/interactive/interactive-autocomplete.js +7 -13
  1373. package/dist/modes/interactive/interactive-autocomplete.js.map +1 -1
  1374. package/dist/modes/interactive/interactive-bash-compact.d.ts.map +1 -1
  1375. package/dist/modes/interactive/interactive-bash-compact.js +18 -8
  1376. package/dist/modes/interactive/interactive-bash-compact.js.map +1 -1
  1377. package/dist/modes/interactive/interactive-deferred-startup.d.ts.map +1 -1
  1378. package/dist/modes/interactive/interactive-deferred-startup.js +14 -10
  1379. package/dist/modes/interactive/interactive-deferred-startup.js.map +1 -1
  1380. package/dist/modes/interactive/interactive-editor-actions.js +6 -11
  1381. package/dist/modes/interactive/interactive-editor-actions.js.map +1 -1
  1382. package/dist/modes/interactive/interactive-extension-context.js +4 -4
  1383. package/dist/modes/interactive/interactive-extension-context.js.map +1 -1
  1384. package/dist/modes/interactive/interactive-extension-custom-ui.js +15 -8
  1385. package/dist/modes/interactive/interactive-extension-custom-ui.js.map +1 -1
  1386. package/dist/modes/interactive/interactive-extension-dialogs.js +50 -24
  1387. package/dist/modes/interactive/interactive-extension-dialogs.js.map +1 -1
  1388. package/dist/modes/interactive/interactive-extension-runtime.js +11 -7
  1389. package/dist/modes/interactive/interactive-extension-runtime.js.map +1 -1
  1390. package/dist/modes/interactive/interactive-extension-widgets.js +1 -1
  1391. package/dist/modes/interactive/interactive-extension-widgets.js.map +1 -1
  1392. package/dist/modes/interactive/interactive-global-clear.d.ts +45 -1
  1393. package/dist/modes/interactive/interactive-global-clear.d.ts.map +1 -1
  1394. package/dist/modes/interactive/interactive-global-clear.js +60 -4
  1395. package/dist/modes/interactive/interactive-global-clear.js.map +1 -1
  1396. package/dist/modes/interactive/interactive-hotkeys-debug.js +2 -3
  1397. package/dist/modes/interactive/interactive-hotkeys-debug.js.map +1 -1
  1398. package/dist/modes/interactive/interactive-input-handling.d.ts.map +1 -1
  1399. package/dist/modes/interactive/interactive-input-handling.js +55 -20
  1400. package/dist/modes/interactive/interactive-input-handling.js.map +1 -1
  1401. package/dist/modes/interactive/interactive-key-identity.d.ts +22 -0
  1402. package/dist/modes/interactive/interactive-key-identity.d.ts.map +1 -0
  1403. package/dist/modes/interactive/interactive-key-identity.js +29 -0
  1404. package/dist/modes/interactive/interactive-key-identity.js.map +1 -0
  1405. package/dist/modes/interactive/interactive-mode-base.d.ts +7 -6
  1406. package/dist/modes/interactive/interactive-mode-base.d.ts.map +1 -1
  1407. package/dist/modes/interactive/interactive-mode-base.js +12 -12
  1408. package/dist/modes/interactive/interactive-mode-base.js.map +1 -1
  1409. package/dist/modes/interactive/interactive-mode-deps.d.ts +20 -20
  1410. package/dist/modes/interactive/interactive-mode-deps.d.ts.map +1 -1
  1411. package/dist/modes/interactive/interactive-mode-deps.js +16 -16
  1412. package/dist/modes/interactive/interactive-mode-deps.js.map +1 -1
  1413. package/dist/modes/interactive/interactive-mode-helpers.d.ts +1 -1
  1414. package/dist/modes/interactive/interactive-mode-helpers.d.ts.map +1 -1
  1415. package/dist/modes/interactive/interactive-mode-helpers.js +3 -9
  1416. package/dist/modes/interactive/interactive-mode-helpers.js.map +1 -1
  1417. package/dist/modes/interactive/interactive-mode-surface.d.ts +8 -7
  1418. package/dist/modes/interactive/interactive-mode-surface.d.ts.map +1 -1
  1419. package/dist/modes/interactive/interactive-mode-surface.js +1 -0
  1420. package/dist/modes/interactive/interactive-mode-surface.js.map +1 -1
  1421. package/dist/modes/interactive/interactive-mode-types.d.ts +2 -2
  1422. package/dist/modes/interactive/interactive-mode-types.d.ts.map +1 -1
  1423. package/dist/modes/interactive/interactive-mode-types.js.map +1 -1
  1424. package/dist/modes/interactive/interactive-model-catalog-startup.d.ts.map +1 -1
  1425. package/dist/modes/interactive/interactive-model-catalog-startup.js +3 -2
  1426. package/dist/modes/interactive/interactive-model-catalog-startup.js.map +1 -1
  1427. package/dist/modes/interactive/interactive-model-routing.js +17 -17
  1428. package/dist/modes/interactive/interactive-model-routing.js.map +1 -1
  1429. package/dist/modes/interactive/interactive-onboarding.js +7 -7
  1430. package/dist/modes/interactive/interactive-onboarding.js.map +1 -1
  1431. package/dist/modes/interactive/interactive-pause.js.map +1 -1
  1432. package/dist/modes/interactive/interactive-process-lifecycle.js +38 -8
  1433. package/dist/modes/interactive/interactive-process-lifecycle.js.map +1 -1
  1434. package/dist/modes/interactive/interactive-prompt-restore.d.ts +58 -0
  1435. package/dist/modes/interactive/interactive-prompt-restore.d.ts.map +1 -0
  1436. package/dist/modes/interactive/interactive-prompt-restore.js +87 -0
  1437. package/dist/modes/interactive/interactive-prompt-restore.js.map +1 -0
  1438. package/dist/modes/interactive/interactive-prompt-turn.js +18 -3
  1439. package/dist/modes/interactive/interactive-prompt-turn.js.map +1 -1
  1440. package/dist/modes/interactive/interactive-queueing.js +3 -7
  1441. package/dist/modes/interactive/interactive-queueing.js.map +1 -1
  1442. package/dist/modes/interactive/interactive-render-chat.js +47 -36
  1443. package/dist/modes/interactive/interactive-render-chat.js.map +1 -1
  1444. package/dist/modes/interactive/interactive-resource-disclosure.js +1 -3
  1445. package/dist/modes/interactive/interactive-resource-disclosure.js.map +1 -1
  1446. package/dist/modes/interactive/interactive-resource-paths.js +6 -19
  1447. package/dist/modes/interactive/interactive-resource-paths.js.map +1 -1
  1448. package/dist/modes/interactive/interactive-resource-rendering.js +15 -16
  1449. package/dist/modes/interactive/interactive-resource-rendering.js.map +1 -1
  1450. package/dist/modes/interactive/interactive-selectors.js +3 -5
  1451. package/dist/modes/interactive/interactive-selectors.js.map +1 -1
  1452. package/dist/modes/interactive/interactive-session-routing.js +16 -4
  1453. package/dist/modes/interactive/interactive-session-routing.js.map +1 -1
  1454. package/dist/modes/interactive/interactive-session-runtime.js +11 -0
  1455. package/dist/modes/interactive/interactive-session-runtime.js.map +1 -1
  1456. package/dist/modes/interactive/interactive-slash-commands.js +12 -7
  1457. package/dist/modes/interactive/interactive-slash-commands.js.map +1 -1
  1458. package/dist/modes/interactive/interactive-startup.d.ts.map +1 -1
  1459. package/dist/modes/interactive/interactive-startup.js +10 -12
  1460. package/dist/modes/interactive/interactive-startup.js.map +1 -1
  1461. package/dist/modes/interactive/interactive-submission.d.ts +24 -0
  1462. package/dist/modes/interactive/interactive-submission.d.ts.map +1 -0
  1463. package/dist/modes/interactive/interactive-submission.js +10 -0
  1464. package/dist/modes/interactive/interactive-submission.js.map +1 -0
  1465. package/dist/modes/interactive/interactive-summarization-retry-events.d.ts +1 -1
  1466. package/dist/modes/interactive/interactive-summarization-retry-events.d.ts.map +1 -1
  1467. package/dist/modes/interactive/interactive-summarization-retry-events.js +4 -2
  1468. package/dist/modes/interactive/interactive-summarization-retry-events.js.map +1 -1
  1469. package/dist/modes/interactive/login-provider-options.d.ts.map +1 -1
  1470. package/dist/modes/interactive/login-provider-options.js +1 -2
  1471. package/dist/modes/interactive/login-provider-options.js.map +1 -1
  1472. package/dist/modes/interactive/theme/global-theme.d.ts +1 -1
  1473. package/dist/modes/interactive/theme/global-theme.d.ts.map +1 -1
  1474. package/dist/modes/interactive/theme/global-theme.js.map +1 -1
  1475. package/dist/modes/interactive/theme/theme-class.d.ts.map +1 -1
  1476. package/dist/modes/interactive/theme/theme-class.js.map +1 -1
  1477. package/dist/modes/interactive/theme/theme-loading.d.ts.map +1 -1
  1478. package/dist/modes/interactive/theme/theme-loading.js +1 -1
  1479. package/dist/modes/interactive/theme/theme-loading.js.map +1 -1
  1480. package/dist/modes/interactive/theme/theme-schema.d.ts.map +1 -1
  1481. package/dist/modes/interactive/theme/theme-schema.js.map +1 -1
  1482. package/dist/modes/interactive/theme/theme.d.ts +2 -2
  1483. package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
  1484. package/dist/modes/interactive/theme/theme.js +2 -2
  1485. package/dist/modes/interactive/theme/theme.js.map +1 -1
  1486. package/dist/modes/interactive/whimsical-messages.d.ts.map +1 -1
  1487. package/dist/modes/interactive/whimsical-messages.js.map +1 -1
  1488. package/dist/modes/interactive-engine/activity-watchdog.d.ts +16 -6
  1489. package/dist/modes/interactive-engine/activity-watchdog.d.ts.map +1 -1
  1490. package/dist/modes/interactive-engine/activity-watchdog.js +12 -6
  1491. package/dist/modes/interactive-engine/activity-watchdog.js.map +1 -1
  1492. package/dist/modes/interactive-engine/create-isolated-runtime.d.ts.map +1 -1
  1493. package/dist/modes/interactive-engine/create-isolated-runtime.js +5 -4
  1494. package/dist/modes/interactive-engine/create-isolated-runtime.js.map +1 -1
  1495. package/dist/modes/interactive-engine/engine-child-liveness.d.ts.map +1 -1
  1496. package/dist/modes/interactive-engine/engine-child-liveness.js +6 -4
  1497. package/dist/modes/interactive-engine/engine-child-liveness.js.map +1 -1
  1498. package/dist/modes/interactive-engine/engine-custom-ui.d.ts +3 -2
  1499. package/dist/modes/interactive-engine/engine-custom-ui.d.ts.map +1 -1
  1500. package/dist/modes/interactive-engine/engine-custom-ui.js +32 -11
  1501. package/dist/modes/interactive-engine/engine-custom-ui.js.map +1 -1
  1502. package/dist/modes/interactive-engine/engine-diagnostic-view.d.ts +16 -0
  1503. package/dist/modes/interactive-engine/engine-diagnostic-view.d.ts.map +1 -0
  1504. package/dist/modes/interactive-engine/engine-diagnostic-view.js +19 -0
  1505. package/dist/modes/interactive-engine/engine-diagnostic-view.js.map +1 -0
  1506. package/dist/modes/interactive-engine/engine-dialog-host.d.ts +33 -0
  1507. package/dist/modes/interactive-engine/engine-dialog-host.d.ts.map +1 -0
  1508. package/dist/modes/interactive-engine/engine-dialog-host.js +129 -0
  1509. package/dist/modes/interactive-engine/engine-dialog-host.js.map +1 -0
  1510. package/dist/modes/interactive-engine/engine-generation.d.ts +29 -0
  1511. package/dist/modes/interactive-engine/engine-generation.d.ts.map +1 -0
  1512. package/dist/modes/interactive-engine/engine-generation.js +11 -0
  1513. package/dist/modes/interactive-engine/engine-generation.js.map +1 -0
  1514. package/dist/modes/interactive-engine/engine-health.d.ts +101 -0
  1515. package/dist/modes/interactive-engine/engine-health.d.ts.map +1 -0
  1516. package/dist/modes/interactive-engine/engine-health.js +236 -0
  1517. package/dist/modes/interactive-engine/engine-health.js.map +1 -0
  1518. package/dist/modes/interactive-engine/engine-input-form.d.ts.map +1 -1
  1519. package/dist/modes/interactive-engine/engine-input-form.js +12 -3
  1520. package/dist/modes/interactive-engine/engine-input-form.js.map +1 -1
  1521. package/dist/modes/interactive-engine/engine-monitor.d.ts.map +1 -1
  1522. package/dist/modes/interactive-engine/engine-monitor.js +7 -2
  1523. package/dist/modes/interactive-engine/engine-monitor.js.map +1 -1
  1524. package/dist/modes/interactive-engine/engine-render-service.d.ts.map +1 -1
  1525. package/dist/modes/interactive-engine/engine-render-service.js +11 -5
  1526. package/dist/modes/interactive-engine/engine-render-service.js.map +1 -1
  1527. package/dist/modes/interactive-engine/engine-session-picker.d.ts.map +1 -1
  1528. package/dist/modes/interactive-engine/engine-session-picker.js +4 -2
  1529. package/dist/modes/interactive-engine/engine-session-picker.js.map +1 -1
  1530. package/dist/modes/interactive-engine/extension-ui-bridge.d.ts +14 -3
  1531. package/dist/modes/interactive-engine/extension-ui-bridge.d.ts.map +1 -1
  1532. package/dist/modes/interactive-engine/extension-ui-bridge.js +32 -45
  1533. package/dist/modes/interactive-engine/extension-ui-bridge.js.map +1 -1
  1534. package/dist/modes/interactive-engine/input-form-host.d.ts +1 -0
  1535. package/dist/modes/interactive-engine/input-form-host.d.ts.map +1 -1
  1536. package/dist/modes/interactive-engine/input-form-host.js +12 -2
  1537. package/dist/modes/interactive-engine/input-form-host.js.map +1 -1
  1538. package/dist/modes/interactive-engine/isolated-auth.d.ts +2 -2
  1539. package/dist/modes/interactive-engine/isolated-auth.d.ts.map +1 -1
  1540. package/dist/modes/interactive-engine/isolated-auth.js +4 -3
  1541. package/dist/modes/interactive-engine/isolated-auth.js.map +1 -1
  1542. package/dist/modes/interactive-engine/isolated-runtime.d.ts +32 -6
  1543. package/dist/modes/interactive-engine/isolated-runtime.d.ts.map +1 -1
  1544. package/dist/modes/interactive-engine/isolated-runtime.js +126 -62
  1545. package/dist/modes/interactive-engine/isolated-runtime.js.map +1 -1
  1546. package/dist/modes/interactive-engine/protocol.d.ts +20 -1
  1547. package/dist/modes/interactive-engine/protocol.d.ts.map +1 -1
  1548. package/dist/modes/interactive-engine/protocol.js +183 -55
  1549. package/dist/modes/interactive-engine/protocol.js.map +1 -1
  1550. package/dist/modes/interactive-engine/remote-component.d.ts +38 -0
  1551. package/dist/modes/interactive-engine/remote-component.d.ts.map +1 -1
  1552. package/dist/modes/interactive-engine/remote-component.js +111 -22
  1553. package/dist/modes/interactive-engine/remote-component.js.map +1 -1
  1554. package/dist/modes/interactive-engine/remote-input-ownership.d.ts +48 -0
  1555. package/dist/modes/interactive-engine/remote-input-ownership.d.ts.map +1 -0
  1556. package/dist/modes/interactive-engine/remote-input-ownership.js +42 -0
  1557. package/dist/modes/interactive-engine/remote-input-ownership.js.map +1 -0
  1558. package/dist/modes/interactive-engine/remote-model-catalog.d.ts +0 -1
  1559. package/dist/modes/interactive-engine/remote-model-catalog.d.ts.map +1 -1
  1560. package/dist/modes/interactive-engine/remote-model-catalog.js +14 -47
  1561. package/dist/modes/interactive-engine/remote-model-catalog.js.map +1 -1
  1562. package/dist/modes/interactive-engine/remote-queue-pause.d.ts.map +1 -1
  1563. package/dist/modes/interactive-engine/remote-queue-pause.js.map +1 -1
  1564. package/dist/modes/interactive-engine/remote-renderer.d.ts.map +1 -1
  1565. package/dist/modes/interactive-engine/remote-renderer.js +38 -10
  1566. package/dist/modes/interactive-engine/remote-renderer.js.map +1 -1
  1567. package/dist/modes/interactive-engine/session-picker-host.d.ts +1 -0
  1568. package/dist/modes/interactive-engine/session-picker-host.d.ts.map +1 -1
  1569. package/dist/modes/interactive-engine/session-picker-host.js +4 -0
  1570. package/dist/modes/interactive-engine/session-picker-host.js.map +1 -1
  1571. package/dist/modes/print-mode.d.ts.map +1 -1
  1572. package/dist/modes/print-mode.js.map +1 -1
  1573. package/dist/modes/rpc/jsonl.d.ts +7 -0
  1574. package/dist/modes/rpc/jsonl.d.ts.map +1 -1
  1575. package/dist/modes/rpc/jsonl.js +17 -1
  1576. package/dist/modes/rpc/jsonl.js.map +1 -1
  1577. package/dist/modes/rpc/queued-writer.d.ts +14 -0
  1578. package/dist/modes/rpc/queued-writer.d.ts.map +1 -1
  1579. package/dist/modes/rpc/queued-writer.js +33 -9
  1580. package/dist/modes/rpc/queued-writer.js.map +1 -1
  1581. package/dist/modes/rpc/rpc-bash-request-owners.js +1 -1
  1582. package/dist/modes/rpc/rpc-bash-request-owners.js.map +1 -1
  1583. package/dist/modes/rpc/rpc-client-api.d.ts +4 -4
  1584. package/dist/modes/rpc/rpc-client-api.d.ts.map +1 -1
  1585. package/dist/modes/rpc/rpc-client-api.js +63 -22
  1586. package/dist/modes/rpc/rpc-client-api.js.map +1 -1
  1587. package/dist/modes/rpc/rpc-client-process.d.ts +10 -0
  1588. package/dist/modes/rpc/rpc-client-process.d.ts.map +1 -1
  1589. package/dist/modes/rpc/rpc-client-process.js +72 -15
  1590. package/dist/modes/rpc/rpc-client-process.js.map +1 -1
  1591. package/dist/modes/rpc/rpc-client-waits.d.ts +17 -1
  1592. package/dist/modes/rpc/rpc-client-waits.d.ts.map +1 -1
  1593. package/dist/modes/rpc/rpc-client-waits.js +25 -0
  1594. package/dist/modes/rpc/rpc-client-waits.js.map +1 -1
  1595. package/dist/modes/rpc/rpc-client.d.ts +61 -6
  1596. package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
  1597. package/dist/modes/rpc/rpc-client.js +200 -145
  1598. package/dist/modes/rpc/rpc-client.js.map +1 -1
  1599. package/dist/modes/rpc/rpc-command-handler.d.ts +2 -2
  1600. package/dist/modes/rpc/rpc-command-handler.d.ts.map +1 -1
  1601. package/dist/modes/rpc/rpc-command-handler.js +61 -32
  1602. package/dist/modes/rpc/rpc-command-handler.js.map +1 -1
  1603. package/dist/modes/rpc/rpc-command-timeouts.d.ts +30 -0
  1604. package/dist/modes/rpc/rpc-command-timeouts.d.ts.map +1 -0
  1605. package/dist/modes/rpc/rpc-command-timeouts.js +52 -0
  1606. package/dist/modes/rpc/rpc-command-timeouts.js.map +1 -0
  1607. package/dist/modes/rpc/rpc-event-buffer.d.ts.map +1 -1
  1608. package/dist/modes/rpc/rpc-event-buffer.js +3 -1
  1609. package/dist/modes/rpc/rpc-event-buffer.js.map +1 -1
  1610. package/dist/modes/rpc/rpc-extension-ui.d.ts +1 -1
  1611. package/dist/modes/rpc/rpc-extension-ui.d.ts.map +1 -1
  1612. package/dist/modes/rpc/rpc-extension-ui.js +44 -16
  1613. package/dist/modes/rpc/rpc-extension-ui.js.map +1 -1
  1614. package/dist/modes/rpc/rpc-generation-buffer.d.ts +21 -0
  1615. package/dist/modes/rpc/rpc-generation-buffer.d.ts.map +1 -0
  1616. package/dist/modes/rpc/rpc-generation-buffer.js +35 -0
  1617. package/dist/modes/rpc/rpc-generation-buffer.js.map +1 -0
  1618. package/dist/modes/rpc/rpc-input-scheduler.d.ts.map +1 -1
  1619. package/dist/modes/rpc/rpc-input-scheduler.js +13 -6
  1620. package/dist/modes/rpc/rpc-input-scheduler.js.map +1 -1
  1621. package/dist/modes/rpc/rpc-input.d.ts +7 -1
  1622. package/dist/modes/rpc/rpc-input.d.ts.map +1 -1
  1623. package/dist/modes/rpc/rpc-input.js +14 -4
  1624. package/dist/modes/rpc/rpc-input.js.map +1 -1
  1625. package/dist/modes/rpc/rpc-keybindings-reload.d.ts.map +1 -1
  1626. package/dist/modes/rpc/rpc-keybindings-reload.js.map +1 -1
  1627. package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
  1628. package/dist/modes/rpc/rpc-mode.js +17 -18
  1629. package/dist/modes/rpc/rpc-mode.js.map +1 -1
  1630. package/dist/modes/rpc/rpc-oauth-client.d.ts +2 -3
  1631. package/dist/modes/rpc/rpc-oauth-client.d.ts.map +1 -1
  1632. package/dist/modes/rpc/rpc-oauth-client.js +12 -5
  1633. package/dist/modes/rpc/rpc-oauth-client.js.map +1 -1
  1634. package/dist/modes/rpc/rpc-oauth-interaction.d.ts +1 -1
  1635. package/dist/modes/rpc/rpc-oauth-interaction.d.ts.map +1 -1
  1636. package/dist/modes/rpc/rpc-oauth-interaction.js +1 -1
  1637. package/dist/modes/rpc/rpc-oauth-interaction.js.map +1 -1
  1638. package/dist/modes/rpc/rpc-output-buffer.d.ts.map +1 -1
  1639. package/dist/modes/rpc/rpc-output-buffer.js +3 -1
  1640. package/dist/modes/rpc/rpc-output-buffer.js.map +1 -1
  1641. package/dist/modes/rpc/rpc-pending-requests.d.ts +37 -0
  1642. package/dist/modes/rpc/rpc-pending-requests.d.ts.map +1 -0
  1643. package/dist/modes/rpc/rpc-pending-requests.js +57 -0
  1644. package/dist/modes/rpc/rpc-pending-requests.js.map +1 -0
  1645. package/dist/modes/rpc/rpc-provider-auth.d.ts +4 -5
  1646. package/dist/modes/rpc/rpc-provider-auth.d.ts.map +1 -1
  1647. package/dist/modes/rpc/rpc-provider-auth.js +29 -57
  1648. package/dist/modes/rpc/rpc-provider-auth.js.map +1 -1
  1649. package/dist/modes/rpc/rpc-responses.js.map +1 -1
  1650. package/dist/modes/rpc/rpc-session-binding.d.ts +1 -1
  1651. package/dist/modes/rpc/rpc-session-binding.d.ts.map +1 -1
  1652. package/dist/modes/rpc/rpc-session-binding.js +8 -3
  1653. package/dist/modes/rpc/rpc-session-binding.js.map +1 -1
  1654. package/dist/modes/rpc/rpc-terminal-drain.d.ts +52 -0
  1655. package/dist/modes/rpc/rpc-terminal-drain.d.ts.map +1 -0
  1656. package/dist/modes/rpc/rpc-terminal-drain.js +85 -0
  1657. package/dist/modes/rpc/rpc-terminal-drain.js.map +1 -0
  1658. package/dist/modes/rpc/rpc-transport-error.d.ts +49 -0
  1659. package/dist/modes/rpc/rpc-transport-error.d.ts.map +1 -0
  1660. package/dist/modes/rpc/rpc-transport-error.js +78 -0
  1661. package/dist/modes/rpc/rpc-transport-error.js.map +1 -0
  1662. package/dist/modes/rpc/rpc-types.d.ts +12 -7
  1663. package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
  1664. package/dist/modes/rpc/rpc-types.js.map +1 -1
  1665. package/dist/package-manager-cli-parser.js.map +1 -1
  1666. package/dist/package-manager-cli.d.ts.map +1 -1
  1667. package/dist/package-manager-cli.js +25 -16
  1668. package/dist/package-manager-cli.js.map +1 -1
  1669. package/dist/utils/child-process.d.ts.map +1 -1
  1670. package/dist/utils/child-process.js.map +1 -1
  1671. package/dist/utils/clipboard-image.js +1 -1
  1672. package/dist/utils/clipboard-image.js.map +1 -1
  1673. package/dist/utils/clipboard.d.ts.map +1 -1
  1674. package/dist/utils/clipboard.js.map +1 -1
  1675. package/dist/utils/fs-watch.d.ts.map +1 -1
  1676. package/dist/utils/fs-watch.js +1 -3
  1677. package/dist/utils/fs-watch.js.map +1 -1
  1678. package/dist/utils/git.js +1 -1
  1679. package/dist/utils/git.js.map +1 -1
  1680. package/dist/utils/interactive-engine-bootstrap.d.ts +67 -0
  1681. package/dist/utils/interactive-engine-bootstrap.d.ts.map +1 -0
  1682. package/dist/utils/interactive-engine-bootstrap.js +117 -0
  1683. package/dist/utils/interactive-engine-bootstrap.js.map +1 -0
  1684. package/dist/utils/interactive-engine-env.d.ts +41 -0
  1685. package/dist/utils/interactive-engine-env.d.ts.map +1 -0
  1686. package/dist/utils/interactive-engine-env.js +67 -0
  1687. package/dist/utils/interactive-engine-env.js.map +1 -0
  1688. package/dist/utils/markit.d.ts.map +1 -1
  1689. package/dist/utils/markit.js +15 -5
  1690. package/dist/utils/markit.js.map +1 -1
  1691. package/dist/utils/shell.js +2 -2
  1692. package/dist/utils/shell.js.map +1 -1
  1693. package/dist/utils/split-launcher.d.ts.map +1 -1
  1694. package/dist/utils/split-launcher.js +1 -2
  1695. package/dist/utils/split-launcher.js.map +1 -1
  1696. package/dist/utils/tools-manager.d.ts.map +1 -1
  1697. package/dist/utils/tools-manager.js +8 -34
  1698. package/dist/utils/tools-manager.js.map +1 -1
  1699. package/dist/utils/version-check.d.ts.map +1 -1
  1700. package/dist/utils/version-check.js +1 -1
  1701. package/dist/utils/version-check.js.map +1 -1
  1702. package/docs/changelog.mdx +12 -1
  1703. package/docs/custom-provider.md +27 -4
  1704. package/docs/development.md +14 -15
  1705. package/docs/extensions.md +60 -2
  1706. package/docs/keybindings.md +13 -1
  1707. package/docs/models.md +4 -6
  1708. package/docs/providers.md +28 -2
  1709. package/docs/quickstart.md +2 -1
  1710. package/docs/rpc.md +1 -1
  1711. package/docs/sdk.md +32 -49
  1712. package/docs/security.md +15 -0
  1713. package/docs/session-format.md +2 -0
  1714. package/docs/usage.md +34 -0
  1715. package/docs/workflows.md +89 -12
  1716. package/examples/extensions/border-status-editor.ts +1 -6
  1717. package/examples/extensions/custom-compaction.ts +7 -2
  1718. package/examples/extensions/custom-footer.ts +1 -1
  1719. package/examples/extensions/custom-provider-anthropic/index.ts +14 -2
  1720. package/examples/extensions/custom-provider-gitlab-duo/index.ts +1 -1
  1721. package/examples/extensions/gondolin/index.ts +1 -1
  1722. package/examples/extensions/handoff.ts +2 -2
  1723. package/examples/extensions/hello.ts +1 -1
  1724. package/examples/extensions/minimal-mode.ts +6 -6
  1725. package/examples/extensions/overlay-qa-focus-components.ts +0 -1
  1726. package/examples/extensions/overlay-qa-streaming-input-components.ts +2 -2
  1727. package/examples/extensions/overlay-qa-tests.ts +16 -14
  1728. package/examples/extensions/overlay-qa-toggle-passive-components.ts +3 -5
  1729. package/examples/extensions/overlay-test.ts +3 -6
  1730. package/examples/extensions/plan-mode/index.ts +1 -1
  1731. package/examples/extensions/preset.ts +1 -1
  1732. package/examples/extensions/qna.ts +1 -1
  1733. package/examples/extensions/structured-output.ts +9 -9
  1734. package/examples/extensions/subagent/display.ts +115 -127
  1735. package/examples/extensions/subagent/index.ts +310 -349
  1736. package/examples/extensions/subagent/render.ts +244 -345
  1737. package/examples/extensions/subagent/runner.ts +223 -230
  1738. package/examples/extensions/subagent/schemas.ts +39 -46
  1739. package/examples/extensions/subagent/types.ts +22 -22
  1740. package/examples/extensions/summarize.ts +2 -2
  1741. package/examples/extensions/tic-tac-toe.ts +4 -4
  1742. package/examples/extensions/todo.ts +1 -1
  1743. package/examples/extensions/tool-override.ts +1 -1
  1744. package/examples/extensions/trigger-compact.ts +4 -1
  1745. package/examples/extensions/working-indicator.ts +2 -1
  1746. package/examples/rpc-extension-ui-components.ts +1 -2
  1747. package/examples/sdk/02-custom-model.ts +8 -10
  1748. package/examples/sdk/03-custom-prompt.ts +1 -6
  1749. package/examples/sdk/06-extensions.ts +1 -6
  1750. package/examples/sdk/07-context-files.ts +1 -6
  1751. package/examples/sdk/09-api-keys-and-oauth.ts +17 -23
  1752. package/examples/sdk/12-full-control.ts +10 -12
  1753. package/examples/sdk/README.md +17 -21
  1754. package/npm-shrinkwrap.json +300 -303
  1755. package/package.json +11 -11
  1756. package/dist/core/model-registry-auth.d.ts +0 -10
  1757. package/dist/core/model-registry-auth.d.ts.map +0 -1
  1758. package/dist/core/model-registry-auth.js +0 -98
  1759. package/dist/core/model-registry-auth.js.map +0 -1
  1760. package/dist/core/model-registry-builtins.d.ts +0 -8
  1761. package/dist/core/model-registry-builtins.d.ts.map +0 -1
  1762. package/dist/core/model-registry-builtins.js +0 -104
  1763. package/dist/core/model-registry-builtins.js.map +0 -1
  1764. package/dist/core/model-registry-custom-loader.d.ts +0 -3
  1765. package/dist/core/model-registry-custom-loader.d.ts.map +0 -1
  1766. package/dist/core/model-registry-custom-loader.js +0 -255
  1767. package/dist/core/model-registry-custom-loader.js.map +0 -1
  1768. package/dist/core/model-registry-dynamic.d.ts +0 -7
  1769. package/dist/core/model-registry-dynamic.d.ts.map +0 -1
  1770. package/dist/core/model-registry-dynamic.js +0 -189
  1771. package/dist/core/model-registry-dynamic.js.map +0 -1
  1772. package/dist/core/model-registry-extension-refresh.d.ts +0 -23
  1773. package/dist/core/model-registry-extension-refresh.d.ts.map +0 -1
  1774. package/dist/core/model-registry-extension-refresh.js +0 -32
  1775. package/dist/core/model-registry-extension-refresh.js.map +0 -1
  1776. package/dist/core/model-registry-loader.d.ts +0 -5
  1777. package/dist/core/model-registry-loader.d.ts.map +0 -1
  1778. package/dist/core/model-registry-loader.js +0 -29
  1779. package/dist/core/model-registry-loader.js.map +0 -1
  1780. package/dist/core/model-registry-schemas.d.ts +0 -1399
  1781. package/dist/core/model-registry-schemas.d.ts.map +0 -1
  1782. package/dist/core/model-registry-schemas.js.map +0 -1
  1783. package/dist/core/model-registry-types.d.ts +0 -91
  1784. package/dist/core/model-registry-types.d.ts.map +0 -1
  1785. package/dist/core/model-registry-types.js +0 -2
  1786. package/dist/core/model-registry-types.js.map +0 -1
  1787. package/dist/core/model-registry-validation.d.ts +0 -7
  1788. package/dist/core/model-registry-validation.d.ts.map +0 -1
  1789. package/dist/core/model-registry-validation.js +0 -12
  1790. package/dist/core/model-registry-validation.js.map +0 -1
  1791. package/dist/core/oauth-compat.d.ts +0 -17
  1792. package/dist/core/oauth-compat.d.ts.map +0 -1
  1793. package/dist/core/oauth-compat.js +0 -2
  1794. package/dist/core/oauth-compat.js.map +0 -1
  1795. package/dist/core/oauth-provider-bridge.d.ts +0 -63
  1796. package/dist/core/oauth-provider-bridge.d.ts.map +0 -1
  1797. package/dist/core/oauth-provider-bridge.js +0 -232
  1798. package/dist/core/oauth-provider-bridge.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"loader-virtual-modules.js","sourceRoot":"","sources":["../../../src/core/extensions/loader-virtual-modules.ts"],"names":[],"mappings":"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","sourcesContent":["import * as fs from \"node:fs\";\nimport { createRequire } from \"node:module\";\nimport * as path from \"node:path\";\nimport { pathToFileURL } from \"node:url\";\nimport { createJiti } from \"jiti/static\";\nimport { getExtensionTranspileCacheDir, isBunBinary, isBundledBuild } from \"../../config.ts\";\nimport { moduleDirFromMetaUrl } from \"../../utils/split-launcher.ts\";\nimport { resolutionBaseUrl } from \"../../utils/module-require.ts\";\nimport { resolvePath } from \"../../utils/paths.ts\";\nimport type { ExtensionFactory } from \"./types.ts\";\n\nconst require = createRequire(import.meta.url);\nlet _virtualModules: Record<string, object> | null = null;\nlet _virtualModulesPromise: Promise<Record<string, object>> | null = null;\n\nasync function loadVirtualModules(): Promise<Record<string, object>> {\n const [typebox, typeboxCompile, typeboxValue, piAgentCore, piTui, piAi, piAiOauth, piCodingAgent] = await Promise.all([\n import(\"typebox\"),\n import(\"typebox/compile\"),\n import(\"typebox/value\"),\n import(\"@earendil-works/pi-agent-core\"),\n import(\"@earendil-works/pi-tui\"),\n // pi 0.80.2: the old global pi-ai API moved off the root entrypoint onto\n // `/compat` (a strict superset). Extensions still `import ... from\n // \"@earendil-works/pi-ai\"`, so we load the compat module here and key it\n // under the root specifier below to keep every extension working unchanged.\n import(\"@earendil-works/pi-ai/compat\"),\n import(\"../oauth-compat.ts\"),\n // NOTE: This import works because loader.ts exports are NOT re-exported from index.ts,\n // avoiding a circular dependency while preserving the package-name extension import path.\n import(\"../../index.ts\"),\n ]);\n\n return {\n typebox,\n \"typebox/compile\": typeboxCompile,\n \"typebox/value\": typeboxValue,\n \"@sinclair/typebox\": typebox,\n \"@sinclair/typebox/compile\": typeboxCompile,\n \"@sinclair/typebox/value\": typeboxValue,\n \"@earendil-works/pi-agent-core\": piAgentCore,\n \"@earendil-works/pi-tui\": piTui,\n \"@earendil-works/pi-ai\": piAi,\n \"@earendil-works/pi-ai/compat\": piAi,\n \"@earendil-works/pi-ai/oauth\": piAiOauth,\n \"@bastani/atomic\": piCodingAgent,\n \"@mariozechner/pi-agent-core\": piAgentCore,\n \"@mariozechner/pi-tui\": piTui,\n \"@mariozechner/pi-ai\": piAi,\n \"@mariozechner/pi-ai/compat\": piAi,\n \"@mariozechner/pi-ai/oauth\": piAiOauth,\n };\n}\n\n/** Modules available to extensions via virtualModules (for compiled Bun binary). */\nasync function getVirtualModules(): Promise<Record<string, object>> {\n if (_virtualModules) return _virtualModules;\n _virtualModulesPromise ??= loadVirtualModules().then(\n (virtualModules) => {\n _virtualModules = virtualModules;\n return virtualModules;\n },\n (error: Error) => {\n _virtualModulesPromise = null;\n throw error;\n },\n );\n return _virtualModulesPromise;\n}\nlet _aliases: Record<string, string> | null = null;\nlet _transpileCacheDir: string | null = null;\n\n/**\n * Persistent on-disk cache for jiti-transpiled extension modules.\n * jiti keys cache entries by source-content hash, so entries self-invalidate\n * when extension sources change; stale sibling version dirs are pruned\n * in the background.\n */\nfunction getTranspileCacheDir(): string {\n if (_transpileCacheDir) return _transpileCacheDir;\n _transpileCacheDir = getExtensionTranspileCacheDir();\n fs.mkdirSync(_transpileCacheDir, { recursive: true });\n pruneStaleTranspileCaches(_transpileCacheDir);\n return _transpileCacheDir;\n}\n\nfunction pruneStaleTranspileCaches(currentDir: string): void {\n const parent = path.dirname(currentDir);\n const keep = path.basename(currentDir);\n void fs.promises\n .readdir(parent)\n .then((entries) =>\n Promise.all(\n entries\n .filter((entry) => entry !== keep)\n .map((entry) => fs.promises.rm(path.join(parent, entry), { recursive: true, force: true })),\n ),\n )\n .catch(() => {});\n}\n\nlet extensionCacheCwd: string | undefined;\nlet extensionCacheGeneration = 0;\nconst extensionCache = new Map<string, ExtensionFactory>();\n\nexport interface ExtensionCacheToken {\n cwd: string;\n generation: number;\n}\n\nexport function clearExtensionCache(): void {\n extensionCache.clear();\n extensionCacheCwd = undefined;\n extensionCacheGeneration++;\n}\n\nexport function useExtensionCacheCwd(cwd: string): ExtensionCacheToken {\n const resolvedCwd = resolvePath(cwd);\n if (extensionCacheCwd !== undefined && extensionCacheCwd !== resolvedCwd) {\n clearExtensionCache();\n }\n extensionCacheCwd = resolvedCwd;\n return { cwd: resolvedCwd, generation: extensionCacheGeneration };\n}\n\nfunction isCurrentCacheToken(cacheToken: ExtensionCacheToken | undefined): cacheToken is ExtensionCacheToken {\n return (\n cacheToken !== undefined &&\n extensionCacheCwd === cacheToken.cwd &&\n extensionCacheGeneration === cacheToken.generation\n );\n}\n\nfunction extensionImportSpecifier(extensionPath: string, cacheToken: ExtensionCacheToken | undefined): string {\n const url = pathToFileURL(extensionPath);\n const cacheKey = cacheToken ? `${cacheToken.generation}:${cacheToken.cwd}` : `${Date.now()}:${Math.random()}`;\n url.searchParams.set(\"atomicExtensionCache\", cacheKey);\n return url.href;\n}\n\n/**\n * Locate an installed package's root directory without consulting its\n * \"exports\" map: require.resolve(\"<pkg>/package.json\") throws\n * ERR_PACKAGE_PATH_NOT_EXPORTED under Node for packages that do not export\n * \"./package.json\" (pi-ai does not), and import.meta.resolve() cannot be\n * used because its mere presence silently disables bytecode generation for\n * the compiled binary (CJS bundle). Scanning require.resolve.paths() walks\n * the same node_modules chain Node would, without exports-map encapsulation.\n */\nfunction findPackageRoot(packageName: string, searchPaths?: string[]): string {\n for (const base of searchPaths ?? require.resolve.paths(packageName) ?? []) {\n const candidate = path.join(base, packageName);\n if (fs.existsSync(path.join(candidate, \"package.json\"))) {\n return candidate;\n }\n }\n throw new Error(`Cannot locate package directory for \"${packageName}\"`);\n}\nfunction currentModuleDir(): string {\n return moduleDirFromMetaUrl(import.meta.url, \"dist\", \"core\", \"extensions\");\n}\n\n\n/**\n * Get aliases for jiti (used in Node.js/development mode).\n * In Bun binary mode, virtualModules is used instead.\n */\nfunction getAliases(): Record<string, string> {\n if (_aliases) return _aliases;\n\n const __dirname = currentModuleDir();\n const packageIndex = path.resolve(__dirname, \"../..\", \"index.js\");\n\n const typeboxEntry = require.resolve(\"typebox\");\n const typeboxCompileEntry = require.resolve(\"typebox/compile\");\n const typeboxValueEntry = require.resolve(\"typebox/value\");\n\n const packagesRoot = path.resolve(__dirname, \"../../../../\");\n const resolveWorkspaceOrImport = (workspaceRelativePath: string, packageName: string): string => {\n const workspacePath = path.join(packagesRoot, workspaceRelativePath);\n if (fs.existsSync(workspacePath)) {\n return workspacePath;\n }\n const packageRoot = findPackageRoot(packageName);\n const entryRelativePath = workspaceRelativePath.split(\"/\").slice(1).join(\"/\");\n return path.join(packageRoot, entryRelativePath);\n };\n\n const piCodingAgentEntry = packageIndex;\n const piAgentCoreEntry = resolveWorkspaceOrImport(\"agent/dist/index.js\", \"@earendil-works/pi-agent-core\");\n const piTuiEntry = resolveWorkspaceOrImport(\"tui/dist/index.js\", \"@earendil-works/pi-tui\");\n // The workspace path mirrors pi-ai 0.80.x's built dist layout. If an\n // upstream layout change moves these files, this join needs updating to\n // match the package's real dist paths.\n const piAiEntry = resolveWorkspaceOrImport(\"ai/dist/compat.js\", \"@earendil-works/pi-ai\");\n const piAiProvidersEntry = resolveWorkspaceOrImport(\"ai/dist/providers/all.js\", \"@earendil-works/pi-ai\");\n const piAiOauthEntry = path.resolve(__dirname, \"../oauth-compat.js\");\n\n _aliases = {\n \"@bastani/atomic\": piCodingAgentEntry,\n \"@earendil-works/pi-coding-agent\": piCodingAgentEntry,\n \"@earendil-works/pi-agent-core\": piAgentCoreEntry,\n \"@earendil-works/pi-tui\": piTuiEntry,\n \"@earendil-works/pi-ai/oauth\": piAiOauthEntry,\n \"@earendil-works/pi-ai/providers/all\": piAiProvidersEntry,\n \"@earendil-works/pi-ai/compat\": piAiEntry,\n \"@earendil-works/pi-ai\": piAiEntry,\n \"@mariozechner/pi-agent-core\": piAgentCoreEntry,\n \"@mariozechner/pi-tui\": piTuiEntry,\n \"@mariozechner/pi-ai/oauth\": piAiOauthEntry,\n \"@mariozechner/pi-ai/providers/all\": piAiProvidersEntry,\n \"@mariozechner/pi-ai/compat\": piAiEntry,\n \"@mariozechner/pi-ai\": piAiEntry,\n typebox: typeboxEntry,\n \"typebox/compile\": typeboxCompileEntry,\n \"typebox/value\": typeboxValueEntry,\n \"@sinclair/typebox\": typeboxEntry,\n \"@sinclair/typebox/compile\": typeboxCompileEntry,\n \"@sinclair/typebox/value\": typeboxValueEntry,\n };\n\n return _aliases;\n}\n\nexport const extensionLoaderTestHooks = {\n loadVirtualModules,\n getAliases,\n findPackageRoot,\n getTranspileCacheDir,\n};\n\n/**\n * Extension paths already evaluated via native import() in this process. Bun on\n * Windows ignores the cache-busting query on file URLs, so re-loads of these\n * paths (e.g. /reload) must go through jiti's transformed-import path to get a\n * fresh module evaluation.\n */\nconst nativelyImportedPaths = new Set<string>();\n\nexport async function loadExtensionModule(\n extensionPath: string,\n cacheToken?: ExtensionCacheToken,\n): Promise<ExtensionFactory | undefined> {\n if (isCurrentCacheToken(cacheToken)) {\n const cachedFactory = extensionCache.get(extensionPath);\n if (cachedFactory) return cachedFactory;\n }\n\n const isWindows = process.platform === \"win32\";\n // Single-file builds (compiled binary or dev bundle) cannot alias host\n // package specifiers to files on disk: extensions must share the live\n // module instances baked into the build, so virtualModules is used instead\n // (which requires jiti's transformed-import path).\n const isSingleFileBuild = isBunBinary || isBundledBuild;\n // Windows first-load fast path: native import() (jiti's default tryNative)\n // skips per-launch transpilation of the extension module graph. Re-loads of\n // the same path fall back to transformed imports for fresh evaluation.\n const forceTransformedImports = isSingleFileBuild || (isWindows && nativelyImportedPaths.has(extensionPath));\n const jiti = createJiti(resolutionBaseUrl(import.meta.url), {\n moduleCache: false,\n ...(forceTransformedImports\n ? { fsCache: getTranspileCacheDir(), tryNative: false }\n : isWindows\n ? { fsCache: getTranspileCacheDir() }\n : {}),\n ...(isSingleFileBuild ? { virtualModules: await getVirtualModules() } : { alias: getAliases() }),\n });\n const module = await jiti.import(extensionImportSpecifier(extensionPath, cacheToken), { default: true });\n if (isWindows && !forceTransformedImports) {\n nativelyImportedPaths.add(extensionPath);\n }\n const factory = module as ExtensionFactory;\n if (typeof factory !== \"function\") return undefined;\n if (isCurrentCacheToken(cacheToken)) {\n extensionCache.set(extensionPath, factory);\n }\n return factory;\n}\n"]}
1
+ {"version":3,"file":"loader-virtual-modules.js","sourceRoot":"","sources":["../../../src/core/extensions/loader-virtual-modules.ts"],"names":[],"mappings":"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","sourcesContent":["import * as crypto from \"node:crypto\";\nimport * as fs from \"node:fs\";\nimport { createRequire } from \"node:module\";\nimport * as path from \"node:path\";\nimport { pathToFileURL } from \"node:url\";\nimport { createJiti } from \"jiti/static\";\nimport { getExtensionTranspileCacheDir, isBunBinary, isBundledBuild } from \"../../config.ts\";\nimport { resolutionBaseUrl } from \"../../utils/module-require.ts\";\nimport { resolvePath } from \"../../utils/paths.ts\";\nimport { moduleDirFromMetaUrl } from \"../../utils/split-launcher.ts\";\nimport type { ExtensionFactory } from \"./types.ts\";\n\nconst require = createRequire(import.meta.url);\nlet _virtualModules: Record<string, object> | null = null;\nlet _virtualModulesPromise: Promise<Record<string, object>> | null = null;\n\nasync function loadVirtualModules(): Promise<Record<string, object>> {\n\tconst [typebox, typeboxCompile, typeboxValue, piAgentCore, piTui, piAi, piAiOauth, piCodingAgent] =\n\t\tawait Promise.all([\n\t\t\timport(\"typebox\"),\n\t\t\timport(\"typebox/compile\"),\n\t\t\timport(\"typebox/value\"),\n\t\t\timport(\"@earendil-works/pi-agent-core\"),\n\t\t\timport(\"@earendil-works/pi-tui\"),\n\t\t\t// pi 0.80.2: the old global pi-ai API moved off the root entrypoint onto\n\t\t\t// `/compat` (a strict superset). Extensions still `import ... from\n\t\t\t// \"@earendil-works/pi-ai\"`, so we load the compat module here and key it\n\t\t\t// under the root specifier below to keep every extension working unchanged.\n\t\t\timport(\"@earendil-works/pi-ai/compat\"),\n\t\t\timport(\"@earendil-works/pi-ai/oauth\"),\n\t\t\t// NOTE: This import works because loader.ts exports are NOT re-exported from index.ts,\n\t\t\t// avoiding a circular dependency while preserving the package-name extension import path.\n\t\t\timport(\"../../index.ts\"),\n\t\t]);\n\n\treturn {\n\t\ttypebox,\n\t\t\"typebox/compile\": typeboxCompile,\n\t\t\"typebox/value\": typeboxValue,\n\t\t\"@sinclair/typebox\": typebox,\n\t\t\"@sinclair/typebox/compile\": typeboxCompile,\n\t\t\"@sinclair/typebox/value\": typeboxValue,\n\t\t\"@earendil-works/pi-agent-core\": piAgentCore,\n\t\t\"@earendil-works/pi-tui\": piTui,\n\t\t\"@earendil-works/pi-ai\": piAi,\n\t\t\"@earendil-works/pi-ai/compat\": piAi,\n\t\t\"@earendil-works/pi-ai/oauth\": piAiOauth,\n\t\t\"@bastani/atomic\": piCodingAgent,\n\t\t\"@mariozechner/pi-agent-core\": piAgentCore,\n\t\t\"@mariozechner/pi-tui\": piTui,\n\t\t\"@mariozechner/pi-ai\": piAi,\n\t\t\"@mariozechner/pi-ai/compat\": piAi,\n\t\t\"@mariozechner/pi-ai/oauth\": piAiOauth,\n\t};\n}\n\n/** Modules available to extensions via virtualModules (for compiled Bun binary). */\nasync function getVirtualModules(): Promise<Record<string, object>> {\n\tif (_virtualModules) return _virtualModules;\n\t_virtualModulesPromise ??= loadVirtualModules().then(\n\t\t(virtualModules) => {\n\t\t\t_virtualModules = virtualModules;\n\t\t\treturn virtualModules;\n\t\t},\n\t\t(error: Error) => {\n\t\t\t_virtualModulesPromise = null;\n\t\t\tthrow error;\n\t\t},\n\t);\n\treturn _virtualModulesPromise;\n}\nlet _aliases: Record<string, string> | null = null;\nlet _transpileCacheDir: string | null = null;\n\n/**\n * Persistent on-disk cache for jiti-transpiled extension modules.\n * jiti keys cache entries by source-content hash, so entries self-invalidate\n * when extension sources change; stale sibling version dirs are pruned\n * in the background.\n */\nfunction getTranspileCacheDir(): string {\n\tif (_transpileCacheDir) return _transpileCacheDir;\n\t_transpileCacheDir = getExtensionTranspileCacheDir();\n\tfs.mkdirSync(_transpileCacheDir, { recursive: true });\n\tpruneStaleTranspileCaches(_transpileCacheDir);\n\treturn _transpileCacheDir;\n}\n\nfunction pruneStaleTranspileCaches(currentDir: string): void {\n\tconst parent = path.dirname(currentDir);\n\tconst keep = path.basename(currentDir);\n\tvoid fs.promises\n\t\t.readdir(parent)\n\t\t.then((entries) =>\n\t\t\tPromise.all(\n\t\t\t\tentries\n\t\t\t\t\t.filter((entry) => entry !== keep)\n\t\t\t\t\t.map((entry) => fs.promises.rm(path.join(parent, entry), { recursive: true, force: true })),\n\t\t\t),\n\t\t)\n\t\t.catch(() => {});\n}\n\n/**\n * Per-extension-path record of the complete file graph a transformed (jiti)\n * evaluation read, mapping each absolute file path to the SHA256 hex digest of\n * its content at evaluation time. Persisted under the versioned transpile\n * cache directory so pruneStaleTranspileCaches handles version cleanup.\n */\nexport interface ExtensionGraphManifest {\n\tversion: 1;\n\textensionPath: string;\n\tfiles: Record<string, string>;\n}\n\nconst GRAPH_MANIFEST_VERSION = 1;\nconst GRAPH_MANIFEST_DIR_NAME = \"graph-manifests\";\n\nconst graphManifestFileExtensions = new Set([\".ts\", \".tsx\", \".mts\", \".cts\", \".js\", \".mjs\", \".cjs\", \".jsx\", \".json\"]);\n\nfunction graphManifestDir(): string {\n\treturn path.join(getTranspileCacheDir(), GRAPH_MANIFEST_DIR_NAME);\n}\n\nfunction graphManifestPath(extensionPath: string): string {\n\tconst key = crypto.createHash(\"sha256\").update(extensionPath).digest(\"hex\").slice(0, 32);\n\treturn path.join(graphManifestDir(), `${key}.json`);\n}\n\nfunction sha256Hex(content: string | NodeJS.ArrayBufferView): string {\n\treturn crypto.createHash(\"sha256\").update(content).digest(\"hex\");\n}\n\n// jiti's CJS bundle reads every module source in the require graph through\n// fs.readFileSync (even on fsCache hits, since the cache key is a hash of the\n// source), so observing readFileSync while a transformed import is in flight\n// sees the complete transitive graph. The observer records into every active\n// recorder; unrelated reads that interleave only over-record, which at worst\n// forces a redundant re-evaluation later — never a stale one.\nconst fsExports = require(\"node:fs\") as typeof fs;\nconst activeGraphRecorders = new Set<Map<string, string>>();\nlet observedReadFileSync: typeof fs.readFileSync | null = null;\n\nfunction recordObservedRead(target: Parameters<typeof fs.readFileSync>[0], content: string | Buffer): void {\n\tif (typeof target !== \"string\" || !path.isAbsolute(target)) return;\n\tif (!graphManifestFileExtensions.has(path.extname(target).toLowerCase())) return;\n\tconst normalizedTarget = path.normalize(target);\n\tconst cachePrefix = path.normalize(getTranspileCacheDir()) + path.sep;\n\tif (normalizedTarget.toLowerCase().startsWith(cachePrefix.toLowerCase())) return;\n\tconst hash = sha256Hex(content);\n\tfor (const recorder of activeGraphRecorders) {\n\t\trecorder.set(normalizedTarget, hash);\n\t}\n}\n\nfunction installReadFileSyncObserver(): void {\n\tif (observedReadFileSync) return;\n\tconst original = fsExports.readFileSync;\n\tobservedReadFileSync = original;\n\tconst wrapped = ((...args: Parameters<typeof fs.readFileSync>) => {\n\t\tconst content = original(...args);\n\t\trecordObservedRead(args[0], content);\n\t\treturn content;\n\t}) as typeof fs.readFileSync;\n\tfsExports.readFileSync = wrapped;\n}\n\nfunction uninstallReadFileSyncObserver(): void {\n\tif (!observedReadFileSync || activeGraphRecorders.size > 0) return;\n\tfsExports.readFileSync = observedReadFileSync;\n\tobservedReadFileSync = null;\n}\n\nfunction writeGraphManifest(manifest: ExtensionGraphManifest): void {\n\tconst manifestFile = graphManifestPath(manifest.extensionPath);\n\tlet tempFile: string | undefined;\n\ttry {\n\t\tfs.mkdirSync(path.dirname(manifestFile), { recursive: true });\n\t\ttempFile = `${manifestFile}.${process.pid}.${Math.random().toString(36).slice(2)}.tmp`;\n\t\tfs.writeFileSync(tempFile, JSON.stringify(manifest));\n\t\tfs.renameSync(tempFile, manifestFile);\n\t} catch {\n\t\t// Manifest persistence is best-effort: a missing manifest only means the\n\t\t// next reload cannot prove the graph unchanged and re-evaluates. A failed\n\t\t// replacement must not leave an older manifest behind describing a graph\n\t\t// that no longer matches this evaluation, so invalidate the destination\n\t\t// first, independently of removing the temporary file.\n\t\ttry {\n\t\t\tfs.rmSync(manifestFile, { force: true });\n\t\t} catch {\n\t\t\t// A leftover stale manifest cannot be reused without also matching\n\t\t\t// the in-memory manifest of the same evaluation, and readers\n\t\t\t// tolerate missing or corrupt files.\n\t\t}\n\t\ttry {\n\t\t\tif (tempFile) fs.rmSync(tempFile, { force: true });\n\t\t} catch {\n\t\t\t// Temporary files carry a unique suffix and are never read back.\n\t\t}\n\t}\n}\n\nfunction isStringRecord(value: unknown): value is Record<string, string> {\n\tif (typeof value !== \"object\" || value === null || Array.isArray(value)) return false;\n\treturn Object.values(value).every((entry) => typeof entry === \"string\");\n}\n\nexport function readExtensionGraphManifest(extensionPath: string): ExtensionGraphManifest | undefined {\n\ttry {\n\t\tconst parsed = JSON.parse(\n\t\t\tfs.readFileSync(graphManifestPath(extensionPath), \"utf-8\"),\n\t\t) as Partial<ExtensionGraphManifest>;\n\t\tif (parsed.version !== GRAPH_MANIFEST_VERSION) return undefined;\n\t\tif (parsed.extensionPath !== extensionPath) return undefined;\n\t\tif (!isStringRecord(parsed.files)) return undefined;\n\t\treturn { version: GRAPH_MANIFEST_VERSION, extensionPath, files: parsed.files };\n\t} catch {\n\t\treturn undefined;\n\t}\n}\n\nasync function recordExtensionGraph<T>(\n\textensionPath: string,\n\tload: () => Promise<T>,\n): Promise<{ result: T; manifest: ExtensionGraphManifest }> {\n\tconst files = new Map<string, string>();\n\tactiveGraphRecorders.add(files);\n\tinstallReadFileSyncObserver();\n\tlet result: T;\n\ttry {\n\t\tresult = await load();\n\t} finally {\n\t\tactiveGraphRecorders.delete(files);\n\t\tuninstallReadFileSyncObserver();\n\t}\n\tconst manifest: ExtensionGraphManifest = {\n\t\tversion: GRAPH_MANIFEST_VERSION,\n\t\textensionPath,\n\t\tfiles: Object.fromEntries([...files.entries()].sort(([a], [b]) => a.localeCompare(b))),\n\t};\n\twriteGraphManifest(manifest);\n\treturn { result, manifest };\n}\n\n/**\n * Factories from transformed evaluations, retained across extension cache\n * generation bumps and paired with the graph manifest recorded by the\n * evaluation that produced them. A retained factory is reused on a reload only\n * when the persisted manifest still equals the paired one and every file in it\n * rehashes to its recorded digest; any doubt (missing or corrupt manifest,\n * missing file, hash mismatch, changed graph shape) falls back to a fresh\n * transformed re-evaluation, which re-records the manifest.\n */\nconst retainedTransformedLoads = new Map<string, { factory: ExtensionFactory; manifest: ExtensionGraphManifest }>();\n\nfunction manifestFilesEqual(a: Record<string, string>, b: Record<string, string>): boolean {\n\tconst aEntries = Object.entries(a);\n\tif (aEntries.length !== Object.keys(b).length) return false;\n\treturn aEntries.every(([filePath, hash]) => b[filePath] === hash);\n}\n\nfunction graphUnchangedSince(manifest: ExtensionGraphManifest): boolean {\n\tconst stored = readExtensionGraphManifest(manifest.extensionPath);\n\tif (!stored || !manifestFilesEqual(stored.files, manifest.files)) return false;\n\tconst entries = Object.entries(manifest.files);\n\tif (entries.length === 0) return false;\n\tfor (const [filePath, hash] of entries) {\n\t\ttry {\n\t\t\tif (sha256Hex(fs.readFileSync(filePath)) !== hash) return false;\n\t\t} catch {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n}\n\n/**\n * A factory can defer loading local code until it is invoked (e.g. a\n * `require()` inside the factory body). Those reads are invisible to the\n * import-time recording, so retained factories are wrapped to record reads\n * that happen while the factory executes and merge them into the retained and\n * persisted manifest — editing a deferred dependency then invalidates reuse\n * like any other graph file.\n */\nfunction withDeferredGraphRecording(extensionPath: string, factory: ExtensionFactory): ExtensionFactory {\n\treturn (pi) => {\n\t\tconst files = new Map<string, string>();\n\t\tactiveGraphRecorders.add(files);\n\t\tinstallReadFileSyncObserver();\n\t\tconst finish = () => {\n\t\t\tactiveGraphRecorders.delete(files);\n\t\t\tuninstallReadFileSyncObserver();\n\t\t\tif (files.size > 0) mergeDeferredGraphReads(extensionPath, files);\n\t\t};\n\t\ttry {\n\t\t\tconst result = factory(pi);\n\t\t\tif (\n\t\t\t\tresult !== null &&\n\t\t\t\t(typeof result === \"object\" || typeof result === \"function\") &&\n\t\t\t\ttypeof (result as PromiseLike<void>).then === \"function\"\n\t\t\t) {\n\t\t\t\treturn Promise.resolve(result).finally(finish);\n\t\t\t}\n\t\t\tfinish();\n\t\t\treturn result;\n\t\t} catch (error) {\n\t\t\tfinish();\n\t\t\tthrow error;\n\t\t}\n\t};\n}\n\nfunction mergeDeferredGraphReads(extensionPath: string, files: Map<string, string>): void {\n\tconst retained = retainedTransformedLoads.get(extensionPath);\n\tif (!retained) return;\n\tlet changed = false;\n\tfor (const [filePath, hash] of files) {\n\t\tif (retained.manifest.files[filePath] !== hash) {\n\t\t\tretained.manifest.files[filePath] = hash;\n\t\t\tchanged = true;\n\t\t}\n\t}\n\tif (changed) writeGraphManifest(retained.manifest);\n}\n\nlet extensionCacheCwd: string | undefined;\nlet extensionCacheGeneration = 0;\nconst extensionCache = new Map<string, ExtensionFactory>();\n\nexport interface ExtensionCacheToken {\n\tcwd: string;\n\tgeneration: number;\n}\n\nexport function clearExtensionCache(): void {\n\textensionCache.clear();\n\textensionCacheCwd = undefined;\n\textensionCacheGeneration++;\n}\n\nexport function useExtensionCacheCwd(cwd: string): ExtensionCacheToken {\n\tconst resolvedCwd = resolvePath(cwd);\n\tif (extensionCacheCwd !== undefined && extensionCacheCwd !== resolvedCwd) {\n\t\tclearExtensionCache();\n\t}\n\textensionCacheCwd = resolvedCwd;\n\treturn { cwd: resolvedCwd, generation: extensionCacheGeneration };\n}\n\nfunction isCurrentCacheToken(cacheToken: ExtensionCacheToken | undefined): cacheToken is ExtensionCacheToken {\n\treturn (\n\t\tcacheToken !== undefined &&\n\t\textensionCacheCwd === cacheToken.cwd &&\n\t\textensionCacheGeneration === cacheToken.generation\n\t);\n}\n\nfunction extensionImportSpecifier(extensionPath: string, cacheToken: ExtensionCacheToken | undefined): string {\n\tconst url = pathToFileURL(extensionPath);\n\tconst cacheKey = cacheToken ? `${cacheToken.generation}:${cacheToken.cwd}` : `${Date.now()}:${Math.random()}`;\n\turl.searchParams.set(\"atomicExtensionCache\", cacheKey);\n\treturn url.href;\n}\n\n/**\n * Locate an installed package's root directory without consulting its\n * \"exports\" map: require.resolve(\"<pkg>/package.json\") throws\n * ERR_PACKAGE_PATH_NOT_EXPORTED under Node for packages that do not export\n * \"./package.json\" (pi-ai does not), and import.meta.resolve() cannot be\n * used because its mere presence silently disables bytecode generation for\n * the compiled binary (CJS bundle). Scanning require.resolve.paths() walks\n * the same node_modules chain Node would, without exports-map encapsulation.\n */\nfunction findPackageRoot(packageName: string, searchPaths?: string[]): string {\n\tfor (const base of searchPaths ?? require.resolve.paths(packageName) ?? []) {\n\t\tconst candidate = path.join(base, packageName);\n\t\tif (fs.existsSync(path.join(candidate, \"package.json\"))) {\n\t\t\treturn candidate;\n\t\t}\n\t}\n\tthrow new Error(`Cannot locate package directory for \"${packageName}\"`);\n}\nfunction currentModuleDir(): string {\n\treturn moduleDirFromMetaUrl(import.meta.url, \"dist\", \"core\", \"extensions\");\n}\n\n/**\n * Get aliases for jiti (used in Node.js/development mode).\n * In Bun binary mode, virtualModules is used instead.\n */\nfunction getAliases(): Record<string, string> {\n\tif (_aliases) return _aliases;\n\n\tconst __dirname = currentModuleDir();\n\tconst packageIndex = path.resolve(__dirname, \"../..\", \"index.js\");\n\n\tconst typeboxEntry = require.resolve(\"typebox\");\n\tconst typeboxCompileEntry = require.resolve(\"typebox/compile\");\n\tconst typeboxValueEntry = require.resolve(\"typebox/value\");\n\n\tconst packagesRoot = path.resolve(__dirname, \"../../../../\");\n\tconst resolveWorkspaceOrImport = (workspaceRelativePath: string, packageName: string): string => {\n\t\tconst workspacePath = path.join(packagesRoot, workspaceRelativePath);\n\t\tif (fs.existsSync(workspacePath)) {\n\t\t\treturn workspacePath;\n\t\t}\n\t\tconst packageRoot = findPackageRoot(packageName);\n\t\tconst entryRelativePath = workspaceRelativePath.split(\"/\").slice(1).join(\"/\");\n\t\treturn path.join(packageRoot, entryRelativePath);\n\t};\n\n\tconst piCodingAgentEntry = packageIndex;\n\tconst piAgentCoreEntry = resolveWorkspaceOrImport(\"agent/dist/index.js\", \"@earendil-works/pi-agent-core\");\n\tconst piTuiEntry = resolveWorkspaceOrImport(\"tui/dist/index.js\", \"@earendil-works/pi-tui\");\n\t// The workspace path mirrors pi-ai 0.80.x's built dist layout. If an\n\t// upstream layout change moves these files, this join needs updating to\n\t// match the package's real dist paths.\n\tconst piAiEntry = resolveWorkspaceOrImport(\"ai/dist/compat.js\", \"@earendil-works/pi-ai\");\n\tconst piAiOauthEntry = resolveWorkspaceOrImport(\"ai/dist/oauth.js\", \"@earendil-works/pi-ai\");\n\tconst piAiProvidersEntry = resolveWorkspaceOrImport(\"ai/dist/providers/all.js\", \"@earendil-works/pi-ai\");\n\n\t_aliases = {\n\t\t\"@bastani/atomic\": piCodingAgentEntry,\n\t\t\"@earendil-works/pi-coding-agent\": piCodingAgentEntry,\n\t\t\"@earendil-works/pi-agent-core\": piAgentCoreEntry,\n\t\t\"@earendil-works/pi-tui\": piTuiEntry,\n\t\t\"@earendil-works/pi-ai/oauth\": piAiOauthEntry,\n\t\t\"@earendil-works/pi-ai/providers/all\": piAiProvidersEntry,\n\t\t\"@earendil-works/pi-ai/compat\": piAiEntry,\n\t\t\"@earendil-works/pi-ai\": piAiEntry,\n\t\t\"@mariozechner/pi-agent-core\": piAgentCoreEntry,\n\t\t\"@mariozechner/pi-tui\": piTuiEntry,\n\t\t\"@mariozechner/pi-ai/oauth\": piAiOauthEntry,\n\t\t\"@mariozechner/pi-ai/providers/all\": piAiProvidersEntry,\n\t\t\"@mariozechner/pi-ai/compat\": piAiEntry,\n\t\t\"@mariozechner/pi-ai\": piAiEntry,\n\t\ttypebox: typeboxEntry,\n\t\t\"typebox/compile\": typeboxCompileEntry,\n\t\t\"typebox/value\": typeboxValueEntry,\n\t\t\"@sinclair/typebox\": typeboxEntry,\n\t\t\"@sinclair/typebox/compile\": typeboxCompileEntry,\n\t\t\"@sinclair/typebox/value\": typeboxValueEntry,\n\t};\n\n\treturn _aliases;\n}\n\nexport const extensionLoaderTestHooks = {\n\tloadVirtualModules,\n\tgetAliases,\n\tfindPackageRoot,\n\tgetTranspileCacheDir,\n\tgraphManifestPath,\n\treadExtensionGraphManifest,\n\tloadExtensionModuleTransformed: (extensionPath: string, cacheToken?: ExtensionCacheToken) =>\n\t\timportExtensionModule(extensionPath, cacheToken, true),\n\tloadTransformedExtensionModule: (extensionPath: string, cacheToken?: ExtensionCacheToken) =>\n\t\tloadTransformedExtensionModule(extensionPath, cacheToken),\n};\n\n/**\n * Extension paths already evaluated via native import() in this process. Bun on\n * Windows ignores the cache-busting query on file URLs, so re-loads of these\n * paths (e.g. /reload) must go through jiti's transformed-import path to get a\n * fresh module evaluation.\n */\nconst nativelyImportedPaths = new Set<string>();\n\nasync function importExtensionModule(\n\textensionPath: string,\n\tcacheToken: ExtensionCacheToken | undefined,\n\tforceTransformedImports: boolean,\n): Promise<ExtensionFactory | undefined> {\n\tconst isWindows = process.platform === \"win32\";\n\tconst isSingleFileBuild = isBunBinary || isBundledBuild;\n\tconst jiti = createJiti(resolutionBaseUrl(import.meta.url), {\n\t\tmoduleCache: false,\n\t\t...(forceTransformedImports\n\t\t\t? { fsCache: getTranspileCacheDir(), tryNative: false }\n\t\t\t: isWindows\n\t\t\t\t? { fsCache: getTranspileCacheDir() }\n\t\t\t\t: {}),\n\t\t...(isSingleFileBuild ? { virtualModules: await getVirtualModules() } : { alias: getAliases() }),\n\t});\n\tconst specifier = extensionImportSpecifier(extensionPath, cacheToken);\n\t// Transformed evaluations are the loads whose repeat cost is the Windows\n\t// /reload regression, so they are also the loads whose file graph is\n\t// recorded into a content-hash manifest.\n\tlet module: unknown;\n\tlet recordedManifest: ExtensionGraphManifest | undefined;\n\tif (forceTransformedImports) {\n\t\tconst recorded = await recordExtensionGraph(extensionPath, () => jiti.import(specifier, { default: true }));\n\t\tmodule = recorded.result;\n\t\trecordedManifest = recorded.manifest;\n\t} else {\n\t\tmodule = await jiti.import(specifier, { default: true });\n\t}\n\tif (isWindows && !forceTransformedImports) {\n\t\tnativelyImportedPaths.add(extensionPath);\n\t}\n\tlet factory = module as ExtensionFactory;\n\tif (typeof factory !== \"function\") return undefined;\n\tif (recordedManifest) {\n\t\tfactory = withDeferredGraphRecording(extensionPath, factory);\n\t\tretainedTransformedLoads.set(extensionPath, { factory, manifest: recordedManifest });\n\t}\n\tif (isCurrentCacheToken(cacheToken)) {\n\t\textensionCache.set(extensionPath, factory);\n\t}\n\treturn factory;\n}\n\n/**\n * Load an extension through jiti's transformed-import path, reusing the\n * previously evaluated factory when the recorded graph manifest proves the\n * entire transitive file graph is byte-identical. This lets the\n * unchanged-graph case survive the /reload generation bump instead of\n * re-evaluating hundreds of files; anything else re-evaluates as before.\n *\n * Note: when the graph is byte-identical, the previously evaluated module\n * instance (including any mutable module-scoped state it closed over) is\n * reused. An extension that requires clean module state on every reload must\n * change a file in its graph to force re-evaluation.\n */\nasync function loadTransformedExtensionModule(\n\textensionPath: string,\n\tcacheToken: ExtensionCacheToken | undefined,\n): Promise<ExtensionFactory | undefined> {\n\tconst retained = retainedTransformedLoads.get(extensionPath);\n\tif (retained && graphUnchangedSince(retained.manifest)) {\n\t\tif (isCurrentCacheToken(cacheToken)) {\n\t\t\textensionCache.set(extensionPath, retained.factory);\n\t\t}\n\t\treturn retained.factory;\n\t}\n\treturn importExtensionModule(extensionPath, cacheToken, true);\n}\n\nexport async function loadExtensionModule(\n\textensionPath: string,\n\tcacheToken?: ExtensionCacheToken,\n): Promise<ExtensionFactory | undefined> {\n\tif (isCurrentCacheToken(cacheToken)) {\n\t\tconst cachedFactory = extensionCache.get(extensionPath);\n\t\tif (cachedFactory) return cachedFactory;\n\t}\n\n\tconst isWindows = process.platform === \"win32\";\n\t// Single-file builds (compiled binary or dev bundle) cannot alias host\n\t// package specifiers to files on disk: extensions must share the live\n\t// module instances baked into the build, so virtualModules is used instead\n\t// (which requires jiti's transformed-import path).\n\tconst isSingleFileBuild = isBunBinary || isBundledBuild;\n\t// Windows first-load fast path: native import() (jiti's default tryNative)\n\t// skips per-launch transpilation of the extension module graph. Re-loads of\n\t// the same path fall back to transformed imports for fresh evaluation.\n\t//\n\t// That fallback is not free. Measured on Windows CI, a transformed re-import\n\t// costs ~15 ms per module file in the extension's transitive graph, so a\n\t// reload of all five builtin packages (621 files) takes ~10.7 s cold and\n\t// ~2.5 s against a warm jiti fsCache, against ~40 ms on Linux and macOS. The\n\t// cost is correctness-driven and is paid interactively on every Windows\n\t// `/reload`; removing it needs a content-hash-keyed evaluation cache or a\n\t// narrower trigger, not a larger timeout.\n\tconst forceTransformedImports = isSingleFileBuild || (isWindows && nativelyImportedPaths.has(extensionPath));\n\tif (forceTransformedImports) {\n\t\treturn loadTransformedExtensionModule(extensionPath, cacheToken);\n\t}\n\treturn importExtensionModule(extensionPath, cacheToken, false);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../src/core/extensions/loader.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,wBAAwB,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAClG,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAClE,YAAY,EACV,yCAAyC,EACzC,wBAAwB,EACxB,6BAA6B,GAC9B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC"}
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../src/core/extensions/loader.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,wBAAwB,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAClG,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAClE,YAAY,EACX,yCAAyC,EACzC,wBAAwB,EACxB,6BAA6B,GAC7B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../src/core/extensions/loader.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,wBAAwB,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAClG,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAMlE,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC","sourcesContent":["/**\n * Extension loader - loads TypeScript extension modules using jiti.\n */\n\nexport { loadExtensionFromFactory, loadExtensions, loadExtensionsCached } from \"./loader-core.ts\";\nexport { discoverAndLoadExtensions } from \"./loader-discovery.ts\";\nexport type {\n ResourceLoaderInheritanceSnapshotProvider,\n WorkflowResourceProvider,\n WorkflowResourceProviderInput,\n} from \"./loader-resources.ts\";\nexport { createExtensionRuntime } from \"./loader-runtime.ts\";\nexport { clearExtensionCache } from \"./loader-virtual-modules.ts\";\n"]}
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../src/core/extensions/loader.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,wBAAwB,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAClG,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAMlE,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC","sourcesContent":["/**\n * Extension loader - loads TypeScript extension modules using jiti.\n */\n\nexport { loadExtensionFromFactory, loadExtensions, loadExtensionsCached } from \"./loader-core.ts\";\nexport { discoverAndLoadExtensions } from \"./loader-discovery.ts\";\nexport type {\n\tResourceLoaderInheritanceSnapshotProvider,\n\tWorkflowResourceProvider,\n\tWorkflowResourceProviderInput,\n} from \"./loader-resources.ts\";\nexport { createExtensionRuntime } from \"./loader-runtime.ts\";\nexport { clearExtensionCache } from \"./loader-virtual-modules.ts\";\n"]}
@@ -1,44 +1,8 @@
1
- import type { Api, AssistantMessageEventStream, Context, Model, OAuthCredentials, OAuthLoginCallbacks, SimpleStreamOptions } from "@earendil-works/pi-ai/compat";
2
1
  import type { RefreshModelsContext } from "@earendil-works/pi-ai";
3
- import type { ExtensionAPI } from "./api-types.ts";
2
+ import type { Api, AssistantMessageEventStream, Context, Model, OAuthCredentials, OAuthLoginCallbacks, SimpleStreamOptions } from "@earendil-works/pi-ai/compat";
4
3
  import type { AtomicProviderCompat } from "../model-capabilities.ts";
4
+ import type { ExtensionAPI } from "./api-types.ts";
5
5
  export type { AtomicProviderCompat } from "../model-capabilities.ts";
6
- export interface ApiKeyAuthPrompt {
7
- type: "text" | "secret";
8
- message: string;
9
- placeholder?: string;
10
- }
11
- export interface ApiKeyAuthInteraction {
12
- prompt(prompt: ApiKeyAuthPrompt): Promise<string>;
13
- signal: AbortSignal;
14
- }
15
- export interface ProviderApiKeyAuthContext {
16
- env(name: string): Promise<string | undefined>;
17
- }
18
- export interface ProviderApiKeyAuthResult {
19
- auth: {
20
- apiKey?: string;
21
- baseUrl?: string;
22
- headers?: Record<string, string>;
23
- };
24
- env?: Record<string, string>;
25
- source?: string;
26
- }
27
- export interface ProviderApiKeyAuth {
28
- name: string;
29
- login(interaction: ApiKeyAuthInteraction): Promise<import("../auth-storage.ts").ApiKeyCredential>;
30
- check?(input: {
31
- ctx: ProviderApiKeyAuthContext;
32
- credential?: import("../auth-storage.ts").ApiKeyCredential;
33
- }): Promise<{
34
- type: "api_key";
35
- source?: string;
36
- } | undefined>;
37
- resolve?(input: {
38
- ctx: ProviderApiKeyAuthContext;
39
- credential?: import("../auth-storage.ts").ApiKeyCredential;
40
- }): Promise<ProviderApiKeyAuthResult | undefined>;
41
- }
42
6
  /** Configuration for registering a provider via pi.registerProvider(). */
43
7
  export interface ProviderConfig {
44
8
  /** Display name for the provider in UI. */
@@ -59,10 +23,6 @@ export interface ProviderConfig {
59
23
  models?: ProviderModelConfig[];
60
24
  /** Refresh this provider's catalog. Successful results replace its extension-provided models. */
61
25
  refreshModels?(context: RefreshModelsContext): Promise<ProviderModelConfig[]>;
62
- /** Optional provider-directed API-key authentication flow. */
63
- auth?: {
64
- apiKey?: ProviderApiKeyAuth;
65
- };
66
26
  /** OAuth provider for /login support. The `id` is set automatically from the provider name. */
67
27
  oauth?: {
68
28
  /** Display name for the provider in login UI. */
@@ -1 +1 @@
1
- {"version":3,"file":"provider-types.d.ts","sourceRoot":"","sources":["../../../src/core/extensions/provider-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider-types.d.ts","sourceRoot":"","sources":["../../../src/core/extensions/provider-types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"provider-types.js","sourceRoot":"","sources":["../../../src/core/extensions/provider-types.ts"],"names":[],"mappings":"","sourcesContent":["import type {\n\tApi,\n\tAssistantMessageEventStream,\n\tContext,\n\tModel,\n\tOAuthCredentials,\n\tOAuthLoginCallbacks,\n\tSimpleStreamOptions,\n} from \"@earendil-works/pi-ai/compat\";\nimport type { RefreshModelsContext } from \"@earendil-works/pi-ai\";\nimport type { ExtensionAPI } from \"./api-types.ts\";\nimport type { AtomicProviderCompat } from \"../model-capabilities.ts\";\nexport type { AtomicProviderCompat } from \"../model-capabilities.ts\";\n\nexport interface ApiKeyAuthPrompt {\n\ttype: \"text\" | \"secret\";\n\tmessage: string;\n\tplaceholder?: string;\n}\n\nexport interface ApiKeyAuthInteraction {\n\tprompt(prompt: ApiKeyAuthPrompt): Promise<string>;\n\tsignal: AbortSignal;\n}\n\nexport interface ProviderApiKeyAuthContext {\n\tenv(name: string): Promise<string | undefined>;\n}\n\nexport interface ProviderApiKeyAuthResult {\n\tauth: { apiKey?: string; baseUrl?: string; headers?: Record<string, string> };\n\tenv?: Record<string, string>;\n\tsource?: string;\n}\n\nexport interface ProviderApiKeyAuth {\n\tname: string;\n\tlogin(interaction: ApiKeyAuthInteraction): Promise<import(\"../auth-storage.ts\").ApiKeyCredential>;\n\tcheck?(input: { ctx: ProviderApiKeyAuthContext; credential?: import(\"../auth-storage.ts\").ApiKeyCredential }): Promise<{ type: \"api_key\"; source?: string } | undefined>;\n\tresolve?(input: { ctx: ProviderApiKeyAuthContext; credential?: import(\"../auth-storage.ts\").ApiKeyCredential }): Promise<ProviderApiKeyAuthResult | undefined>;\n}\n/** Configuration for registering a provider via pi.registerProvider(). */\nexport interface ProviderConfig {\n\t/** Display name for the provider in UI. */\n\tname?: string;\n\t/** Base URL for the API endpoint. Required when defining models. */\n\tbaseUrl?: string;\n\t/** API key or environment variable name. Required when defining models (unless oauth provided). */\n\tapiKey?: string;\n\t/** API type. Required at provider or model level when defining models. */\n\tapi?: Api;\n\t/** Optional streamSimple handler for custom APIs. */\n\tstreamSimple?: (model: Model<Api>, context: Context, options?: SimpleStreamOptions) => AssistantMessageEventStream;\n\t/** Custom headers to include in requests. */\n\theaders?: Record<string, string>;\n\t/** If true, adds Authorization: Bearer header with the resolved API key. */\n\tauthHeader?: boolean;\n\t/** Models to register. If provided, replaces all existing models for this provider. */\n\tmodels?: ProviderModelConfig[];\n\t/** Refresh this provider's catalog. Successful results replace its extension-provided models. */\n\trefreshModels?(context: RefreshModelsContext): Promise<ProviderModelConfig[]>;\n\t/** Optional provider-directed API-key authentication flow. */\n\tauth?: { apiKey?: ProviderApiKeyAuth };\n\t/** OAuth provider for /login support. The `id` is set automatically from the provider name. */\n\toauth?: {\n\t\t/** Display name for the provider in login UI. */\n\t\tname: string;\n\t\t/** Optional provider-specific login label. */\n\t\tloginLabel?: string;\n\t\t/** Whether the flow accepts a browser callback/manual redirect. */\n\t\tusesCallbackServer?: boolean;\n\t\t/** Run the login flow, return credentials to persist. */\n\t\tlogin(callbacks: OAuthLoginCallbacks): Promise<OAuthCredentials>;\n\t\t/** Refresh expired credentials, return updated credentials to persist. */\n\t\trefreshToken(credentials: OAuthCredentials): Promise<OAuthCredentials>;\n\t\t/** Convert credentials to API key string for the provider. */\n\t\tgetApiKey(credentials: OAuthCredentials): string;\n\t\t/** Optional: modify models for this provider (e.g., update baseUrl based on credentials). */\n\t\tmodifyModels?(models: Model<Api>[], credentials: OAuthCredentials): Model<Api>[];\n\t};\n}\n\n/** Configuration for a model within a provider. */\nexport interface ProviderModelConfig {\n\t/** Model ID (e.g., \"claude-sonnet-4-20250514\"). */\n\tid: string;\n\t/** Display name (e.g., \"Claude 4 Sonnet\"). */\n\tname: string;\n\t/** API type override for this model. */\n\tapi?: Api;\n\t/** API endpoint URL override for this model. */\n\tbaseUrl?: string;\n\t/** Whether the model supports extended thinking. */\n\treasoning: boolean;\n\t/** Maps pi thinking levels to provider/model-specific values; null marks a level unsupported. */\n\tthinkingLevelMap?: Model<Api>[\"thinkingLevelMap\"];\n\t/** Supported input types. */\n\tinput: (\"text\" | \"image\")[];\n\t/** Request pricing, including optional request-wide long-context tiers. */\n\tcost: Model<Api>[\"cost\"];\n\t/** Default/effective context window size in tokens. */\n\tcontextWindow: number;\n\t/** Maximum output tokens. */\n\tmaxTokens: number;\n\t/** Custom headers for this model. */\n\theaders?: Record<string, string>;\n\t/** Provider capability settings, including Atomic's `supportsGrammarTools` alias. */\n\tcompat?: AtomicProviderCompat;\n}\n\n/** Extension factory function type. Supports both sync and async initialization. */\nexport type ExtensionFactory = (pi: ExtensionAPI) => void | Promise<void>;\n\n/** Inline extension factory, optionally carrying a stable name and display visibility. */\nexport type InlineExtension =\n\t| ExtensionFactory\n\t| { name: string; factory: ExtensionFactory; hidden?: boolean; bundled?: boolean };\n"]}
1
+ {"version":3,"file":"provider-types.js","sourceRoot":"","sources":["../../../src/core/extensions/provider-types.ts"],"names":[],"mappings":"","sourcesContent":["import type { RefreshModelsContext } from \"@earendil-works/pi-ai\";\nimport type {\n\tApi,\n\tAssistantMessageEventStream,\n\tContext,\n\tModel,\n\tOAuthCredentials,\n\tOAuthLoginCallbacks,\n\tSimpleStreamOptions,\n} from \"@earendil-works/pi-ai/compat\";\nimport type { AtomicProviderCompat } from \"../model-capabilities.ts\";\nimport type { ExtensionAPI } from \"./api-types.ts\";\n\nexport type { AtomicProviderCompat } from \"../model-capabilities.ts\";\n\n/** Configuration for registering a provider via pi.registerProvider(). */\nexport interface ProviderConfig {\n\t/** Display name for the provider in UI. */\n\tname?: string;\n\t/** Base URL for the API endpoint. Required when defining models. */\n\tbaseUrl?: string;\n\t/** API key or environment variable name. Required when defining models (unless oauth provided). */\n\tapiKey?: string;\n\t/** API type. Required at provider or model level when defining models. */\n\tapi?: Api;\n\t/** Optional streamSimple handler for custom APIs. */\n\tstreamSimple?: (model: Model<Api>, context: Context, options?: SimpleStreamOptions) => AssistantMessageEventStream;\n\t/** Custom headers to include in requests. */\n\theaders?: Record<string, string>;\n\t/** If true, adds Authorization: Bearer header with the resolved API key. */\n\tauthHeader?: boolean;\n\t/** Models to register. If provided, replaces all existing models for this provider. */\n\tmodels?: ProviderModelConfig[];\n\t/** Refresh this provider's catalog. Successful results replace its extension-provided models. */\n\trefreshModels?(context: RefreshModelsContext): Promise<ProviderModelConfig[]>;\n\t/** OAuth provider for /login support. The `id` is set automatically from the provider name. */\n\toauth?: {\n\t\t/** Display name for the provider in login UI. */\n\t\tname: string;\n\t\t/** Optional provider-specific login label. */\n\t\tloginLabel?: string;\n\t\t/** Whether the flow accepts a browser callback/manual redirect. */\n\t\tusesCallbackServer?: boolean;\n\t\t/** Run the login flow, return credentials to persist. */\n\t\tlogin(callbacks: OAuthLoginCallbacks): Promise<OAuthCredentials>;\n\t\t/** Refresh expired credentials, return updated credentials to persist. */\n\t\trefreshToken(credentials: OAuthCredentials): Promise<OAuthCredentials>;\n\t\t/** Convert credentials to API key string for the provider. */\n\t\tgetApiKey(credentials: OAuthCredentials): string;\n\t\t/** Optional: modify models for this provider (e.g., update baseUrl based on credentials). */\n\t\tmodifyModels?(models: Model<Api>[], credentials: OAuthCredentials): Model<Api>[];\n\t};\n}\n\n/** Configuration for a model within a provider. */\nexport interface ProviderModelConfig {\n\t/** Model ID (e.g., \"claude-sonnet-4-20250514\"). */\n\tid: string;\n\t/** Display name (e.g., \"Claude 4 Sonnet\"). */\n\tname: string;\n\t/** API type override for this model. */\n\tapi?: Api;\n\t/** API endpoint URL override for this model. */\n\tbaseUrl?: string;\n\t/** Whether the model supports extended thinking. */\n\treasoning: boolean;\n\t/** Maps pi thinking levels to provider/model-specific values; null marks a level unsupported. */\n\tthinkingLevelMap?: Model<Api>[\"thinkingLevelMap\"];\n\t/** Supported input types. */\n\tinput: (\"text\" | \"image\")[];\n\t/** Request pricing, including optional request-wide long-context tiers. */\n\tcost: Model<Api>[\"cost\"];\n\t/** Default/effective context window size in tokens. */\n\tcontextWindow: number;\n\t/** Maximum output tokens. */\n\tmaxTokens: number;\n\t/** Custom headers for this model. */\n\theaders?: Record<string, string>;\n\t/** Provider capability settings, including Atomic's `supportsGrammarTools` alias. */\n\tcompat?: AtomicProviderCompat;\n}\n\n/** Extension factory function type. Supports both sync and async initialization. */\nexport type ExtensionFactory = (pi: ExtensionAPI) => void | Promise<void>;\n\n/** Inline extension factory, optionally carrying a stable name and display visibility. */\nexport type InlineExtension =\n\t| ExtensionFactory\n\t| { name: string; factory: ExtensionFactory; hidden?: boolean; bundled?: boolean };\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"reactive-widget.d.ts","sourceRoot":"","sources":["../../../src/core/extensions/reactive-widget.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reactive-widget.d.ts","sourceRoot":"","sources":["../../../src/core/extensions/reactive-widget.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"reactive-widget.js","sourceRoot":"","sources":["../../../src/core/extensions/reactive-widget.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ExtensionWidgetOptions } from \"./types.ts\";\n\nexport interface ReactiveWidgetComponent {\n\trender(width: number): string[];\n\tinvalidate?(): void;\n\tdispose?(): void;\n}\n\nexport type ReactiveWidgetFactory<TTheme> = (\n\ttui: unknown,\n\ttheme: TTheme,\n) => ReactiveWidgetComponent;\n\nexport interface ReactiveWidgetUi<TTheme> {\n\tsetWidget(key: string, factory: ReactiveWidgetFactory<TTheme> | undefined, options?: ExtensionWidgetOptions): void;\n\trequestRender?: () => void;\n}\n\nexport interface ReactiveWidgetTimerHandle {\n\tunref?: () => void;\n}\n\nexport interface ReactiveWidgetTimerApi {\n\tsetTimeout(handler: () => void, delayMs: number): ReactiveWidgetTimerHandle;\n\tclearTimeout(handle: ReactiveWidgetTimerHandle): void;\n}\n\nexport interface ReactiveWidgetScheduler {\n\tqueueMicrotask(handler: () => void): void;\n}\n\nexport type ReactiveWidgetAction = \"mount\" | \"unmount\" | \"update\" | \"none\";\nexport type ReactiveWidgetRefreshReason = \"initial\" | \"state\" | \"clock\" | \"manual\";\n\nexport interface ReactiveWidgetRenderState {\n\treadonly mounted: boolean;\n\treadonly lines: readonly string[];\n}\n\nexport interface ReactiveWidgetRenderContext<TTheme> {\n\ttheme: TTheme;\n\twidth: number;\n\tnow: number;\n}\n\nexport interface ReactiveWidgetController {\n\trefresh(reason?: ReactiveWidgetRefreshReason): void;\n\tdispose(): void;\n\tisMounted(): boolean;\n}\n\nexport interface InstallReactiveWidgetOptions<TSnapshot, TTheme> {\n\tui: ReactiveWidgetUi<TTheme>;\n\tkey: string;\n\tplacement?: ExtensionWidgetOptions[\"placement\"];\n\tgetSnapshot(): TSnapshot;\n\tsubscribe?(listener: () => void): () => void;\n\tgetPreviewLines(snapshot: TSnapshot, now: number): readonly string[];\n\trender(snapshot: TSnapshot, context: ReactiveWidgetRenderContext<TTheme>): readonly string[];\n\tgetNextRefreshDelayMs?(snapshot: TSnapshot, now: number): number | undefined;\n\tnow?: () => number;\n\ttimers?: ReactiveWidgetTimerApi;\n\tscheduler?: ReactiveWidgetScheduler;\n\tcoalesceRenderRequests?: boolean;\n\trequestRenderOnMount?: boolean;\n\trequestRenderOnUnmount?: boolean;\n\trequestRenderOnStateNoop?: boolean;\n\tisStaleError?: (error: unknown) => boolean;\n}\n\nconst defaultTimerApi: ReactiveWidgetTimerApi = {\n\tsetTimeout: (handler, delayMs) => setTimeout(handler, delayMs) as ReactiveWidgetTimerHandle,\n\tclearTimeout: (handle) => clearTimeout(handle as ReturnType<typeof setTimeout>),\n};\n\nconst defaultScheduler: ReactiveWidgetScheduler = {\n\tqueueMicrotask: (handler) => queueMicrotask(handler),\n};\n\nfunction getRequestRenderFromHost(host: unknown): (() => void) | undefined {\n\tif (typeof host !== \"object\" || host === null) return undefined;\n\tconst candidate = (host as { requestRender?: unknown }).requestRender;\n\tif (typeof candidate !== \"function\") return undefined;\n\treturn () => candidate.call(host);\n}\n\nfunction linesEqual(a: readonly string[], b: readonly string[]): boolean {\n\tif (a.length !== b.length) return false;\n\tfor (let i = 0; i < a.length; i++) {\n\t\tif (a[i] !== b[i]) return false;\n\t}\n\treturn true;\n}\n\nexport function decideReactiveWidgetAction(\n\tprev: ReactiveWidgetRenderState,\n\tnextLines: readonly string[],\n): ReactiveWidgetAction {\n\tconst nextVisible = nextLines.length > 0;\n\tif (!prev.mounted) return nextVisible ? \"mount\" : \"none\";\n\tif (!nextVisible) return \"unmount\";\n\treturn linesEqual(prev.lines, nextLines) ? \"none\" : \"update\";\n}\n\nexport function installReactiveWidget<TSnapshot, TTheme = object>(\n\toptions: InstallReactiveWidgetOptions<TSnapshot, TTheme>,\n): ReactiveWidgetController {\n\tconst timers = options.timers ?? defaultTimerApi;\n\tconst scheduler = options.scheduler ?? defaultScheduler;\n\tconst now = options.now ?? Date.now;\n\tconst coalesceRenderRequests = options.coalesceRenderRequests ?? true;\n\tconst requestRenderOnMount = options.requestRenderOnMount ?? true;\n\tconst requestRenderOnUnmount = options.requestRenderOnUnmount ?? true;\n\tconst requestRenderOnStateNoop = options.requestRenderOnStateNoop ?? true;\n\n\tlet disposed = false;\n\tlet mounted = false;\n\tlet renderQueued = false;\n\tlet mountedRequestRender: (() => void) | undefined;\n\tlet refreshTimer: ReactiveWidgetTimerHandle | undefined;\n\tlet currentSnap = options.getSnapshot();\n\tlet currentNow = now();\n\tlet lastLines: readonly string[] = [];\n\n\tconst clearRefreshTimer = (): void => {\n\t\tif (refreshTimer === undefined) return;\n\t\ttimers.clearTimeout(refreshTimer);\n\t\trefreshTimer = undefined;\n\t};\n\n\tconst handleError = (error: unknown): void => {\n\t\tif (options.isStaleError?.(error)) return;\n\t\tthrow error;\n\t};\n\n\tconst invokeRequestRender = (): void => {\n\t\tif (options.ui.requestRender) {\n\t\t\toptions.ui.requestRender();\n\t\t\treturn;\n\t\t}\n\t\tmountedRequestRender?.();\n\t};\n\n\tconst requestRender = (): void => {\n\t\tif (!coalesceRenderRequests) {\n\t\t\ttry {\n\t\t\t\tinvokeRequestRender();\n\t\t\t} catch (error) {\n\t\t\t\thandleError(error);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\tif (renderQueued) return;\n\t\trenderQueued = true;\n\t\tscheduler.queueMicrotask(() => {\n\t\t\trenderQueued = false;\n\t\t\tif (disposed) return;\n\t\t\ttry {\n\t\t\t\tinvokeRequestRender();\n\t\t\t} catch (error) {\n\t\t\t\thandleError(error);\n\t\t\t}\n\t\t});\n\t};\n\n\tconst requestRenderForDispose = (): void => {\n\t\trenderQueued = false;\n\t\tinvokeRequestRender();\n\t};\n\n\tconst scheduleRefresh = (): void => {\n\t\tconst delayMs = options.getNextRefreshDelayMs?.(currentSnap, currentNow);\n\t\tif (delayMs === undefined) return;\n\t\trefreshTimer = timers.setTimeout(() => {\n\t\t\trefreshTimer = undefined;\n\t\t\tcontroller.refresh(\"clock\");\n\t\t}, delayMs);\n\t\trefreshTimer.unref?.();\n\t};\n\n\tconst widgetFactory: ReactiveWidgetFactory<TTheme> = (tui, theme) => {\n\t\tconst fallbackRequestRender = getRequestRenderFromHost(tui);\n\t\tif (fallbackRequestRender) mountedRequestRender = fallbackRequestRender;\n\t\treturn {\n\t\t\trender(width: number): string[] {\n\t\t\t\treturn [...options.render(currentSnap, { theme, width, now: currentNow })];\n\t\t\t},\n\t\t\tinvalidate(): void {\n\t\t\t\t// The component is intentionally stateless; callers should rebuild from the\n\t\t\t\t// latest snapshot/time on every render. This hook exists so pi-tui can still\n\t\t\t\t// invalidate the long-lived component on theme changes.\n\t\t\t},\n\t\t};\n\t};\n\n\tconst controller: ReactiveWidgetController = {\n\t\trefresh(reason: ReactiveWidgetRefreshReason = \"manual\"): void {\n\t\t\tif (disposed) return;\n\t\t\tclearRefreshTimer();\n\t\t\ttry {\n\t\t\t\tcurrentSnap = options.getSnapshot();\n\t\t\t\tcurrentNow = now();\n\t\t\t\tconst nextLines = options.getPreviewLines(currentSnap, currentNow);\n\t\t\t\tconst action = decideReactiveWidgetAction({ mounted, lines: lastLines }, nextLines);\n\n\t\t\t\tswitch (action) {\n\t\t\t\t\tcase \"mount\":\n\t\t\t\t\t\toptions.ui.setWidget(options.key, widgetFactory, options.placement ? { placement: options.placement } : undefined);\n\t\t\t\t\t\tmounted = true;\n\t\t\t\t\t\tif (requestRenderOnMount) requestRender();\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"unmount\":\n\t\t\t\t\t\toptions.ui.setWidget(options.key, undefined);\n\t\t\t\t\t\tmounted = false;\n\t\t\t\t\t\tif (requestRenderOnUnmount) requestRender();\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"update\":\n\t\t\t\t\t\trequestRender();\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"none\":\n\t\t\t\t\t\tif (mounted && reason === \"state\" && requestRenderOnStateNoop) requestRender();\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tlastLines = nextLines;\n\t\t\t\tscheduleRefresh();\n\t\t\t} catch (error) {\n\t\t\t\thandleError(error);\n\t\t\t}\n\t\t},\n\t\tdispose(): void {\n\t\t\tif (disposed) return;\n\t\t\tdisposed = true;\n\t\t\tclearRefreshTimer();\n\t\t\tunsubscribe?.();\n\t\t\ttry {\n\t\t\t\toptions.ui.setWidget(options.key, undefined);\n\t\t\t\tmounted = false;\n\t\t\t\trequestRenderForDispose();\n\t\t\t} catch (error) {\n\t\t\t\thandleError(error);\n\t\t\t}\n\t\t},\n\t\tisMounted(): boolean {\n\t\t\treturn mounted;\n\t\t},\n\t};\n\n\tconst unsubscribe = options.subscribe?.(() => controller.refresh(\"state\"));\n\tcontroller.refresh(\"initial\");\n\n\treturn controller;\n}\n"]}
1
+ {"version":3,"file":"reactive-widget.js","sourceRoot":"","sources":["../../../src/core/extensions/reactive-widget.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ExtensionWidgetOptions } from \"./types.ts\";\n\nexport interface ReactiveWidgetComponent {\n\trender(width: number): string[];\n\tinvalidate?(): void;\n\tdispose?(): void;\n}\n\nexport type ReactiveWidgetFactory<TTheme> = (tui: unknown, theme: TTheme) => ReactiveWidgetComponent;\n\nexport interface ReactiveWidgetUi<TTheme> {\n\tsetWidget(key: string, factory: ReactiveWidgetFactory<TTheme> | undefined, options?: ExtensionWidgetOptions): void;\n\trequestRender?: () => void;\n}\n\nexport interface ReactiveWidgetTimerHandle {\n\tunref?: () => void;\n}\n\nexport interface ReactiveWidgetTimerApi {\n\tsetTimeout(handler: () => void, delayMs: number): ReactiveWidgetTimerHandle;\n\tclearTimeout(handle: ReactiveWidgetTimerHandle): void;\n}\n\nexport interface ReactiveWidgetScheduler {\n\tqueueMicrotask(handler: () => void): void;\n}\n\nexport type ReactiveWidgetAction = \"mount\" | \"unmount\" | \"update\" | \"none\";\nexport type ReactiveWidgetRefreshReason = \"initial\" | \"state\" | \"clock\" | \"manual\";\n\nexport interface ReactiveWidgetRenderState {\n\treadonly mounted: boolean;\n\treadonly lines: readonly string[];\n}\n\nexport interface ReactiveWidgetRenderContext<TTheme> {\n\ttheme: TTheme;\n\twidth: number;\n\tnow: number;\n}\n\nexport interface ReactiveWidgetController {\n\trefresh(reason?: ReactiveWidgetRefreshReason): void;\n\tdispose(): void;\n\tisMounted(): boolean;\n}\n\nexport interface InstallReactiveWidgetOptions<TSnapshot, TTheme> {\n\tui: ReactiveWidgetUi<TTheme>;\n\tkey: string;\n\tplacement?: ExtensionWidgetOptions[\"placement\"];\n\tgetSnapshot(): TSnapshot;\n\tsubscribe?(listener: () => void): () => void;\n\tgetPreviewLines(snapshot: TSnapshot, now: number): readonly string[];\n\trender(snapshot: TSnapshot, context: ReactiveWidgetRenderContext<TTheme>): readonly string[];\n\tgetNextRefreshDelayMs?(snapshot: TSnapshot, now: number): number | undefined;\n\tnow?: () => number;\n\ttimers?: ReactiveWidgetTimerApi;\n\tscheduler?: ReactiveWidgetScheduler;\n\tcoalesceRenderRequests?: boolean;\n\trequestRenderOnMount?: boolean;\n\trequestRenderOnUnmount?: boolean;\n\trequestRenderOnStateNoop?: boolean;\n\tisStaleError?: (error: unknown) => boolean;\n}\n\nconst defaultTimerApi: ReactiveWidgetTimerApi = {\n\tsetTimeout: (handler, delayMs) => setTimeout(handler, delayMs) as ReactiveWidgetTimerHandle,\n\tclearTimeout: (handle) => clearTimeout(handle as ReturnType<typeof setTimeout>),\n};\n\nconst defaultScheduler: ReactiveWidgetScheduler = {\n\tqueueMicrotask: (handler) => queueMicrotask(handler),\n};\n\nfunction getRequestRenderFromHost(host: unknown): (() => void) | undefined {\n\tif (typeof host !== \"object\" || host === null) return undefined;\n\tconst candidate = (host as { requestRender?: unknown }).requestRender;\n\tif (typeof candidate !== \"function\") return undefined;\n\treturn () => candidate.call(host);\n}\n\nfunction linesEqual(a: readonly string[], b: readonly string[]): boolean {\n\tif (a.length !== b.length) return false;\n\tfor (let i = 0; i < a.length; i++) {\n\t\tif (a[i] !== b[i]) return false;\n\t}\n\treturn true;\n}\n\nexport function decideReactiveWidgetAction(\n\tprev: ReactiveWidgetRenderState,\n\tnextLines: readonly string[],\n): ReactiveWidgetAction {\n\tconst nextVisible = nextLines.length > 0;\n\tif (!prev.mounted) return nextVisible ? \"mount\" : \"none\";\n\tif (!nextVisible) return \"unmount\";\n\treturn linesEqual(prev.lines, nextLines) ? \"none\" : \"update\";\n}\n\nexport function installReactiveWidget<TSnapshot, TTheme = object>(\n\toptions: InstallReactiveWidgetOptions<TSnapshot, TTheme>,\n): ReactiveWidgetController {\n\tconst timers = options.timers ?? defaultTimerApi;\n\tconst scheduler = options.scheduler ?? defaultScheduler;\n\tconst now = options.now ?? Date.now;\n\tconst coalesceRenderRequests = options.coalesceRenderRequests ?? true;\n\tconst requestRenderOnMount = options.requestRenderOnMount ?? true;\n\tconst requestRenderOnUnmount = options.requestRenderOnUnmount ?? true;\n\tconst requestRenderOnStateNoop = options.requestRenderOnStateNoop ?? true;\n\n\tlet disposed = false;\n\tlet mounted = false;\n\tlet renderQueued = false;\n\tlet mountedRequestRender: (() => void) | undefined;\n\tlet refreshTimer: ReactiveWidgetTimerHandle | undefined;\n\tlet currentSnap = options.getSnapshot();\n\tlet currentNow = now();\n\tlet lastLines: readonly string[] = [];\n\n\tconst clearRefreshTimer = (): void => {\n\t\tif (refreshTimer === undefined) return;\n\t\ttimers.clearTimeout(refreshTimer);\n\t\trefreshTimer = undefined;\n\t};\n\n\tconst handleError = (error: unknown): void => {\n\t\tif (options.isStaleError?.(error)) return;\n\t\tthrow error;\n\t};\n\n\tconst invokeRequestRender = (): void => {\n\t\tif (options.ui.requestRender) {\n\t\t\toptions.ui.requestRender();\n\t\t\treturn;\n\t\t}\n\t\tmountedRequestRender?.();\n\t};\n\n\tconst requestRender = (): void => {\n\t\tif (!coalesceRenderRequests) {\n\t\t\ttry {\n\t\t\t\tinvokeRequestRender();\n\t\t\t} catch (error) {\n\t\t\t\thandleError(error);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\tif (renderQueued) return;\n\t\trenderQueued = true;\n\t\tscheduler.queueMicrotask(() => {\n\t\t\trenderQueued = false;\n\t\t\tif (disposed) return;\n\t\t\ttry {\n\t\t\t\tinvokeRequestRender();\n\t\t\t} catch (error) {\n\t\t\t\thandleError(error);\n\t\t\t}\n\t\t});\n\t};\n\n\tconst requestRenderForDispose = (): void => {\n\t\trenderQueued = false;\n\t\tinvokeRequestRender();\n\t};\n\n\tconst scheduleRefresh = (): void => {\n\t\tconst delayMs = options.getNextRefreshDelayMs?.(currentSnap, currentNow);\n\t\tif (delayMs === undefined) return;\n\t\trefreshTimer = timers.setTimeout(() => {\n\t\t\trefreshTimer = undefined;\n\t\t\tcontroller.refresh(\"clock\");\n\t\t}, delayMs);\n\t\trefreshTimer.unref?.();\n\t};\n\n\tconst widgetFactory: ReactiveWidgetFactory<TTheme> = (tui, theme) => {\n\t\tconst fallbackRequestRender = getRequestRenderFromHost(tui);\n\t\tif (fallbackRequestRender) mountedRequestRender = fallbackRequestRender;\n\t\treturn {\n\t\t\trender(width: number): string[] {\n\t\t\t\treturn [...options.render(currentSnap, { theme, width, now: currentNow })];\n\t\t\t},\n\t\t\tinvalidate(): void {\n\t\t\t\t// The component is intentionally stateless; callers should rebuild from the\n\t\t\t\t// latest snapshot/time on every render. This hook exists so pi-tui can still\n\t\t\t\t// invalidate the long-lived component on theme changes.\n\t\t\t},\n\t\t};\n\t};\n\n\tconst controller: ReactiveWidgetController = {\n\t\trefresh(reason: ReactiveWidgetRefreshReason = \"manual\"): void {\n\t\t\tif (disposed) return;\n\t\t\tclearRefreshTimer();\n\t\t\ttry {\n\t\t\t\tcurrentSnap = options.getSnapshot();\n\t\t\t\tcurrentNow = now();\n\t\t\t\tconst nextLines = options.getPreviewLines(currentSnap, currentNow);\n\t\t\t\tconst action = decideReactiveWidgetAction({ mounted, lines: lastLines }, nextLines);\n\n\t\t\t\tswitch (action) {\n\t\t\t\t\tcase \"mount\":\n\t\t\t\t\t\toptions.ui.setWidget(\n\t\t\t\t\t\t\toptions.key,\n\t\t\t\t\t\t\twidgetFactory,\n\t\t\t\t\t\t\toptions.placement ? { placement: options.placement } : undefined,\n\t\t\t\t\t\t);\n\t\t\t\t\t\tmounted = true;\n\t\t\t\t\t\tif (requestRenderOnMount) requestRender();\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"unmount\":\n\t\t\t\t\t\toptions.ui.setWidget(options.key, undefined);\n\t\t\t\t\t\tmounted = false;\n\t\t\t\t\t\tif (requestRenderOnUnmount) requestRender();\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"update\":\n\t\t\t\t\t\trequestRender();\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"none\":\n\t\t\t\t\t\tif (mounted && reason === \"state\" && requestRenderOnStateNoop) requestRender();\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tlastLines = nextLines;\n\t\t\t\tscheduleRefresh();\n\t\t\t} catch (error) {\n\t\t\t\thandleError(error);\n\t\t\t}\n\t\t},\n\t\tdispose(): void {\n\t\t\tif (disposed) return;\n\t\t\tdisposed = true;\n\t\t\tclearRefreshTimer();\n\t\t\tunsubscribe?.();\n\t\t\ttry {\n\t\t\t\toptions.ui.setWidget(options.key, undefined);\n\t\t\t\tmounted = false;\n\t\t\t\trequestRenderForDispose();\n\t\t\t} catch (error) {\n\t\t\t\thandleError(error);\n\t\t\t}\n\t\t},\n\t\tisMounted(): boolean {\n\t\t\treturn mounted;\n\t\t},\n\t};\n\n\tconst unsubscribe = options.subscribe?.(() => controller.refresh(\"state\"));\n\tcontroller.refresh(\"initial\");\n\n\treturn controller;\n}\n"]}
@@ -1,10 +1,11 @@
1
1
  import type { ThinkingLevel } from "@earendil-works/pi-agent-core";
2
2
  import type { Api, Model } from "@earendil-works/pi-ai/compat";
3
3
  import type { ModelRegistry } from "../model-registry.ts";
4
+ import type { ScopedModel } from "../model-resolver.ts";
4
5
  import type { SessionManager } from "../session-manager.ts";
5
6
  import type { BuildSystemPromptOptions } from "../system-prompt.ts";
6
- import type { CompactOptions, ContextUsage, ExtensionCommandContext, ExtensionContext, ExtensionMode, ExtensionUIContext, OrchestrationContext } from "./types.ts";
7
7
  import type { ForkHandler, NavigateTreeHandler, NewSessionHandler, ReloadHandler, SwitchSessionHandler } from "./runner-handlers.ts";
8
+ import type { CompactOptions, ContextUsage, ExtensionCommandContext, ExtensionContext, ExtensionMode, ExtensionUIContext, OrchestrationContext } from "./types.ts";
8
9
  export interface ExtensionContextSource {
9
10
  assertActive(): void;
10
11
  getUIContext(): ExtensionUIContext;
@@ -14,6 +15,7 @@ export interface ExtensionContextSource {
14
15
  getSessionManager(): SessionManager;
15
16
  getModelRegistry(): ModelRegistry;
16
17
  getModel(): Model<Api> | undefined;
18
+ getScopedModels(): readonly ScopedModel[];
17
19
  getThinkingLevel(): ThinkingLevel | undefined;
18
20
  getOrchestrationContext(): OrchestrationContext | undefined;
19
21
  isIdle(): boolean;
@@ -35,6 +37,30 @@ export interface ExtensionCommandContextSource extends ExtensionContextSource {
35
37
  switchSession: SwitchSessionHandler;
36
38
  reload: ReloadHandler;
37
39
  }
40
+ /**
41
+ * A defensive copy of the model scope, entries included.
42
+ *
43
+ * `readonly ScopedModel[]` is a compile-time claim only, so the array is
44
+ * copied: a JavaScript extension, or one asserting the `readonly` away, could
45
+ * otherwise push onto the session's own array and have `cycleModel()` treat the
46
+ * entry as in scope.
47
+ *
48
+ * Copying the array alone is not enough. The entries are the session's objects,
49
+ * so mutating `entry.model` or `entry.thinkingLevel` in place reaches the very
50
+ * array `cycleModel()` reads, and swaps the model it selects without ever
51
+ * touching the array.
52
+ *
53
+ * Nor is copying the entry and its model one level deep. `Object.freeze` and a
54
+ * spread both stop at the first level, so `model.headers`, `model.input`,
55
+ * `model.cost.tiers`, `model.thinkingLevelMap` and `model.compat` stayed the
56
+ * session's own objects: writing through any of them changed the model used for
57
+ * selection and request composition, and the freeze reported nothing. The copy
58
+ * goes all the way down, and freezes all the way down with it, so an attempt
59
+ * fails loudly under strict mode instead of silently succeeding.
60
+ *
61
+ * The accessor reports the scope; it must not be a way to change it.
62
+ */
63
+ export declare function copyScopedModels(scoped: readonly ScopedModel[]): readonly ScopedModel[];
38
64
  /**
39
65
  * Create an ExtensionContext for use in event handlers and tool execution.
40
66
  * Context values are resolved at call time, so host changes are reflected.
@@ -1 +1 @@
1
- {"version":3,"file":"runner-context.d.ts","sourceRoot":"","sources":["../../../src/core/extensions/runner-context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAEpE,OAAO,KAAK,EACX,cAAc,EACd,YAAY,EACZ,uBAAuB,EACvB,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,oBAAoB,EACpB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EACX,WAAW,EACX,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EACb,oBAAoB,EACpB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,WAAW,sBAAsB;IACtC,YAAY,IAAI,IAAI,CAAC;IACrB,YAAY,IAAI,kBAAkB,CAAC;IACnC,OAAO,IAAI,aAAa,CAAC;IACzB,KAAK,IAAI,OAAO,CAAC;IACjB,MAAM,IAAI,MAAM,CAAC;IACjB,iBAAiB,IAAI,cAAc,CAAC;IACpC,gBAAgB,IAAI,aAAa,CAAC;IAClC,QAAQ,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IACnC,gBAAgB,IAAI,aAAa,GAAG,SAAS,CAAC;IAC9C,uBAAuB,IAAI,oBAAoB,GAAG,SAAS,CAAC;IAC5D,MAAM,IAAI,OAAO,CAAC;IAClB,gBAAgB,IAAI,OAAO,CAAC;IAC5B,SAAS,IAAI,WAAW,GAAG,SAAS,CAAC;IACrC,KAAK,IAAI,IAAI,CAAC;IACd,kBAAkB,IAAI,OAAO,CAAC;IAC9B,QAAQ,IAAI,IAAI,CAAC;IACjB,eAAe,IAAI,YAAY,GAAG,SAAS,CAAC;IAC5C,OAAO,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IACxC,eAAe,IAAI,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,6BAA8B,SAAQ,sBAAsB;IAC5E,sBAAsB,IAAI,wBAAwB,CAAC;IACnD,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,UAAU,EAAE,iBAAiB,CAAC;IAC9B,IAAI,EAAE,WAAW,CAAC;IAClB,YAAY,EAAE,mBAAmB,CAAC;IAClC,aAAa,EAAE,oBAAoB,CAAC;IACpC,MAAM,EAAE,aAAa,CAAC;CACtB;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,sBAAsB,GAAG,gBAAgB,CAmFvF;AAED,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,6BAA6B,GAAG,uBAAuB,CAqC5G"}
1
+ {"version":3,"file":"runner-context.d.ts","sourceRoot":"","sources":["../../../src/core/extensions/runner-context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAEpE,OAAO,KAAK,EACX,WAAW,EACX,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EACb,oBAAoB,EACpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EACX,cAAc,EACd,YAAY,EACZ,uBAAuB,EACvB,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,oBAAoB,EACpB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,sBAAsB;IACtC,YAAY,IAAI,IAAI,CAAC;IACrB,YAAY,IAAI,kBAAkB,CAAC;IACnC,OAAO,IAAI,aAAa,CAAC;IACzB,KAAK,IAAI,OAAO,CAAC;IACjB,MAAM,IAAI,MAAM,CAAC;IACjB,iBAAiB,IAAI,cAAc,CAAC;IACpC,gBAAgB,IAAI,aAAa,CAAC;IAClC,QAAQ,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IACnC,eAAe,IAAI,SAAS,WAAW,EAAE,CAAC;IAC1C,gBAAgB,IAAI,aAAa,GAAG,SAAS,CAAC;IAC9C,uBAAuB,IAAI,oBAAoB,GAAG,SAAS,CAAC;IAC5D,MAAM,IAAI,OAAO,CAAC;IAClB,gBAAgB,IAAI,OAAO,CAAC;IAC5B,SAAS,IAAI,WAAW,GAAG,SAAS,CAAC;IACrC,KAAK,IAAI,IAAI,CAAC;IACd,kBAAkB,IAAI,OAAO,CAAC;IAC9B,QAAQ,IAAI,IAAI,CAAC;IACjB,eAAe,IAAI,YAAY,GAAG,SAAS,CAAC;IAC5C,OAAO,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IACxC,eAAe,IAAI,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,6BAA8B,SAAQ,sBAAsB;IAC5E,sBAAsB,IAAI,wBAAwB,CAAC;IACnD,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,UAAU,EAAE,iBAAiB,CAAC;IAC9B,IAAI,EAAE,WAAW,CAAC;IAClB,YAAY,EAAE,mBAAmB,CAAC;IAClC,aAAa,EAAE,oBAAoB,CAAC;IACpC,MAAM,EAAE,aAAa,CAAC;CACtB;AAqBD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,WAAW,EAAE,GAAG,SAAS,WAAW,EAAE,CAEvF;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,sBAAsB,GAAG,gBAAgB,CAuFvF;AAED,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,6BAA6B,GAAG,uBAAuB,CAqC5G"}
@@ -1,5 +1,53 @@
1
1
  import { join } from "node:path";
2
2
  import { createArtifactRouter, registerArtifactDir } from "../tools/artifact-protocol.js";
3
+ /**
4
+ * A copy of `value` that shares no mutable structure with it, frozen through.
5
+ *
6
+ * Arrays and plain objects are rebuilt; everything else — primitives, and any
7
+ * value carrying a prototype this does not own, such as a function or a class
8
+ * instance — is passed through untouched rather than mangled into a plain
9
+ * object. A `Model` is plain data (`input`, `cost.tiers`, `headers`,
10
+ * `thinkingLevelMap`, `compat`), so the whole of one is rebuilt.
11
+ */
12
+ function deepFrozenCopy(value) {
13
+ if (Array.isArray(value))
14
+ return Object.freeze(value.map(deepFrozenCopy));
15
+ if (typeof value !== "object" || value === null)
16
+ return value;
17
+ const prototype = Object.getPrototypeOf(value);
18
+ if (prototype !== Object.prototype && prototype !== null)
19
+ return value;
20
+ const copied = {};
21
+ for (const [key, nested] of Object.entries(value))
22
+ copied[key] = deepFrozenCopy(nested);
23
+ return Object.freeze(copied);
24
+ }
25
+ /**
26
+ * A defensive copy of the model scope, entries included.
27
+ *
28
+ * `readonly ScopedModel[]` is a compile-time claim only, so the array is
29
+ * copied: a JavaScript extension, or one asserting the `readonly` away, could
30
+ * otherwise push onto the session's own array and have `cycleModel()` treat the
31
+ * entry as in scope.
32
+ *
33
+ * Copying the array alone is not enough. The entries are the session's objects,
34
+ * so mutating `entry.model` or `entry.thinkingLevel` in place reaches the very
35
+ * array `cycleModel()` reads, and swaps the model it selects without ever
36
+ * touching the array.
37
+ *
38
+ * Nor is copying the entry and its model one level deep. `Object.freeze` and a
39
+ * spread both stop at the first level, so `model.headers`, `model.input`,
40
+ * `model.cost.tiers`, `model.thinkingLevelMap` and `model.compat` stayed the
41
+ * session's own objects: writing through any of them changed the model used for
42
+ * selection and request composition, and the freeze reported nothing. The copy
43
+ * goes all the way down, and freezes all the way down with it, so an attempt
44
+ * fails loudly under strict mode instead of silently succeeding.
45
+ *
46
+ * The accessor reports the scope; it must not be a way to change it.
47
+ */
48
+ export function copyScopedModels(scoped) {
49
+ return Object.freeze(scoped.map((entry) => deepFrozenCopy(entry)));
50
+ }
3
51
  /**
4
52
  * Create an ExtensionContext for use in event handlers and tool execution.
5
53
  * Context values are resolved at call time, so host changes are reflected.
@@ -34,6 +82,10 @@ export function createExtensionContext(source) {
34
82
  source.assertActive();
35
83
  return source.getModel();
36
84
  },
85
+ get scopedModels() {
86
+ source.assertActive();
87
+ return copyScopedModels(source.getScopedModels());
88
+ },
37
89
  get thinkingLevel() {
38
90
  source.assertActive();
39
91
  return source.getThinkingLevel();
@@ -1 +1 @@
1
- {"version":3,"file":"runner-context.js","sourceRoot":"","sources":["../../../src/core/extensions/runner-context.ts"],"names":[],"mappings":"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","sourcesContent":["import { join } from \"node:path\";\nimport type { ThinkingLevel } from \"@earendil-works/pi-agent-core\";\nimport type { Api, Model } from \"@earendil-works/pi-ai/compat\";\nimport type { ModelRegistry } from \"../model-registry.ts\";\nimport type { SessionManager } from \"../session-manager.ts\";\nimport type { BuildSystemPromptOptions } from \"../system-prompt.ts\";\nimport { createArtifactRouter, registerArtifactDir } from \"../tools/artifact-protocol.ts\";\nimport type {\n\tCompactOptions,\n\tContextUsage,\n\tExtensionCommandContext,\n\tExtensionContext,\n\tExtensionMode,\n\tExtensionUIContext,\n\tOrchestrationContext,\n} from \"./types.ts\";\nimport type {\n\tForkHandler,\n\tNavigateTreeHandler,\n\tNewSessionHandler,\n\tReloadHandler,\n\tSwitchSessionHandler,\n} from \"./runner-handlers.ts\";\n\nexport interface ExtensionContextSource {\n\tassertActive(): void;\n\tgetUIContext(): ExtensionUIContext;\n\tgetMode(): ExtensionMode;\n\thasUI(): boolean;\n\tgetCwd(): string;\n\tgetSessionManager(): SessionManager;\n\tgetModelRegistry(): ModelRegistry;\n\tgetModel(): Model<Api> | undefined;\n\tgetThinkingLevel(): ThinkingLevel | undefined;\n\tgetOrchestrationContext(): OrchestrationContext | undefined;\n\tisIdle(): boolean;\n\tisProjectTrusted(): boolean;\n\tgetSignal(): AbortSignal | undefined;\n\tabort(): void;\n\thasPendingMessages(): boolean;\n\tshutdown(): void;\n\tgetContextUsage(): ContextUsage | undefined;\n\tcompact(options?: CompactOptions): void;\n\tgetSystemPrompt(): string;\n}\n\nexport interface ExtensionCommandContextSource extends ExtensionContextSource {\n\tgetSystemPromptOptions(): BuildSystemPromptOptions;\n\twaitForIdle(): Promise<void>;\n\tnewSession: NewSessionHandler;\n\tfork: ForkHandler;\n\tnavigateTree: NavigateTreeHandler;\n\tswitchSession: SwitchSessionHandler;\n\treload: ReloadHandler;\n}\n\n/**\n * Create an ExtensionContext for use in event handlers and tool execution.\n * Context values are resolved at call time, so host changes are reflected.\n */\nexport function createExtensionContext(source: ExtensionContextSource): ExtensionContext {\n\treturn {\n\t\tget ui() {\n\t\t\tsource.assertActive();\n\t\t\treturn source.getUIContext();\n\t\t},\n\t\tget mode() {\n\t\t\tsource.assertActive();\n\t\t\treturn source.getMode();\n\t\t},\n\t\tget hasUI() {\n\t\t\tsource.assertActive();\n\t\t\treturn source.hasUI();\n\t\t},\n\t\tget cwd() {\n\t\t\tsource.assertActive();\n\t\t\treturn source.getCwd();\n\t\t},\n\t\tget sessionManager() {\n\t\t\tsource.assertActive();\n\t\t\treturn source.getSessionManager();\n\t\t},\n\t\tget modelRegistry() {\n\t\t\tsource.assertActive();\n\t\t\treturn source.getModelRegistry();\n\t\t},\n\t\tget model() {\n\t\t\tsource.assertActive();\n\t\t\treturn source.getModel();\n\t\t},\n\t\tget thinkingLevel() {\n\t\t\tsource.assertActive();\n\t\t\treturn source.getThinkingLevel();\n\t\t},\n\t\tget internalResourceRouter() {\n\t\t\tsource.assertActive();\n\t\t\tconst sessionDir = source.getSessionManager().getSessionDir();\n\t\t\tif (!sessionDir) return undefined;\n\t\t\tconst artifactsDir = join(sessionDir, \"artifacts\");\n\t\t\tregisterArtifactDir(artifactsDir);\n\t\t\treturn createArtifactRouter(() => [artifactsDir]);\n\t\t},\n\t\tget orchestrationContext() {\n\t\t\tsource.assertActive();\n\t\t\treturn source.getOrchestrationContext();\n\t\t},\n\t\tisIdle: () => {\n\t\t\tsource.assertActive();\n\t\t\treturn source.isIdle();\n\t\t},\n\t\tisProjectTrusted: () => {\n\t\t\tsource.assertActive();\n\t\t\treturn source.isProjectTrusted();\n\t\t},\n\t\tget signal() {\n\t\t\tsource.assertActive();\n\t\t\treturn source.getSignal();\n\t\t},\n\t\tabort: () => {\n\t\t\tsource.assertActive();\n\t\t\tsource.abort();\n\t\t},\n\t\thasPendingMessages: () => {\n\t\t\tsource.assertActive();\n\t\t\treturn source.hasPendingMessages();\n\t\t},\n\t\tshutdown: () => {\n\t\t\tsource.assertActive();\n\t\t\tsource.shutdown();\n\t\t},\n\t\tgetContextUsage: () => {\n\t\t\tsource.assertActive();\n\t\t\treturn source.getContextUsage();\n\t\t},\n\t\tcompact: (options) => {\n\t\t\tsource.assertActive();\n\t\t\tsource.compact(options);\n\t\t},\n\t\tgetSystemPrompt: () => {\n\t\t\tsource.assertActive();\n\t\t\treturn source.getSystemPrompt();\n\t\t},\n\t};\n}\n\nexport function createExtensionCommandContext(source: ExtensionCommandContextSource): ExtensionCommandContext {\n\t// Use property descriptors instead of object spread so the guarded getters from\n\t// createExtensionContext() stay lazy. A spread would eagerly read them once and\n\t// freeze old values into the returned object, bypassing stale-instance checks.\n\tconst context = Object.defineProperties(\n\t\t{},\n\t\tObject.getOwnPropertyDescriptors(createExtensionContext(source)),\n\t) as ExtensionCommandContext;\n\tcontext.getSystemPromptOptions = () => {\n\t\tsource.assertActive();\n\t\treturn source.getSystemPromptOptions();\n\t};\n\tcontext.waitForIdle = () => {\n\t\tsource.assertActive();\n\t\treturn source.waitForIdle();\n\t};\n\tcontext.newSession = (options) => {\n\t\tsource.assertActive();\n\t\treturn source.newSession(options);\n\t};\n\tcontext.fork = (entryId, options) => {\n\t\tsource.assertActive();\n\t\treturn source.fork(entryId, options);\n\t};\n\tcontext.navigateTree = (targetId, options) => {\n\t\tsource.assertActive();\n\t\treturn source.navigateTree(targetId, options);\n\t};\n\tcontext.switchSession = (sessionPath, options) => {\n\t\tsource.assertActive();\n\t\treturn source.switchSession(sessionPath, options);\n\t};\n\tcontext.reload = () => {\n\t\tsource.assertActive();\n\t\treturn source.reload();\n\t};\n\treturn context;\n}\n"]}
1
+ {"version":3,"file":"runner-context.js","sourceRoot":"","sources":["../../../src/core/extensions/runner-context.ts"],"names":[],"mappings":"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","sourcesContent":["import { join } from \"node:path\";\nimport type { ThinkingLevel } from \"@earendil-works/pi-agent-core\";\nimport type { Api, Model } from \"@earendil-works/pi-ai/compat\";\nimport type { ModelRegistry } from \"../model-registry.ts\";\nimport type { ScopedModel } from \"../model-resolver.ts\";\nimport type { SessionManager } from \"../session-manager.ts\";\nimport type { BuildSystemPromptOptions } from \"../system-prompt.ts\";\nimport { createArtifactRouter, registerArtifactDir } from \"../tools/artifact-protocol.ts\";\nimport type {\n\tForkHandler,\n\tNavigateTreeHandler,\n\tNewSessionHandler,\n\tReloadHandler,\n\tSwitchSessionHandler,\n} from \"./runner-handlers.ts\";\nimport type {\n\tCompactOptions,\n\tContextUsage,\n\tExtensionCommandContext,\n\tExtensionContext,\n\tExtensionMode,\n\tExtensionUIContext,\n\tOrchestrationContext,\n} from \"./types.ts\";\n\nexport interface ExtensionContextSource {\n\tassertActive(): void;\n\tgetUIContext(): ExtensionUIContext;\n\tgetMode(): ExtensionMode;\n\thasUI(): boolean;\n\tgetCwd(): string;\n\tgetSessionManager(): SessionManager;\n\tgetModelRegistry(): ModelRegistry;\n\tgetModel(): Model<Api> | undefined;\n\tgetScopedModels(): readonly ScopedModel[];\n\tgetThinkingLevel(): ThinkingLevel | undefined;\n\tgetOrchestrationContext(): OrchestrationContext | undefined;\n\tisIdle(): boolean;\n\tisProjectTrusted(): boolean;\n\tgetSignal(): AbortSignal | undefined;\n\tabort(): void;\n\thasPendingMessages(): boolean;\n\tshutdown(): void;\n\tgetContextUsage(): ContextUsage | undefined;\n\tcompact(options?: CompactOptions): void;\n\tgetSystemPrompt(): string;\n}\n\nexport interface ExtensionCommandContextSource extends ExtensionContextSource {\n\tgetSystemPromptOptions(): BuildSystemPromptOptions;\n\twaitForIdle(): Promise<void>;\n\tnewSession: NewSessionHandler;\n\tfork: ForkHandler;\n\tnavigateTree: NavigateTreeHandler;\n\tswitchSession: SwitchSessionHandler;\n\treload: ReloadHandler;\n}\n\n/**\n * A copy of `value` that shares no mutable structure with it, frozen through.\n *\n * Arrays and plain objects are rebuilt; everything else — primitives, and any\n * value carrying a prototype this does not own, such as a function or a class\n * instance — is passed through untouched rather than mangled into a plain\n * object. A `Model` is plain data (`input`, `cost.tiers`, `headers`,\n * `thinkingLevelMap`, `compat`), so the whole of one is rebuilt.\n */\nfunction deepFrozenCopy<T>(value: T): T {\n\tif (Array.isArray(value)) return Object.freeze(value.map(deepFrozenCopy)) as T;\n\tif (typeof value !== \"object\" || value === null) return value;\n\tconst prototype: unknown = Object.getPrototypeOf(value);\n\tif (prototype !== Object.prototype && prototype !== null) return value;\n\tconst copied: Record<string, unknown> = {};\n\tfor (const [key, nested] of Object.entries(value)) copied[key] = deepFrozenCopy(nested);\n\treturn Object.freeze(copied) as T;\n}\n\n/**\n * A defensive copy of the model scope, entries included.\n *\n * `readonly ScopedModel[]` is a compile-time claim only, so the array is\n * copied: a JavaScript extension, or one asserting the `readonly` away, could\n * otherwise push onto the session's own array and have `cycleModel()` treat the\n * entry as in scope.\n *\n * Copying the array alone is not enough. The entries are the session's objects,\n * so mutating `entry.model` or `entry.thinkingLevel` in place reaches the very\n * array `cycleModel()` reads, and swaps the model it selects without ever\n * touching the array.\n *\n * Nor is copying the entry and its model one level deep. `Object.freeze` and a\n * spread both stop at the first level, so `model.headers`, `model.input`,\n * `model.cost.tiers`, `model.thinkingLevelMap` and `model.compat` stayed the\n * session's own objects: writing through any of them changed the model used for\n * selection and request composition, and the freeze reported nothing. The copy\n * goes all the way down, and freezes all the way down with it, so an attempt\n * fails loudly under strict mode instead of silently succeeding.\n *\n * The accessor reports the scope; it must not be a way to change it.\n */\nexport function copyScopedModels(scoped: readonly ScopedModel[]): readonly ScopedModel[] {\n\treturn Object.freeze(scoped.map((entry) => deepFrozenCopy(entry)));\n}\n\n/**\n * Create an ExtensionContext for use in event handlers and tool execution.\n * Context values are resolved at call time, so host changes are reflected.\n */\nexport function createExtensionContext(source: ExtensionContextSource): ExtensionContext {\n\treturn {\n\t\tget ui() {\n\t\t\tsource.assertActive();\n\t\t\treturn source.getUIContext();\n\t\t},\n\t\tget mode() {\n\t\t\tsource.assertActive();\n\t\t\treturn source.getMode();\n\t\t},\n\t\tget hasUI() {\n\t\t\tsource.assertActive();\n\t\t\treturn source.hasUI();\n\t\t},\n\t\tget cwd() {\n\t\t\tsource.assertActive();\n\t\t\treturn source.getCwd();\n\t\t},\n\t\tget sessionManager() {\n\t\t\tsource.assertActive();\n\t\t\treturn source.getSessionManager();\n\t\t},\n\t\tget modelRegistry() {\n\t\t\tsource.assertActive();\n\t\t\treturn source.getModelRegistry();\n\t\t},\n\t\tget model() {\n\t\t\tsource.assertActive();\n\t\t\treturn source.getModel();\n\t\t},\n\t\tget scopedModels() {\n\t\t\tsource.assertActive();\n\t\t\treturn copyScopedModels(source.getScopedModels());\n\t\t},\n\t\tget thinkingLevel() {\n\t\t\tsource.assertActive();\n\t\t\treturn source.getThinkingLevel();\n\t\t},\n\t\tget internalResourceRouter() {\n\t\t\tsource.assertActive();\n\t\t\tconst sessionDir = source.getSessionManager().getSessionDir();\n\t\t\tif (!sessionDir) return undefined;\n\t\t\tconst artifactsDir = join(sessionDir, \"artifacts\");\n\t\t\tregisterArtifactDir(artifactsDir);\n\t\t\treturn createArtifactRouter(() => [artifactsDir]);\n\t\t},\n\t\tget orchestrationContext() {\n\t\t\tsource.assertActive();\n\t\t\treturn source.getOrchestrationContext();\n\t\t},\n\t\tisIdle: () => {\n\t\t\tsource.assertActive();\n\t\t\treturn source.isIdle();\n\t\t},\n\t\tisProjectTrusted: () => {\n\t\t\tsource.assertActive();\n\t\t\treturn source.isProjectTrusted();\n\t\t},\n\t\tget signal() {\n\t\t\tsource.assertActive();\n\t\t\treturn source.getSignal();\n\t\t},\n\t\tabort: () => {\n\t\t\tsource.assertActive();\n\t\t\tsource.abort();\n\t\t},\n\t\thasPendingMessages: () => {\n\t\t\tsource.assertActive();\n\t\t\treturn source.hasPendingMessages();\n\t\t},\n\t\tshutdown: () => {\n\t\t\tsource.assertActive();\n\t\t\tsource.shutdown();\n\t\t},\n\t\tgetContextUsage: () => {\n\t\t\tsource.assertActive();\n\t\t\treturn source.getContextUsage();\n\t\t},\n\t\tcompact: (options) => {\n\t\t\tsource.assertActive();\n\t\t\tsource.compact(options);\n\t\t},\n\t\tgetSystemPrompt: () => {\n\t\t\tsource.assertActive();\n\t\t\treturn source.getSystemPrompt();\n\t\t},\n\t};\n}\n\nexport function createExtensionCommandContext(source: ExtensionCommandContextSource): ExtensionCommandContext {\n\t// Use property descriptors instead of object spread so the guarded getters from\n\t// createExtensionContext() stay lazy. A spread would eagerly read them once and\n\t// freeze old values into the returned object, bypassing stale-instance checks.\n\tconst context = Object.defineProperties(\n\t\t{},\n\t\tObject.getOwnPropertyDescriptors(createExtensionContext(source)),\n\t) as ExtensionCommandContext;\n\tcontext.getSystemPromptOptions = () => {\n\t\tsource.assertActive();\n\t\treturn source.getSystemPromptOptions();\n\t};\n\tcontext.waitForIdle = () => {\n\t\tsource.assertActive();\n\t\treturn source.waitForIdle();\n\t};\n\tcontext.newSession = (options) => {\n\t\tsource.assertActive();\n\t\treturn source.newSession(options);\n\t};\n\tcontext.fork = (entryId, options) => {\n\t\tsource.assertActive();\n\t\treturn source.fork(entryId, options);\n\t};\n\tcontext.navigateTree = (targetId, options) => {\n\t\tsource.assertActive();\n\t\treturn source.navigateTree(targetId, options);\n\t};\n\tcontext.switchSession = (sessionPath, options) => {\n\t\tsource.assertActive();\n\t\treturn source.switchSession(sessionPath, options);\n\t};\n\tcontext.reload = () => {\n\t\tsource.assertActive();\n\t\treturn source.reload();\n\t};\n\treturn context;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"runner-events.d.ts","sourceRoot":"","sources":["../../../src/core/extensions/runner-events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner-events.d.ts","sourceRoot":"","sources":["../../../src/core/extensions/runner-events.ts"],"names":[],"mappings":"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"}