@bastani/atomic 0.9.11-alpha.1 → 0.9.11-alpha.10

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 (2333) hide show
  1. package/CHANGELOG.md +241 -0
  2. package/README.md +15 -10
  3. package/dist/builtin/intercom/package.json +3 -3
  4. package/dist/builtin/mcp/CHANGELOG.md +12 -0
  5. package/dist/builtin/mcp/README.md +3 -3
  6. package/dist/builtin/mcp/cli.js +0 -1
  7. package/dist/builtin/mcp/commands.ts +7 -3
  8. package/dist/builtin/mcp/config.ts +0 -2
  9. package/dist/builtin/mcp/package.json +6 -6
  10. package/dist/builtin/mcp/sampling-handler.ts +1 -5
  11. package/dist/builtin/mcp/types.ts +0 -1
  12. package/dist/builtin/subagents/CHANGELOG.md +34 -0
  13. package/dist/builtin/subagents/README.md +10 -1
  14. package/dist/builtin/subagents/agents/code-simplifier.md +48 -103
  15. package/dist/builtin/subagents/agents/codebase-analyzer.md +28 -131
  16. package/dist/builtin/subagents/agents/codebase-locator.md +25 -84
  17. package/dist/builtin/subagents/agents/codebase-online-researcher.md +61 -260
  18. package/dist/builtin/subagents/agents/codebase-pattern-finder.md +30 -208
  19. package/dist/builtin/subagents/agents/codebase-research-analyzer.md +29 -151
  20. package/dist/builtin/subagents/agents/codebase-research-locator.md +22 -119
  21. package/dist/builtin/subagents/agents/debugger.md +29 -65
  22. package/dist/builtin/subagents/agents/worker.md +24 -31
  23. package/dist/builtin/subagents/package.json +5 -5
  24. package/dist/builtin/subagents/prompts/gather-context-and-clarify.md +18 -11
  25. package/dist/builtin/subagents/prompts/parallel-cleanup.md +34 -33
  26. package/dist/builtin/subagents/prompts/parallel-context-build.md +22 -36
  27. package/dist/builtin/subagents/prompts/parallel-handoff-plan.md +20 -52
  28. package/dist/builtin/subagents/prompts/parallel-research.md +17 -41
  29. package/dist/builtin/subagents/prompts/parallel-review.md +23 -28
  30. package/dist/builtin/subagents/prompts/review-loop.md +18 -27
  31. package/dist/builtin/subagents/skills/subagent/SKILL.md +6 -6
  32. package/dist/builtin/subagents/src/agents/agent-discovery.ts +26 -15
  33. package/dist/builtin/subagents/src/agents/agent-loaders.ts +48 -34
  34. package/dist/builtin/subagents/src/agents/agent-management-helpers.ts +80 -31
  35. package/dist/builtin/subagents/src/agents/agent-management.ts +194 -55
  36. package/dist/builtin/subagents/src/agents/agent-overrides.ts +85 -32
  37. package/dist/builtin/subagents/src/agents/agent-paths.ts +4 -1
  38. package/dist/builtin/subagents/src/agents/agent-selection.ts +1 -1
  39. package/dist/builtin/subagents/src/agents/agent-serializer.ts +1 -4
  40. package/dist/builtin/subagents/src/agents/agents.ts +9 -9
  41. package/dist/builtin/subagents/src/agents/chain-serializer.ts +9 -5
  42. package/dist/builtin/subagents/src/agents/identity.ts +12 -3
  43. package/dist/builtin/subagents/src/agents/skills-paths.ts +64 -24
  44. package/dist/builtin/subagents/src/agents/skills.ts +29 -26
  45. package/dist/builtin/subagents/src/extension/doctor.ts +31 -20
  46. package/dist/builtin/subagents/src/extension/fanout-child.ts +27 -12
  47. package/dist/builtin/subagents/src/extension/index.ts +119 -43
  48. package/dist/builtin/subagents/src/extension/prompt-guidance.ts +4 -2
  49. package/dist/builtin/subagents/src/extension/schemas.ts +304 -177
  50. package/dist/builtin/subagents/src/extension/startup-maintenance.ts +137 -73
  51. package/dist/builtin/subagents/src/intercom/intercom-bridge.ts +49 -21
  52. package/dist/builtin/subagents/src/intercom/result-intercom.ts +76 -38
  53. package/dist/builtin/subagents/src/runs/background/async-event-journal.ts +12 -6
  54. package/dist/builtin/subagents/src/runs/background/async-execution-chain.ts +183 -57
  55. package/dist/builtin/subagents/src/runs/background/async-execution-common.ts +15 -18
  56. package/dist/builtin/subagents/src/runs/background/async-execution-single.ts +67 -26
  57. package/dist/builtin/subagents/src/runs/background/async-execution-types.ts +8 -8
  58. package/dist/builtin/subagents/src/runs/background/async-execution.ts +1 -1
  59. package/dist/builtin/subagents/src/runs/background/async-job-tracker.ts +86 -32
  60. package/dist/builtin/subagents/src/runs/background/async-resume.ts +93 -36
  61. package/dist/builtin/subagents/src/runs/background/async-status.ts +82 -27
  62. package/dist/builtin/subagents/src/runs/background/completion-claims.ts +12 -5
  63. package/dist/builtin/subagents/src/runs/background/completion-dedupe.ts +3 -1
  64. package/dist/builtin/subagents/src/runs/background/completion-notification.ts +3 -1
  65. package/dist/builtin/subagents/src/runs/background/notify.ts +38 -18
  66. package/dist/builtin/subagents/src/runs/background/parallel-groups.ts +28 -14
  67. package/dist/builtin/subagents/src/runs/background/result-delivery-processor.ts +147 -79
  68. package/dist/builtin/subagents/src/runs/background/result-file-claims.ts +20 -5
  69. package/dist/builtin/subagents/src/runs/background/result-quarantine.ts +7 -2
  70. package/dist/builtin/subagents/src/runs/background/result-status.ts +11 -5
  71. package/dist/builtin/subagents/src/runs/background/result-watcher-data.ts +18 -5
  72. package/dist/builtin/subagents/src/runs/background/result-watcher.ts +104 -35
  73. package/dist/builtin/subagents/src/runs/background/run-id-resolver.ts +28 -7
  74. package/dist/builtin/subagents/src/runs/background/run-status.ts +120 -32
  75. package/dist/builtin/subagents/src/runs/background/stale-run-reconciler.ts +98 -39
  76. package/dist/builtin/subagents/src/runs/background/subagent-runner-dynamic.ts +185 -37
  77. package/dist/builtin/subagents/src/runs/background/subagent-runner-finalize.ts +23 -9
  78. package/dist/builtin/subagents/src/runs/background/subagent-runner-output.ts +6 -2
  79. package/dist/builtin/subagents/src/runs/background/subagent-runner-parallel-helpers.ts +34 -18
  80. package/dist/builtin/subagents/src/runs/background/subagent-runner-parallel.ts +175 -26
  81. package/dist/builtin/subagents/src/runs/background/subagent-runner-sequential.ts +68 -23
  82. package/dist/builtin/subagents/src/runs/background/subagent-runner-state.ts +200 -49
  83. package/dist/builtin/subagents/src/runs/background/subagent-runner-step.ts +82 -49
  84. package/dist/builtin/subagents/src/runs/background/subagent-runner-streaming.ts +33 -11
  85. package/dist/builtin/subagents/src/runs/background/subagent-runner-types.ts +16 -6
  86. package/dist/builtin/subagents/src/runs/background/subagent-runner-utils.ts +2 -3
  87. package/dist/builtin/subagents/src/runs/background/subagent-runner.ts +11 -8
  88. package/dist/builtin/subagents/src/runs/foreground/chain-execution-details.ts +5 -2
  89. package/dist/builtin/subagents/src/runs/foreground/chain-execution-dynamic-step.ts +115 -31
  90. package/dist/builtin/subagents/src/runs/foreground/chain-execution-parallel-runner.ts +71 -54
  91. package/dist/builtin/subagents/src/runs/foreground/chain-execution-parallel-step.ts +104 -37
  92. package/dist/builtin/subagents/src/runs/foreground/chain-execution-sequential-step.ts +102 -61
  93. package/dist/builtin/subagents/src/runs/foreground/chain-execution-types.ts +24 -10
  94. package/dist/builtin/subagents/src/runs/foreground/chain-execution.ts +9 -6
  95. package/dist/builtin/subagents/src/runs/foreground/detached-cleanup-barrier.ts +22 -22
  96. package/dist/builtin/subagents/src/runs/foreground/execution-attempt-control.ts +45 -40
  97. package/dist/builtin/subagents/src/runs/foreground/execution-attempt-finalize.ts +6 -5
  98. package/dist/builtin/subagents/src/runs/foreground/execution-attempt.ts +118 -43
  99. package/dist/builtin/subagents/src/runs/foreground/execution-detach-reservations.ts +17 -7
  100. package/dist/builtin/subagents/src/runs/foreground/execution-detach-route.ts +5 -3
  101. package/dist/builtin/subagents/src/runs/foreground/execution-intercom-detach.ts +39 -35
  102. package/dist/builtin/subagents/src/runs/foreground/execution-run-sync.ts +81 -42
  103. package/dist/builtin/subagents/src/runs/foreground/execution-structured-retries.ts +27 -21
  104. package/dist/builtin/subagents/src/runs/foreground/execution-updates.ts +2 -5
  105. package/dist/builtin/subagents/src/runs/foreground/execution-utils.ts +9 -4
  106. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-async.ts +69 -25
  107. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-chain.ts +36 -19
  108. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-context.ts +95 -62
  109. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-input.ts +30 -9
  110. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-parallel-task.ts +106 -96
  111. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-parallel.ts +68 -36
  112. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-resume.ts +262 -83
  113. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-runtime.ts +6 -1
  114. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-single.ts +67 -41
  115. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-status.ts +129 -44
  116. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-types.ts +20 -3
  117. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-worktree.ts +8 -6
  118. package/dist/builtin/subagents/src/runs/foreground/subagent-executor.ts +65 -47
  119. package/dist/builtin/subagents/src/runs/shared/chain-outputs.ts +37 -12
  120. package/dist/builtin/subagents/src/runs/shared/dynamic-fanout.ts +120 -34
  121. package/dist/builtin/subagents/src/runs/shared/final-drain.ts +12 -7
  122. package/dist/builtin/subagents/src/runs/shared/intercom-group.ts +3 -2
  123. package/dist/builtin/subagents/src/runs/shared/long-running-guard.ts +8 -3
  124. package/dist/builtin/subagents/src/runs/shared/mcp-direct-tool-allowlist.ts +42 -20
  125. package/dist/builtin/subagents/src/runs/shared/model-candidate-filter.ts +8 -4
  126. package/dist/builtin/subagents/src/runs/shared/model-fallback.ts +103 -38
  127. package/dist/builtin/subagents/src/runs/shared/nested-events-control.ts +30 -20
  128. package/dist/builtin/subagents/src/runs/shared/nested-events-core.ts +45 -20
  129. package/dist/builtin/subagents/src/runs/shared/nested-events-projection.ts +57 -23
  130. package/dist/builtin/subagents/src/runs/shared/nested-events-registry.ts +77 -29
  131. package/dist/builtin/subagents/src/runs/shared/nested-events-sanitize.ts +99 -42
  132. package/dist/builtin/subagents/src/runs/shared/nested-events.ts +32 -26
  133. package/dist/builtin/subagents/src/runs/shared/nested-path.ts +22 -17
  134. package/dist/builtin/subagents/src/runs/shared/nested-render.ts +31 -10
  135. package/dist/builtin/subagents/src/runs/shared/parallel-utils.ts +10 -8
  136. package/dist/builtin/subagents/src/runs/shared/pi-args.ts +59 -33
  137. package/dist/builtin/subagents/src/runs/shared/pi-spawn.ts +17 -13
  138. package/dist/builtin/subagents/src/runs/shared/run-history.ts +13 -6
  139. package/dist/builtin/subagents/src/runs/shared/single-output.ts +11 -6
  140. package/dist/builtin/subagents/src/runs/shared/spawn-env.ts +21 -0
  141. package/dist/builtin/subagents/src/runs/shared/structured-output.ts +33 -19
  142. package/dist/builtin/subagents/src/runs/shared/subagent-control.ts +59 -48
  143. package/dist/builtin/subagents/src/runs/shared/subagent-prompt-runtime.ts +18 -11
  144. package/dist/builtin/subagents/src/runs/shared/workflow-graph.ts +41 -11
  145. package/dist/builtin/subagents/src/runs/shared/worktree-post-create.ts +46 -10
  146. package/dist/builtin/subagents/src/runs/shared/worktree-root.ts +21 -5
  147. package/dist/builtin/subagents/src/runs/shared/worktree.ts +89 -34
  148. package/dist/builtin/subagents/src/shared/artifacts.ts +137 -7
  149. package/dist/builtin/subagents/src/shared/event-jsonl-writer.ts +49 -13
  150. package/dist/builtin/subagents/src/shared/fast-mode.ts +13 -6
  151. package/dist/builtin/subagents/src/shared/fork-context.ts +7 -4
  152. package/dist/builtin/subagents/src/shared/formatters.ts +14 -9
  153. package/dist/builtin/subagents/src/shared/jsonl-writer.ts +2 -1
  154. package/dist/builtin/subagents/src/shared/model-info.ts +10 -3
  155. package/dist/builtin/subagents/src/shared/post-exit-stdio-guard.ts +7 -6
  156. package/dist/builtin/subagents/src/shared/session-tokens.ts +2 -1
  157. package/dist/builtin/subagents/src/shared/settings.ts +43 -43
  158. package/dist/builtin/subagents/src/shared/status-format.ts +10 -2
  159. package/dist/builtin/subagents/src/shared/types-async.ts +22 -19
  160. package/dist/builtin/subagents/src/shared/types-config.ts +1 -1
  161. package/dist/builtin/subagents/src/shared/types-depth.ts +23 -11
  162. package/dist/builtin/subagents/src/shared/types-results.ts +49 -6
  163. package/dist/builtin/subagents/src/shared/types-runtime.ts +16 -17
  164. package/dist/builtin/subagents/src/shared/types.ts +2 -2
  165. package/dist/builtin/subagents/src/shared/utils.ts +34 -20
  166. package/dist/builtin/subagents/src/slash/prompt-template-bridge.ts +44 -47
  167. package/dist/builtin/subagents/src/slash/saved-chain-mapping.ts +5 -7
  168. package/dist/builtin/subagents/src/slash/slash-bridge.ts +3 -3
  169. package/dist/builtin/subagents/src/slash/slash-commands.ts +78 -52
  170. package/dist/builtin/subagents/src/slash/slash-live-state.ts +59 -32
  171. package/dist/builtin/subagents/src/tui/render-chain-graph.ts +120 -32
  172. package/dist/builtin/subagents/src/tui/render-event-formatting.ts +85 -22
  173. package/dist/builtin/subagents/src/tui/render-helpers.ts +16 -6
  174. package/dist/builtin/subagents/src/tui/render-layout.ts +8 -3
  175. package/dist/builtin/subagents/src/tui/render-result-compact.ts +125 -43
  176. package/dist/builtin/subagents/src/tui/render-result.ts +128 -85
  177. package/dist/builtin/subagents/src/tui/render-stable-output.ts +17 -13
  178. package/dist/builtin/subagents/src/tui/render-status-progress.ts +52 -20
  179. package/dist/builtin/subagents/src/tui/render-widget-graph.ts +130 -28
  180. package/dist/builtin/subagents/src/tui/render-widget.ts +54 -27
  181. package/dist/builtin/subagents/src/tui/render.ts +10 -3
  182. package/dist/builtin/web-access/package.json +2 -2
  183. package/dist/builtin/workflows/CHANGELOG.md +110 -0
  184. package/dist/builtin/workflows/README.md +78 -70
  185. package/dist/builtin/workflows/ambient.d.ts +0 -5
  186. package/dist/builtin/workflows/builtin/adversarial-verification-prompts.ts +7 -4
  187. package/dist/builtin/workflows/builtin/adversarial-verification-runner.ts +1 -1
  188. package/dist/builtin/workflows/builtin/adversarial-verification.ts +2 -1
  189. package/dist/builtin/workflows/builtin/classify-and-act-prompts.ts +5 -2
  190. package/dist/builtin/workflows/builtin/classify-and-act-runner.ts +5 -7
  191. package/dist/builtin/workflows/builtin/classify-and-act.ts +3 -2
  192. package/dist/builtin/workflows/builtin/fan-out-and-synthesize-prompts.ts +6 -3
  193. package/dist/builtin/workflows/builtin/fan-out-and-synthesize-runner.ts +5 -5
  194. package/dist/builtin/workflows/builtin/fan-out-and-synthesize.ts +3 -2
  195. package/dist/builtin/workflows/builtin/generate-and-filter-prompts.ts +7 -4
  196. package/dist/builtin/workflows/builtin/generate-and-filter-runner.ts +6 -3
  197. package/dist/builtin/workflows/builtin/generate-and-filter.ts +3 -2
  198. package/dist/builtin/workflows/builtin/goal-artifacts.ts +1 -1
  199. package/dist/builtin/workflows/builtin/goal-models.ts +39 -39
  200. package/dist/builtin/workflows/builtin/goal-orchestrator-prompts.ts +94 -0
  201. package/dist/builtin/workflows/builtin/goal-prompts.ts +70 -285
  202. package/dist/builtin/workflows/builtin/goal-reducer.ts +1 -1
  203. package/dist/builtin/workflows/builtin/goal-runner.ts +72 -116
  204. package/dist/builtin/workflows/builtin/goal.ts +12 -11
  205. package/dist/builtin/workflows/builtin/index.d.ts +17 -112
  206. package/dist/builtin/workflows/builtin/index.ts +1 -2
  207. package/dist/builtin/workflows/builtin/loop-until-done-prompts.ts +20 -12
  208. package/dist/builtin/workflows/builtin/loop-until-done-runner.ts +3 -0
  209. package/dist/builtin/workflows/builtin/loop-until-done.ts +3 -2
  210. package/dist/builtin/workflows/builtin/open-claude-design-phases.ts +149 -88
  211. package/dist/builtin/workflows/builtin/open-claude-design-runner.ts +102 -78
  212. package/dist/builtin/workflows/builtin/open-claude-design-setup.ts +164 -56
  213. package/dist/builtin/workflows/builtin/open-claude-design-utils.ts +16 -21
  214. package/dist/builtin/workflows/builtin/open-claude-design.ts +2 -1
  215. package/dist/builtin/workflows/builtin/ralph-core.ts +61 -57
  216. package/dist/builtin/workflows/builtin/ralph-forked-prompts.ts +41 -45
  217. package/dist/builtin/workflows/builtin/ralph-models.ts +37 -47
  218. package/dist/builtin/workflows/builtin/ralph-reviewer-prompt.ts +37 -117
  219. package/dist/builtin/workflows/builtin/ralph-runner.ts +83 -108
  220. package/dist/builtin/workflows/builtin/ralph.ts +6 -5
  221. package/dist/builtin/workflows/builtin/shared-prompts.ts +117 -70
  222. package/dist/builtin/workflows/builtin/steering-context.ts +51 -0
  223. package/dist/builtin/workflows/builtin/tournament-prompts.ts +21 -12
  224. package/dist/builtin/workflows/builtin/tournament-runner.ts +3 -0
  225. package/dist/builtin/workflows/builtin/tournament.ts +3 -2
  226. package/dist/builtin/workflows/package.json +4 -4
  227. package/dist/builtin/workflows/skills/create-spec/SKILL.md +1 -1
  228. package/dist/builtin/workflows/skills/impeccable/SKILL.md +33 -129
  229. package/dist/builtin/workflows/skills/impeccable/agents/impeccable_asset_producer.toml +11 -3
  230. package/dist/builtin/workflows/skills/impeccable/agents/impeccable_documenter.toml +26 -0
  231. package/dist/builtin/workflows/skills/impeccable/agents/impeccable_finish_reviewer.toml +35 -0
  232. package/dist/builtin/workflows/skills/impeccable/reference/android.md +1 -1
  233. package/dist/builtin/workflows/skills/impeccable/reference/animate.md +72 -189
  234. package/dist/builtin/workflows/skills/impeccable/reference/audit.md +10 -9
  235. package/dist/builtin/workflows/skills/impeccable/reference/audit.native.md +2 -2
  236. package/dist/builtin/workflows/skills/impeccable/reference/bolder.md +19 -108
  237. package/dist/builtin/workflows/skills/impeccable/reference/clarify.md +59 -253
  238. package/dist/builtin/workflows/skills/impeccable/reference/colorize.md +51 -222
  239. package/dist/builtin/workflows/skills/impeccable/reference/craft-floor.md +45 -0
  240. package/dist/builtin/workflows/skills/impeccable/reference/craft.md +3 -121
  241. package/dist/builtin/workflows/skills/impeccable/reference/critique.md +28 -20
  242. package/dist/builtin/workflows/skills/impeccable/reference/degraded/asset-producer.md +97 -0
  243. package/dist/builtin/workflows/skills/impeccable/reference/degraded/documenter.md +23 -0
  244. package/dist/builtin/workflows/skills/impeccable/reference/degraded/finish-reviewer.md +32 -0
  245. package/dist/builtin/workflows/skills/impeccable/reference/degraded/manual-edit-applier.md +92 -0
  246. package/dist/builtin/workflows/skills/impeccable/reference/delight.md +47 -279
  247. package/dist/builtin/workflows/skills/impeccable/reference/distill.md +2 -2
  248. package/dist/builtin/workflows/skills/impeccable/reference/doctor.md +53 -0
  249. package/dist/builtin/workflows/skills/impeccable/reference/document.md +60 -73
  250. package/dist/builtin/workflows/skills/impeccable/reference/harden.md +1 -12
  251. package/dist/builtin/workflows/skills/impeccable/reference/hooks.md +23 -12
  252. package/dist/builtin/workflows/skills/impeccable/reference/init.md +64 -163
  253. package/dist/builtin/workflows/skills/impeccable/reference/ios.md +1 -1
  254. package/dist/builtin/workflows/skills/impeccable/reference/layout.md +52 -153
  255. package/dist/builtin/workflows/skills/impeccable/reference/live.md +47 -36
  256. package/dist/builtin/workflows/skills/impeccable/reference/new-work.md +105 -0
  257. package/dist/builtin/workflows/skills/impeccable/reference/{product.md → operate.md} +6 -5
  258. package/dist/builtin/workflows/skills/impeccable/reference/optimize.md +4 -4
  259. package/dist/builtin/workflows/skills/impeccable/reference/overdrive.md +1 -4
  260. package/dist/builtin/workflows/skills/impeccable/reference/polish.md +68 -212
  261. package/dist/builtin/workflows/skills/impeccable/reference/quieter.md +3 -3
  262. package/dist/builtin/workflows/skills/impeccable/reference/routing.md +18 -0
  263. package/dist/builtin/workflows/skills/impeccable/reference/shape.md +38 -144
  264. package/dist/builtin/workflows/skills/impeccable/reference/typeset.md +48 -269
  265. package/dist/builtin/workflows/skills/impeccable/reference/visualize.md +38 -0
  266. package/dist/builtin/workflows/skills/impeccable/scripts/command-metadata.json +1 -1
  267. package/dist/builtin/workflows/skills/impeccable/scripts/concept-seed.mjs +584 -0
  268. package/dist/builtin/workflows/skills/impeccable/scripts/context-signals.mjs +117 -9
  269. package/dist/builtin/workflows/skills/impeccable/scripts/context.mjs +486 -59
  270. package/dist/builtin/workflows/skills/impeccable/scripts/critique-storage.mjs +16 -45
  271. package/dist/builtin/workflows/skills/impeccable/scripts/detector/browser/injected/index.mjs +96 -10
  272. package/dist/builtin/workflows/skills/impeccable/scripts/detector/cli/main.mjs +143 -26
  273. package/dist/builtin/workflows/skills/impeccable/scripts/detector/design-system.mjs +181 -12
  274. package/dist/builtin/workflows/skills/impeccable/scripts/detector/detect-antipatterns-browser.js +3187 -182
  275. package/dist/builtin/workflows/skills/impeccable/scripts/detector/engines/browser/detect-url.mjs +102 -7
  276. package/dist/builtin/workflows/skills/impeccable/scripts/detector/engines/regex/detect-text.mjs +282 -70
  277. package/dist/builtin/workflows/skills/impeccable/scripts/detector/engines/static-html/css-cascade.mjs +183 -15
  278. package/dist/builtin/workflows/skills/impeccable/scripts/detector/engines/static-html/detect-html.mjs +22 -7
  279. package/dist/builtin/workflows/skills/impeccable/scripts/detector/findings.mjs +7 -1
  280. package/dist/builtin/workflows/skills/impeccable/scripts/detector/node/file-system.mjs +16 -2
  281. package/dist/builtin/workflows/skills/impeccable/scripts/detector/registry/antipatterns.mjs +155 -42
  282. package/dist/builtin/workflows/skills/impeccable/scripts/detector/rules/checks.mjs +2988 -155
  283. package/dist/builtin/workflows/skills/impeccable/scripts/detector/shared/constants.mjs +11 -0
  284. package/dist/builtin/workflows/skills/impeccable/scripts/doctor.mjs +336 -0
  285. package/dist/builtin/workflows/skills/impeccable/scripts/generate-image.mjs +232 -0
  286. package/dist/builtin/workflows/skills/impeccable/scripts/hook-admin.mjs +92 -30
  287. package/dist/builtin/workflows/skills/impeccable/scripts/hook-lib.mjs +414 -120
  288. package/dist/builtin/workflows/skills/impeccable/scripts/hook.mjs +25 -8
  289. package/dist/builtin/workflows/skills/impeccable/scripts/lib/artifact-schema.mjs +93 -0
  290. package/dist/builtin/workflows/skills/impeccable/scripts/lib/composition-catalog.mjs +165 -0
  291. package/dist/builtin/workflows/skills/impeccable/scripts/lib/concept-catalog.mjs +329 -0
  292. package/dist/builtin/workflows/skills/impeccable/scripts/lib/impeccable-config.mjs +20 -5
  293. package/dist/builtin/workflows/skills/impeccable/scripts/lib/impeccable-paths.mjs +16 -8
  294. package/dist/builtin/workflows/skills/impeccable/scripts/lib/provider.mjs +1 -0
  295. package/dist/builtin/workflows/skills/impeccable/scripts/lib/staleness-deep.mjs +455 -0
  296. package/dist/builtin/workflows/skills/impeccable/scripts/lib/staleness-notice.mjs +169 -0
  297. package/dist/builtin/workflows/skills/impeccable/scripts/lib/staleness.mjs +457 -0
  298. package/dist/builtin/workflows/skills/impeccable/scripts/lib/surface-briefs.mjs +151 -0
  299. package/dist/builtin/workflows/skills/impeccable/scripts/lib/target-slug.mjs +33 -0
  300. package/dist/builtin/workflows/skills/impeccable/scripts/lib/template-extensions.mjs +146 -0
  301. package/dist/builtin/workflows/skills/impeccable/scripts/live/completion.mjs +10 -1
  302. package/dist/builtin/workflows/skills/impeccable/scripts/live/event-validation.mjs +15 -0
  303. package/dist/builtin/workflows/skills/impeccable/scripts/live/generation-preflight.mjs +149 -0
  304. package/dist/builtin/workflows/skills/impeccable/scripts/live/poll-lanes.mjs +14 -0
  305. package/dist/builtin/workflows/skills/impeccable/scripts/live/session-store.mjs +109 -32
  306. package/dist/builtin/workflows/skills/impeccable/scripts/live/source-lock.mjs +105 -0
  307. package/dist/builtin/workflows/skills/impeccable/scripts/live/source-search.mjs +105 -0
  308. package/dist/builtin/workflows/skills/impeccable/scripts/live/sveltekit-adapter.mjs +8 -6
  309. package/dist/builtin/workflows/skills/impeccable/scripts/live/tanstack-adapter.mjs +280 -0
  310. package/dist/builtin/workflows/skills/impeccable/scripts/live-accept.mjs +212 -69
  311. package/dist/builtin/workflows/skills/impeccable/scripts/live-browser-dom.js +5 -1
  312. package/dist/builtin/workflows/skills/impeccable/scripts/live-browser-session.js +7 -1
  313. package/dist/builtin/workflows/skills/impeccable/scripts/live-browser.js +565 -115
  314. package/dist/builtin/workflows/skills/impeccable/scripts/live-commit-manual-edits.mjs +3 -0
  315. package/dist/builtin/workflows/skills/impeccable/scripts/live-inject.mjs +198 -14
  316. package/dist/builtin/workflows/skills/impeccable/scripts/live-insert.mjs +24 -6
  317. package/dist/builtin/workflows/skills/impeccable/scripts/live-manual-edit-evidence.mjs +11 -3
  318. package/dist/builtin/workflows/skills/impeccable/scripts/live-poll.mjs +44 -14
  319. package/dist/builtin/workflows/skills/impeccable/scripts/live-server.mjs +405 -34
  320. package/dist/builtin/workflows/skills/impeccable/scripts/live-status.mjs +9 -5
  321. package/dist/builtin/workflows/skills/impeccable/scripts/live-wrap.mjs +81 -67
  322. package/dist/builtin/workflows/skills/impeccable/scripts/live.mjs +7 -2
  323. package/dist/builtin/workflows/skills/impeccable/scripts/palette.mjs +76 -81
  324. package/dist/builtin/workflows/skills/impeccable/scripts/pin.mjs +4 -4
  325. package/dist/builtin/workflows/skills/impeccable/scripts/serve-question.mjs +890 -0
  326. package/dist/builtin/workflows/skills/impeccable/scripts/surface-brief.mjs +74 -0
  327. package/dist/builtin/workflows/skills/prompt-engineer/SKILL.md +57 -252
  328. package/dist/builtin/workflows/skills/prompt-engineer/references/advanced_patterns.md +70 -226
  329. package/dist/builtin/workflows/skills/prompt-engineer/references/core_prompting.md +64 -103
  330. package/dist/builtin/workflows/skills/prompt-engineer/references/quality_improvement.md +81 -155
  331. package/dist/builtin/workflows/src/authoring/typebox-defaults.d.ts +5 -5
  332. package/dist/builtin/workflows/src/authoring/typebox-defaults.ts +160 -197
  333. package/dist/builtin/workflows/src/authoring/workflow.ts +137 -132
  334. package/dist/builtin/workflows/src/authoring.d.ts +7 -3
  335. package/dist/builtin/workflows/src/durable/backend.ts +510 -383
  336. package/dist/builtin/workflows/src/durable/boundary-lifecycle.ts +172 -0
  337. package/dist/builtin/workflows/src/durable/boundary-topology.ts +475 -0
  338. package/dist/builtin/workflows/src/durable/child-invocation.ts +14 -0
  339. package/dist/builtin/workflows/src/durable/child-primitive.ts +115 -74
  340. package/dist/builtin/workflows/src/durable/completed-catalog-stage-groups.ts +290 -0
  341. package/dist/builtin/workflows/src/durable/completed-catalog.ts +419 -189
  342. package/dist/builtin/workflows/src/durable/completed-inspection.ts +118 -105
  343. package/dist/builtin/workflows/src/durable/completed-subtree.ts +35 -0
  344. package/dist/builtin/workflows/src/durable/dbos-backend.ts +484 -414
  345. package/dist/builtin/workflows/src/durable/dbos-embedded-postgres-root.ts +86 -87
  346. package/dist/builtin/workflows/src/durable/dbos-embedded-postgres.ts +171 -149
  347. package/dist/builtin/workflows/src/durable/dbos-envelope.ts +415 -189
  348. package/dist/builtin/workflows/src/durable/dbos-lifecycle.ts +128 -106
  349. package/dist/builtin/workflows/src/durable/dbos-local-postgres.ts +75 -68
  350. package/dist/builtin/workflows/src/durable/dbos-metadata.ts +138 -101
  351. package/dist/builtin/workflows/src/durable/dbos-prompt-reservations.ts +316 -259
  352. package/dist/builtin/workflows/src/durable/dbos-sdk-handle.ts +138 -117
  353. package/dist/builtin/workflows/src/durable/dbos-status-transition.ts +48 -43
  354. package/dist/builtin/workflows/src/durable/dbos-tombstone.ts +14 -14
  355. package/dist/builtin/workflows/src/durable/durable-hash.ts +9 -11
  356. package/dist/builtin/workflows/src/durable/factory.ts +54 -29
  357. package/dist/builtin/workflows/src/durable/format-version.ts +1 -1
  358. package/dist/builtin/workflows/src/durable/index.ts +69 -68
  359. package/dist/builtin/workflows/src/durable/local-command.ts +47 -43
  360. package/dist/builtin/workflows/src/durable/prompt-reservation-state.ts +156 -149
  361. package/dist/builtin/workflows/src/durable/prompt-reservations.ts +16 -16
  362. package/dist/builtin/workflows/src/durable/resume-catalog.ts +11 -11
  363. package/dist/builtin/workflows/src/durable/resume-eligibility.ts +27 -25
  364. package/dist/builtin/workflows/src/durable/resume-runtime.ts +261 -222
  365. package/dist/builtin/workflows/src/durable/retention-policy.ts +31 -30
  366. package/dist/builtin/workflows/src/durable/run-timing.ts +42 -41
  367. package/dist/builtin/workflows/src/durable/scoped-backend.ts +261 -193
  368. package/dist/builtin/workflows/src/durable/stage-primitive.ts +466 -370
  369. package/dist/builtin/workflows/src/durable/stage-topology-validation.ts +247 -0
  370. package/dist/builtin/workflows/src/durable/stage-topology.ts +53 -0
  371. package/dist/builtin/workflows/src/durable/tool-failure-checkpoint.ts +49 -0
  372. package/dist/builtin/workflows/src/durable/tool-outcome.ts +130 -0
  373. package/dist/builtin/workflows/src/durable/tool-primitive.ts +642 -137
  374. package/dist/builtin/workflows/src/durable/types.ts +243 -132
  375. package/dist/builtin/workflows/src/durable/ui-primitive.ts +243 -164
  376. package/dist/builtin/workflows/src/durable/workflow-child-result.ts +61 -0
  377. package/dist/builtin/workflows/src/durable/workflow-status-transition.ts +16 -15
  378. package/dist/builtin/workflows/src/engine/graph-inference.ts +76 -76
  379. package/dist/builtin/workflows/src/engine/options.ts +35 -35
  380. package/dist/builtin/workflows/src/engine/primitives/chain.ts +27 -22
  381. package/dist/builtin/workflows/src/engine/primitives/exit.ts +1 -1
  382. package/dist/builtin/workflows/src/engine/primitives/parallel.ts +64 -52
  383. package/dist/builtin/workflows/src/engine/primitives/task.ts +110 -95
  384. package/dist/builtin/workflows/src/engine/primitives/ui.ts +46 -50
  385. package/dist/builtin/workflows/src/engine/primitives/workflow.ts +194 -151
  386. package/dist/builtin/workflows/src/engine/replay.ts +6 -6
  387. package/dist/builtin/workflows/src/engine/run-durable-admission.ts +50 -0
  388. package/dist/builtin/workflows/src/engine/run-durable-finalize.ts +64 -37
  389. package/dist/builtin/workflows/src/engine/run-durable-stage-session.ts +30 -24
  390. package/dist/builtin/workflows/src/engine/run-durable-topology.ts +288 -0
  391. package/dist/builtin/workflows/src/engine/run-returned-status.ts +60 -57
  392. package/dist/builtin/workflows/src/engine/run-terminal-event.ts +39 -0
  393. package/dist/builtin/workflows/src/engine/run-terminal-failure.ts +53 -0
  394. package/dist/builtin/workflows/src/engine/run-tool-admission-boundary.ts +99 -0
  395. package/dist/builtin/workflows/src/engine/run-tool-control-registry.ts +179 -0
  396. package/dist/builtin/workflows/src/engine/run-tool-execution-tracker.ts +164 -0
  397. package/dist/builtin/workflows/src/engine/run-tool-node-lifecycle.ts +152 -0
  398. package/dist/builtin/workflows/src/engine/run.ts +680 -477
  399. package/dist/builtin/workflows/src/engine/runtime.ts +160 -140
  400. package/dist/builtin/workflows/src/engine/workflow-activity.ts +7 -3
  401. package/dist/builtin/workflows/src/engine/workflow-tool-abort.ts +92 -0
  402. package/dist/builtin/workflows/src/extension/atomic-stage-session.ts +123 -120
  403. package/dist/builtin/workflows/src/extension/background-ui-adapter.ts +108 -112
  404. package/dist/builtin/workflows/src/extension/companions.ts +116 -116
  405. package/dist/builtin/workflows/src/extension/completed-stage-intercom-ask.ts +123 -111
  406. package/dist/builtin/workflows/src/extension/config-file-loader.ts +153 -148
  407. package/dist/builtin/workflows/src/extension/config-loader.ts +264 -283
  408. package/dist/builtin/workflows/src/extension/discovery-loaders.ts +81 -84
  409. package/dist/builtin/workflows/src/extension/discovery.ts +267 -272
  410. package/dist/builtin/workflows/src/extension/dispatcher.ts +214 -217
  411. package/dist/builtin/workflows/src/extension/extension-factory.ts +103 -93
  412. package/dist/builtin/workflows/src/extension/extension-lifecycle.ts +127 -111
  413. package/dist/builtin/workflows/src/extension/extension-runtime-state.ts +414 -409
  414. package/dist/builtin/workflows/src/extension/hil-answer-notifications.ts +270 -261
  415. package/dist/builtin/workflows/src/extension/index.bundle.mjs +74625 -0
  416. package/dist/builtin/workflows/src/extension/index.ts +37 -37
  417. package/dist/builtin/workflows/src/extension/lifecycle-notification-delivery.ts +64 -64
  418. package/dist/builtin/workflows/src/extension/lifecycle-notifications.ts +386 -369
  419. package/dist/builtin/workflows/src/extension/mcp.ts +35 -35
  420. package/dist/builtin/workflows/src/extension/postmortem-deps.ts +31 -35
  421. package/dist/builtin/workflows/src/extension/public-types.ts +160 -182
  422. package/dist/builtin/workflows/src/extension/render-call.ts +85 -88
  423. package/dist/builtin/workflows/src/extension/render-component.ts +9 -11
  424. package/dist/builtin/workflows/src/extension/render-result.ts +450 -375
  425. package/dist/builtin/workflows/src/extension/renderers.ts +35 -35
  426. package/dist/builtin/workflows/src/extension/runtime-active-block-claim.ts +37 -37
  427. package/dist/builtin/workflows/src/extension/runtime-durable-resume.ts +146 -138
  428. package/dist/builtin/workflows/src/extension/runtime.ts +346 -258
  429. package/dist/builtin/workflows/src/extension/status-writer.ts +95 -95
  430. package/dist/builtin/workflows/src/extension/ui-surface.ts +224 -218
  431. package/dist/builtin/workflows/src/extension/wiring.ts +307 -281
  432. package/dist/builtin/workflows/src/extension/workflow-command-completions.ts +109 -108
  433. package/dist/builtin/workflows/src/extension/workflow-command-registration.ts +257 -224
  434. package/dist/builtin/workflows/src/extension/workflow-command-surfaces.ts +84 -83
  435. package/dist/builtin/workflows/src/extension/workflow-command-utils.ts +126 -132
  436. package/dist/builtin/workflows/src/extension/workflow-durable-resume-command.ts +213 -199
  437. package/dist/builtin/workflows/src/extension/workflow-model-catalog.ts +24 -0
  438. package/dist/builtin/workflows/src/extension/workflow-module-loader.ts +110 -95
  439. package/dist/builtin/workflows/src/extension/workflow-policy.ts +7 -9
  440. package/dist/builtin/workflows/src/extension/workflow-ports.ts +30 -34
  441. package/dist/builtin/workflows/src/extension/workflow-prompts.ts +41 -20
  442. package/dist/builtin/workflows/src/extension/workflow-reload-coordinator.ts +46 -46
  443. package/dist/builtin/workflows/src/extension/workflow-reload-report.ts +28 -25
  444. package/dist/builtin/workflows/src/extension/workflow-resume-picker-rows.ts +48 -45
  445. package/dist/builtin/workflows/src/extension/workflow-resume-shadow.ts +28 -31
  446. package/dist/builtin/workflows/src/extension/workflow-run-control-command.ts +539 -453
  447. package/dist/builtin/workflows/src/extension/workflow-schema.ts +149 -92
  448. package/dist/builtin/workflows/src/extension/workflow-stage-results.ts +182 -194
  449. package/dist/builtin/workflows/src/extension/workflow-status-summary.ts +154 -116
  450. package/dist/builtin/workflows/src/extension/workflow-targets.ts +159 -125
  451. package/dist/builtin/workflows/src/extension/workflow-tool-content.ts +204 -217
  452. package/dist/builtin/workflows/src/extension/workflow-tool-control.ts +512 -372
  453. package/dist/builtin/workflows/src/extension/workflow-tool-inspection.ts +146 -150
  454. package/dist/builtin/workflows/src/extension/workflow-tool-registration.ts +43 -46
  455. package/dist/builtin/workflows/src/extension/workflow-tool-send.ts +354 -206
  456. package/dist/builtin/workflows/src/extension/workflow-tool.ts +122 -129
  457. package/dist/builtin/workflows/src/intercom/intercom-bridge.ts +17 -20
  458. package/dist/builtin/workflows/src/intercom/intercom-routing.ts +62 -62
  459. package/dist/builtin/workflows/src/intercom/result-intercom.ts +123 -123
  460. package/dist/builtin/workflows/src/runs/background/cancellation-registry.ts +72 -59
  461. package/dist/builtin/workflows/src/runs/background/durable-resume-transition.ts +45 -45
  462. package/dist/builtin/workflows/src/runs/background/job-tracker.ts +69 -34
  463. package/dist/builtin/workflows/src/runs/background/quit-tool-node.ts +71 -0
  464. package/dist/builtin/workflows/src/runs/background/quit.ts +359 -138
  465. package/dist/builtin/workflows/src/runs/background/resume-acknowledgements.ts +70 -69
  466. package/dist/builtin/workflows/src/runs/background/run-inspect.ts +85 -74
  467. package/dist/builtin/workflows/src/runs/background/runner.ts +122 -121
  468. package/dist/builtin/workflows/src/runs/background/startup-admission.ts +56 -60
  469. package/dist/builtin/workflows/src/runs/background/status.ts +324 -284
  470. package/dist/builtin/workflows/src/runs/background/workflow-lifecycle-aggregate.ts +24 -26
  471. package/dist/builtin/workflows/src/runs/foreground/executor-abort.ts +311 -309
  472. package/dist/builtin/workflows/src/runs/foreground/executor-child-boundary.ts +229 -199
  473. package/dist/builtin/workflows/src/runs/foreground/executor-child-helpers.ts +56 -51
  474. package/dist/builtin/workflows/src/runs/foreground/executor-continuation.ts +168 -152
  475. package/dist/builtin/workflows/src/runs/foreground/executor-direct-helpers.ts +255 -217
  476. package/dist/builtin/workflows/src/runs/foreground/executor-exit-manager.ts +178 -173
  477. package/dist/builtin/workflows/src/runs/foreground/executor-hil.ts +273 -269
  478. package/dist/builtin/workflows/src/runs/foreground/executor-inputs.ts +59 -56
  479. package/dist/builtin/workflows/src/runs/foreground/executor-lifecycle.ts +375 -351
  480. package/dist/builtin/workflows/src/runs/foreground/executor-outputs.ts +123 -127
  481. package/dist/builtin/workflows/src/runs/foreground/executor-prompt-nodes.ts +360 -295
  482. package/dist/builtin/workflows/src/runs/foreground/executor-queued-user-message.ts +47 -47
  483. package/dist/builtin/workflows/src/runs/foreground/executor-run-finalizers.ts +125 -104
  484. package/dist/builtin/workflows/src/runs/foreground/executor-scheduler.ts +189 -189
  485. package/dist/builtin/workflows/src/runs/foreground/executor-stage-call.ts +294 -242
  486. package/dist/builtin/workflows/src/runs/foreground/executor-stage-context.ts +141 -127
  487. package/dist/builtin/workflows/src/runs/foreground/executor-stage-control.ts +219 -179
  488. package/dist/builtin/workflows/src/runs/foreground/executor-stage-factory.ts +406 -354
  489. package/dist/builtin/workflows/src/runs/foreground/executor-stage-replay.ts +143 -126
  490. package/dist/builtin/workflows/src/runs/foreground/executor-stage-types.ts +50 -47
  491. package/dist/builtin/workflows/src/runs/foreground/executor-task-context.ts +1 -1
  492. package/dist/builtin/workflows/src/runs/foreground/executor-task-prompts.ts +148 -153
  493. package/dist/builtin/workflows/src/runs/foreground/executor-types.ts +157 -110
  494. package/dist/builtin/workflows/src/runs/foreground/executor.ts +10 -10
  495. package/dist/builtin/workflows/src/runs/foreground/postmortem-stage-chat.ts +176 -100
  496. package/dist/builtin/workflows/src/runs/foreground/stage-control-registry.ts +363 -257
  497. package/dist/builtin/workflows/src/runs/foreground/stage-delivery-activity.ts +86 -0
  498. package/dist/builtin/workflows/src/runs/foreground/stage-queued-user-messages.ts +95 -0
  499. package/dist/builtin/workflows/src/runs/foreground/stage-runner-candidate.ts +8 -8
  500. package/dist/builtin/workflows/src/runs/foreground/stage-runner-context.ts +233 -221
  501. package/dist/builtin/workflows/src/runs/foreground/stage-runner-controller.ts +630 -494
  502. package/dist/builtin/workflows/src/runs/foreground/stage-runner-message-admission.ts +182 -181
  503. package/dist/builtin/workflows/src/runs/foreground/stage-runner-messages.ts +80 -80
  504. package/dist/builtin/workflows/src/runs/foreground/stage-runner-options.ts +78 -74
  505. package/dist/builtin/workflows/src/runs/foreground/stage-runner-output.ts +102 -104
  506. package/dist/builtin/workflows/src/runs/foreground/stage-runner-pause.ts +200 -0
  507. package/dist/builtin/workflows/src/runs/foreground/stage-runner-replacement.ts +31 -32
  508. package/dist/builtin/workflows/src/runs/foreground/stage-runner-send-user-message.ts +115 -98
  509. package/dist/builtin/workflows/src/runs/foreground/stage-runner-session-options.ts +29 -42
  510. package/dist/builtin/workflows/src/runs/foreground/stage-runner-session.ts +44 -52
  511. package/dist/builtin/workflows/src/runs/foreground/stage-runner-structured-output.ts +63 -58
  512. package/dist/builtin/workflows/src/runs/foreground/stage-runner-types.ts +161 -124
  513. package/dist/builtin/workflows/src/runs/foreground/stage-runner-unresolved-overflow.ts +27 -23
  514. package/dist/builtin/workflows/src/runs/foreground/stage-runner.ts +10 -10
  515. package/dist/builtin/workflows/src/runs/foreground/stage-tool-execution-buffer.ts +33 -31
  516. package/dist/builtin/workflows/src/runs/shared/concurrency.ts +53 -53
  517. package/dist/builtin/workflows/src/runs/shared/graph-inference.ts +1 -1
  518. package/dist/builtin/workflows/src/runs/shared/model-fallback-candidates.ts +257 -385
  519. package/dist/builtin/workflows/src/runs/shared/model-fallback-failures.ts +378 -363
  520. package/dist/builtin/workflows/src/runs/shared/prompt-callsite.ts +55 -55
  521. package/dist/builtin/workflows/src/runs/shared/validate-inputs.ts +75 -84
  522. package/dist/builtin/workflows/src/runs/shared/worktree-cache-lifecycle.ts +1 -3
  523. package/dist/builtin/workflows/src/runs/shared/worktree-cwd.ts +96 -83
  524. package/dist/builtin/workflows/src/runs/shared/worktree-diff.ts +9 -2
  525. package/dist/builtin/workflows/src/runs/shared/worktree-git-runner.ts +21 -6
  526. package/dist/builtin/workflows/src/runs/shared/worktree-git.ts +60 -30
  527. package/dist/builtin/workflows/src/runs/shared/worktree-post-create.ts +12 -5
  528. package/dist/builtin/workflows/src/runs/shared/worktree-setup.ts +51 -30
  529. package/dist/builtin/workflows/src/runs/shared/worktree.ts +4 -4
  530. package/dist/builtin/workflows/src/sdk-surface.ts +38 -19
  531. package/dist/builtin/workflows/src/shared/authoring-contract-stage.d.ts +17 -16
  532. package/dist/builtin/workflows/src/shared/authoring-contract-stage.ts +299 -280
  533. package/dist/builtin/workflows/src/shared/authoring-contract-ui.d.ts +76 -10
  534. package/dist/builtin/workflows/src/shared/authoring-contract-ui.ts +311 -219
  535. package/dist/builtin/workflows/src/shared/expanded-workflow-graph.ts +255 -156
  536. package/dist/builtin/workflows/src/shared/intercom-group.ts +33 -26
  537. package/dist/builtin/workflows/src/shared/persistence-compaction-policy.ts +30 -30
  538. package/dist/builtin/workflows/src/shared/persistence-restore-helpers.ts +435 -379
  539. package/dist/builtin/workflows/src/shared/persistence-restore.ts +187 -181
  540. package/dist/builtin/workflows/src/shared/persistence-session-entries.ts +211 -207
  541. package/dist/builtin/workflows/src/shared/prompt-callsite-context.ts +3 -3
  542. package/dist/builtin/workflows/src/shared/render-inputs-schema.ts +87 -94
  543. package/dist/builtin/workflows/src/shared/resume-continuation.ts +1 -1
  544. package/dist/builtin/workflows/src/shared/returned-run-status.ts +91 -77
  545. package/dist/builtin/workflows/src/shared/run-visibility.ts +2 -2
  546. package/dist/builtin/workflows/src/shared/schema-introspection.ts +50 -60
  547. package/dist/builtin/workflows/src/shared/serializable.ts +72 -86
  548. package/dist/builtin/workflows/src/shared/session-transcript.ts +44 -39
  549. package/dist/builtin/workflows/src/shared/stage-prompt.ts +183 -202
  550. package/dist/builtin/workflows/src/shared/stage-ui-broker.ts +270 -274
  551. package/dist/builtin/workflows/src/shared/store-factory.ts +9 -7
  552. package/dist/builtin/workflows/src/shared/store-internal.ts +172 -168
  553. package/dist/builtin/workflows/src/shared/store-prompt-methods.ts +196 -200
  554. package/dist/builtin/workflows/src/shared/store-public-types.ts +208 -196
  555. package/dist/builtin/workflows/src/shared/store-run-methods.ts +238 -222
  556. package/dist/builtin/workflows/src/shared/store-stage-methods.ts +284 -283
  557. package/dist/builtin/workflows/src/shared/store-tool-node-methods.ts +53 -0
  558. package/dist/builtin/workflows/src/shared/store-types.ts +269 -235
  559. package/dist/builtin/workflows/src/shared/store.ts +7 -7
  560. package/dist/builtin/workflows/src/shared/timing.ts +36 -34
  561. package/dist/builtin/workflows/src/shared/types.ts +257 -217
  562. package/dist/builtin/workflows/src/shared/workflow-authoring-types.d.ts +11 -4
  563. package/dist/builtin/workflows/src/shared/workflow-authoring-types.ts +81 -58
  564. package/dist/builtin/workflows/src/shared/workflow-failures-classifier.ts +247 -221
  565. package/dist/builtin/workflows/src/shared/workflow-failures-contract.ts +45 -46
  566. package/dist/builtin/workflows/src/shared/workflow-failures-decisions.ts +330 -351
  567. package/dist/builtin/workflows/src/shared/workflow-failures-signals.ts +212 -157
  568. package/dist/builtin/workflows/src/shared/workflow-failures.ts +10 -10
  569. package/dist/builtin/workflows/src/shared/workflow-run-ownership.ts +49 -0
  570. package/dist/builtin/workflows/src/tui/chat-surface-message.ts +157 -184
  571. package/dist/builtin/workflows/src/tui/chat-surface.ts +332 -355
  572. package/dist/builtin/workflows/src/tui/color-utils.ts +21 -30
  573. package/dist/builtin/workflows/src/tui/connectors.ts +57 -61
  574. package/dist/builtin/workflows/src/tui/dispatch-confirm.ts +168 -192
  575. package/dist/builtin/workflows/src/tui/edge.ts +10 -9
  576. package/dist/builtin/workflows/src/tui/graph-canvas.ts +131 -134
  577. package/dist/builtin/workflows/src/tui/graph-theme.ts +139 -148
  578. package/dist/builtin/workflows/src/tui/graph-view-constants.ts +6 -6
  579. package/dist/builtin/workflows/src/tui/graph-view-graph-render.ts +146 -179
  580. package/dist/builtin/workflows/src/tui/graph-view-input.ts +295 -329
  581. package/dist/builtin/workflows/src/tui/graph-view-render-helpers.ts +291 -320
  582. package/dist/builtin/workflows/src/tui/graph-view-render.ts +171 -190
  583. package/dist/builtin/workflows/src/tui/graph-view-state.ts +319 -287
  584. package/dist/builtin/workflows/src/tui/graph-view-types.ts +65 -58
  585. package/dist/builtin/workflows/src/tui/header.ts +140 -156
  586. package/dist/builtin/workflows/src/tui/host-input-form.ts +47 -45
  587. package/dist/builtin/workflows/src/tui/inline-form-card.ts +277 -266
  588. package/dist/builtin/workflows/src/tui/inline-form-editor-text.ts +61 -62
  589. package/dist/builtin/workflows/src/tui/inline-form-editor.ts +407 -412
  590. package/dist/builtin/workflows/src/tui/inline-form-overlay.ts +203 -214
  591. package/dist/builtin/workflows/src/tui/inline-form-store.ts +24 -24
  592. package/dist/builtin/workflows/src/tui/inputs-overlay.ts +116 -129
  593. package/dist/builtin/workflows/src/tui/inputs-picker-editing.ts +111 -115
  594. package/dist/builtin/workflows/src/tui/inputs-picker-input.ts +255 -269
  595. package/dist/builtin/workflows/src/tui/inputs-picker-render.ts +248 -236
  596. package/dist/builtin/workflows/src/tui/inputs-picker-types.ts +111 -140
  597. package/dist/builtin/workflows/src/tui/inputs-picker.ts +12 -12
  598. package/dist/builtin/workflows/src/tui/keybindings-adapter.ts +49 -57
  599. package/dist/builtin/workflows/src/tui/layout.ts +124 -133
  600. package/dist/builtin/workflows/src/tui/mouse-input.ts +45 -47
  601. package/dist/builtin/workflows/src/tui/node-card.ts +230 -218
  602. package/dist/builtin/workflows/src/tui/overlay-adapter.ts +381 -398
  603. package/dist/builtin/workflows/src/tui/overlay-terminal-modes.ts +20 -19
  604. package/dist/builtin/workflows/src/tui/prompt-card-input.ts +183 -194
  605. package/dist/builtin/workflows/src/tui/prompt-card-render.ts +243 -302
  606. package/dist/builtin/workflows/src/tui/prompt-card-select.ts +76 -98
  607. package/dist/builtin/workflows/src/tui/prompt-card-state.ts +40 -40
  608. package/dist/builtin/workflows/src/tui/prompt-card-text.ts +76 -83
  609. package/dist/builtin/workflows/src/tui/prompt-card.ts +3 -3
  610. package/dist/builtin/workflows/src/tui/renderers.ts +6 -6
  611. package/dist/builtin/workflows/src/tui/run-detail.ts +300 -256
  612. package/dist/builtin/workflows/src/tui/session-list.ts +19 -18
  613. package/dist/builtin/workflows/src/tui/session-overlays.ts +82 -87
  614. package/dist/builtin/workflows/src/tui/session-picker.ts +258 -275
  615. package/dist/builtin/workflows/src/tui/stage-chat-composer-drafts.ts +11 -11
  616. package/dist/builtin/workflows/src/tui/stage-chat-layout.ts +55 -62
  617. package/dist/builtin/workflows/src/tui/stage-chat-view-archive-history.ts +220 -263
  618. package/dist/builtin/workflows/src/tui/stage-chat-view-custom-ui.ts +91 -102
  619. package/dist/builtin/workflows/src/tui/stage-chat-view-delivery-activity.ts +113 -0
  620. package/dist/builtin/workflows/src/tui/stage-chat-view-footer-status.ts +154 -208
  621. package/dist/builtin/workflows/src/tui/stage-chat-view-input.ts +174 -208
  622. package/dist/builtin/workflows/src/tui/stage-chat-view-live-events.ts +53 -23
  623. package/dist/builtin/workflows/src/tui/stage-chat-view-pending-tools.ts +2 -4
  624. package/dist/builtin/workflows/src/tui/stage-chat-view-render-helpers.ts +85 -88
  625. package/dist/builtin/workflows/src/tui/stage-chat-view-render-settings.ts +39 -17
  626. package/dist/builtin/workflows/src/tui/stage-chat-view-state.ts +435 -409
  627. package/dist/builtin/workflows/src/tui/stage-chat-view-status.ts +24 -25
  628. package/dist/builtin/workflows/src/tui/stage-chat-view-transcript.ts +181 -197
  629. package/dist/builtin/workflows/src/tui/stage-chat-view-types.ts +125 -128
  630. package/dist/builtin/workflows/src/tui/stage-chat-view.ts +210 -205
  631. package/dist/builtin/workflows/src/tui/status-helpers.ts +65 -69
  632. package/dist/builtin/workflows/src/tui/status-list.ts +316 -294
  633. package/dist/builtin/workflows/src/tui/store-widget-installer.ts +213 -214
  634. package/dist/builtin/workflows/src/tui/submit-pane.ts +114 -130
  635. package/dist/builtin/workflows/src/tui/switcher.ts +120 -128
  636. package/dist/builtin/workflows/src/tui/text-helpers.ts +136 -145
  637. package/dist/builtin/workflows/src/tui/toast.ts +68 -67
  638. package/dist/builtin/workflows/src/tui/widget.ts +265 -285
  639. package/dist/builtin/workflows/src/tui/workflow-attach-pane-handle.ts +12 -17
  640. package/dist/builtin/workflows/src/tui/workflow-attach-pane-types.ts +81 -91
  641. package/dist/builtin/workflows/src/tui/workflow-attach-pane.ts +468 -479
  642. package/dist/builtin/workflows/src/tui/workflow-list.ts +130 -145
  643. package/dist/builtin/workflows/src/tui/workflow-notice-card.ts +127 -144
  644. package/dist/builtin/workflows/src/tui/workflow-resume-selector.ts +217 -217
  645. package/dist/builtin/workflows/src/tui/workflow-status.ts +7 -0
  646. package/dist/builtin/workflows/src/workflows/identity.ts +12 -12
  647. package/dist/builtin/workflows/src/workflows/registry.ts +66 -68
  648. package/dist/bun/cli.js.map +1 -1
  649. package/dist/bun/internal-intercom-broker.d.ts.map +1 -1
  650. package/dist/bun/internal-intercom-broker.js +1 -1
  651. package/dist/bun/internal-intercom-broker.js.map +1 -1
  652. package/dist/bun/register-bedrock.js +1 -1
  653. package/dist/bun/register-bedrock.js.map +1 -1
  654. package/dist/cli/args.d.ts +8 -1
  655. package/dist/cli/args.d.ts.map +1 -1
  656. package/dist/cli/args.js +28 -22
  657. package/dist/cli/args.js.map +1 -1
  658. package/dist/cli/config-selector.d.ts +4 -2
  659. package/dist/cli/config-selector.d.ts.map +1 -1
  660. package/dist/cli/config-selector.js +2 -2
  661. package/dist/cli/config-selector.js.map +1 -1
  662. package/dist/cli/credential-print.d.ts +170 -0
  663. package/dist/cli/credential-print.d.ts.map +1 -0
  664. package/dist/cli/credential-print.js +513 -0
  665. package/dist/cli/credential-print.js.map +1 -0
  666. package/dist/cli/list-models.d.ts +2 -2
  667. package/dist/cli/list-models.d.ts.map +1 -1
  668. package/dist/cli/list-models.js +6 -7
  669. package/dist/cli/list-models.js.map +1 -1
  670. package/dist/cli/project-trust.d.ts +1 -1
  671. package/dist/cli/project-trust.d.ts.map +1 -1
  672. package/dist/cli/project-trust.js.map +1 -1
  673. package/dist/cli/session-picker.d.ts.map +1 -1
  674. package/dist/cli/session-picker.js +2 -1
  675. package/dist/cli/session-picker.js.map +1 -1
  676. package/dist/cli/startup-ui.d.ts +3 -0
  677. package/dist/cli/startup-ui.d.ts.map +1 -1
  678. package/dist/cli/startup-ui.js +58 -2
  679. package/dist/cli/startup-ui.js.map +1 -1
  680. package/dist/cli.js +2 -0
  681. package/dist/cli.js.map +1 -1
  682. package/dist/config-command-parser.d.ts +9 -0
  683. package/dist/config-command-parser.d.ts.map +1 -0
  684. package/dist/config-command-parser.js +22 -0
  685. package/dist/config-command-parser.js.map +1 -0
  686. package/dist/config-self-update.d.ts +6 -2
  687. package/dist/config-self-update.d.ts.map +1 -1
  688. package/dist/config-self-update.js +23 -13
  689. package/dist/config-self-update.js.map +1 -1
  690. package/dist/config.d.ts +5 -3
  691. package/dist/config.d.ts.map +1 -1
  692. package/dist/config.js +36 -14
  693. package/dist/config.js.map +1 -1
  694. package/dist/core/agent-session-accessors.d.ts.map +1 -1
  695. package/dist/core/agent-session-accessors.js +125 -24
  696. package/dist/core/agent-session-accessors.js.map +1 -1
  697. package/dist/core/agent-session-auto-compaction.d.ts +4 -3
  698. package/dist/core/agent-session-auto-compaction.d.ts.map +1 -1
  699. package/dist/core/agent-session-auto-compaction.js +59 -64
  700. package/dist/core/agent-session-auto-compaction.js.map +1 -1
  701. package/dist/core/agent-session-bash.d.ts +10 -7
  702. package/dist/core/agent-session-bash.d.ts.map +1 -1
  703. package/dist/core/agent-session-bash.js +34 -13
  704. package/dist/core/agent-session-bash.js.map +1 -1
  705. package/dist/core/agent-session-compaction.d.ts +11 -1
  706. package/dist/core/agent-session-compaction.d.ts.map +1 -1
  707. package/dist/core/agent-session-compaction.js +138 -27
  708. package/dist/core/agent-session-compaction.js.map +1 -1
  709. package/dist/core/agent-session-custom-message-commit.d.ts +14 -0
  710. package/dist/core/agent-session-custom-message-commit.d.ts.map +1 -0
  711. package/dist/core/agent-session-custom-message-commit.js +145 -0
  712. package/dist/core/agent-session-custom-message-commit.js.map +1 -0
  713. package/dist/core/agent-session-delivery-forwarding.d.ts +9 -0
  714. package/dist/core/agent-session-delivery-forwarding.d.ts.map +1 -0
  715. package/dist/core/agent-session-delivery-forwarding.js +36 -0
  716. package/dist/core/agent-session-delivery-forwarding.js.map +1 -0
  717. package/dist/core/agent-session-events.d.ts +1 -1
  718. package/dist/core/agent-session-events.d.ts.map +1 -1
  719. package/dist/core/agent-session-events.js +57 -19
  720. package/dist/core/agent-session-events.js.map +1 -1
  721. package/dist/core/agent-session-export.d.ts +1 -1
  722. package/dist/core/agent-session-export.d.ts.map +1 -1
  723. package/dist/core/agent-session-export.js +32 -25
  724. package/dist/core/agent-session-export.js.map +1 -1
  725. package/dist/core/agent-session-extension-bindings.d.ts +2 -6
  726. package/dist/core/agent-session-extension-bindings.d.ts.map +1 -1
  727. package/dist/core/agent-session-extension-bindings.js +38 -18
  728. package/dist/core/agent-session-extension-bindings.js.map +1 -1
  729. package/dist/core/agent-session-message-queue.d.ts +7 -4
  730. package/dist/core/agent-session-message-queue.d.ts.map +1 -1
  731. package/dist/core/agent-session-message-queue.js +101 -98
  732. package/dist/core/agent-session-message-queue.js.map +1 -1
  733. package/dist/core/agent-session-methods.d.ts +52 -45
  734. package/dist/core/agent-session-methods.d.ts.map +1 -1
  735. package/dist/core/agent-session-methods.js.map +1 -1
  736. package/dist/core/agent-session-models.d.ts +3 -39
  737. package/dist/core/agent-session-models.d.ts.map +1 -1
  738. package/dist/core/agent-session-models.js +22 -160
  739. package/dist/core/agent-session-models.js.map +1 -1
  740. package/dist/core/agent-session-persistent-custom-messages.d.ts +47 -0
  741. package/dist/core/agent-session-persistent-custom-messages.d.ts.map +1 -0
  742. package/dist/core/agent-session-persistent-custom-messages.js +269 -0
  743. package/dist/core/agent-session-persistent-custom-messages.js.map +1 -0
  744. package/dist/core/agent-session-post-tool-compaction.d.ts +1 -1
  745. package/dist/core/agent-session-post-tool-compaction.d.ts.map +1 -1
  746. package/dist/core/agent-session-post-tool-compaction.js +34 -11
  747. package/dist/core/agent-session-post-tool-compaction.js.map +1 -1
  748. package/dist/core/agent-session-prompt.d.ts +2 -0
  749. package/dist/core/agent-session-prompt.d.ts.map +1 -1
  750. package/dist/core/agent-session-prompt.js +52 -25
  751. package/dist/core/agent-session-prompt.js.map +1 -1
  752. package/dist/core/agent-session-queue-pause.d.ts +10 -0
  753. package/dist/core/agent-session-queue-pause.d.ts.map +1 -0
  754. package/dist/core/agent-session-queue-pause.js +87 -0
  755. package/dist/core/agent-session-queue-pause.js.map +1 -0
  756. package/dist/core/agent-session-retry.d.ts +0 -11
  757. package/dist/core/agent-session-retry.d.ts.map +1 -1
  758. package/dist/core/agent-session-retry.js +38 -64
  759. package/dist/core/agent-session-retry.js.map +1 -1
  760. package/dist/core/agent-session-runtime-auth.d.ts +6 -0
  761. package/dist/core/agent-session-runtime-auth.d.ts.map +1 -0
  762. package/dist/core/agent-session-runtime-auth.js +18 -0
  763. package/dist/core/agent-session-runtime-auth.js.map +1 -0
  764. package/dist/core/agent-session-runtime.d.ts +25 -3
  765. package/dist/core/agent-session-runtime.d.ts.map +1 -1
  766. package/dist/core/agent-session-runtime.js +55 -11
  767. package/dist/core/agent-session-runtime.js.map +1 -1
  768. package/dist/core/agent-session-services.d.ts +4 -9
  769. package/dist/core/agent-session-services.d.ts.map +1 -1
  770. package/dist/core/agent-session-services.js +25 -25
  771. package/dist/core/agent-session-services.js.map +1 -1
  772. package/dist/core/agent-session-state.d.ts +1 -1
  773. package/dist/core/agent-session-state.d.ts.map +1 -1
  774. package/dist/core/agent-session-state.js +3 -0
  775. package/dist/core/agent-session-state.js.map +1 -1
  776. package/dist/core/agent-session-tool-hooks.d.ts.map +1 -1
  777. package/dist/core/agent-session-tool-hooks.js +8 -7
  778. package/dist/core/agent-session-tool-hooks.js.map +1 -1
  779. package/dist/core/agent-session-tool-registry.d.ts.map +1 -1
  780. package/dist/core/agent-session-tool-registry.js +6 -20
  781. package/dist/core/agent-session-tool-registry.js.map +1 -1
  782. package/dist/core/agent-session-transfer.d.ts +4 -0
  783. package/dist/core/agent-session-transfer.d.ts.map +1 -0
  784. package/dist/core/agent-session-transfer.js +67 -0
  785. package/dist/core/agent-session-transfer.js.map +1 -0
  786. package/dist/core/agent-session-tree.d.ts +1 -1
  787. package/dist/core/agent-session-tree.d.ts.map +1 -1
  788. package/dist/core/agent-session-tree.js +13 -3
  789. package/dist/core/agent-session-tree.js.map +1 -1
  790. package/dist/core/agent-session-types.d.ts +28 -14
  791. package/dist/core/agent-session-types.d.ts.map +1 -1
  792. package/dist/core/agent-session-types.js +4 -4
  793. package/dist/core/agent-session-types.js.map +1 -1
  794. package/dist/core/agent-session.d.ts +27 -13
  795. package/dist/core/agent-session.d.ts.map +1 -1
  796. package/dist/core/agent-session.js +17 -12
  797. package/dist/core/agent-session.js.map +1 -1
  798. package/dist/core/anthropic-thinking-guard.d.ts.map +1 -1
  799. package/dist/core/anthropic-thinking-guard.js +4 -2
  800. package/dist/core/anthropic-thinking-guard.js.map +1 -1
  801. package/dist/core/async/format.d.ts +1 -1
  802. package/dist/core/async/format.d.ts.map +1 -1
  803. package/dist/core/async/format.js +3 -1
  804. package/dist/core/async/format.js.map +1 -1
  805. package/dist/core/async/job-manager.d.ts.map +1 -1
  806. package/dist/core/async/job-manager.js +20 -5
  807. package/dist/core/async/job-manager.js.map +1 -1
  808. package/dist/core/async/session-manager.d.ts.map +1 -1
  809. package/dist/core/async/session-manager.js.map +1 -1
  810. package/dist/core/atomic-guide-command.d.ts.map +1 -1
  811. package/dist/core/atomic-guide-command.js +32 -35
  812. package/dist/core/atomic-guide-command.js.map +1 -1
  813. package/dist/core/auth-guidance.d.ts.map +1 -1
  814. package/dist/core/auth-guidance.js.map +1 -1
  815. package/dist/core/auth-storage-backends.d.ts +1 -0
  816. package/dist/core/auth-storage-backends.d.ts.map +1 -1
  817. package/dist/core/auth-storage-backends.js +30 -5
  818. package/dist/core/auth-storage-backends.js.map +1 -1
  819. package/dist/core/auth-storage.d.ts +13 -136
  820. package/dist/core/auth-storage.d.ts.map +1 -1
  821. package/dist/core/auth-storage.js +69 -375
  822. package/dist/core/auth-storage.js.map +1 -1
  823. package/dist/core/bash-executor.d.ts +5 -3
  824. package/dist/core/bash-executor.d.ts.map +1 -1
  825. package/dist/core/bash-executor.js +5 -4
  826. package/dist/core/bash-executor.js.map +1 -1
  827. package/dist/core/builtin-packages.d.ts.map +1 -1
  828. package/dist/core/builtin-packages.js +1 -10
  829. package/dist/core/builtin-packages.js.map +1 -1
  830. package/dist/core/cache-stats.d.ts +25 -0
  831. package/dist/core/cache-stats.d.ts.map +1 -0
  832. package/dist/core/cache-stats.js +70 -0
  833. package/dist/core/cache-stats.js.map +1 -0
  834. package/dist/core/callback-activity.d.ts.map +1 -1
  835. package/dist/core/callback-activity.js.map +1 -1
  836. package/dist/core/codex-errors.d.ts.map +1 -1
  837. package/dist/core/codex-errors.js +1 -1
  838. package/dist/core/codex-errors.js.map +1 -1
  839. package/dist/core/codex-fast-mode.d.ts.map +1 -1
  840. package/dist/core/codex-fast-mode.js.map +1 -1
  841. package/dist/core/compaction/branch-summarization.d.ts +15 -5
  842. package/dist/core/compaction/branch-summarization.d.ts.map +1 -1
  843. package/dist/core/compaction/branch-summarization.js +23 -12
  844. package/dist/core/compaction/branch-summarization.js.map +1 -1
  845. package/dist/core/compaction/compaction-boundary.d.ts +18 -1
  846. package/dist/core/compaction/compaction-boundary.d.ts.map +1 -1
  847. package/dist/core/compaction/compaction-boundary.js +12 -8
  848. package/dist/core/compaction/compaction-boundary.js.map +1 -1
  849. package/dist/core/compaction/compaction-runner.d.ts +63 -6
  850. package/dist/core/compaction/compaction-runner.d.ts.map +1 -1
  851. package/dist/core/compaction/compaction-runner.js +244 -17
  852. package/dist/core/compaction/compaction-runner.js.map +1 -1
  853. package/dist/core/compaction/compaction-types.d.ts +53 -2
  854. package/dist/core/compaction/compaction-types.d.ts.map +1 -1
  855. package/dist/core/compaction/compaction-types.js.map +1 -1
  856. package/dist/core/compaction/compaction.d.ts.map +1 -1
  857. package/dist/core/compaction/compaction.js +5 -1
  858. package/dist/core/compaction/compaction.js.map +1 -1
  859. package/dist/core/compaction/deleted-ranges.d.ts.map +1 -1
  860. package/dist/core/compaction/deleted-ranges.js.map +1 -1
  861. package/dist/core/compaction/fallback-planner.d.ts +64 -0
  862. package/dist/core/compaction/fallback-planner.d.ts.map +1 -0
  863. package/dist/core/compaction/fallback-planner.js +75 -0
  864. package/dist/core/compaction/fallback-planner.js.map +1 -0
  865. package/dist/core/compaction/index.d.ts +7 -4
  866. package/dist/core/compaction/index.d.ts.map +1 -1
  867. package/dist/core/compaction/index.js +7 -4
  868. package/dist/core/compaction/index.js.map +1 -1
  869. package/dist/core/compaction/planner-outcome.d.ts +86 -0
  870. package/dist/core/compaction/planner-outcome.d.ts.map +1 -0
  871. package/dist/core/compaction/planner-outcome.js +122 -0
  872. package/dist/core/compaction/planner-outcome.js.map +1 -0
  873. package/dist/core/compaction/range-planner-diagnostics.d.ts +58 -6
  874. package/dist/core/compaction/range-planner-diagnostics.d.ts.map +1 -1
  875. package/dist/core/compaction/range-planner-diagnostics.js +71 -31
  876. package/dist/core/compaction/range-planner-diagnostics.js.map +1 -1
  877. package/dist/core/compaction/range-planner.d.ts +39 -8
  878. package/dist/core/compaction/range-planner.d.ts.map +1 -1
  879. package/dist/core/compaction/range-planner.js +140 -51
  880. package/dist/core/compaction/range-planner.js.map +1 -1
  881. package/dist/core/compaction/region-trimming.d.ts +34 -0
  882. package/dist/core/compaction/region-trimming.d.ts.map +1 -0
  883. package/dist/core/compaction/region-trimming.js +73 -0
  884. package/dist/core/compaction/region-trimming.js.map +1 -0
  885. package/dist/core/compaction/transcript-serialization.d.ts +8 -1
  886. package/dist/core/compaction/transcript-serialization.d.ts.map +1 -1
  887. package/dist/core/compaction/transcript-serialization.js +78 -27
  888. package/dist/core/compaction/transcript-serialization.js.map +1 -1
  889. package/dist/core/context-tool-pairing.d.ts +19 -0
  890. package/dist/core/context-tool-pairing.d.ts.map +1 -0
  891. package/dist/core/context-tool-pairing.js +50 -0
  892. package/dist/core/context-tool-pairing.js.map +1 -0
  893. package/dist/core/copilot-env-routing.d.ts +36 -0
  894. package/dist/core/copilot-env-routing.d.ts.map +1 -0
  895. package/dist/core/copilot-env-routing.js +94 -0
  896. package/dist/core/copilot-env-routing.js.map +1 -0
  897. package/dist/core/diagnostics.d.ts +8 -0
  898. package/dist/core/diagnostics.d.ts.map +1 -1
  899. package/dist/core/diagnostics.js.map +1 -1
  900. package/dist/core/exec.d.ts.map +1 -1
  901. package/dist/core/exec.js +5 -0
  902. package/dist/core/exec.js.map +1 -1
  903. package/dist/core/experimental.d.ts.map +1 -1
  904. package/dist/core/experimental.js +2 -1
  905. package/dist/core/experimental.js.map +1 -1
  906. package/dist/core/extensions/agent-events.d.ts +10 -0
  907. package/dist/core/extensions/agent-events.d.ts.map +1 -1
  908. package/dist/core/extensions/agent-events.js.map +1 -1
  909. package/dist/core/extensions/api-types.d.ts +9 -3
  910. package/dist/core/extensions/api-types.d.ts.map +1 -1
  911. package/dist/core/extensions/api-types.js.map +1 -1
  912. package/dist/core/extensions/context-types.d.ts +10 -1
  913. package/dist/core/extensions/context-types.d.ts.map +1 -1
  914. package/dist/core/extensions/context-types.js.map +1 -1
  915. package/dist/core/extensions/event-types.d.ts +2 -2
  916. package/dist/core/extensions/event-types.d.ts.map +1 -1
  917. package/dist/core/extensions/event-types.js.map +1 -1
  918. package/dist/core/extensions/index.d.ts +7 -5
  919. package/dist/core/extensions/index.d.ts.map +1 -1
  920. package/dist/core/extensions/index.js +2 -2
  921. package/dist/core/extensions/index.js.map +1 -1
  922. package/dist/core/extensions/loader-api.d.ts +1 -1
  923. package/dist/core/extensions/loader-api.d.ts.map +1 -1
  924. package/dist/core/extensions/loader-api.js +63 -29
  925. package/dist/core/extensions/loader-api.js.map +1 -1
  926. package/dist/core/extensions/loader-core.d.ts.map +1 -1
  927. package/dist/core/extensions/loader-core.js +3 -2
  928. package/dist/core/extensions/loader-core.js.map +1 -1
  929. package/dist/core/extensions/loader-discovery.d.ts.map +1 -1
  930. package/dist/core/extensions/loader-discovery.js.map +1 -1
  931. package/dist/core/extensions/loader-resources.d.ts.map +1 -1
  932. package/dist/core/extensions/loader-resources.js.map +1 -1
  933. package/dist/core/extensions/loader-runtime.d.ts +2 -4
  934. package/dist/core/extensions/loader-runtime.d.ts.map +1 -1
  935. package/dist/core/extensions/loader-runtime.js +214 -13
  936. package/dist/core/extensions/loader-runtime.js.map +1 -1
  937. package/dist/core/extensions/loader-virtual-modules.d.ts +17 -0
  938. package/dist/core/extensions/loader-virtual-modules.d.ts.map +1 -1
  939. package/dist/core/extensions/loader-virtual-modules.js +288 -19
  940. package/dist/core/extensions/loader-virtual-modules.js.map +1 -1
  941. package/dist/core/extensions/loader.d.ts.map +1 -1
  942. package/dist/core/extensions/loader.js.map +1 -1
  943. package/dist/core/extensions/message-types.d.ts +12 -4
  944. package/dist/core/extensions/message-types.d.ts.map +1 -1
  945. package/dist/core/extensions/message-types.js.map +1 -1
  946. package/dist/core/extensions/provider-types.d.ts +16 -5
  947. package/dist/core/extensions/provider-types.d.ts.map +1 -1
  948. package/dist/core/extensions/provider-types.js.map +1 -1
  949. package/dist/core/extensions/reactive-widget.d.ts.map +1 -1
  950. package/dist/core/extensions/reactive-widget.js.map +1 -1
  951. package/dist/core/extensions/runner-context.d.ts +29 -1
  952. package/dist/core/extensions/runner-context.d.ts.map +1 -1
  953. package/dist/core/extensions/runner-context.js +56 -0
  954. package/dist/core/extensions/runner-context.js.map +1 -1
  955. package/dist/core/extensions/runner-events.d.ts.map +1 -1
  956. package/dist/core/extensions/runner-events.js.map +1 -1
  957. package/dist/core/extensions/runner-registries.d.ts +2 -1
  958. package/dist/core/extensions/runner-registries.d.ts.map +1 -1
  959. package/dist/core/extensions/runner-registries.js +8 -0
  960. package/dist/core/extensions/runner-registries.js.map +1 -1
  961. package/dist/core/extensions/runner.d.ts +7 -2
  962. package/dist/core/extensions/runner.d.ts.map +1 -1
  963. package/dist/core/extensions/runner.js +65 -23
  964. package/dist/core/extensions/runner.js.map +1 -1
  965. package/dist/core/extensions/runtime-types.d.ts +35 -2
  966. package/dist/core/extensions/runtime-types.d.ts.map +1 -1
  967. package/dist/core/extensions/runtime-types.js.map +1 -1
  968. package/dist/core/extensions/session-events.d.ts.map +1 -1
  969. package/dist/core/extensions/session-events.js.map +1 -1
  970. package/dist/core/extensions/tool-types.d.ts +7 -3
  971. package/dist/core/extensions/tool-types.d.ts.map +1 -1
  972. package/dist/core/extensions/tool-types.js.map +1 -1
  973. package/dist/core/extensions/types.d.ts +15 -2
  974. package/dist/core/extensions/types.d.ts.map +1 -1
  975. package/dist/core/extensions/types.js +1 -1
  976. package/dist/core/extensions/types.js.map +1 -1
  977. package/dist/core/extensions/ui-types.d.ts +34 -6
  978. package/dist/core/extensions/ui-types.d.ts.map +1 -1
  979. package/dist/core/extensions/ui-types.js.map +1 -1
  980. package/dist/core/fallback-models.d.ts +37 -0
  981. package/dist/core/fallback-models.d.ts.map +1 -0
  982. package/dist/core/fallback-models.js +57 -0
  983. package/dist/core/fallback-models.js.map +1 -0
  984. package/dist/core/flattened-tool-arguments.d.ts +4 -7
  985. package/dist/core/flattened-tool-arguments.d.ts.map +1 -1
  986. package/dist/core/flattened-tool-arguments.js +4 -7
  987. package/dist/core/flattened-tool-arguments.js.map +1 -1
  988. package/dist/core/footer-data-provider.d.ts +10 -0
  989. package/dist/core/footer-data-provider.d.ts.map +1 -1
  990. package/dist/core/footer-data-provider.js +5 -3
  991. package/dist/core/footer-data-provider.js.map +1 -1
  992. package/dist/core/http-dispatcher.d.ts +1 -0
  993. package/dist/core/http-dispatcher.d.ts.map +1 -1
  994. package/dist/core/http-dispatcher.js +42 -8
  995. package/dist/core/http-dispatcher.js.map +1 -1
  996. package/dist/core/keybindings.d.ts +7 -2
  997. package/dist/core/keybindings.d.ts.map +1 -1
  998. package/dist/core/keybindings.js +3 -1
  999. package/dist/core/keybindings.js.map +1 -1
  1000. package/dist/core/messages.d.ts +24 -4
  1001. package/dist/core/messages.d.ts.map +1 -1
  1002. package/dist/core/messages.js +64 -13
  1003. package/dist/core/messages.js.map +1 -1
  1004. package/dist/core/model-capabilities.d.ts +18 -0
  1005. package/dist/core/model-capabilities.d.ts.map +1 -0
  1006. package/dist/core/model-capabilities.js +22 -0
  1007. package/dist/core/model-capabilities.js.map +1 -0
  1008. package/dist/core/model-config.d.ts +542 -0
  1009. package/dist/core/model-config.d.ts.map +1 -0
  1010. package/dist/core/{model-registry-schemas.js → model-config.js} +92 -32
  1011. package/dist/core/model-config.js.map +1 -0
  1012. package/dist/core/model-refresh-timeout.d.ts +9 -0
  1013. package/dist/core/model-refresh-timeout.d.ts.map +1 -0
  1014. package/dist/core/model-refresh-timeout.js +9 -0
  1015. package/dist/core/model-refresh-timeout.js.map +1 -0
  1016. package/dist/core/model-registry.d.ts +26 -94
  1017. package/dist/core/model-registry.d.ts.map +1 -1
  1018. package/dist/core/model-registry.js +65 -382
  1019. package/dist/core/model-registry.js.map +1 -1
  1020. package/dist/core/model-resolver-cli.d.ts +2 -2
  1021. package/dist/core/model-resolver-cli.d.ts.map +1 -1
  1022. package/dist/core/model-resolver-cli.js +2 -2
  1023. package/dist/core/model-resolver-cli.js.map +1 -1
  1024. package/dist/core/model-resolver-defaults.d.ts.map +1 -1
  1025. package/dist/core/model-resolver-defaults.js +5 -1
  1026. package/dist/core/model-resolver-defaults.js.map +1 -1
  1027. package/dist/core/model-resolver-initial.d.ts +4 -4
  1028. package/dist/core/model-resolver-initial.d.ts.map +1 -1
  1029. package/dist/core/model-resolver-initial.js +26 -17
  1030. package/dist/core/model-resolver-initial.js.map +1 -1
  1031. package/dist/core/model-resolver-patterns.d.ts.map +1 -1
  1032. package/dist/core/model-resolver-patterns.js +0 -2
  1033. package/dist/core/model-resolver-patterns.js.map +1 -1
  1034. package/dist/core/model-resolver-scope.d.ts +5 -3
  1035. package/dist/core/model-resolver-scope.d.ts.map +1 -1
  1036. package/dist/core/model-resolver-scope.js +32 -8
  1037. package/dist/core/model-resolver-scope.js.map +1 -1
  1038. package/dist/core/model-resolver-types.d.ts +2 -0
  1039. package/dist/core/model-resolver-types.d.ts.map +1 -1
  1040. package/dist/core/model-resolver-types.js.map +1 -1
  1041. package/dist/core/model-resolver.d.ts +3 -3
  1042. package/dist/core/model-resolver.d.ts.map +1 -1
  1043. package/dist/core/model-resolver.js +1 -1
  1044. package/dist/core/model-resolver.js.map +1 -1
  1045. package/dist/core/model-runtime-auth.d.ts +7 -0
  1046. package/dist/core/model-runtime-auth.d.ts.map +1 -0
  1047. package/dist/core/model-runtime-auth.js +17 -0
  1048. package/dist/core/model-runtime-auth.js.map +1 -0
  1049. package/dist/core/model-runtime-providers.d.ts +6 -0
  1050. package/dist/core/model-runtime-providers.d.ts.map +1 -0
  1051. package/dist/core/model-runtime-providers.js +22 -0
  1052. package/dist/core/model-runtime-providers.js.map +1 -0
  1053. package/dist/core/model-runtime-restoration.d.ts +6 -0
  1054. package/dist/core/model-runtime-restoration.d.ts.map +1 -0
  1055. package/dist/core/model-runtime-restoration.js +21 -0
  1056. package/dist/core/model-runtime-restoration.js.map +1 -0
  1057. package/dist/core/model-runtime-snapshot.d.ts +19 -0
  1058. package/dist/core/model-runtime-snapshot.d.ts.map +1 -0
  1059. package/dist/core/model-runtime-snapshot.js +111 -0
  1060. package/dist/core/model-runtime-snapshot.js.map +1 -0
  1061. package/dist/core/model-runtime-streaming.d.ts +17 -0
  1062. package/dist/core/model-runtime-streaming.d.ts.map +1 -0
  1063. package/dist/core/model-runtime-streaming.js +66 -0
  1064. package/dist/core/model-runtime-streaming.js.map +1 -0
  1065. package/dist/core/model-runtime-types.d.ts +21 -0
  1066. package/dist/core/model-runtime-types.d.ts.map +1 -0
  1067. package/dist/core/model-runtime-types.js +2 -0
  1068. package/dist/core/model-runtime-types.js.map +1 -0
  1069. package/dist/core/model-runtime.d.ts +79 -0
  1070. package/dist/core/model-runtime.d.ts.map +1 -0
  1071. package/dist/core/model-runtime.js +417 -0
  1072. package/dist/core/model-runtime.js.map +1 -0
  1073. package/dist/core/models-store.d.ts +2 -10
  1074. package/dist/core/models-store.d.ts.map +1 -1
  1075. package/dist/core/models-store.js +2 -29
  1076. package/dist/core/models-store.js.map +1 -1
  1077. package/dist/core/oauth-login.d.ts +24 -0
  1078. package/dist/core/oauth-login.d.ts.map +1 -0
  1079. package/dist/core/oauth-login.js +92 -0
  1080. package/dist/core/oauth-login.js.map +1 -0
  1081. package/dist/core/oauth-provider-metadata.d.ts +5 -0
  1082. package/dist/core/oauth-provider-metadata.d.ts.map +1 -0
  1083. package/dist/core/oauth-provider-metadata.js +33 -0
  1084. package/dist/core/oauth-provider-metadata.js.map +1 -0
  1085. package/dist/core/openai-responses-payload-sanitizer.js.map +1 -1
  1086. package/dist/core/output-guard.d.ts +44 -0
  1087. package/dist/core/output-guard.d.ts.map +1 -1
  1088. package/dist/core/output-guard.js +63 -0
  1089. package/dist/core/output-guard.js.map +1 -1
  1090. package/dist/core/package-manager-auto-resources.d.ts.map +1 -1
  1091. package/dist/core/package-manager-auto-resources.js +18 -5
  1092. package/dist/core/package-manager-auto-resources.js.map +1 -1
  1093. package/dist/core/package-manager-git.d.ts.map +1 -1
  1094. package/dist/core/package-manager-git.js +27 -11
  1095. package/dist/core/package-manager-git.js.map +1 -1
  1096. package/dist/core/package-manager-npm.d.ts.map +1 -1
  1097. package/dist/core/package-manager-npm.js +4 -2
  1098. package/dist/core/package-manager-npm.js.map +1 -1
  1099. package/dist/core/package-manager-operations.d.ts.map +1 -1
  1100. package/dist/core/package-manager-operations.js +2 -2
  1101. package/dist/core/package-manager-operations.js.map +1 -1
  1102. package/dist/core/package-manager-paths.d.ts.map +1 -1
  1103. package/dist/core/package-manager-paths.js.map +1 -1
  1104. package/dist/core/package-manager-resolver.d.ts.map +1 -1
  1105. package/dist/core/package-manager-resolver.js +71 -26
  1106. package/dist/core/package-manager-resolver.js.map +1 -1
  1107. package/dist/core/package-manager-resource-collector.d.ts.map +1 -1
  1108. package/dist/core/package-manager-resource-collector.js +13 -7
  1109. package/dist/core/package-manager-resource-collector.js.map +1 -1
  1110. package/dist/core/package-manager-resource-files.d.ts.map +1 -1
  1111. package/dist/core/package-manager-resource-files.js +4 -3
  1112. package/dist/core/package-manager-resource-files.js.map +1 -1
  1113. package/dist/core/package-manager-resource-patterns.d.ts +1 -0
  1114. package/dist/core/package-manager-resource-patterns.d.ts.map +1 -1
  1115. package/dist/core/package-manager-resource-patterns.js +15 -0
  1116. package/dist/core/package-manager-resource-patterns.js.map +1 -1
  1117. package/dist/core/package-manager-settings.d.ts.map +1 -1
  1118. package/dist/core/package-manager-settings.js +3 -2
  1119. package/dist/core/package-manager-settings.js.map +1 -1
  1120. package/dist/core/package-manager-source.d.ts.map +1 -1
  1121. package/dist/core/package-manager-source.js +16 -9
  1122. package/dist/core/package-manager-source.js.map +1 -1
  1123. package/dist/core/package-manager-types.d.ts +3 -0
  1124. package/dist/core/package-manager-types.d.ts.map +1 -1
  1125. package/dist/core/package-manager-types.js.map +1 -1
  1126. package/dist/core/package-manager.d.ts +1 -1
  1127. package/dist/core/package-manager.d.ts.map +1 -1
  1128. package/dist/core/package-manager.js +2 -3
  1129. package/dist/core/package-manager.js.map +1 -1
  1130. package/dist/core/prompt-templates-async.d.ts.map +1 -1
  1131. package/dist/core/prompt-templates-async.js +15 -7
  1132. package/dist/core/prompt-templates-async.js.map +1 -1
  1133. package/dist/core/prompt-templates.d.ts +1 -0
  1134. package/dist/core/prompt-templates.d.ts.map +1 -1
  1135. package/dist/core/prompt-templates.js +4 -4
  1136. package/dist/core/prompt-templates.js.map +1 -1
  1137. package/dist/core/provider-composer-internal.d.ts +53 -0
  1138. package/dist/core/provider-composer-internal.d.ts.map +1 -0
  1139. package/dist/core/provider-composer-internal.js +273 -0
  1140. package/dist/core/provider-composer-internal.js.map +1 -0
  1141. package/dist/core/provider-composer.d.ts +16 -0
  1142. package/dist/core/provider-composer.d.ts.map +1 -0
  1143. package/dist/core/provider-composer.js +108 -0
  1144. package/dist/core/provider-composer.js.map +1 -0
  1145. package/dist/core/provider-context-usage.d.ts.map +1 -1
  1146. package/dist/core/provider-context-usage.js +2 -1
  1147. package/dist/core/provider-context-usage.js.map +1 -1
  1148. package/dist/core/provider-display-names.d.ts.map +1 -1
  1149. package/dist/core/provider-display-names.js +4 -0
  1150. package/dist/core/provider-display-names.js.map +1 -1
  1151. package/dist/core/remote-catalog-provider.d.ts +1 -1
  1152. package/dist/core/remote-catalog-provider.d.ts.map +1 -1
  1153. package/dist/core/remote-catalog-provider.js +82 -105
  1154. package/dist/core/remote-catalog-provider.js.map +1 -1
  1155. package/dist/core/resolve-config-value.d.ts +8 -7
  1156. package/dist/core/resolve-config-value.d.ts.map +1 -1
  1157. package/dist/core/resolve-config-value.js +26 -23
  1158. package/dist/core/resolve-config-value.js.map +1 -1
  1159. package/dist/core/resource-loader-assets.d.ts.map +1 -1
  1160. package/dist/core/resource-loader-assets.js +58 -8
  1161. package/dist/core/resource-loader-assets.js.map +1 -1
  1162. package/dist/core/resource-loader-context-files.d.ts +6 -0
  1163. package/dist/core/resource-loader-context-files.d.ts.map +1 -1
  1164. package/dist/core/resource-loader-context-files.js +85 -4
  1165. package/dist/core/resource-loader-context-files.js.map +1 -1
  1166. package/dist/core/resource-loader-core.d.ts +13 -3
  1167. package/dist/core/resource-loader-core.d.ts.map +1 -1
  1168. package/dist/core/resource-loader-core.js +39 -19
  1169. package/dist/core/resource-loader-core.js.map +1 -1
  1170. package/dist/core/resource-loader-discovery.d.ts.map +1 -1
  1171. package/dist/core/resource-loader-discovery.js.map +1 -1
  1172. package/dist/core/resource-loader-extensions.d.ts +1 -0
  1173. package/dist/core/resource-loader-extensions.d.ts.map +1 -1
  1174. package/dist/core/resource-loader-extensions.js +140 -12
  1175. package/dist/core/resource-loader-extensions.js.map +1 -1
  1176. package/dist/core/resource-loader-helpers.d.ts.map +1 -1
  1177. package/dist/core/resource-loader-helpers.js +1 -0
  1178. package/dist/core/resource-loader-helpers.js.map +1 -1
  1179. package/dist/core/resource-loader-internals.d.ts +14 -7
  1180. package/dist/core/resource-loader-internals.d.ts.map +1 -1
  1181. package/dist/core/resource-loader-internals.js.map +1 -1
  1182. package/dist/core/resource-loader-package-resources.d.ts.map +1 -1
  1183. package/dist/core/resource-loader-package-resources.js +15 -2
  1184. package/dist/core/resource-loader-package-resources.js.map +1 -1
  1185. package/dist/core/resource-loader-paths.js.map +1 -1
  1186. package/dist/core/resource-loader-reload.d.ts.map +1 -1
  1187. package/dist/core/resource-loader-reload.js +29 -13
  1188. package/dist/core/resource-loader-reload.js.map +1 -1
  1189. package/dist/core/resource-loader-source-info.d.ts +1 -1
  1190. package/dist/core/resource-loader-source-info.d.ts.map +1 -1
  1191. package/dist/core/resource-loader-source-info.js +7 -4
  1192. package/dist/core/resource-loader-source-info.js.map +1 -1
  1193. package/dist/core/resource-loader-types.d.ts +12 -6
  1194. package/dist/core/resource-loader-types.d.ts.map +1 -1
  1195. package/dist/core/resource-loader-types.js.map +1 -1
  1196. package/dist/core/resource-loader.d.ts +1 -1
  1197. package/dist/core/resource-loader.d.ts.map +1 -1
  1198. package/dist/core/resource-loader.js +1 -1
  1199. package/dist/core/resource-loader.js.map +1 -1
  1200. package/dist/core/runtime-credentials.d.ts +16 -0
  1201. package/dist/core/runtime-credentials.d.ts.map +1 -0
  1202. package/dist/core/runtime-credentials.js +42 -0
  1203. package/dist/core/runtime-credentials.js.map +1 -0
  1204. package/dist/core/sdk-exports.d.ts +2 -2
  1205. package/dist/core/sdk-exports.d.ts.map +1 -1
  1206. package/dist/core/sdk-exports.js +2 -2
  1207. package/dist/core/sdk-exports.js.map +1 -1
  1208. package/dist/core/sdk-types.d.ts +16 -18
  1209. package/dist/core/sdk-types.d.ts.map +1 -1
  1210. package/dist/core/sdk-types.js.map +1 -1
  1211. package/dist/core/sdk.d.ts +2 -1
  1212. package/dist/core/sdk.d.ts.map +1 -1
  1213. package/dist/core/sdk.js +61 -132
  1214. package/dist/core/sdk.js.map +1 -1
  1215. package/dist/core/session-manager-archive.d.ts.map +1 -1
  1216. package/dist/core/session-manager-archive.js +5 -2
  1217. package/dist/core/session-manager-archive.js.map +1 -1
  1218. package/dist/core/session-manager-classification.js +3 -3
  1219. package/dist/core/session-manager-classification.js.map +1 -1
  1220. package/dist/core/session-manager-core.d.ts +5 -4
  1221. package/dist/core/session-manager-core.d.ts.map +1 -1
  1222. package/dist/core/session-manager-core.js +29 -33
  1223. package/dist/core/session-manager-core.js.map +1 -1
  1224. package/dist/core/session-manager-entries.d.ts +5 -8
  1225. package/dist/core/session-manager-entries.d.ts.map +1 -1
  1226. package/dist/core/session-manager-entries.js +4 -9
  1227. package/dist/core/session-manager-entries.js.map +1 -1
  1228. package/dist/core/session-manager-history.d.ts +8 -3
  1229. package/dist/core/session-manager-history.d.ts.map +1 -1
  1230. package/dist/core/session-manager-history.js +90 -27
  1231. package/dist/core/session-manager-history.js.map +1 -1
  1232. package/dist/core/session-manager-list.d.ts.map +1 -1
  1233. package/dist/core/session-manager-list.js +1 -1
  1234. package/dist/core/session-manager-list.js.map +1 -1
  1235. package/dist/core/session-manager-migrations.js.map +1 -1
  1236. package/dist/core/session-manager-storage.d.ts +6 -0
  1237. package/dist/core/session-manager-storage.d.ts.map +1 -1
  1238. package/dist/core/session-manager-storage.js +38 -5
  1239. package/dist/core/session-manager-storage.js.map +1 -1
  1240. package/dist/core/session-manager-types.d.ts +10 -8
  1241. package/dist/core/session-manager-types.d.ts.map +1 -1
  1242. package/dist/core/session-manager-types.js.map +1 -1
  1243. package/dist/core/session-manager-validation.d.ts.map +1 -1
  1244. package/dist/core/session-manager-validation.js +3 -16
  1245. package/dist/core/session-manager-validation.js.map +1 -1
  1246. package/dist/core/session-manager.d.ts +4 -4
  1247. package/dist/core/session-manager.d.ts.map +1 -1
  1248. package/dist/core/session-manager.js +2 -2
  1249. package/dist/core/session-manager.js.map +1 -1
  1250. package/dist/core/settings-manager-basic-accessors.d.ts +7 -4
  1251. package/dist/core/settings-manager-basic-accessors.d.ts.map +1 -1
  1252. package/dist/core/settings-manager-basic-accessors.js +35 -50
  1253. package/dist/core/settings-manager-basic-accessors.js.map +1 -1
  1254. package/dist/core/settings-manager-core.d.ts +2 -4
  1255. package/dist/core/settings-manager-core.d.ts.map +1 -1
  1256. package/dist/core/settings-manager-core.js +5 -51
  1257. package/dist/core/settings-manager-core.js.map +1 -1
  1258. package/dist/core/settings-manager-resource-accessors.d.ts +3 -0
  1259. package/dist/core/settings-manager-resource-accessors.d.ts.map +1 -1
  1260. package/dist/core/settings-manager-resource-accessors.js +16 -0
  1261. package/dist/core/settings-manager-resource-accessors.js.map +1 -1
  1262. package/dist/core/settings-manager-ui-accessors.js +2 -1
  1263. package/dist/core/settings-manager-ui-accessors.js.map +1 -1
  1264. package/dist/core/settings-manager.d.ts +1 -1
  1265. package/dist/core/settings-manager.d.ts.map +1 -1
  1266. package/dist/core/settings-manager.js.map +1 -1
  1267. package/dist/core/settings-storage.d.ts +3 -1
  1268. package/dist/core/settings-storage.d.ts.map +1 -1
  1269. package/dist/core/settings-storage.js +23 -1
  1270. package/dist/core/settings-storage.js.map +1 -1
  1271. package/dist/core/settings-types.d.ts +10 -6
  1272. package/dist/core/settings-types.d.ts.map +1 -1
  1273. package/dist/core/settings-types.js.map +1 -1
  1274. package/dist/core/skills-async.d.ts.map +1 -1
  1275. package/dist/core/skills-async.js +18 -8
  1276. package/dist/core/skills-async.js.map +1 -1
  1277. package/dist/core/slash-commands.d.ts +1 -0
  1278. package/dist/core/slash-commands.d.ts.map +1 -1
  1279. package/dist/core/slash-commands.js +127 -24
  1280. package/dist/core/slash-commands.js.map +1 -1
  1281. package/dist/core/source-info.d.ts +3 -1
  1282. package/dist/core/source-info.d.ts.map +1 -1
  1283. package/dist/core/source-info.js +2 -0
  1284. package/dist/core/source-info.js.map +1 -1
  1285. package/dist/core/summarization-retry.d.ts +11 -0
  1286. package/dist/core/summarization-retry.d.ts.map +1 -0
  1287. package/dist/core/summarization-retry.js +21 -0
  1288. package/dist/core/summarization-retry.js.map +1 -0
  1289. package/dist/core/system-prompt.d.ts.map +1 -1
  1290. package/dist/core/system-prompt.js +15 -18
  1291. package/dist/core/system-prompt.js.map +1 -1
  1292. package/dist/core/thinking-blocks.d.ts.map +1 -1
  1293. package/dist/core/thinking-blocks.js +2 -2
  1294. package/dist/core/thinking-blocks.js.map +1 -1
  1295. package/dist/core/tools/artifact-protocol.d.ts.map +1 -1
  1296. package/dist/core/tools/artifact-protocol.js.map +1 -1
  1297. package/dist/core/tools/artifacts.d.ts.map +1 -1
  1298. package/dist/core/tools/artifacts.js.map +1 -1
  1299. package/dist/core/tools/ask-user-question/ask-user-question.d.ts.map +1 -1
  1300. package/dist/core/tools/ask-user-question/ask-user-question.js +1 -1
  1301. package/dist/core/tools/ask-user-question/ask-user-question.js.map +1 -1
  1302. package/dist/core/tools/ask-user-question/state/build-questionnaire.d.ts +1 -1
  1303. package/dist/core/tools/ask-user-question/state/build-questionnaire.d.ts.map +1 -1
  1304. package/dist/core/tools/ask-user-question/state/build-questionnaire.js +1 -1
  1305. package/dist/core/tools/ask-user-question/state/build-questionnaire.js.map +1 -1
  1306. package/dist/core/tools/ask-user-question/state/questionnaire-session.d.ts.map +1 -1
  1307. package/dist/core/tools/ask-user-question/state/questionnaire-session.js +2 -4
  1308. package/dist/core/tools/ask-user-question/state/questionnaire-session.js.map +1 -1
  1309. package/dist/core/tools/ask-user-question/state/state-reducer.d.ts.map +1 -1
  1310. package/dist/core/tools/ask-user-question/state/state-reducer.js.map +1 -1
  1311. package/dist/core/tools/ask-user-question/view/body-residual-spacer.d.ts.map +1 -1
  1312. package/dist/core/tools/ask-user-question/view/body-residual-spacer.js.map +1 -1
  1313. package/dist/core/tools/ask-user-question/view/components/multi-select-view.d.ts.map +1 -1
  1314. package/dist/core/tools/ask-user-question/view/components/multi-select-view.js.map +1 -1
  1315. package/dist/core/tools/ask-user-question/view/components/preview/markdown-content-cache.d.ts +1 -1
  1316. package/dist/core/tools/ask-user-question/view/components/preview/markdown-content-cache.d.ts.map +1 -1
  1317. package/dist/core/tools/ask-user-question/view/components/preview/markdown-content-cache.js.map +1 -1
  1318. package/dist/core/tools/ask-user-question/view/components/preview/preview-block-renderer.d.ts +1 -1
  1319. package/dist/core/tools/ask-user-question/view/components/preview/preview-block-renderer.d.ts.map +1 -1
  1320. package/dist/core/tools/ask-user-question/view/components/preview/preview-block-renderer.js +1 -3
  1321. package/dist/core/tools/ask-user-question/view/components/preview/preview-block-renderer.js.map +1 -1
  1322. package/dist/core/tools/ask-user-question/view/components/submit-picker.d.ts.map +1 -1
  1323. package/dist/core/tools/ask-user-question/view/components/submit-picker.js.map +1 -1
  1324. package/dist/core/tools/ask-user-question/view/components/tab-bar.d.ts.map +1 -1
  1325. package/dist/core/tools/ask-user-question/view/components/tab-bar.js.map +1 -1
  1326. package/dist/core/tools/ask-user-question/view/dialog-builder.d.ts +1 -1
  1327. package/dist/core/tools/ask-user-question/view/dialog-builder.d.ts.map +1 -1
  1328. package/dist/core/tools/ask-user-question/view/dialog-builder.js +1 -1
  1329. package/dist/core/tools/ask-user-question/view/dialog-builder.js.map +1 -1
  1330. package/dist/core/tools/ask-user-question/view/props-adapter.d.ts.map +1 -1
  1331. package/dist/core/tools/ask-user-question/view/props-adapter.js +2 -4
  1332. package/dist/core/tools/ask-user-question/view/props-adapter.js.map +1 -1
  1333. package/dist/core/tools/ask-user-question/view/tab-content-strategy.d.ts +1 -1
  1334. package/dist/core/tools/ask-user-question/view/tab-content-strategy.d.ts.map +1 -1
  1335. package/dist/core/tools/ask-user-question/view/tab-content-strategy.js +2 -9
  1336. package/dist/core/tools/ask-user-question/view/tab-content-strategy.js.map +1 -1
  1337. package/dist/core/tools/bash-async-execution.d.ts.map +1 -1
  1338. package/dist/core/tools/bash-async-execution.js +11 -4
  1339. package/dist/core/tools/bash-async-execution.js.map +1 -1
  1340. package/dist/core/tools/bash-async-jobs.d.ts.map +1 -1
  1341. package/dist/core/tools/bash-async-jobs.js +14 -2
  1342. package/dist/core/tools/bash-async-jobs.js.map +1 -1
  1343. package/dist/core/tools/bash-async-output.d.ts.map +1 -1
  1344. package/dist/core/tools/bash-async-output.js +6 -2
  1345. package/dist/core/tools/bash-async-output.js.map +1 -1
  1346. package/dist/core/tools/bash-interceptor.d.ts.map +1 -1
  1347. package/dist/core/tools/bash-interceptor.js +20 -4
  1348. package/dist/core/tools/bash-interceptor.js.map +1 -1
  1349. package/dist/core/tools/bash-leading-cd.d.ts.map +1 -1
  1350. package/dist/core/tools/bash-leading-cd.js +9 -3
  1351. package/dist/core/tools/bash-leading-cd.js.map +1 -1
  1352. package/dist/core/tools/bash-pty-native.d.ts.map +1 -1
  1353. package/dist/core/tools/bash-pty-native.js.map +1 -1
  1354. package/dist/core/tools/bash-session-environment.d.ts +13 -0
  1355. package/dist/core/tools/bash-session-environment.d.ts.map +1 -0
  1356. package/dist/core/tools/bash-session-environment.js +47 -0
  1357. package/dist/core/tools/bash-session-environment.js.map +1 -0
  1358. package/dist/core/tools/bash.d.ts +4 -1
  1359. package/dist/core/tools/bash.d.ts.map +1 -1
  1360. package/dist/core/tools/bash.js +134 -30
  1361. package/dist/core/tools/bash.js.map +1 -1
  1362. package/dist/core/tools/block-resolver.d.ts.map +1 -1
  1363. package/dist/core/tools/block-resolver.js.map +1 -1
  1364. package/dist/core/tools/conflict-registry.d.ts.map +1 -1
  1365. package/dist/core/tools/conflict-registry.js.map +1 -1
  1366. package/dist/core/tools/directory-tree.d.ts.map +1 -1
  1367. package/dist/core/tools/directory-tree.js +20 -4
  1368. package/dist/core/tools/directory-tree.js.map +1 -1
  1369. package/dist/core/tools/edit.d.ts.map +1 -1
  1370. package/dist/core/tools/edit.js +37 -13
  1371. package/dist/core/tools/edit.js.map +1 -1
  1372. package/dist/core/tools/fetch-url.d.ts.map +1 -1
  1373. package/dist/core/tools/fetch-url.js +127 -41
  1374. package/dist/core/tools/fetch-url.js.map +1 -1
  1375. package/dist/core/tools/find.d.ts.map +1 -1
  1376. package/dist/core/tools/find.js +176 -46
  1377. package/dist/core/tools/find.js.map +1 -1
  1378. package/dist/core/tools/grep.d.ts.map +1 -1
  1379. package/dist/core/tools/grep.js +43 -10
  1380. package/dist/core/tools/grep.js.map +1 -1
  1381. package/dist/core/tools/hashline-engine/apply.d.ts.map +1 -1
  1382. package/dist/core/tools/hashline-engine/apply.js +6 -6
  1383. package/dist/core/tools/hashline-engine/apply.js.map +1 -1
  1384. package/dist/core/tools/hashline-engine/block.js +1 -1
  1385. package/dist/core/tools/hashline-engine/block.js.map +1 -1
  1386. package/dist/core/tools/hashline-engine/format.d.ts.map +1 -1
  1387. package/dist/core/tools/hashline-engine/format.js +1 -1
  1388. package/dist/core/tools/hashline-engine/format.js.map +1 -1
  1389. package/dist/core/tools/hashline-engine/input.d.ts.map +1 -1
  1390. package/dist/core/tools/hashline-engine/input.js +7 -7
  1391. package/dist/core/tools/hashline-engine/input.js.map +1 -1
  1392. package/dist/core/tools/hashline-engine/parser.js +1 -1
  1393. package/dist/core/tools/hashline-engine/parser.js.map +1 -1
  1394. package/dist/core/tools/hashline-engine/patcher.js +5 -5
  1395. package/dist/core/tools/hashline-engine/patcher.js.map +1 -1
  1396. package/dist/core/tools/hashline-engine/prefixes.js +4 -4
  1397. package/dist/core/tools/hashline-engine/prefixes.js.map +1 -1
  1398. package/dist/core/tools/hashline-engine/recovery.d.ts.map +1 -1
  1399. package/dist/core/tools/hashline-engine/recovery.js +4 -2
  1400. package/dist/core/tools/hashline-engine/recovery.js.map +1 -1
  1401. package/dist/core/tools/hashline-engine/snapshots.js +5 -5
  1402. package/dist/core/tools/hashline-engine/snapshots.js.map +1 -1
  1403. package/dist/core/tools/hashline.d.ts.map +1 -1
  1404. package/dist/core/tools/hashline.js +24 -13
  1405. package/dist/core/tools/hashline.js.map +1 -1
  1406. package/dist/core/tools/index.d.ts +6 -6
  1407. package/dist/core/tools/index.d.ts.map +1 -1
  1408. package/dist/core/tools/index.js +6 -6
  1409. package/dist/core/tools/index.js.map +1 -1
  1410. package/dist/core/tools/ls.d.ts.map +1 -1
  1411. package/dist/core/tools/ls.js +2 -1
  1412. package/dist/core/tools/ls.js.map +1 -1
  1413. package/dist/core/tools/notebook.d.ts.map +1 -1
  1414. package/dist/core/tools/notebook.js +13 -3
  1415. package/dist/core/tools/notebook.js.map +1 -1
  1416. package/dist/core/tools/read-document-extract.d.ts.map +1 -1
  1417. package/dist/core/tools/read-document-extract.js +30 -10
  1418. package/dist/core/tools/read-document-extract.js.map +1 -1
  1419. package/dist/core/tools/read-selectors.d.ts.map +1 -1
  1420. package/dist/core/tools/read-selectors.js +59 -15
  1421. package/dist/core/tools/read-selectors.js.map +1 -1
  1422. package/dist/core/tools/read-url.d.ts.map +1 -1
  1423. package/dist/core/tools/read-url.js +41 -7
  1424. package/dist/core/tools/read-url.js.map +1 -1
  1425. package/dist/core/tools/read.d.ts.map +1 -1
  1426. package/dist/core/tools/read.js +307 -72
  1427. package/dist/core/tools/read.js.map +1 -1
  1428. package/dist/core/tools/resource-selectors.d.ts +4 -0
  1429. package/dist/core/tools/resource-selectors.d.ts.map +1 -1
  1430. package/dist/core/tools/resource-selectors.js +324 -84
  1431. package/dist/core/tools/resource-selectors.js.map +1 -1
  1432. package/dist/core/tools/search-details.d.ts.map +1 -1
  1433. package/dist/core/tools/search-details.js +13 -1
  1434. package/dist/core/tools/search-details.js.map +1 -1
  1435. package/dist/core/tools/search-line-ranges.d.ts.map +1 -1
  1436. package/dist/core/tools/search-line-ranges.js +5 -2
  1437. package/dist/core/tools/search-line-ranges.js.map +1 -1
  1438. package/dist/core/tools/search-native.d.ts.map +1 -1
  1439. package/dist/core/tools/search-native.js.map +1 -1
  1440. package/dist/core/tools/search.d.ts.map +1 -1
  1441. package/dist/core/tools/search.js +244 -90
  1442. package/dist/core/tools/search.js.map +1 -1
  1443. package/dist/core/tools/structured-output.d.ts +1 -1
  1444. package/dist/core/tools/structured-output.d.ts.map +1 -1
  1445. package/dist/core/tools/structured-output.js.map +1 -1
  1446. package/dist/core/tools/todos-execute.d.ts.map +1 -1
  1447. package/dist/core/tools/todos-execute.js +4 -4
  1448. package/dist/core/tools/todos-execute.js.map +1 -1
  1449. package/dist/core/tools/todos-locks.d.ts.map +1 -1
  1450. package/dist/core/tools/todos-locks.js.map +1 -1
  1451. package/dist/core/tools/todos-mutations.js +1 -1
  1452. package/dist/core/tools/todos-mutations.js.map +1 -1
  1453. package/dist/core/tools/todos-paths.js +2 -2
  1454. package/dist/core/tools/todos-paths.js.map +1 -1
  1455. package/dist/core/tools/todos-render.d.ts.map +1 -1
  1456. package/dist/core/tools/todos-render.js +2 -2
  1457. package/dist/core/tools/todos-render.js.map +1 -1
  1458. package/dist/core/tools/todos-storage.d.ts.map +1 -1
  1459. package/dist/core/tools/todos-storage.js +1 -2
  1460. package/dist/core/tools/todos-storage.js.map +1 -1
  1461. package/dist/core/tools/todos-types.d.ts.map +1 -1
  1462. package/dist/core/tools/todos-types.js +1 -11
  1463. package/dist/core/tools/todos-types.js.map +1 -1
  1464. package/dist/core/tools/tool-definition-wrapper.d.ts +3 -0
  1465. package/dist/core/tools/tool-definition-wrapper.d.ts.map +1 -1
  1466. package/dist/core/tools/tool-definition-wrapper.js +9 -5
  1467. package/dist/core/tools/tool-definition-wrapper.js.map +1 -1
  1468. package/dist/core/tools/url-ip-guards.d.ts.map +1 -1
  1469. package/dist/core/tools/url-ip-guards.js +27 -17
  1470. package/dist/core/tools/url-ip-guards.js.map +1 -1
  1471. package/dist/core/tools/write.d.ts.map +1 -1
  1472. package/dist/core/tools/write.js +88 -29
  1473. package/dist/core/tools/write.js.map +1 -1
  1474. package/dist/core/usage-totals.d.ts +18 -0
  1475. package/dist/core/usage-totals.d.ts.map +1 -0
  1476. package/dist/core/usage-totals.js +43 -0
  1477. package/dist/core/usage-totals.js.map +1 -0
  1478. package/dist/core/workflow-stage-admission.d.ts.map +1 -1
  1479. package/dist/core/workflow-stage-admission.js +8 -2
  1480. package/dist/core/workflow-stage-admission.js.map +1 -1
  1481. package/dist/extensions/index.d.ts +3 -0
  1482. package/dist/extensions/index.d.ts.map +1 -0
  1483. package/dist/extensions/index.js +5 -0
  1484. package/dist/extensions/index.js.map +1 -0
  1485. package/dist/extensions/llama/client.d.ts +61 -0
  1486. package/dist/extensions/llama/client.d.ts.map +1 -0
  1487. package/dist/extensions/llama/client.js +300 -0
  1488. package/dist/extensions/llama/client.js.map +1 -0
  1489. package/dist/extensions/llama/huggingface-ui.d.ts +33 -0
  1490. package/dist/extensions/llama/huggingface-ui.d.ts.map +1 -0
  1491. package/dist/extensions/llama/huggingface-ui.js +166 -0
  1492. package/dist/extensions/llama/huggingface-ui.js.map +1 -0
  1493. package/dist/extensions/llama/huggingface.d.ts +23 -0
  1494. package/dist/extensions/llama/huggingface.d.ts.map +1 -0
  1495. package/dist/extensions/llama/huggingface.js +139 -0
  1496. package/dist/extensions/llama/huggingface.js.map +1 -0
  1497. package/dist/extensions/llama/index.d.ts +3 -0
  1498. package/dist/extensions/llama/index.d.ts.map +1 -0
  1499. package/dist/extensions/llama/index.js +208 -0
  1500. package/dist/extensions/llama/index.js.map +1 -0
  1501. package/dist/extensions/llama/provider.d.ts +10 -0
  1502. package/dist/extensions/llama/provider.d.ts.map +1 -0
  1503. package/dist/extensions/llama/provider.js +107 -0
  1504. package/dist/extensions/llama/provider.js.map +1 -0
  1505. package/dist/extensions/llama/ui.d.ts +42 -0
  1506. package/dist/extensions/llama/ui.d.ts.map +1 -0
  1507. package/dist/extensions/llama/ui.js +237 -0
  1508. package/dist/extensions/llama/ui.js.map +1 -0
  1509. package/dist/index-extensions.d.ts +2 -2
  1510. package/dist/index-extensions.d.ts.map +1 -1
  1511. package/dist/index-extensions.js +1 -1
  1512. package/dist/index-extensions.js.map +1 -1
  1513. package/dist/index.d.ts +22 -23
  1514. package/dist/index.d.ts.map +1 -1
  1515. package/dist/index.js +26 -27
  1516. package/dist/index.js.map +1 -1
  1517. package/dist/main-app-mode.d.ts +1 -0
  1518. package/dist/main-app-mode.d.ts.map +1 -1
  1519. package/dist/main-app-mode.js +3 -0
  1520. package/dist/main-app-mode.js.map +1 -1
  1521. package/dist/main-deferred-startup.d.ts +1 -1
  1522. package/dist/main-deferred-startup.d.ts.map +1 -1
  1523. package/dist/main-deferred-startup.js +16 -15
  1524. package/dist/main-deferred-startup.js.map +1 -1
  1525. package/dist/main-early-input.js.map +1 -1
  1526. package/dist/main-first-time-setup.d.ts +6 -0
  1527. package/dist/main-first-time-setup.d.ts.map +1 -0
  1528. package/dist/main-first-time-setup.js +10 -0
  1529. package/dist/main-first-time-setup.js.map +1 -0
  1530. package/dist/main-runtime-api-key.d.ts +6 -0
  1531. package/dist/main-runtime-api-key.d.ts.map +1 -0
  1532. package/dist/main-runtime-api-key.js +6 -0
  1533. package/dist/main-runtime-api-key.js.map +1 -0
  1534. package/dist/main-session-options.d.ts +2 -2
  1535. package/dist/main-session-options.d.ts.map +1 -1
  1536. package/dist/main-session-options.js +3 -7
  1537. package/dist/main-session-options.js.map +1 -1
  1538. package/dist/main-session.d.ts.map +1 -1
  1539. package/dist/main-session.js +5 -4
  1540. package/dist/main-session.js.map +1 -1
  1541. package/dist/main-types.d.ts +2 -2
  1542. package/dist/main-types.d.ts.map +1 -1
  1543. package/dist/main-types.js.map +1 -1
  1544. package/dist/main.d.ts +1 -1
  1545. package/dist/main.d.ts.map +1 -1
  1546. package/dist/main.js +173 -69
  1547. package/dist/main.js.map +1 -1
  1548. package/dist/migrations-config-values.d.ts.map +1 -1
  1549. package/dist/migrations-config-values.js +3 -1
  1550. package/dist/migrations-config-values.js.map +1 -1
  1551. package/dist/migrations.d.ts.map +1 -1
  1552. package/dist/migrations.js.map +1 -1
  1553. package/dist/modes/index.d.ts +1 -1
  1554. package/dist/modes/index.d.ts.map +1 -1
  1555. package/dist/modes/index.js.map +1 -1
  1556. package/dist/modes/interactive/chat-input-actions.d.ts +1 -1
  1557. package/dist/modes/interactive/chat-input-actions.d.ts.map +1 -1
  1558. package/dist/modes/interactive/chat-input-actions.js +30 -103
  1559. package/dist/modes/interactive/chat-input-actions.js.map +1 -1
  1560. package/dist/modes/interactive/components/atomic-banner.d.ts +9 -8
  1561. package/dist/modes/interactive/components/atomic-banner.d.ts.map +1 -1
  1562. package/dist/modes/interactive/components/atomic-banner.js +68 -22
  1563. package/dist/modes/interactive/components/atomic-banner.js.map +1 -1
  1564. package/dist/modes/interactive/components/atomic-working-status.d.ts +52 -0
  1565. package/dist/modes/interactive/components/atomic-working-status.d.ts.map +1 -0
  1566. package/dist/modes/interactive/components/atomic-working-status.js +215 -0
  1567. package/dist/modes/interactive/components/atomic-working-status.js.map +1 -0
  1568. package/dist/modes/interactive/components/chat-message-renderer.d.ts +1 -1
  1569. package/dist/modes/interactive/components/chat-message-renderer.d.ts.map +1 -1
  1570. package/dist/modes/interactive/components/chat-message-renderer.js +7 -6
  1571. package/dist/modes/interactive/components/chat-message-renderer.js.map +1 -1
  1572. package/dist/modes/interactive/components/chat-session-host-actions.d.ts +3 -2
  1573. package/dist/modes/interactive/components/chat-session-host-actions.d.ts.map +1 -1
  1574. package/dist/modes/interactive/components/chat-session-host-actions.js +93 -17
  1575. package/dist/modes/interactive/components/chat-session-host-actions.js.map +1 -1
  1576. package/dist/modes/interactive/components/chat-session-host-editor.d.ts +4 -4
  1577. package/dist/modes/interactive/components/chat-session-host-editor.d.ts.map +1 -1
  1578. package/dist/modes/interactive/components/chat-session-host-editor.js +12 -7
  1579. package/dist/modes/interactive/components/chat-session-host-editor.js.map +1 -1
  1580. package/dist/modes/interactive/components/chat-session-host-events.d.ts.map +1 -1
  1581. package/dist/modes/interactive/components/chat-session-host-events.js +84 -15
  1582. package/dist/modes/interactive/components/chat-session-host-events.js.map +1 -1
  1583. package/dist/modes/interactive/components/chat-session-host-rendering.d.ts +1 -1
  1584. package/dist/modes/interactive/components/chat-session-host-rendering.d.ts.map +1 -1
  1585. package/dist/modes/interactive/components/chat-session-host-rendering.js +49 -14
  1586. package/dist/modes/interactive/components/chat-session-host-rendering.js.map +1 -1
  1587. package/dist/modes/interactive/components/chat-session-host-runtime.d.ts +36 -2
  1588. package/dist/modes/interactive/components/chat-session-host-runtime.d.ts.map +1 -1
  1589. package/dist/modes/interactive/components/chat-session-host-runtime.js +129 -25
  1590. package/dist/modes/interactive/components/chat-session-host-runtime.js.map +1 -1
  1591. package/dist/modes/interactive/components/chat-session-host-state.d.ts +11 -2
  1592. package/dist/modes/interactive/components/chat-session-host-state.d.ts.map +1 -1
  1593. package/dist/modes/interactive/components/chat-session-host-state.js +5 -0
  1594. package/dist/modes/interactive/components/chat-session-host-state.js.map +1 -1
  1595. package/dist/modes/interactive/components/chat-session-host-terminal-cleanup.d.ts.map +1 -1
  1596. package/dist/modes/interactive/components/chat-session-host-terminal-cleanup.js.map +1 -1
  1597. package/dist/modes/interactive/components/chat-session-host-types.d.ts +19 -2
  1598. package/dist/modes/interactive/components/chat-session-host-types.d.ts.map +1 -1
  1599. package/dist/modes/interactive/components/chat-session-host-types.js.map +1 -1
  1600. package/dist/modes/interactive/components/chat-session-host-utils.d.ts +1 -1
  1601. package/dist/modes/interactive/components/chat-session-host-utils.d.ts.map +1 -1
  1602. package/dist/modes/interactive/components/chat-session-host-utils.js +3 -8
  1603. package/dist/modes/interactive/components/chat-session-host-utils.js.map +1 -1
  1604. package/dist/modes/interactive/components/chat-session-host.d.ts +17 -4
  1605. package/dist/modes/interactive/components/chat-session-host.d.ts.map +1 -1
  1606. package/dist/modes/interactive/components/chat-session-host.js +26 -3
  1607. package/dist/modes/interactive/components/chat-session-host.js.map +1 -1
  1608. package/dist/modes/interactive/components/chat-transcript.d.ts +1 -1
  1609. package/dist/modes/interactive/components/chat-transcript.d.ts.map +1 -1
  1610. package/dist/modes/interactive/components/chat-transcript.js +5 -12
  1611. package/dist/modes/interactive/components/chat-transcript.js.map +1 -1
  1612. package/dist/modes/interactive/components/compaction-boundary-message.d.ts.map +1 -1
  1613. package/dist/modes/interactive/components/compaction-boundary-message.js +20 -8
  1614. package/dist/modes/interactive/components/compaction-boundary-message.js.map +1 -1
  1615. package/dist/modes/interactive/components/config-selector-list.d.ts +6 -6
  1616. package/dist/modes/interactive/components/config-selector-list.d.ts.map +1 -1
  1617. package/dist/modes/interactive/components/config-selector-list.js +66 -125
  1618. package/dist/modes/interactive/components/config-selector-list.js.map +1 -1
  1619. package/dist/modes/interactive/components/config-selector-project-scope.d.ts +4 -0
  1620. package/dist/modes/interactive/components/config-selector-project-scope.d.ts.map +1 -0
  1621. package/dist/modes/interactive/components/config-selector-project-scope.js +59 -0
  1622. package/dist/modes/interactive/components/config-selector-project-scope.js.map +1 -0
  1623. package/dist/modes/interactive/components/config-selector.d.ts +8 -5
  1624. package/dist/modes/interactive/components/config-selector.d.ts.map +1 -1
  1625. package/dist/modes/interactive/components/config-selector.js +46 -13
  1626. package/dist/modes/interactive/components/config-selector.js.map +1 -1
  1627. package/dist/modes/interactive/components/countdown-timer.d.ts.map +1 -1
  1628. package/dist/modes/interactive/components/countdown-timer.js.map +1 -1
  1629. package/dist/modes/interactive/components/custom-editor.d.ts +11 -0
  1630. package/dist/modes/interactive/components/custom-editor.d.ts.map +1 -1
  1631. package/dist/modes/interactive/components/custom-editor.js +21 -5
  1632. package/dist/modes/interactive/components/custom-editor.js.map +1 -1
  1633. package/dist/modes/interactive/components/custom-entry.d.ts +16 -0
  1634. package/dist/modes/interactive/components/custom-entry.d.ts.map +1 -0
  1635. package/dist/modes/interactive/components/custom-entry.js +45 -0
  1636. package/dist/modes/interactive/components/custom-entry.js.map +1 -0
  1637. package/dist/modes/interactive/components/custom-message.d.ts +3 -1
  1638. package/dist/modes/interactive/components/custom-message.d.ts.map +1 -1
  1639. package/dist/modes/interactive/components/custom-message.js +10 -5
  1640. package/dist/modes/interactive/components/custom-message.js.map +1 -1
  1641. package/dist/modes/interactive/components/diff.js +2 -2
  1642. package/dist/modes/interactive/components/diff.js.map +1 -1
  1643. package/dist/modes/interactive/components/extension-editor.d.ts +3 -2
  1644. package/dist/modes/interactive/components/extension-editor.d.ts.map +1 -1
  1645. package/dist/modes/interactive/components/extension-editor.js +14 -43
  1646. package/dist/modes/interactive/components/extension-editor.js.map +1 -1
  1647. package/dist/modes/interactive/components/first-time-setup.d.ts +24 -0
  1648. package/dist/modes/interactive/components/first-time-setup.d.ts.map +1 -0
  1649. package/dist/modes/interactive/components/first-time-setup.js +80 -0
  1650. package/dist/modes/interactive/components/first-time-setup.js.map +1 -0
  1651. package/dist/modes/interactive/components/footer.d.ts +7 -1
  1652. package/dist/modes/interactive/components/footer.d.ts.map +1 -1
  1653. package/dist/modes/interactive/components/footer.js +68 -39
  1654. package/dist/modes/interactive/components/footer.js.map +1 -1
  1655. package/dist/modes/interactive/components/host-input-form-mount.d.ts.map +1 -1
  1656. package/dist/modes/interactive/components/host-input-form-mount.js +4 -2
  1657. package/dist/modes/interactive/components/host-input-form-mount.js.map +1 -1
  1658. package/dist/modes/interactive/components/host-input-form.d.ts +2 -0
  1659. package/dist/modes/interactive/components/host-input-form.d.ts.map +1 -1
  1660. package/dist/modes/interactive/components/host-input-form.js +61 -24
  1661. package/dist/modes/interactive/components/host-input-form.js.map +1 -1
  1662. package/dist/modes/interactive/components/host-session-picker.d.ts.map +1 -1
  1663. package/dist/modes/interactive/components/host-session-picker.js +8 -3
  1664. package/dist/modes/interactive/components/host-session-picker.js.map +1 -1
  1665. package/dist/modes/interactive/components/idle-status.d.ts +8 -0
  1666. package/dist/modes/interactive/components/idle-status.d.ts.map +1 -0
  1667. package/dist/modes/interactive/components/idle-status.js +13 -0
  1668. package/dist/modes/interactive/components/idle-status.js.map +1 -0
  1669. package/dist/modes/interactive/components/index.d.ts +8 -5
  1670. package/dist/modes/interactive/components/index.d.ts.map +1 -1
  1671. package/dist/modes/interactive/components/index.js +5 -2
  1672. package/dist/modes/interactive/components/index.js.map +1 -1
  1673. package/dist/modes/interactive/components/keybinding-hints.d.ts.map +1 -1
  1674. package/dist/modes/interactive/components/keybinding-hints.js.map +1 -1
  1675. package/dist/modes/interactive/components/login-dialog.d.ts +5 -5
  1676. package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -1
  1677. package/dist/modes/interactive/components/login-dialog.js +15 -9
  1678. package/dist/modes/interactive/components/login-dialog.js.map +1 -1
  1679. package/dist/modes/interactive/components/model-selector.d.ts +4 -3
  1680. package/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
  1681. package/dist/modes/interactive/components/model-selector.js +70 -72
  1682. package/dist/modes/interactive/components/model-selector.js.map +1 -1
  1683. package/dist/modes/interactive/components/oauth-selector.d.ts +4 -3
  1684. package/dist/modes/interactive/components/oauth-selector.d.ts.map +1 -1
  1685. package/dist/modes/interactive/components/oauth-selector.js +19 -18
  1686. package/dist/modes/interactive/components/oauth-selector.js.map +1 -1
  1687. package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -1
  1688. package/dist/modes/interactive/components/scoped-models-selector.js +22 -13
  1689. package/dist/modes/interactive/components/scoped-models-selector.js.map +1 -1
  1690. package/dist/modes/interactive/components/session-selector-list.d.ts +1 -1
  1691. package/dist/modes/interactive/components/session-selector-list.d.ts.map +1 -1
  1692. package/dist/modes/interactive/components/session-selector-list.js.map +1 -1
  1693. package/dist/modes/interactive/components/session-selector.d.ts.map +1 -1
  1694. package/dist/modes/interactive/components/session-selector.js.map +1 -1
  1695. package/dist/modes/interactive/components/settings-selector-handlers.d.ts.map +1 -1
  1696. package/dist/modes/interactive/components/settings-selector-handlers.js +6 -0
  1697. package/dist/modes/interactive/components/settings-selector-handlers.js.map +1 -1
  1698. package/dist/modes/interactive/components/settings-selector-items.d.ts.map +1 -1
  1699. package/dist/modes/interactive/components/settings-selector-items.js +14 -0
  1700. package/dist/modes/interactive/components/settings-selector-items.js.map +1 -1
  1701. package/dist/modes/interactive/components/settings-selector-submenus.d.ts.map +1 -1
  1702. package/dist/modes/interactive/components/settings-selector-submenus.js.map +1 -1
  1703. package/dist/modes/interactive/components/settings-selector-types.d.ts +4 -0
  1704. package/dist/modes/interactive/components/settings-selector-types.d.ts.map +1 -1
  1705. package/dist/modes/interactive/components/settings-selector-types.js.map +1 -1
  1706. package/dist/modes/interactive/components/startup-identity.d.ts +22 -0
  1707. package/dist/modes/interactive/components/startup-identity.d.ts.map +1 -0
  1708. package/dist/modes/interactive/components/startup-identity.js +58 -0
  1709. package/dist/modes/interactive/components/startup-identity.js.map +1 -0
  1710. package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
  1711. package/dist/modes/interactive/components/tool-execution.js.map +1 -1
  1712. package/dist/modes/interactive/components/tree-selector-content.d.ts.map +1 -1
  1713. package/dist/modes/interactive/components/tree-selector-content.js +0 -6
  1714. package/dist/modes/interactive/components/tree-selector-content.js.map +1 -1
  1715. package/dist/modes/interactive/components/tree-selector-model.d.ts.map +1 -1
  1716. package/dist/modes/interactive/components/tree-selector-model.js +1 -10
  1717. package/dist/modes/interactive/components/tree-selector-model.js.map +1 -1
  1718. package/dist/modes/interactive/components/tree-selector-viewport.d.ts.map +1 -1
  1719. package/dist/modes/interactive/components/tree-selector-viewport.js.map +1 -1
  1720. package/dist/modes/interactive/components/working-status.d.ts +5 -11
  1721. package/dist/modes/interactive/components/working-status.d.ts.map +1 -1
  1722. package/dist/modes/interactive/components/working-status.js +14 -15
  1723. package/dist/modes/interactive/components/working-status.js.map +1 -1
  1724. package/dist/modes/interactive/external-editor.d.ts +23 -0
  1725. package/dist/modes/interactive/external-editor.d.ts.map +1 -0
  1726. package/dist/modes/interactive/external-editor.js +120 -0
  1727. package/dist/modes/interactive/external-editor.js.map +1 -0
  1728. package/dist/modes/interactive/interactive-agent-events.js +73 -28
  1729. package/dist/modes/interactive/interactive-agent-events.js.map +1 -1
  1730. package/dist/modes/interactive/interactive-auth-login.js +36 -28
  1731. package/dist/modes/interactive/interactive-auth-login.js.map +1 -1
  1732. package/dist/modes/interactive/interactive-auth-routing.d.ts +3 -1
  1733. package/dist/modes/interactive/interactive-auth-routing.d.ts.map +1 -1
  1734. package/dist/modes/interactive/interactive-auth-routing.js +86 -64
  1735. package/dist/modes/interactive/interactive-auth-routing.js.map +1 -1
  1736. package/dist/modes/interactive/interactive-autocomplete.js +13 -13
  1737. package/dist/modes/interactive/interactive-autocomplete.js.map +1 -1
  1738. package/dist/modes/interactive/interactive-bash-compact.d.ts +2 -1
  1739. package/dist/modes/interactive/interactive-bash-compact.d.ts.map +1 -1
  1740. package/dist/modes/interactive/interactive-bash-compact.js +26 -8
  1741. package/dist/modes/interactive/interactive-bash-compact.js.map +1 -1
  1742. package/dist/modes/interactive/interactive-deferred-startup.d.ts.map +1 -1
  1743. package/dist/modes/interactive/interactive-deferred-startup.js +61 -27
  1744. package/dist/modes/interactive/interactive-deferred-startup.js.map +1 -1
  1745. package/dist/modes/interactive/interactive-editor-actions.js +9 -13
  1746. package/dist/modes/interactive/interactive-editor-actions.js.map +1 -1
  1747. package/dist/modes/interactive/interactive-extension-context.js +4 -4
  1748. package/dist/modes/interactive/interactive-extension-context.js.map +1 -1
  1749. package/dist/modes/interactive/interactive-extension-custom-ui.js +15 -8
  1750. package/dist/modes/interactive/interactive-extension-custom-ui.js.map +1 -1
  1751. package/dist/modes/interactive/interactive-extension-dialogs.js +51 -25
  1752. package/dist/modes/interactive/interactive-extension-dialogs.js.map +1 -1
  1753. package/dist/modes/interactive/interactive-extension-runtime.js +15 -6
  1754. package/dist/modes/interactive/interactive-extension-runtime.js.map +1 -1
  1755. package/dist/modes/interactive/interactive-extension-widgets.js +1 -1
  1756. package/dist/modes/interactive/interactive-extension-widgets.js.map +1 -1
  1757. package/dist/modes/interactive/interactive-global-clear.d.ts +55 -3
  1758. package/dist/modes/interactive/interactive-global-clear.d.ts.map +1 -1
  1759. package/dist/modes/interactive/interactive-global-clear.js +61 -3
  1760. package/dist/modes/interactive/interactive-global-clear.js.map +1 -1
  1761. package/dist/modes/interactive/interactive-hotkeys-debug.js +2 -3
  1762. package/dist/modes/interactive/interactive-hotkeys-debug.js.map +1 -1
  1763. package/dist/modes/interactive/interactive-initial-session-binding.d.ts +4 -0
  1764. package/dist/modes/interactive/interactive-initial-session-binding.d.ts.map +1 -0
  1765. package/dist/modes/interactive/interactive-initial-session-binding.js +23 -0
  1766. package/dist/modes/interactive/interactive-initial-session-binding.js.map +1 -0
  1767. package/dist/modes/interactive/interactive-input-handling.d.ts +2 -1
  1768. package/dist/modes/interactive/interactive-input-handling.d.ts.map +1 -1
  1769. package/dist/modes/interactive/interactive-input-handling.js +82 -69
  1770. package/dist/modes/interactive/interactive-input-handling.js.map +1 -1
  1771. package/dist/modes/interactive/interactive-key-identity.d.ts +22 -0
  1772. package/dist/modes/interactive/interactive-key-identity.d.ts.map +1 -0
  1773. package/dist/modes/interactive/interactive-key-identity.js +29 -0
  1774. package/dist/modes/interactive/interactive-key-identity.js.map +1 -0
  1775. package/dist/modes/interactive/interactive-mode-base.d.ts +18 -13
  1776. package/dist/modes/interactive/interactive-mode-base.d.ts.map +1 -1
  1777. package/dist/modes/interactive/interactive-mode-base.js +26 -18
  1778. package/dist/modes/interactive/interactive-mode-base.js.map +1 -1
  1779. package/dist/modes/interactive/interactive-mode-deps.d.ts +20 -22
  1780. package/dist/modes/interactive/interactive-mode-deps.d.ts.map +1 -1
  1781. package/dist/modes/interactive/interactive-mode-deps.js +16 -18
  1782. package/dist/modes/interactive/interactive-mode-deps.js.map +1 -1
  1783. package/dist/modes/interactive/interactive-mode-helpers.d.ts +3 -2
  1784. package/dist/modes/interactive/interactive-mode-helpers.d.ts.map +1 -1
  1785. package/dist/modes/interactive/interactive-mode-helpers.js +8 -18
  1786. package/dist/modes/interactive/interactive-mode-helpers.js.map +1 -1
  1787. package/dist/modes/interactive/interactive-mode-surface.d.ts +28 -17
  1788. package/dist/modes/interactive/interactive-mode-surface.d.ts.map +1 -1
  1789. package/dist/modes/interactive/interactive-mode-surface.js +1 -0
  1790. package/dist/modes/interactive/interactive-mode-surface.js.map +1 -1
  1791. package/dist/modes/interactive/interactive-mode-types.d.ts +2 -2
  1792. package/dist/modes/interactive/interactive-mode-types.d.ts.map +1 -1
  1793. package/dist/modes/interactive/interactive-mode-types.js.map +1 -1
  1794. package/dist/modes/interactive/interactive-mode.d.ts +1 -0
  1795. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  1796. package/dist/modes/interactive/interactive-mode.js +1 -0
  1797. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  1798. package/dist/modes/interactive/interactive-model-catalog-startup.d.ts +12 -0
  1799. package/dist/modes/interactive/interactive-model-catalog-startup.d.ts.map +1 -0
  1800. package/dist/modes/interactive/interactive-model-catalog-startup.js +22 -0
  1801. package/dist/modes/interactive/interactive-model-catalog-startup.js.map +1 -0
  1802. package/dist/modes/interactive/interactive-model-routing.js +41 -111
  1803. package/dist/modes/interactive/interactive-model-routing.js.map +1 -1
  1804. package/dist/modes/interactive/interactive-onboarding.js +7 -7
  1805. package/dist/modes/interactive/interactive-onboarding.js.map +1 -1
  1806. package/dist/modes/interactive/interactive-pause.d.ts +4 -0
  1807. package/dist/modes/interactive/interactive-pause.d.ts.map +1 -0
  1808. package/dist/modes/interactive/interactive-pause.js +8 -0
  1809. package/dist/modes/interactive/interactive-pause.js.map +1 -0
  1810. package/dist/modes/interactive/interactive-process-lifecycle.js +43 -12
  1811. package/dist/modes/interactive/interactive-process-lifecycle.js.map +1 -1
  1812. package/dist/modes/interactive/interactive-prompt-restore.d.ts +58 -0
  1813. package/dist/modes/interactive/interactive-prompt-restore.d.ts.map +1 -0
  1814. package/dist/modes/interactive/interactive-prompt-restore.js +87 -0
  1815. package/dist/modes/interactive/interactive-prompt-restore.js.map +1 -0
  1816. package/dist/modes/interactive/interactive-prompt-turn.d.ts +2 -0
  1817. package/dist/modes/interactive/interactive-prompt-turn.d.ts.map +1 -0
  1818. package/dist/modes/interactive/interactive-prompt-turn.js +56 -0
  1819. package/dist/modes/interactive/interactive-prompt-turn.js.map +1 -0
  1820. package/dist/modes/interactive/interactive-queueing.js +6 -9
  1821. package/dist/modes/interactive/interactive-queueing.js.map +1 -1
  1822. package/dist/modes/interactive/interactive-render-chat.js +128 -48
  1823. package/dist/modes/interactive/interactive-render-chat.js.map +1 -1
  1824. package/dist/modes/interactive/interactive-resource-disclosure.js +1 -3
  1825. package/dist/modes/interactive/interactive-resource-disclosure.js.map +1 -1
  1826. package/dist/modes/interactive/interactive-resource-paths.js +17 -21
  1827. package/dist/modes/interactive/interactive-resource-paths.js.map +1 -1
  1828. package/dist/modes/interactive/interactive-resource-rendering.js +110 -12
  1829. package/dist/modes/interactive/interactive-resource-rendering.js.map +1 -1
  1830. package/dist/modes/interactive/interactive-selectors.js +13 -5
  1831. package/dist/modes/interactive/interactive-selectors.js.map +1 -1
  1832. package/dist/modes/interactive/interactive-session-routing.js +19 -4
  1833. package/dist/modes/interactive/interactive-session-routing.js.map +1 -1
  1834. package/dist/modes/interactive/interactive-session-runtime.js +12 -1
  1835. package/dist/modes/interactive/interactive-session-runtime.js.map +1 -1
  1836. package/dist/modes/interactive/interactive-slash-commands.js +23 -4
  1837. package/dist/modes/interactive/interactive-slash-commands.js.map +1 -1
  1838. package/dist/modes/interactive/interactive-startup-chat-container.d.ts +20 -0
  1839. package/dist/modes/interactive/interactive-startup-chat-container.d.ts.map +1 -0
  1840. package/dist/modes/interactive/interactive-startup-chat-container.js +26 -0
  1841. package/dist/modes/interactive/interactive-startup-chat-container.js.map +1 -0
  1842. package/dist/modes/interactive/interactive-startup.d.ts +1 -1
  1843. package/dist/modes/interactive/interactive-startup.d.ts.map +1 -1
  1844. package/dist/modes/interactive/interactive-startup.js +37 -37
  1845. package/dist/modes/interactive/interactive-startup.js.map +1 -1
  1846. package/dist/modes/interactive/interactive-submission.d.ts +24 -0
  1847. package/dist/modes/interactive/interactive-submission.d.ts.map +1 -0
  1848. package/dist/modes/interactive/interactive-submission.js +10 -0
  1849. package/dist/modes/interactive/interactive-submission.js.map +1 -0
  1850. package/dist/modes/interactive/interactive-summarization-retry-events.d.ts +8 -0
  1851. package/dist/modes/interactive/interactive-summarization-retry-events.d.ts.map +1 -0
  1852. package/dist/modes/interactive/interactive-summarization-retry-events.js +48 -0
  1853. package/dist/modes/interactive/interactive-summarization-retry-events.js.map +1 -0
  1854. package/dist/modes/interactive/login-provider-options.d.ts +21 -0
  1855. package/dist/modes/interactive/login-provider-options.d.ts.map +1 -0
  1856. package/dist/modes/interactive/login-provider-options.js +50 -0
  1857. package/dist/modes/interactive/login-provider-options.js.map +1 -0
  1858. package/dist/modes/interactive/theme/catppuccin-frappe.json +1 -1
  1859. package/dist/modes/interactive/theme/catppuccin-latte.json +1 -1
  1860. package/dist/modes/interactive/theme/catppuccin-macchiato.json +1 -1
  1861. package/dist/modes/interactive/theme/catppuccin-mocha.json +9 -1
  1862. package/dist/modes/interactive/theme/dark.json +1 -1
  1863. package/dist/modes/interactive/theme/global-theme.d.ts +1 -1
  1864. package/dist/modes/interactive/theme/global-theme.d.ts.map +1 -1
  1865. package/dist/modes/interactive/theme/global-theme.js.map +1 -1
  1866. package/dist/modes/interactive/theme/light.json +1 -1
  1867. package/dist/modes/interactive/theme/theme-class.d.ts +4 -0
  1868. package/dist/modes/interactive/theme/theme-class.d.ts.map +1 -1
  1869. package/dist/modes/interactive/theme/theme-class.js +7 -0
  1870. package/dist/modes/interactive/theme/theme-class.js.map +1 -1
  1871. package/dist/modes/interactive/theme/theme-loading.d.ts.map +1 -1
  1872. package/dist/modes/interactive/theme/theme-loading.js +5 -1
  1873. package/dist/modes/interactive/theme/theme-loading.js.map +1 -1
  1874. package/dist/modes/interactive/theme/theme-schema.d.ts +32 -0
  1875. package/dist/modes/interactive/theme/theme-schema.d.ts.map +1 -1
  1876. package/dist/modes/interactive/theme/theme-schema.js +8 -0
  1877. package/dist/modes/interactive/theme/theme-schema.js.map +1 -1
  1878. package/dist/modes/interactive/theme/theme-schema.json +15 -2
  1879. package/dist/modes/interactive/theme/theme.d.ts +2 -2
  1880. package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
  1881. package/dist/modes/interactive/theme/theme.js +2 -2
  1882. package/dist/modes/interactive/theme/theme.js.map +1 -1
  1883. package/dist/modes/interactive/whimsical-messages.d.ts +1 -0
  1884. package/dist/modes/interactive/whimsical-messages.d.ts.map +1 -1
  1885. package/dist/modes/interactive/whimsical-messages.js +2 -2
  1886. package/dist/modes/interactive/whimsical-messages.js.map +1 -1
  1887. package/dist/modes/interactive-engine/activity-watchdog.d.ts +16 -6
  1888. package/dist/modes/interactive-engine/activity-watchdog.d.ts.map +1 -1
  1889. package/dist/modes/interactive-engine/activity-watchdog.js +12 -6
  1890. package/dist/modes/interactive-engine/activity-watchdog.js.map +1 -1
  1891. package/dist/modes/interactive-engine/create-isolated-runtime.d.ts.map +1 -1
  1892. package/dist/modes/interactive-engine/create-isolated-runtime.js +8 -5
  1893. package/dist/modes/interactive-engine/create-isolated-runtime.js.map +1 -1
  1894. package/dist/modes/interactive-engine/engine-args.d.ts.map +1 -1
  1895. package/dist/modes/interactive-engine/engine-args.js +0 -1
  1896. package/dist/modes/interactive-engine/engine-args.js.map +1 -1
  1897. package/dist/modes/interactive-engine/engine-child-liveness.d.ts.map +1 -1
  1898. package/dist/modes/interactive-engine/engine-child-liveness.js +6 -4
  1899. package/dist/modes/interactive-engine/engine-child-liveness.js.map +1 -1
  1900. package/dist/modes/interactive-engine/engine-custom-ui.d.ts +3 -2
  1901. package/dist/modes/interactive-engine/engine-custom-ui.d.ts.map +1 -1
  1902. package/dist/modes/interactive-engine/engine-custom-ui.js +37 -28
  1903. package/dist/modes/interactive-engine/engine-custom-ui.js.map +1 -1
  1904. package/dist/modes/interactive-engine/engine-diagnostic-view.d.ts +16 -0
  1905. package/dist/modes/interactive-engine/engine-diagnostic-view.d.ts.map +1 -0
  1906. package/dist/modes/interactive-engine/engine-diagnostic-view.js +19 -0
  1907. package/dist/modes/interactive-engine/engine-diagnostic-view.js.map +1 -0
  1908. package/dist/modes/interactive-engine/engine-dialog-host.d.ts +33 -0
  1909. package/dist/modes/interactive-engine/engine-dialog-host.d.ts.map +1 -0
  1910. package/dist/modes/interactive-engine/engine-dialog-host.js +129 -0
  1911. package/dist/modes/interactive-engine/engine-dialog-host.js.map +1 -0
  1912. package/dist/modes/interactive-engine/engine-generation.d.ts +29 -0
  1913. package/dist/modes/interactive-engine/engine-generation.d.ts.map +1 -0
  1914. package/dist/modes/interactive-engine/engine-generation.js +11 -0
  1915. package/dist/modes/interactive-engine/engine-generation.js.map +1 -0
  1916. package/dist/modes/interactive-engine/engine-health.d.ts +107 -0
  1917. package/dist/modes/interactive-engine/engine-health.d.ts.map +1 -0
  1918. package/dist/modes/interactive-engine/engine-health.js +250 -0
  1919. package/dist/modes/interactive-engine/engine-health.js.map +1 -0
  1920. package/dist/modes/interactive-engine/engine-input-form.d.ts +1 -1
  1921. package/dist/modes/interactive-engine/engine-input-form.d.ts.map +1 -1
  1922. package/dist/modes/interactive-engine/engine-input-form.js +21 -4
  1923. package/dist/modes/interactive-engine/engine-input-form.js.map +1 -1
  1924. package/dist/modes/interactive-engine/engine-monitor.d.ts +8 -1
  1925. package/dist/modes/interactive-engine/engine-monitor.d.ts.map +1 -1
  1926. package/dist/modes/interactive-engine/engine-monitor.js +19 -16
  1927. package/dist/modes/interactive-engine/engine-monitor.js.map +1 -1
  1928. package/dist/modes/interactive-engine/engine-render-service.d.ts.map +1 -1
  1929. package/dist/modes/interactive-engine/engine-render-service.js +19 -24
  1930. package/dist/modes/interactive-engine/engine-render-service.js.map +1 -1
  1931. package/dist/modes/interactive-engine/engine-session-picker.d.ts.map +1 -1
  1932. package/dist/modes/interactive-engine/engine-session-picker.js +4 -2
  1933. package/dist/modes/interactive-engine/engine-session-picker.js.map +1 -1
  1934. package/dist/modes/interactive-engine/extension-ui-bridge.d.ts +16 -3
  1935. package/dist/modes/interactive-engine/extension-ui-bridge.d.ts.map +1 -1
  1936. package/dist/modes/interactive-engine/extension-ui-bridge.js +35 -45
  1937. package/dist/modes/interactive-engine/extension-ui-bridge.js.map +1 -1
  1938. package/dist/modes/interactive-engine/input-form-host.d.ts +1 -0
  1939. package/dist/modes/interactive-engine/input-form-host.d.ts.map +1 -1
  1940. package/dist/modes/interactive-engine/input-form-host.js +18 -3
  1941. package/dist/modes/interactive-engine/input-form-host.js.map +1 -1
  1942. package/dist/modes/interactive-engine/isolated-auth.d.ts +10 -0
  1943. package/dist/modes/interactive-engine/isolated-auth.d.ts.map +1 -0
  1944. package/dist/modes/interactive-engine/isolated-auth.js +15 -0
  1945. package/dist/modes/interactive-engine/isolated-auth.js.map +1 -0
  1946. package/dist/modes/interactive-engine/isolated-runtime.d.ts +40 -6
  1947. package/dist/modes/interactive-engine/isolated-runtime.d.ts.map +1 -1
  1948. package/dist/modes/interactive-engine/isolated-runtime.js +161 -84
  1949. package/dist/modes/interactive-engine/isolated-runtime.js.map +1 -1
  1950. package/dist/modes/interactive-engine/protocol.d.ts +26 -2
  1951. package/dist/modes/interactive-engine/protocol.d.ts.map +1 -1
  1952. package/dist/modes/interactive-engine/protocol.js +192 -63
  1953. package/dist/modes/interactive-engine/protocol.js.map +1 -1
  1954. package/dist/modes/interactive-engine/remote-component.d.ts +38 -0
  1955. package/dist/modes/interactive-engine/remote-component.d.ts.map +1 -1
  1956. package/dist/modes/interactive-engine/remote-component.js +111 -22
  1957. package/dist/modes/interactive-engine/remote-component.js.map +1 -1
  1958. package/dist/modes/interactive-engine/remote-input-ownership.d.ts +48 -0
  1959. package/dist/modes/interactive-engine/remote-input-ownership.d.ts.map +1 -0
  1960. package/dist/modes/interactive-engine/remote-input-ownership.js +42 -0
  1961. package/dist/modes/interactive-engine/remote-input-ownership.js.map +1 -0
  1962. package/dist/modes/interactive-engine/remote-model-catalog.d.ts +2 -0
  1963. package/dist/modes/interactive-engine/remote-model-catalog.d.ts.map +1 -1
  1964. package/dist/modes/interactive-engine/remote-model-catalog.js +23 -10
  1965. package/dist/modes/interactive-engine/remote-model-catalog.js.map +1 -1
  1966. package/dist/modes/interactive-engine/remote-queue-pause.d.ts +13 -0
  1967. package/dist/modes/interactive-engine/remote-queue-pause.d.ts.map +1 -0
  1968. package/dist/modes/interactive-engine/remote-queue-pause.js +38 -0
  1969. package/dist/modes/interactive-engine/remote-queue-pause.js.map +1 -0
  1970. package/dist/modes/interactive-engine/remote-renderer.d.ts +3 -1
  1971. package/dist/modes/interactive-engine/remote-renderer.d.ts.map +1 -1
  1972. package/dist/modes/interactive-engine/remote-renderer.js +41 -10
  1973. package/dist/modes/interactive-engine/remote-renderer.js.map +1 -1
  1974. package/dist/modes/interactive-engine/session-picker-host.d.ts +1 -0
  1975. package/dist/modes/interactive-engine/session-picker-host.d.ts.map +1 -1
  1976. package/dist/modes/interactive-engine/session-picker-host.js +4 -0
  1977. package/dist/modes/interactive-engine/session-picker-host.js.map +1 -1
  1978. package/dist/modes/print-mode.d.ts.map +1 -1
  1979. package/dist/modes/print-mode.js +5 -0
  1980. package/dist/modes/print-mode.js.map +1 -1
  1981. package/dist/modes/rpc/jsonl.d.ts +9 -7
  1982. package/dist/modes/rpc/jsonl.d.ts.map +1 -1
  1983. package/dist/modes/rpc/jsonl.js +23 -24
  1984. package/dist/modes/rpc/jsonl.js.map +1 -1
  1985. package/dist/modes/rpc/queued-writer.d.ts +33 -0
  1986. package/dist/modes/rpc/queued-writer.d.ts.map +1 -0
  1987. package/dist/modes/rpc/queued-writer.js +104 -0
  1988. package/dist/modes/rpc/queued-writer.js.map +1 -0
  1989. package/dist/modes/rpc/rpc-bash-request-owners.d.ts +24 -0
  1990. package/dist/modes/rpc/rpc-bash-request-owners.d.ts.map +1 -0
  1991. package/dist/modes/rpc/rpc-bash-request-owners.js +45 -0
  1992. package/dist/modes/rpc/rpc-bash-request-owners.js.map +1 -0
  1993. package/dist/modes/rpc/rpc-client-api.d.ts +10 -4
  1994. package/dist/modes/rpc/rpc-client-api.d.ts.map +1 -1
  1995. package/dist/modes/rpc/rpc-client-api.js +83 -25
  1996. package/dist/modes/rpc/rpc-client-api.js.map +1 -1
  1997. package/dist/modes/rpc/rpc-client-process.d.ts +11 -4
  1998. package/dist/modes/rpc/rpc-client-process.d.ts.map +1 -1
  1999. package/dist/modes/rpc/rpc-client-process.js +77 -29
  2000. package/dist/modes/rpc/rpc-client-process.js.map +1 -1
  2001. package/dist/modes/rpc/rpc-client-waits.d.ts +17 -1
  2002. package/dist/modes/rpc/rpc-client-waits.d.ts.map +1 -1
  2003. package/dist/modes/rpc/rpc-client-waits.js +25 -0
  2004. package/dist/modes/rpc/rpc-client-waits.js.map +1 -1
  2005. package/dist/modes/rpc/rpc-client.d.ts +68 -9
  2006. package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
  2007. package/dist/modes/rpc/rpc-client.js +205 -158
  2008. package/dist/modes/rpc/rpc-client.js.map +1 -1
  2009. package/dist/modes/rpc/rpc-command-handler.d.ts +10 -3
  2010. package/dist/modes/rpc/rpc-command-handler.d.ts.map +1 -1
  2011. package/dist/modes/rpc/rpc-command-handler.js +148 -56
  2012. package/dist/modes/rpc/rpc-command-handler.js.map +1 -1
  2013. package/dist/modes/rpc/rpc-command-timeouts.d.ts +30 -0
  2014. package/dist/modes/rpc/rpc-command-timeouts.d.ts.map +1 -0
  2015. package/dist/modes/rpc/rpc-command-timeouts.js +52 -0
  2016. package/dist/modes/rpc/rpc-command-timeouts.js.map +1 -0
  2017. package/dist/modes/rpc/rpc-event-buffer.d.ts.map +1 -1
  2018. package/dist/modes/rpc/rpc-event-buffer.js +3 -1
  2019. package/dist/modes/rpc/rpc-event-buffer.js.map +1 -1
  2020. package/dist/modes/rpc/rpc-extension-ui.d.ts +4 -2
  2021. package/dist/modes/rpc/rpc-extension-ui.d.ts.map +1 -1
  2022. package/dist/modes/rpc/rpc-extension-ui.js +50 -17
  2023. package/dist/modes/rpc/rpc-extension-ui.js.map +1 -1
  2024. package/dist/modes/rpc/rpc-generation-buffer.d.ts +21 -0
  2025. package/dist/modes/rpc/rpc-generation-buffer.d.ts.map +1 -0
  2026. package/dist/modes/rpc/rpc-generation-buffer.js +35 -0
  2027. package/dist/modes/rpc/rpc-generation-buffer.js.map +1 -0
  2028. package/dist/modes/rpc/rpc-input-scheduler.d.ts +3 -3
  2029. package/dist/modes/rpc/rpc-input-scheduler.d.ts.map +1 -1
  2030. package/dist/modes/rpc/rpc-input-scheduler.js +19 -8
  2031. package/dist/modes/rpc/rpc-input-scheduler.js.map +1 -1
  2032. package/dist/modes/rpc/rpc-input.d.ts +7 -1
  2033. package/dist/modes/rpc/rpc-input.d.ts.map +1 -1
  2034. package/dist/modes/rpc/rpc-input.js +14 -4
  2035. package/dist/modes/rpc/rpc-input.js.map +1 -1
  2036. package/dist/modes/rpc/rpc-keybindings-reload.d.ts.map +1 -1
  2037. package/dist/modes/rpc/rpc-keybindings-reload.js.map +1 -1
  2038. package/dist/modes/rpc/rpc-mode.d.ts +1 -1
  2039. package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
  2040. package/dist/modes/rpc/rpc-mode.js +23 -23
  2041. package/dist/modes/rpc/rpc-mode.js.map +1 -1
  2042. package/dist/modes/rpc/rpc-model-fallback-prompt.d.ts +4 -0
  2043. package/dist/modes/rpc/rpc-model-fallback-prompt.d.ts.map +1 -0
  2044. package/dist/modes/rpc/rpc-model-fallback-prompt.js +11 -0
  2045. package/dist/modes/rpc/rpc-model-fallback-prompt.js.map +1 -0
  2046. package/dist/modes/rpc/rpc-oauth-client.d.ts +21 -0
  2047. package/dist/modes/rpc/rpc-oauth-client.d.ts.map +1 -0
  2048. package/dist/modes/rpc/rpc-oauth-client.js +81 -0
  2049. package/dist/modes/rpc/rpc-oauth-client.js.map +1 -0
  2050. package/dist/modes/rpc/rpc-oauth-interaction.d.ts +9 -0
  2051. package/dist/modes/rpc/rpc-oauth-interaction.d.ts.map +1 -0
  2052. package/dist/modes/rpc/rpc-oauth-interaction.js +49 -0
  2053. package/dist/modes/rpc/rpc-oauth-interaction.js.map +1 -0
  2054. package/dist/modes/rpc/rpc-output-buffer.d.ts +2 -1
  2055. package/dist/modes/rpc/rpc-output-buffer.d.ts.map +1 -1
  2056. package/dist/modes/rpc/rpc-output-buffer.js +7 -40
  2057. package/dist/modes/rpc/rpc-output-buffer.js.map +1 -1
  2058. package/dist/modes/rpc/rpc-pending-requests.d.ts +37 -0
  2059. package/dist/modes/rpc/rpc-pending-requests.d.ts.map +1 -0
  2060. package/dist/modes/rpc/rpc-pending-requests.js +57 -0
  2061. package/dist/modes/rpc/rpc-pending-requests.js.map +1 -0
  2062. package/dist/modes/rpc/rpc-provider-auth.d.ts +22 -0
  2063. package/dist/modes/rpc/rpc-provider-auth.d.ts.map +1 -0
  2064. package/dist/modes/rpc/rpc-provider-auth.js +117 -0
  2065. package/dist/modes/rpc/rpc-provider-auth.js.map +1 -0
  2066. package/dist/modes/rpc/rpc-responses.d.ts +0 -1
  2067. package/dist/modes/rpc/rpc-responses.d.ts.map +1 -1
  2068. package/dist/modes/rpc/rpc-responses.js +0 -14
  2069. package/dist/modes/rpc/rpc-responses.js.map +1 -1
  2070. package/dist/modes/rpc/rpc-session-binding.d.ts +2 -1
  2071. package/dist/modes/rpc/rpc-session-binding.d.ts.map +1 -1
  2072. package/dist/modes/rpc/rpc-session-binding.js +71 -43
  2073. package/dist/modes/rpc/rpc-session-binding.js.map +1 -1
  2074. package/dist/modes/rpc/rpc-terminal-drain.d.ts +52 -0
  2075. package/dist/modes/rpc/rpc-terminal-drain.d.ts.map +1 -0
  2076. package/dist/modes/rpc/rpc-terminal-drain.js +85 -0
  2077. package/dist/modes/rpc/rpc-terminal-drain.js.map +1 -0
  2078. package/dist/modes/rpc/rpc-transport-error.d.ts +49 -0
  2079. package/dist/modes/rpc/rpc-transport-error.d.ts.map +1 -0
  2080. package/dist/modes/rpc/rpc-transport-error.js +78 -0
  2081. package/dist/modes/rpc/rpc-transport-error.js.map +1 -0
  2082. package/dist/modes/rpc/rpc-types.d.ts +123 -20
  2083. package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
  2084. package/dist/modes/rpc/rpc-types.js.map +1 -1
  2085. package/dist/package-manager-cli-parser.js.map +1 -1
  2086. package/dist/package-manager-cli.d.ts +3 -3
  2087. package/dist/package-manager-cli.d.ts.map +1 -1
  2088. package/dist/package-manager-cli.js +66 -53
  2089. package/dist/package-manager-cli.js.map +1 -1
  2090. package/dist/rpc-entry.js +6 -2
  2091. package/dist/rpc-entry.js.map +1 -1
  2092. package/dist/self-update-plan.d.ts +12 -0
  2093. package/dist/self-update-plan.d.ts.map +1 -0
  2094. package/dist/self-update-plan.js +42 -0
  2095. package/dist/self-update-plan.js.map +1 -0
  2096. package/dist/utils/child-process.d.ts.map +1 -1
  2097. package/dist/utils/child-process.js.map +1 -1
  2098. package/dist/utils/clipboard-image.js +1 -1
  2099. package/dist/utils/clipboard-image.js.map +1 -1
  2100. package/dist/utils/clipboard-native.d.ts +1 -0
  2101. package/dist/utils/clipboard-native.d.ts.map +1 -1
  2102. package/dist/utils/clipboard-native.js.map +1 -1
  2103. package/dist/utils/clipboard.d.ts +3 -0
  2104. package/dist/utils/clipboard.d.ts.map +1 -1
  2105. package/dist/utils/clipboard.js +31 -8
  2106. package/dist/utils/clipboard.js.map +1 -1
  2107. package/dist/utils/compile-cache.d.ts +8 -0
  2108. package/dist/utils/compile-cache.d.ts.map +1 -0
  2109. package/dist/utils/compile-cache.js +31 -0
  2110. package/dist/utils/compile-cache.js.map +1 -0
  2111. package/dist/utils/fs-watch.d.ts.map +1 -1
  2112. package/dist/utils/fs-watch.js +1 -3
  2113. package/dist/utils/fs-watch.js.map +1 -1
  2114. package/dist/utils/git.js +1 -1
  2115. package/dist/utils/git.js.map +1 -1
  2116. package/dist/utils/interactive-engine-bootstrap.d.ts +67 -0
  2117. package/dist/utils/interactive-engine-bootstrap.d.ts.map +1 -0
  2118. package/dist/utils/interactive-engine-bootstrap.js +117 -0
  2119. package/dist/utils/interactive-engine-bootstrap.js.map +1 -0
  2120. package/dist/utils/interactive-engine-env.d.ts +41 -0
  2121. package/dist/utils/interactive-engine-env.d.ts.map +1 -0
  2122. package/dist/utils/interactive-engine-env.js +67 -0
  2123. package/dist/utils/interactive-engine-env.js.map +1 -0
  2124. package/dist/utils/markit.d.ts.map +1 -1
  2125. package/dist/utils/markit.js +15 -5
  2126. package/dist/utils/markit.js.map +1 -1
  2127. package/dist/utils/shell.js +2 -2
  2128. package/dist/utils/shell.js.map +1 -1
  2129. package/dist/utils/split-launcher.d.ts.map +1 -1
  2130. package/dist/utils/split-launcher.js +1 -2
  2131. package/dist/utils/split-launcher.js.map +1 -1
  2132. package/dist/utils/tools-manager.d.ts.map +1 -1
  2133. package/dist/utils/tools-manager.js +8 -34
  2134. package/dist/utils/tools-manager.js.map +1 -1
  2135. package/dist/utils/version-check.d.ts +1 -0
  2136. package/dist/utils/version-check.d.ts.map +1 -1
  2137. package/dist/utils/version-check.js +7 -5
  2138. package/dist/utils/version-check.js.map +1 -1
  2139. package/docs/changelog.mdx +24 -2
  2140. package/docs/compaction.md +101 -18
  2141. package/docs/custom-provider.md +40 -8
  2142. package/docs/development.md +14 -15
  2143. package/docs/docs.json +3 -1
  2144. package/docs/environment-variables.md +37 -0
  2145. package/docs/extensions.md +166 -18
  2146. package/docs/index.md +1 -0
  2147. package/docs/intercom.md +1 -1
  2148. package/docs/json.md +11 -5
  2149. package/docs/keybindings.md +19 -2
  2150. package/docs/llama-cpp.md +72 -0
  2151. package/docs/models.md +41 -50
  2152. package/docs/packages.md +4 -2
  2153. package/docs/prompt-templates.md +1 -0
  2154. package/docs/providers.md +86 -24
  2155. package/docs/quickstart.md +21 -17
  2156. package/docs/rpc.md +88 -86
  2157. package/docs/sdk.md +68 -71
  2158. package/docs/security.md +15 -0
  2159. package/docs/session-format.md +6 -15
  2160. package/docs/sessions.md +1 -1
  2161. package/docs/settings.md +29 -18
  2162. package/docs/skills.md +8 -0
  2163. package/docs/subagents.md +24 -8
  2164. package/docs/themes.md +10 -1
  2165. package/docs/tui.md +14 -7
  2166. package/docs/usage.md +71 -2
  2167. package/docs/windows.md +1 -1
  2168. package/docs/workflows.md +1235 -529
  2169. package/examples/extensions/README.md +2 -2
  2170. package/examples/extensions/border-status-editor.ts +1 -6
  2171. package/examples/extensions/custom-compaction.ts +7 -2
  2172. package/examples/extensions/custom-footer.ts +1 -1
  2173. package/examples/extensions/custom-provider-anthropic/index.ts +14 -2
  2174. package/examples/extensions/custom-provider-gitlab-duo/index.ts +1 -1
  2175. package/examples/extensions/gondolin/index.ts +1 -1
  2176. package/examples/extensions/handoff.ts +9 -2
  2177. package/examples/extensions/hello.ts +1 -1
  2178. package/examples/extensions/message-renderer.ts +2 -2
  2179. package/examples/extensions/minimal-mode.ts +6 -6
  2180. package/examples/extensions/overlay-qa-focus-components.ts +0 -1
  2181. package/examples/extensions/overlay-qa-streaming-input-components.ts +2 -2
  2182. package/examples/extensions/overlay-qa-tests.ts +16 -14
  2183. package/examples/extensions/overlay-qa-toggle-passive-components.ts +3 -5
  2184. package/examples/extensions/overlay-test.ts +3 -6
  2185. package/examples/extensions/plan-mode/index.ts +1 -1
  2186. package/examples/extensions/preset.ts +1 -1
  2187. package/examples/extensions/qna.ts +1 -1
  2188. package/examples/extensions/sandbox/package-lock.json +3 -3
  2189. package/examples/extensions/structured-output.ts +9 -9
  2190. package/examples/extensions/subagent/display.ts +115 -127
  2191. package/examples/extensions/subagent/index.ts +310 -349
  2192. package/examples/extensions/subagent/render.ts +244 -345
  2193. package/examples/extensions/subagent/runner.ts +223 -230
  2194. package/examples/extensions/subagent/schemas.ts +39 -46
  2195. package/examples/extensions/subagent/types.ts +22 -22
  2196. package/examples/extensions/summarize.ts +4 -1
  2197. package/examples/extensions/tic-tac-toe.ts +4 -4
  2198. package/examples/extensions/todo.ts +1 -1
  2199. package/examples/extensions/tool-override.ts +1 -1
  2200. package/examples/extensions/trigger-compact.ts +4 -1
  2201. package/examples/extensions/working-indicator.ts +3 -2
  2202. package/examples/rpc-extension-ui-components.ts +1 -2
  2203. package/examples/sdk/02-custom-model.ts +8 -10
  2204. package/examples/sdk/03-custom-prompt.ts +1 -6
  2205. package/examples/sdk/06-extensions.ts +1 -6
  2206. package/examples/sdk/07-context-files.ts +1 -6
  2207. package/examples/sdk/09-api-keys-and-oauth.ts +17 -23
  2208. package/examples/sdk/12-full-control.ts +10 -12
  2209. package/examples/sdk/README.md +17 -21
  2210. package/npm-shrinkwrap.json +304 -313
  2211. package/package.json +15 -13
  2212. package/dist/builtin/cursor/CHANGELOG.md +0 -281
  2213. package/dist/builtin/cursor/LICENSE +0 -26
  2214. package/dist/builtin/cursor/README.md +0 -24
  2215. package/dist/builtin/cursor/index.ts +0 -9
  2216. package/dist/builtin/cursor/package.json +0 -47
  2217. package/dist/builtin/cursor/src/auth.ts +0 -352
  2218. package/dist/builtin/cursor/src/catalog-cache.ts +0 -155
  2219. package/dist/builtin/cursor/src/config.ts +0 -123
  2220. package/dist/builtin/cursor/src/conversation-state.ts +0 -135
  2221. package/dist/builtin/cursor/src/cursor-models-raw.json +0 -412
  2222. package/dist/builtin/cursor/src/model-mapper.ts +0 -369
  2223. package/dist/builtin/cursor/src/model-reference.ts +0 -282
  2224. package/dist/builtin/cursor/src/models.ts +0 -54
  2225. package/dist/builtin/cursor/src/native-loader.ts +0 -71
  2226. package/dist/builtin/cursor/src/proto/README.md +0 -34
  2227. package/dist/builtin/cursor/src/proto/agent_pb.ts +0 -15294
  2228. package/dist/builtin/cursor/src/proto/protobuf-codec-base64.ts +0 -22
  2229. package/dist/builtin/cursor/src/proto/protobuf-codec-json.ts +0 -44
  2230. package/dist/builtin/cursor/src/proto/protobuf-codec-request.ts +0 -311
  2231. package/dist/builtin/cursor/src/proto/protobuf-codec-wire.ts +0 -248
  2232. package/dist/builtin/cursor/src/proto/protobuf-codec.ts +0 -200
  2233. package/dist/builtin/cursor/src/provider.ts +0 -301
  2234. package/dist/builtin/cursor/src/stream.ts +0 -494
  2235. package/dist/builtin/cursor/src/transport-errors.ts +0 -74
  2236. package/dist/builtin/cursor/src/transport-frame.ts +0 -56
  2237. package/dist/builtin/cursor/src/transport-http2.ts +0 -122
  2238. package/dist/builtin/cursor/src/transport-native-client.ts +0 -161
  2239. package/dist/builtin/cursor/src/transport-run-stream.ts +0 -188
  2240. package/dist/builtin/cursor/src/transport-timeouts.ts +0 -87
  2241. package/dist/builtin/cursor/src/transport-types.ts +0 -143
  2242. package/dist/builtin/cursor/src/transport.ts +0 -26
  2243. package/dist/builtin/workflows/builtin/deep-research-codebase-runner.ts +0 -492
  2244. package/dist/builtin/workflows/builtin/deep-research-codebase-utils.ts +0 -383
  2245. package/dist/builtin/workflows/builtin/deep-research-codebase.d.ts +0 -35
  2246. package/dist/builtin/workflows/builtin/deep-research-codebase.ts +0 -47
  2247. package/dist/builtin/workflows/skills/impeccable/reference/brand.md +0 -108
  2248. package/dist/builtin/workflows/skills/impeccable/reference/codex.md +0 -105
  2249. package/dist/builtin/workflows/skills/impeccable/reference/interaction-design.md +0 -189
  2250. package/dist/builtin/workflows/skills/impeccable/scripts/hook-before-edit.mjs +0 -516
  2251. package/dist/core/context-window.d.ts +0 -54
  2252. package/dist/core/context-window.d.ts.map +0 -1
  2253. package/dist/core/context-window.js +0 -110
  2254. package/dist/core/context-window.js.map +0 -1
  2255. package/dist/core/copilot-anthropic-sse-repair.d.ts +0 -23
  2256. package/dist/core/copilot-anthropic-sse-repair.d.ts.map +0 -1
  2257. package/dist/core/copilot-anthropic-sse-repair.js +0 -340
  2258. package/dist/core/copilot-anthropic-sse-repair.js.map +0 -1
  2259. package/dist/core/copilot-errors.d.ts +0 -9
  2260. package/dist/core/copilot-errors.d.ts.map +0 -1
  2261. package/dist/core/copilot-errors.js +0 -32
  2262. package/dist/core/copilot-errors.js.map +0 -1
  2263. package/dist/core/copilot-gemini-payload-sanitizer.d.ts +0 -72
  2264. package/dist/core/copilot-gemini-payload-sanitizer.d.ts.map +0 -1
  2265. package/dist/core/copilot-gemini-payload-sanitizer.js +0 -296
  2266. package/dist/core/copilot-gemini-payload-sanitizer.js.map +0 -1
  2267. package/dist/core/copilot-gemini-reasoning.d.ts +0 -126
  2268. package/dist/core/copilot-gemini-reasoning.d.ts.map +0 -1
  2269. package/dist/core/copilot-gemini-reasoning.js +0 -265
  2270. package/dist/core/copilot-gemini-reasoning.js.map +0 -1
  2271. package/dist/core/copilot-gemini-tool-arguments.d.ts +0 -42
  2272. package/dist/core/copilot-gemini-tool-arguments.d.ts.map +0 -1
  2273. package/dist/core/copilot-gemini-tool-arguments.js +0 -159
  2274. package/dist/core/copilot-gemini-tool-arguments.js.map +0 -1
  2275. package/dist/core/copilot-hosts.d.ts +0 -12
  2276. package/dist/core/copilot-hosts.d.ts.map +0 -1
  2277. package/dist/core/copilot-hosts.js +0 -33
  2278. package/dist/core/copilot-hosts.js.map +0 -1
  2279. package/dist/core/copilot-model-catalog.d.ts +0 -114
  2280. package/dist/core/copilot-model-catalog.d.ts.map +0 -1
  2281. package/dist/core/copilot-model-catalog.js +0 -392
  2282. package/dist/core/copilot-model-catalog.js.map +0 -1
  2283. package/dist/core/copilot-model-static-fallbacks.d.ts +0 -43
  2284. package/dist/core/copilot-model-static-fallbacks.d.ts.map +0 -1
  2285. package/dist/core/copilot-model-static-fallbacks.js +0 -50
  2286. package/dist/core/copilot-model-static-fallbacks.js.map +0 -1
  2287. package/dist/core/copilot-model-synthesis.d.ts +0 -10
  2288. package/dist/core/copilot-model-synthesis.d.ts.map +0 -1
  2289. package/dist/core/copilot-model-synthesis.js +0 -91
  2290. package/dist/core/copilot-model-synthesis.js.map +0 -1
  2291. package/dist/core/model-registry-auth.d.ts +0 -8
  2292. package/dist/core/model-registry-auth.d.ts.map +0 -1
  2293. package/dist/core/model-registry-auth.js +0 -83
  2294. package/dist/core/model-registry-auth.js.map +0 -1
  2295. package/dist/core/model-registry-builtins.d.ts +0 -10
  2296. package/dist/core/model-registry-builtins.d.ts.map +0 -1
  2297. package/dist/core/model-registry-builtins.js +0 -171
  2298. package/dist/core/model-registry-builtins.js.map +0 -1
  2299. package/dist/core/model-registry-custom-loader.d.ts +0 -3
  2300. package/dist/core/model-registry-custom-loader.d.ts.map +0 -1
  2301. package/dist/core/model-registry-custom-loader.js +0 -254
  2302. package/dist/core/model-registry-custom-loader.js.map +0 -1
  2303. package/dist/core/model-registry-dynamic.d.ts +0 -7
  2304. package/dist/core/model-registry-dynamic.d.ts.map +0 -1
  2305. package/dist/core/model-registry-dynamic.js +0 -201
  2306. package/dist/core/model-registry-dynamic.js.map +0 -1
  2307. package/dist/core/model-registry-loader.d.ts +0 -5
  2308. package/dist/core/model-registry-loader.d.ts.map +0 -1
  2309. package/dist/core/model-registry-loader.js +0 -28
  2310. package/dist/core/model-registry-loader.js.map +0 -1
  2311. package/dist/core/model-registry-schemas.d.ts +0 -1273
  2312. package/dist/core/model-registry-schemas.d.ts.map +0 -1
  2313. package/dist/core/model-registry-schemas.js.map +0 -1
  2314. package/dist/core/model-registry-types.d.ts +0 -82
  2315. package/dist/core/model-registry-types.d.ts.map +0 -1
  2316. package/dist/core/model-registry-types.js +0 -2
  2317. package/dist/core/model-registry-types.js.map +0 -1
  2318. package/dist/core/oauth-compat.d.ts +0 -17
  2319. package/dist/core/oauth-compat.d.ts.map +0 -1
  2320. package/dist/core/oauth-compat.js +0 -2
  2321. package/dist/core/oauth-compat.js.map +0 -1
  2322. package/dist/core/oauth-provider-bridge.d.ts +0 -40
  2323. package/dist/core/oauth-provider-bridge.d.ts.map +0 -1
  2324. package/dist/core/oauth-provider-bridge.js +0 -169
  2325. package/dist/core/oauth-provider-bridge.js.map +0 -1
  2326. package/dist/modes/interactive/components/context-window-selector.d.ts +0 -53
  2327. package/dist/modes/interactive/components/context-window-selector.d.ts.map +0 -1
  2328. package/dist/modes/interactive/components/context-window-selector.js +0 -136
  2329. package/dist/modes/interactive/components/context-window-selector.js.map +0 -1
  2330. package/dist/modes/rpc/bounded-writer.d.ts +0 -27
  2331. package/dist/modes/rpc/bounded-writer.d.ts.map +0 -1
  2332. package/dist/modes/rpc/bounded-writer.js +0 -103
  2333. package/dist/modes/rpc/bounded-writer.js.map +0 -1
@@ -1,12 +1,13 @@
1
+ import * as crypto from "node:crypto";
1
2
  import * as fs from "node:fs";
2
3
  import { createRequire } from "node:module";
3
4
  import * as path from "node:path";
4
5
  import { pathToFileURL } from "node:url";
5
6
  import { createJiti } from "jiti/static";
6
7
  import { getExtensionTranspileCacheDir, isBunBinary, isBundledBuild } from "../../config.js";
7
- import { moduleDirFromMetaUrl } from "../../utils/split-launcher.js";
8
8
  import { resolutionBaseUrl } from "../../utils/module-require.js";
9
9
  import { resolvePath } from "../../utils/paths.js";
10
+ import { moduleDirFromMetaUrl } from "../../utils/split-launcher.js";
10
11
  const require = createRequire(import.meta.url);
11
12
  let _virtualModules = null;
12
13
  let _virtualModulesPromise = null;
@@ -22,7 +23,7 @@ async function loadVirtualModules() {
22
23
  // "@earendil-works/pi-ai"`, so we load the compat module here and key it
23
24
  // under the root specifier below to keep every extension working unchanged.
24
25
  import("@earendil-works/pi-ai/compat"),
25
- import("../oauth-compat.js"),
26
+ import("@earendil-works/pi-ai/oauth"),
26
27
  // NOTE: This import works because loader.ts exports are NOT re-exported from index.ts,
27
28
  // avoiding a circular dependency while preserving the package-name extension import path.
28
29
  import("../../index.js"),
@@ -86,6 +87,215 @@ function pruneStaleTranspileCaches(currentDir) {
86
87
  .map((entry) => fs.promises.rm(path.join(parent, entry), { recursive: true, force: true }))))
87
88
  .catch(() => { });
88
89
  }
90
+ const GRAPH_MANIFEST_VERSION = 1;
91
+ const GRAPH_MANIFEST_DIR_NAME = "graph-manifests";
92
+ const graphManifestFileExtensions = new Set([".ts", ".tsx", ".mts", ".cts", ".js", ".mjs", ".cjs", ".jsx", ".json"]);
93
+ function graphManifestDir() {
94
+ return path.join(getTranspileCacheDir(), GRAPH_MANIFEST_DIR_NAME);
95
+ }
96
+ function graphManifestPath(extensionPath) {
97
+ const key = crypto.createHash("sha256").update(extensionPath).digest("hex").slice(0, 32);
98
+ return path.join(graphManifestDir(), `${key}.json`);
99
+ }
100
+ function sha256Hex(content) {
101
+ return crypto.createHash("sha256").update(content).digest("hex");
102
+ }
103
+ // jiti's CJS bundle reads every module source in the require graph through
104
+ // fs.readFileSync (even on fsCache hits, since the cache key is a hash of the
105
+ // source), so observing readFileSync while a transformed import is in flight
106
+ // sees the complete transitive graph. The observer records into every active
107
+ // recorder; unrelated reads that interleave only over-record, which at worst
108
+ // forces a redundant re-evaluation later — never a stale one.
109
+ const fsExports = require("node:fs");
110
+ const activeGraphRecorders = new Set();
111
+ let observedReadFileSync = null;
112
+ function recordObservedRead(target, content) {
113
+ if (typeof target !== "string" || !path.isAbsolute(target))
114
+ return;
115
+ if (!graphManifestFileExtensions.has(path.extname(target).toLowerCase()))
116
+ return;
117
+ const normalizedTarget = path.normalize(target);
118
+ const cachePrefix = path.normalize(getTranspileCacheDir()) + path.sep;
119
+ if (normalizedTarget.toLowerCase().startsWith(cachePrefix.toLowerCase()))
120
+ return;
121
+ const hash = sha256Hex(content);
122
+ for (const recorder of activeGraphRecorders) {
123
+ recorder.set(normalizedTarget, hash);
124
+ }
125
+ }
126
+ function installReadFileSyncObserver() {
127
+ if (observedReadFileSync)
128
+ return;
129
+ const original = fsExports.readFileSync;
130
+ observedReadFileSync = original;
131
+ const wrapped = ((...args) => {
132
+ const content = original(...args);
133
+ recordObservedRead(args[0], content);
134
+ return content;
135
+ });
136
+ fsExports.readFileSync = wrapped;
137
+ }
138
+ function uninstallReadFileSyncObserver() {
139
+ if (!observedReadFileSync || activeGraphRecorders.size > 0)
140
+ return;
141
+ fsExports.readFileSync = observedReadFileSync;
142
+ observedReadFileSync = null;
143
+ }
144
+ function writeGraphManifest(manifest) {
145
+ const manifestFile = graphManifestPath(manifest.extensionPath);
146
+ let tempFile;
147
+ try {
148
+ fs.mkdirSync(path.dirname(manifestFile), { recursive: true });
149
+ tempFile = `${manifestFile}.${process.pid}.${Math.random().toString(36).slice(2)}.tmp`;
150
+ fs.writeFileSync(tempFile, JSON.stringify(manifest));
151
+ fs.renameSync(tempFile, manifestFile);
152
+ }
153
+ catch {
154
+ // Manifest persistence is best-effort: a missing manifest only means the
155
+ // next reload cannot prove the graph unchanged and re-evaluates. A failed
156
+ // replacement must not leave an older manifest behind describing a graph
157
+ // that no longer matches this evaluation, so invalidate the destination
158
+ // first, independently of removing the temporary file.
159
+ try {
160
+ fs.rmSync(manifestFile, { force: true });
161
+ }
162
+ catch {
163
+ // A leftover stale manifest cannot be reused without also matching
164
+ // the in-memory manifest of the same evaluation, and readers
165
+ // tolerate missing or corrupt files.
166
+ }
167
+ try {
168
+ if (tempFile)
169
+ fs.rmSync(tempFile, { force: true });
170
+ }
171
+ catch {
172
+ // Temporary files carry a unique suffix and are never read back.
173
+ }
174
+ }
175
+ }
176
+ function isStringRecord(value) {
177
+ if (typeof value !== "object" || value === null || Array.isArray(value))
178
+ return false;
179
+ return Object.values(value).every((entry) => typeof entry === "string");
180
+ }
181
+ export function readExtensionGraphManifest(extensionPath) {
182
+ try {
183
+ const parsed = JSON.parse(fs.readFileSync(graphManifestPath(extensionPath), "utf-8"));
184
+ if (parsed.version !== GRAPH_MANIFEST_VERSION)
185
+ return undefined;
186
+ if (parsed.extensionPath !== extensionPath)
187
+ return undefined;
188
+ if (!isStringRecord(parsed.files))
189
+ return undefined;
190
+ return { version: GRAPH_MANIFEST_VERSION, extensionPath, files: parsed.files };
191
+ }
192
+ catch {
193
+ return undefined;
194
+ }
195
+ }
196
+ async function recordExtensionGraph(extensionPath, load) {
197
+ const files = new Map();
198
+ activeGraphRecorders.add(files);
199
+ installReadFileSyncObserver();
200
+ let result;
201
+ try {
202
+ result = await load();
203
+ }
204
+ finally {
205
+ activeGraphRecorders.delete(files);
206
+ uninstallReadFileSyncObserver();
207
+ }
208
+ const manifest = {
209
+ version: GRAPH_MANIFEST_VERSION,
210
+ extensionPath,
211
+ files: Object.fromEntries([...files.entries()].sort(([a], [b]) => a.localeCompare(b))),
212
+ };
213
+ writeGraphManifest(manifest);
214
+ return { result, manifest };
215
+ }
216
+ /**
217
+ * Factories from transformed evaluations, retained across extension cache
218
+ * generation bumps and paired with the graph manifest recorded by the
219
+ * evaluation that produced them. A retained factory is reused on a reload only
220
+ * when the persisted manifest still equals the paired one and every file in it
221
+ * rehashes to its recorded digest; any doubt (missing or corrupt manifest,
222
+ * missing file, hash mismatch, changed graph shape) falls back to a fresh
223
+ * transformed re-evaluation, which re-records the manifest.
224
+ */
225
+ const retainedTransformedLoads = new Map();
226
+ function manifestFilesEqual(a, b) {
227
+ const aEntries = Object.entries(a);
228
+ if (aEntries.length !== Object.keys(b).length)
229
+ return false;
230
+ return aEntries.every(([filePath, hash]) => b[filePath] === hash);
231
+ }
232
+ function graphUnchangedSince(manifest) {
233
+ const stored = readExtensionGraphManifest(manifest.extensionPath);
234
+ if (!stored || !manifestFilesEqual(stored.files, manifest.files))
235
+ return false;
236
+ const entries = Object.entries(manifest.files);
237
+ if (entries.length === 0)
238
+ return false;
239
+ for (const [filePath, hash] of entries) {
240
+ try {
241
+ if (sha256Hex(fs.readFileSync(filePath)) !== hash)
242
+ return false;
243
+ }
244
+ catch {
245
+ return false;
246
+ }
247
+ }
248
+ return true;
249
+ }
250
+ /**
251
+ * A factory can defer loading local code until it is invoked (e.g. a
252
+ * `require()` inside the factory body). Those reads are invisible to the
253
+ * import-time recording, so retained factories are wrapped to record reads
254
+ * that happen while the factory executes and merge them into the retained and
255
+ * persisted manifest — editing a deferred dependency then invalidates reuse
256
+ * like any other graph file.
257
+ */
258
+ function withDeferredGraphRecording(extensionPath, factory) {
259
+ return (pi) => {
260
+ const files = new Map();
261
+ activeGraphRecorders.add(files);
262
+ installReadFileSyncObserver();
263
+ const finish = () => {
264
+ activeGraphRecorders.delete(files);
265
+ uninstallReadFileSyncObserver();
266
+ if (files.size > 0)
267
+ mergeDeferredGraphReads(extensionPath, files);
268
+ };
269
+ try {
270
+ const result = factory(pi);
271
+ if (result !== null &&
272
+ (typeof result === "object" || typeof result === "function") &&
273
+ typeof result.then === "function") {
274
+ return Promise.resolve(result).finally(finish);
275
+ }
276
+ finish();
277
+ return result;
278
+ }
279
+ catch (error) {
280
+ finish();
281
+ throw error;
282
+ }
283
+ };
284
+ }
285
+ function mergeDeferredGraphReads(extensionPath, files) {
286
+ const retained = retainedTransformedLoads.get(extensionPath);
287
+ if (!retained)
288
+ return;
289
+ let changed = false;
290
+ for (const [filePath, hash] of files) {
291
+ if (retained.manifest.files[filePath] !== hash) {
292
+ retained.manifest.files[filePath] = hash;
293
+ changed = true;
294
+ }
295
+ }
296
+ if (changed)
297
+ writeGraphManifest(retained.manifest);
298
+ }
89
299
  let extensionCacheCwd;
90
300
  let extensionCacheGeneration = 0;
91
301
  const extensionCache = new Map();
@@ -163,8 +373,8 @@ function getAliases() {
163
373
  // upstream layout change moves these files, this join needs updating to
164
374
  // match the package's real dist paths.
165
375
  const piAiEntry = resolveWorkspaceOrImport("ai/dist/compat.js", "@earendil-works/pi-ai");
376
+ const piAiOauthEntry = resolveWorkspaceOrImport("ai/dist/oauth.js", "@earendil-works/pi-ai");
166
377
  const piAiProvidersEntry = resolveWorkspaceOrImport("ai/dist/providers/all.js", "@earendil-works/pi-ai");
167
- const piAiOauthEntry = path.resolve(__dirname, "../oauth-compat.js");
168
378
  _aliases = {
169
379
  "@bastani/atomic": piCodingAgentEntry,
170
380
  "@earendil-works/pi-coding-agent": piCodingAgentEntry,
@@ -194,6 +404,10 @@ export const extensionLoaderTestHooks = {
194
404
  getAliases,
195
405
  findPackageRoot,
196
406
  getTranspileCacheDir,
407
+ graphManifestPath,
408
+ readExtensionGraphManifest,
409
+ loadExtensionModuleTransformed: (extensionPath, cacheToken) => importExtensionModule(extensionPath, cacheToken, true),
410
+ loadTransformedExtensionModule: (extensionPath, cacheToken) => loadTransformedExtensionModule(extensionPath, cacheToken),
197
411
  };
198
412
  /**
199
413
  * Extension paths already evaluated via native import() in this process. Bun on
@@ -202,22 +416,9 @@ export const extensionLoaderTestHooks = {
202
416
  * fresh module evaluation.
203
417
  */
204
418
  const nativelyImportedPaths = new Set();
205
- export async function loadExtensionModule(extensionPath, cacheToken) {
206
- if (isCurrentCacheToken(cacheToken)) {
207
- const cachedFactory = extensionCache.get(extensionPath);
208
- if (cachedFactory)
209
- return cachedFactory;
210
- }
419
+ async function importExtensionModule(extensionPath, cacheToken, forceTransformedImports) {
211
420
  const isWindows = process.platform === "win32";
212
- // Single-file builds (compiled binary or dev bundle) cannot alias host
213
- // package specifiers to files on disk: extensions must share the live
214
- // module instances baked into the build, so virtualModules is used instead
215
- // (which requires jiti's transformed-import path).
216
421
  const isSingleFileBuild = isBunBinary || isBundledBuild;
217
- // Windows first-load fast path: native import() (jiti's default tryNative)
218
- // skips per-launch transpilation of the extension module graph. Re-loads of
219
- // the same path fall back to transformed imports for fresh evaluation.
220
- const forceTransformedImports = isSingleFileBuild || (isWindows && nativelyImportedPaths.has(extensionPath));
221
422
  const jiti = createJiti(resolutionBaseUrl(import.meta.url), {
222
423
  moduleCache: false,
223
424
  ...(forceTransformedImports
@@ -227,16 +428,84 @@ export async function loadExtensionModule(extensionPath, cacheToken) {
227
428
  : {}),
228
429
  ...(isSingleFileBuild ? { virtualModules: await getVirtualModules() } : { alias: getAliases() }),
229
430
  });
230
- const module = await jiti.import(extensionImportSpecifier(extensionPath, cacheToken), { default: true });
431
+ const specifier = extensionImportSpecifier(extensionPath, cacheToken);
432
+ // Transformed evaluations are the loads whose repeat cost is the Windows
433
+ // /reload regression, so they are also the loads whose file graph is
434
+ // recorded into a content-hash manifest.
435
+ let module;
436
+ let recordedManifest;
437
+ if (forceTransformedImports) {
438
+ const recorded = await recordExtensionGraph(extensionPath, () => jiti.import(specifier, { default: true }));
439
+ module = recorded.result;
440
+ recordedManifest = recorded.manifest;
441
+ }
442
+ else {
443
+ module = await jiti.import(specifier, { default: true });
444
+ }
231
445
  if (isWindows && !forceTransformedImports) {
232
446
  nativelyImportedPaths.add(extensionPath);
233
447
  }
234
- const factory = module;
448
+ let factory = module;
235
449
  if (typeof factory !== "function")
236
450
  return undefined;
451
+ if (recordedManifest) {
452
+ factory = withDeferredGraphRecording(extensionPath, factory);
453
+ retainedTransformedLoads.set(extensionPath, { factory, manifest: recordedManifest });
454
+ }
237
455
  if (isCurrentCacheToken(cacheToken)) {
238
456
  extensionCache.set(extensionPath, factory);
239
457
  }
240
458
  return factory;
241
459
  }
460
+ /**
461
+ * Load an extension through jiti's transformed-import path, reusing the
462
+ * previously evaluated factory when the recorded graph manifest proves the
463
+ * entire transitive file graph is byte-identical. This lets the
464
+ * unchanged-graph case survive the /reload generation bump instead of
465
+ * re-evaluating hundreds of files; anything else re-evaluates as before.
466
+ *
467
+ * Note: when the graph is byte-identical, the previously evaluated module
468
+ * instance (including any mutable module-scoped state it closed over) is
469
+ * reused. An extension that requires clean module state on every reload must
470
+ * change a file in its graph to force re-evaluation.
471
+ */
472
+ async function loadTransformedExtensionModule(extensionPath, cacheToken) {
473
+ const retained = retainedTransformedLoads.get(extensionPath);
474
+ if (retained && graphUnchangedSince(retained.manifest)) {
475
+ if (isCurrentCacheToken(cacheToken)) {
476
+ extensionCache.set(extensionPath, retained.factory);
477
+ }
478
+ return retained.factory;
479
+ }
480
+ return importExtensionModule(extensionPath, cacheToken, true);
481
+ }
482
+ export async function loadExtensionModule(extensionPath, cacheToken) {
483
+ if (isCurrentCacheToken(cacheToken)) {
484
+ const cachedFactory = extensionCache.get(extensionPath);
485
+ if (cachedFactory)
486
+ return cachedFactory;
487
+ }
488
+ const isWindows = process.platform === "win32";
489
+ // Single-file builds (compiled binary or dev bundle) cannot alias host
490
+ // package specifiers to files on disk: extensions must share the live
491
+ // module instances baked into the build, so virtualModules is used instead
492
+ // (which requires jiti's transformed-import path).
493
+ const isSingleFileBuild = isBunBinary || isBundledBuild;
494
+ // Windows first-load fast path: native import() (jiti's default tryNative)
495
+ // skips per-launch transpilation of the extension module graph. Re-loads of
496
+ // the same path fall back to transformed imports for fresh evaluation.
497
+ //
498
+ // That fallback is not free. Measured on Windows CI, a transformed re-import
499
+ // costs ~15 ms per module file in the extension's transitive graph, so a
500
+ // reload of all five builtin packages (621 files) takes ~10.7 s cold and
501
+ // ~2.5 s against a warm jiti fsCache, against ~40 ms on Linux and macOS. The
502
+ // cost is correctness-driven and is paid interactively on every Windows
503
+ // `/reload`; removing it needs a content-hash-keyed evaluation cache or a
504
+ // narrower trigger, not a larger timeout.
505
+ const forceTransformedImports = isSingleFileBuild || (isWindows && nativelyImportedPaths.has(extensionPath));
506
+ if (forceTransformedImports) {
507
+ return loadTransformedExtensionModule(extensionPath, cacheToken);
508
+ }
509
+ return importExtensionModule(extensionPath, cacheToken, false);
510
+ }
242
511
  //# sourceMappingURL=loader-virtual-modules.js.map
@@ -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,6 +1,7 @@
1
1
  import type { Component } from "@earendil-works/pi-tui";
2
2
  import type { Theme } from "../../modes/interactive/theme/theme.ts";
3
3
  import type { CustomMessage } from "../messages.ts";
4
+ import type { CustomEntry } from "../session-manager.ts";
4
5
  export type CustomMessageDelivery = "steer" | "followUp" | "nextTurn" | "interrupt";
5
6
  export interface SendMessageOptions {
6
7
  triggerTurn?: boolean;
@@ -18,10 +19,11 @@ export interface SendMessageOptions {
18
19
  */
19
20
  stageAdmissionBarrier?: () => Promise<void>;
20
21
  /**
21
- * When the parent chat is streaming, persist the custom message to the
22
- * transcript (visible and durable) instead of only queueing a transient
23
- * steer that can be dropped when the queue is cleared or the turn aborts.
24
- * Use for status notices that must not be silently lost.
22
+ * Commit one display-only card before admission, then deliver a separate
23
+ * hidden model-facing reconciliation. In an active parent chat that hidden
24
+ * message waits for agent-core's protocol-safe boundary; queue clearing cannot
25
+ * drop it and the lifecycle path does not interrupt the active response.
26
+ * Use only for status notices that require later model reconciliation.
25
27
  */
26
28
  persistWhenStreaming?: boolean;
27
29
  /**
@@ -37,7 +39,13 @@ export type SendMessagesOptions = Omit<SendMessageOptions, "deliverAs" | "interr
37
39
  };
38
40
  export interface MessageRenderOptions {
39
41
  expanded: boolean;
42
+ /** Horizontal padding configured by the outputPad setting. */
43
+ outputPad: number;
40
44
  }
45
+ export interface EntryRenderOptions {
46
+ expanded: boolean;
47
+ }
48
+ export type EntryRenderer<T = unknown> = (entry: CustomEntry<T>, options: EntryRenderOptions, theme: Theme) => Component | undefined;
41
49
  /**
42
50
  * Custom message renderer.
43
51
  *
@@ -1 +1 @@
1
- {"version":3,"file":"message-types.d.ts","sourceRoot":"","sources":["../../../src/core/extensions/message-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wCAAwC,CAAC;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,MAAM,MAAM,qBAAqB,GAAG,OAAO,GAAG,UAAU,GAAG,UAAU,GAAG,WAAW,CAAC;AAEpF,MAAM,WAAW,kBAAkB;IAClC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,qBAAqB,CAAC;IAClC,6EAA6E;IAC7E,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,+EAA+E;IAC/E,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;;OAMG;IACH,qBAAqB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,kBAAkB,EAAE,WAAW,GAAG,uBAAuB,CAAC,GAAG;IACnG,SAAS,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,UAAU,CAAC;CAC9C,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACpC,QAAQ,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,GAAG,OAAO,IAAI,CAC1C,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,EACzB,OAAO,EAAE,oBAAoB,EAC7B,KAAK,EAAE,KAAK,KACR,SAAS,GAAG,IAAI,GAAG,SAAS,CAAC"}
1
+ {"version":3,"file":"message-types.d.ts","sourceRoot":"","sources":["../../../src/core/extensions/message-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wCAAwC,CAAC;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,MAAM,MAAM,qBAAqB,GAAG,OAAO,GAAG,UAAU,GAAG,UAAU,GAAG,WAAW,CAAC;AAEpF,MAAM,WAAW,kBAAkB;IAClC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,qBAAqB,CAAC;IAClC,6EAA6E;IAC7E,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,+EAA+E;IAC/E,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;;OAMG;IACH,qBAAqB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C;;;;;;OAMG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,kBAAkB,EAAE,WAAW,GAAG,uBAAuB,CAAC,GAAG;IACnG,SAAS,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,UAAU,CAAC;CAC9C,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACpC,QAAQ,EAAE,OAAO,CAAC;IAClB,8DAA8D;IAC9D,SAAS,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IAClC,QAAQ,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,MAAM,aAAa,CAAC,CAAC,GAAG,OAAO,IAAI,CACxC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,EACrB,OAAO,EAAE,kBAAkB,EAC3B,KAAK,EAAE,KAAK,KACR,SAAS,GAAG,SAAS,CAAC;AAE3B;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,GAAG,OAAO,IAAI,CAC1C,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,EACzB,OAAO,EAAE,oBAAoB,EAC7B,KAAK,EAAE,KAAK,KACR,SAAS,GAAG,IAAI,GAAG,SAAS,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"message-types.js","sourceRoot":"","sources":["../../../src/core/extensions/message-types.ts"],"names":[],"mappings":"","sourcesContent":["import type { Component } from \"@earendil-works/pi-tui\";\nimport type { Theme } from \"../../modes/interactive/theme/theme.ts\";\nimport type { CustomMessage } from \"../messages.ts\";\n\nexport type CustomMessageDelivery = \"steer\" | \"followUp\" | \"nextTurn\" | \"interrupt\";\n\nexport interface SendMessageOptions {\n\ttriggerTurn?: boolean;\n\tdeliverAs?: CustomMessageDelivery;\n\t/** Render/persist the custom message without including it in LLM context. */\n\texcludeFromContext?: boolean;\n\t/** Stable producer identity used for exactly-once workflow-stage admission. */\n\tstageAdmissionKey?: string;\n\t/**\n\t * Holds an already-admitted workflow-stage delivery behind producer-specific\n\t * coordination. The generation boundary tracks this promise so stage close\n\t * cannot overtake the eventual queue insertion.\n\t *\n\t * @internal\n\t */\n\tstageAdmissionBarrier?: () => Promise<void>;\n\t/**\n\t * When the parent chat is streaming, persist the custom message to the\n\t * transcript (visible and durable) instead of only queueing a transient\n\t * steer that can be dropped when the queue is cleared or the turn aborts.\n\t * Use for status notices that must not be silently lost.\n\t */\n\tpersistWhenStreaming?: boolean;\n\n\t/**\n\t * Optional replacement text for generic abort tool/assistant results when\n\t * `deliverAs: \"interrupt\"` aborts an active turn. Use this when the abort is\n\t * caused by a meaningful external event and the model/user should see that\n\t * event instead of a bare `Operation aborted`.\n\t */\n\tinterruptAbortMessage?: string;\n}\n\nexport type SendMessagesOptions = Omit<SendMessageOptions, \"deliverAs\" | \"interruptAbortMessage\"> & {\n\tdeliverAs?: \"steer\" | \"followUp\" | \"nextTurn\";\n};\n\nexport interface MessageRenderOptions {\n\texpanded: boolean;\n}\n\n/**\n * Custom message renderer.\n *\n * Return value semantics:\n * - `Component`: mount this component (the renderer owns its styling).\n * - `null`: the renderer handled the message but wants to render nothing —\n * the entry occupies zero rows (no leading spacer, no default box). Use this\n * to suppress a rehydrated entry whose backing state is gone (e.g. the\n * workflows input form on `/resume`).\n * - `undefined`: the renderer did not handle the message; fall back to the\n * default boxed `[customType]` rendering.\n */\nexport type MessageRenderer<T = unknown> = (\n\tmessage: CustomMessage<T>,\n\toptions: MessageRenderOptions,\n\ttheme: Theme,\n) => Component | null | undefined;\n"]}
1
+ {"version":3,"file":"message-types.js","sourceRoot":"","sources":["../../../src/core/extensions/message-types.ts"],"names":[],"mappings":"","sourcesContent":["import type { Component } from \"@earendil-works/pi-tui\";\nimport type { Theme } from \"../../modes/interactive/theme/theme.ts\";\nimport type { CustomMessage } from \"../messages.ts\";\nimport type { CustomEntry } from \"../session-manager.ts\";\n\nexport type CustomMessageDelivery = \"steer\" | \"followUp\" | \"nextTurn\" | \"interrupt\";\n\nexport interface SendMessageOptions {\n\ttriggerTurn?: boolean;\n\tdeliverAs?: CustomMessageDelivery;\n\t/** Render/persist the custom message without including it in LLM context. */\n\texcludeFromContext?: boolean;\n\t/** Stable producer identity used for exactly-once workflow-stage admission. */\n\tstageAdmissionKey?: string;\n\t/**\n\t * Holds an already-admitted workflow-stage delivery behind producer-specific\n\t * coordination. The generation boundary tracks this promise so stage close\n\t * cannot overtake the eventual queue insertion.\n\t *\n\t * @internal\n\t */\n\tstageAdmissionBarrier?: () => Promise<void>;\n\t/**\n\t * Commit one display-only card before admission, then deliver a separate\n\t * hidden model-facing reconciliation. In an active parent chat that hidden\n\t * message waits for agent-core's protocol-safe boundary; queue clearing cannot\n\t * drop it and the lifecycle path does not interrupt the active response.\n\t * Use only for status notices that require later model reconciliation.\n\t */\n\tpersistWhenStreaming?: boolean;\n\n\t/**\n\t * Optional replacement text for generic abort tool/assistant results when\n\t * `deliverAs: \"interrupt\"` aborts an active turn. Use this when the abort is\n\t * caused by a meaningful external event and the model/user should see that\n\t * event instead of a bare `Operation aborted`.\n\t */\n\tinterruptAbortMessage?: string;\n}\n\nexport type SendMessagesOptions = Omit<SendMessageOptions, \"deliverAs\" | \"interruptAbortMessage\"> & {\n\tdeliverAs?: \"steer\" | \"followUp\" | \"nextTurn\";\n};\n\nexport interface MessageRenderOptions {\n\texpanded: boolean;\n\t/** Horizontal padding configured by the outputPad setting. */\n\toutputPad: number;\n}\n\nexport interface EntryRenderOptions {\n\texpanded: boolean;\n}\n\nexport type EntryRenderer<T = unknown> = (\n\tentry: CustomEntry<T>,\n\toptions: EntryRenderOptions,\n\ttheme: Theme,\n) => Component | undefined;\n\n/**\n * Custom message renderer.\n *\n * Return value semantics:\n * - `Component`: mount this component (the renderer owns its styling).\n * - `null`: the renderer handled the message but wants to render nothing —\n * the entry occupies zero rows (no leading spacer, no default box). Use this\n * to suppress a rehydrated entry whose backing state is gone (e.g. the\n * workflows input form on `/resume`).\n * - `undefined`: the renderer did not handle the message; fall back to the\n * default boxed `[customType]` rendering.\n */\nexport type MessageRenderer<T = unknown> = (\n\tmessage: CustomMessage<T>,\n\toptions: MessageRenderOptions,\n\ttheme: Theme,\n) => Component | null | undefined;\n"]}
@@ -1,6 +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";
2
+ import type { Api, AssistantMessageEventStream, Context, Model, OAuthCredentials, OAuthLoginCallbacks, SimpleStreamOptions } from "@earendil-works/pi-ai/compat";
3
+ import type { AtomicProviderCompat } from "../model-capabilities.ts";
3
4
  import type { ExtensionAPI } from "./api-types.ts";
5
+ export type { AtomicProviderCompat } from "../model-capabilities.ts";
4
6
  /** Configuration for registering a provider via pi.registerProvider(). */
5
7
  export interface ProviderConfig {
6
8
  /** Display name for the provider in UI. */
@@ -25,6 +27,10 @@ export interface ProviderConfig {
25
27
  oauth?: {
26
28
  /** Display name for the provider in login UI. */
27
29
  name: string;
30
+ /** Optional provider-specific login label. */
31
+ loginLabel?: string;
32
+ /** Whether the flow accepts a browser callback/manual redirect. */
33
+ usesCallbackServer?: boolean;
28
34
  /** Run the login flow, return credentials to persist. */
29
35
  login(callbacks: OAuthLoginCallbacks): Promise<OAuthCredentials>;
30
36
  /** Refresh expired credentials, return updated credentials to persist. */
@@ -55,15 +61,20 @@ export interface ProviderModelConfig {
55
61
  cost: Model<Api>["cost"];
56
62
  /** Default/effective context window size in tokens. */
57
63
  contextWindow: number;
58
- /** Selectable context-window sizes in tokens; omit when the model has only one supported window. */
59
- contextWindowOptions?: readonly number[];
60
64
  /** Maximum output tokens. */
61
65
  maxTokens: number;
62
66
  /** Custom headers for this model. */
63
67
  headers?: Record<string, string>;
64
- /** OpenAI compatibility settings. */
65
- compat?: Model<Api>["compat"];
68
+ /** Provider capability settings, including Atomic's `supportsGrammarTools` alias. */
69
+ compat?: AtomicProviderCompat;
66
70
  }
67
71
  /** Extension factory function type. Supports both sync and async initialization. */
68
72
  export type ExtensionFactory = (pi: ExtensionAPI) => void | Promise<void>;
73
+ /** Inline extension factory, optionally carrying a stable name and display visibility. */
74
+ export type InlineExtension = ExtensionFactory | {
75
+ name: string;
76
+ factory: ExtensionFactory;
77
+ hidden?: boolean;
78
+ bundled?: boolean;
79
+ };
69
80
  //# sourceMappingURL=provider-types.d.ts.map