@bastani/atomic 0.9.8 → 0.9.9-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (814) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/dist/builtin/cursor/CHANGELOG.md +12 -0
  3. package/dist/builtin/cursor/package.json +3 -3
  4. package/dist/builtin/intercom/CHANGELOG.md +13 -0
  5. package/dist/builtin/intercom/package.json +3 -3
  6. package/dist/builtin/mcp/CHANGELOG.md +13 -0
  7. package/dist/builtin/mcp/package.json +4 -4
  8. package/dist/builtin/subagents/CHANGELOG.md +13 -0
  9. package/dist/builtin/subagents/package.json +5 -5
  10. package/dist/builtin/subagents/src/runs/background/async-execution-chain.ts +2 -0
  11. package/dist/builtin/subagents/src/runs/background/async-execution-common.ts +7 -1
  12. package/dist/builtin/subagents/src/runs/background/async-execution-single.ts +2 -0
  13. package/dist/builtin/subagents/src/runs/background/async-execution-types.ts +8 -2
  14. package/dist/builtin/subagents/src/runs/foreground/chain-execution-parallel-runner.ts +2 -0
  15. package/dist/builtin/subagents/src/runs/foreground/chain-execution-sequential-step.ts +2 -0
  16. package/dist/builtin/subagents/src/runs/foreground/execution-attempt.ts +2 -1
  17. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-async.ts +2 -0
  18. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-parallel-task.ts +2 -0
  19. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-resume.ts +2 -0
  20. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-single.ts +2 -0
  21. package/dist/builtin/subagents/src/runs/shared/pi-args.ts +6 -0
  22. package/dist/builtin/subagents/src/shared/types-config.ts +4 -0
  23. package/dist/builtin/subagents/src/shared/types-depth.ts +29 -2
  24. package/dist/builtin/web-access/CHANGELOG.md +13 -0
  25. package/dist/builtin/web-access/package.json +3 -3
  26. package/dist/builtin/web-access/web-search-tool.ts +1 -2
  27. package/dist/builtin/workflows/CHANGELOG.md +29 -0
  28. package/dist/builtin/workflows/README.md +17 -8
  29. package/dist/builtin/workflows/builtin/goal-prompts.ts +8 -2
  30. package/dist/builtin/workflows/builtin/open-claude-design-utils.ts +26 -9
  31. package/dist/builtin/workflows/builtin/ralph-forked-prompts.ts +1 -1
  32. package/dist/builtin/workflows/builtin/ralph-reviewer-prompt.ts +8 -3
  33. package/dist/builtin/workflows/builtin/ralph-runner.ts +2 -0
  34. package/dist/builtin/workflows/builtin/shared-prompts.ts +24 -1
  35. package/dist/builtin/workflows/package.json +3 -3
  36. package/dist/builtin/workflows/src/durable/backend.ts +53 -15
  37. package/dist/builtin/workflows/src/durable/completed-catalog.ts +245 -0
  38. package/dist/builtin/workflows/src/durable/completed-inspection.ts +213 -0
  39. package/dist/builtin/workflows/src/durable/dbos-backend.ts +120 -170
  40. package/dist/builtin/workflows/src/durable/dbos-envelope.ts +84 -8
  41. package/dist/builtin/workflows/src/durable/dbos-metadata.ts +98 -0
  42. package/dist/builtin/workflows/src/durable/dbos-tombstone.ts +27 -0
  43. package/dist/builtin/workflows/src/durable/factory.ts +1 -1
  44. package/dist/builtin/workflows/src/durable/file-backend.ts +247 -241
  45. package/dist/builtin/workflows/src/durable/file-lock.ts +153 -0
  46. package/dist/builtin/workflows/src/durable/file-state.ts +104 -0
  47. package/dist/builtin/workflows/src/durable/format-version.ts +12 -0
  48. package/dist/builtin/workflows/src/durable/index.ts +12 -0
  49. package/dist/builtin/workflows/src/durable/resume-catalog.ts +16 -27
  50. package/dist/builtin/workflows/src/durable/resume-eligibility.ts +20 -0
  51. package/dist/builtin/workflows/src/durable/resume-runtime.ts +29 -29
  52. package/dist/builtin/workflows/src/durable/scoped-backend.ts +20 -3
  53. package/dist/builtin/workflows/src/durable/stage-primitive.ts +29 -8
  54. package/dist/builtin/workflows/src/durable/types.ts +3 -0
  55. package/dist/builtin/workflows/src/engine/primitives/task.ts +1 -0
  56. package/dist/builtin/workflows/src/engine/run.ts +14 -14
  57. package/dist/builtin/workflows/src/extension/extension-lifecycle.ts +39 -9
  58. package/dist/builtin/workflows/src/extension/extension-runtime-state.ts +10 -0
  59. package/dist/builtin/workflows/src/extension/runtime-durable-resume.ts +133 -0
  60. package/dist/builtin/workflows/src/extension/runtime.ts +15 -40
  61. package/dist/builtin/workflows/src/extension/wiring.ts +9 -6
  62. package/dist/builtin/workflows/src/extension/workflow-durable-resume-command.ts +226 -0
  63. package/dist/builtin/workflows/src/extension/workflow-prompts.ts +1 -0
  64. package/dist/builtin/workflows/src/extension/workflow-run-control-command.ts +66 -112
  65. package/dist/builtin/workflows/src/extension/workflow-schema.ts +5 -5
  66. package/dist/builtin/workflows/src/extension/workflow-tool-control.ts +16 -1
  67. package/dist/builtin/workflows/src/runs/foreground/executor-direct-helpers.ts +50 -43
  68. package/dist/builtin/workflows/src/runs/foreground/executor-direct-output.ts +91 -0
  69. package/dist/builtin/workflows/src/runs/foreground/executor-direct.ts +95 -46
  70. package/dist/builtin/workflows/src/runs/foreground/executor-stage-call.ts +3 -1
  71. package/dist/builtin/workflows/src/runs/foreground/executor-task-prompts.ts +1 -1
  72. package/dist/builtin/workflows/src/runs/foreground/executor-types.ts +3 -0
  73. package/dist/builtin/workflows/src/runs/foreground/stage-runner-controller.ts +1 -1
  74. package/dist/builtin/workflows/src/runs/foreground/stage-runner-options.ts +36 -7
  75. package/dist/builtin/workflows/src/runs/shared/worktree-cache-lifecycle.ts +25 -0
  76. package/dist/builtin/workflows/src/runs/shared/worktree-cwd.ts +103 -0
  77. package/dist/builtin/workflows/src/runs/shared/worktree-generation.ts +57 -0
  78. package/dist/builtin/workflows/src/runs/shared/worktree-git.ts +134 -8
  79. package/dist/builtin/workflows/src/runs/shared/worktree.ts +2 -0
  80. package/dist/builtin/workflows/src/shared/resumable-workflow-notices.ts +43 -0
  81. package/dist/builtin/workflows/src/shared/serializable.ts +1 -1
  82. package/dist/builtin/workflows/src/shared/timing.ts +4 -0
  83. package/dist/builtin/workflows/src/shared/types.ts +5 -3
  84. package/dist/builtin/workflows/src/tui/graph-view-constants.ts +1 -0
  85. package/dist/builtin/workflows/src/tui/graph-view-input.ts +24 -14
  86. package/dist/builtin/workflows/src/tui/workflow-resume-selector.ts +43 -13
  87. package/dist/bun/cli.d.ts.map +1 -1
  88. package/dist/bun/internal-intercom-broker.d.ts.map +1 -1
  89. package/dist/bun/register-bedrock.d.ts.map +1 -1
  90. package/dist/bun/restore-sandbox-env.d.ts.map +1 -1
  91. package/dist/bun/split-loader.d.ts.map +1 -1
  92. package/dist/cli/args.d.ts.map +1 -1
  93. package/dist/cli/config-selector.d.ts.map +1 -1
  94. package/dist/cli/file-processor.d.ts.map +1 -1
  95. package/dist/cli/initial-message.d.ts.map +1 -1
  96. package/dist/cli/list-models.d.ts.map +1 -1
  97. package/dist/cli/project-trust.d.ts.map +1 -1
  98. package/dist/cli/session-picker.d.ts.map +1 -1
  99. package/dist/cli/startup-ui.d.ts.map +1 -1
  100. package/dist/cli.d.ts.map +1 -1
  101. package/dist/config-self-update.d.ts.map +1 -1
  102. package/dist/config.d.ts.map +1 -1
  103. package/dist/core/agent-session-accessors.d.ts.map +1 -1
  104. package/dist/core/agent-session-auto-compaction.d.ts.map +1 -1
  105. package/dist/core/agent-session-auto-compaction.js +5 -7
  106. package/dist/core/agent-session-auto-compaction.js.map +1 -1
  107. package/dist/core/agent-session-bash.d.ts.map +1 -1
  108. package/dist/core/agent-session-compaction.d.ts +6 -34
  109. package/dist/core/agent-session-compaction.d.ts.map +1 -1
  110. package/dist/core/agent-session-compaction.js +95 -233
  111. package/dist/core/agent-session-compaction.js.map +1 -1
  112. package/dist/core/agent-session-events.d.ts.map +1 -1
  113. package/dist/core/agent-session-export.d.ts.map +1 -1
  114. package/dist/core/agent-session-extension-bindings.d.ts.map +1 -1
  115. package/dist/core/agent-session-message-queue.d.ts +0 -4
  116. package/dist/core/agent-session-message-queue.d.ts.map +1 -1
  117. package/dist/core/agent-session-message-queue.js +1 -5
  118. package/dist/core/agent-session-message-queue.js.map +1 -1
  119. package/dist/core/agent-session-methods.d.ts +5 -6
  120. package/dist/core/agent-session-methods.d.ts.map +1 -1
  121. package/dist/core/agent-session-methods.js.map +1 -1
  122. package/dist/core/agent-session-models.d.ts.map +1 -1
  123. package/dist/core/agent-session-prompt.d.ts.map +1 -1
  124. package/dist/core/agent-session-retry.d.ts.map +1 -1
  125. package/dist/core/agent-session-runtime.d.ts.map +1 -1
  126. package/dist/core/agent-session-services.d.ts.map +1 -1
  127. package/dist/core/agent-session-skill-block.d.ts.map +1 -1
  128. package/dist/core/agent-session-state.d.ts.map +1 -1
  129. package/dist/core/agent-session-tool-hooks.d.ts.map +1 -1
  130. package/dist/core/agent-session-tool-registry.d.ts.map +1 -1
  131. package/dist/core/agent-session-tree.d.ts.map +1 -1
  132. package/dist/core/agent-session-types.d.ts +2 -12
  133. package/dist/core/agent-session-types.d.ts.map +1 -1
  134. package/dist/core/agent-session-types.js.map +1 -1
  135. package/dist/core/agent-session.d.ts.map +1 -1
  136. package/dist/core/anthropic-thinking-guard.d.ts.map +1 -1
  137. package/dist/core/async/format.d.ts.map +1 -1
  138. package/dist/core/async/job-manager.d.ts.map +1 -1
  139. package/dist/core/async/session-manager.d.ts.map +1 -1
  140. package/dist/core/async/types.d.ts.map +1 -1
  141. package/dist/core/atomic-guide-command.d.ts.map +1 -1
  142. package/dist/core/auth-guidance.d.ts.map +1 -1
  143. package/dist/core/auth-storage-backends.d.ts.map +1 -1
  144. package/dist/core/auth-storage.d.ts +4 -0
  145. package/dist/core/auth-storage.d.ts.map +1 -1
  146. package/dist/core/bash-executor.d.ts.map +1 -1
  147. package/dist/core/builtin-packages.d.ts.map +1 -1
  148. package/dist/core/codex-fast-mode.d.ts.map +1 -1
  149. package/dist/core/compaction/branch-summarization.d.ts +1 -1
  150. package/dist/core/compaction/branch-summarization.d.ts.map +1 -1
  151. package/dist/core/compaction/branch-summarization.js +1 -2
  152. package/dist/core/compaction/branch-summarization.js.map +1 -1
  153. package/dist/core/compaction/compaction-boundary.d.ts +9 -0
  154. package/dist/core/compaction/compaction-boundary.d.ts.map +1 -0
  155. package/dist/core/compaction/compaction-boundary.js +115 -0
  156. package/dist/core/compaction/compaction-boundary.js.map +1 -0
  157. package/dist/core/compaction/compaction-parameters.d.ts +5 -0
  158. package/dist/core/compaction/compaction-parameters.d.ts.map +1 -0
  159. package/dist/core/compaction/compaction-parameters.js +27 -0
  160. package/dist/core/compaction/compaction-parameters.js.map +1 -0
  161. package/dist/core/compaction/compaction-runner.d.ts +14 -0
  162. package/dist/core/compaction/compaction-runner.d.ts.map +1 -0
  163. package/dist/core/compaction/compaction-runner.js +29 -0
  164. package/dist/core/compaction/compaction-runner.js.map +1 -0
  165. package/dist/core/compaction/compaction-types.d.ts +79 -0
  166. package/dist/core/compaction/compaction-types.d.ts.map +1 -0
  167. package/dist/core/compaction/compaction-types.js +6 -0
  168. package/dist/core/compaction/compaction-types.js.map +1 -0
  169. package/dist/core/compaction/compaction.d.ts.map +1 -1
  170. package/dist/core/compaction/deleted-ranges.d.ts +6 -0
  171. package/dist/core/compaction/deleted-ranges.d.ts.map +1 -0
  172. package/dist/core/compaction/deleted-ranges.js +134 -0
  173. package/dist/core/compaction/deleted-ranges.js.map +1 -0
  174. package/dist/core/compaction/index.d.ts +7 -1
  175. package/dist/core/compaction/index.d.ts.map +1 -1
  176. package/dist/core/compaction/index.js +7 -1
  177. package/dist/core/compaction/index.js.map +1 -1
  178. package/dist/core/compaction/range-planner.d.ts +21 -0
  179. package/dist/core/compaction/range-planner.d.ts.map +1 -0
  180. package/dist/core/compaction/range-planner.js +145 -0
  181. package/dist/core/compaction/range-planner.js.map +1 -0
  182. package/dist/core/compaction/transcript-serialization.d.ts +11 -0
  183. package/dist/core/compaction/transcript-serialization.d.ts.map +1 -0
  184. package/dist/core/compaction/transcript-serialization.js +104 -0
  185. package/dist/core/compaction/transcript-serialization.js.map +1 -0
  186. package/dist/core/compaction/utils.d.ts.map +1 -1
  187. package/dist/core/context-window.d.ts.map +1 -1
  188. package/dist/core/copilot-anthropic-sse-repair.d.ts.map +1 -1
  189. package/dist/core/copilot-errors.d.ts.map +1 -1
  190. package/dist/core/copilot-gemini-payload-sanitizer.d.ts.map +1 -1
  191. package/dist/core/copilot-gemini-reasoning.d.ts.map +1 -1
  192. package/dist/core/copilot-gemini-tool-arguments.d.ts.map +1 -1
  193. package/dist/core/copilot-hosts.d.ts.map +1 -1
  194. package/dist/core/copilot-model-catalog.d.ts.map +1 -1
  195. package/dist/core/copilot-model-static-fallbacks.d.ts.map +1 -1
  196. package/dist/core/copilot-model-synthesis.d.ts.map +1 -1
  197. package/dist/core/defaults.d.ts.map +1 -1
  198. package/dist/core/diagnostics.d.ts.map +1 -1
  199. package/dist/core/event-bus.d.ts.map +1 -1
  200. package/dist/core/exec.d.ts.map +1 -1
  201. package/dist/core/experimental.d.ts.map +1 -1
  202. package/dist/core/export-html/ansi-to-html.d.ts.map +1 -1
  203. package/dist/core/export-html/index.d.ts.map +1 -1
  204. package/dist/core/export-html/template-script.d.ts.map +1 -1
  205. package/dist/core/export-html/tool-renderer.d.ts.map +1 -1
  206. package/dist/core/extensions/agent-events.d.ts.map +1 -1
  207. package/dist/core/extensions/api-types.d.ts.map +1 -1
  208. package/dist/core/extensions/command-types.d.ts.map +1 -1
  209. package/dist/core/extensions/context-types.d.ts +2 -2
  210. package/dist/core/extensions/context-types.d.ts.map +1 -1
  211. package/dist/core/extensions/context-types.js.map +1 -1
  212. package/dist/core/extensions/event-results.d.ts +2 -2
  213. package/dist/core/extensions/event-results.d.ts.map +1 -1
  214. package/dist/core/extensions/event-results.js.map +1 -1
  215. package/dist/core/extensions/event-types.d.ts.map +1 -1
  216. package/dist/core/extensions/index.d.ts.map +1 -1
  217. package/dist/core/extensions/loader-api.d.ts.map +1 -1
  218. package/dist/core/extensions/loader-core.d.ts.map +1 -1
  219. package/dist/core/extensions/loader-discovery.d.ts.map +1 -1
  220. package/dist/core/extensions/loader-resources.d.ts.map +1 -1
  221. package/dist/core/extensions/loader-runtime.d.ts.map +1 -1
  222. package/dist/core/extensions/loader-virtual-modules.d.ts.map +1 -1
  223. package/dist/core/extensions/loader.d.ts.map +1 -1
  224. package/dist/core/extensions/message-types.d.ts.map +1 -1
  225. package/dist/core/extensions/provider-types.d.ts.map +1 -1
  226. package/dist/core/extensions/reactive-widget.d.ts.map +1 -1
  227. package/dist/core/extensions/runner-context.d.ts.map +1 -1
  228. package/dist/core/extensions/runner-events.d.ts.map +1 -1
  229. package/dist/core/extensions/runner-handlers.d.ts.map +1 -1
  230. package/dist/core/extensions/runner-project-trust.d.ts.map +1 -1
  231. package/dist/core/extensions/runner-registries.d.ts.map +1 -1
  232. package/dist/core/extensions/runner-shortcuts.d.ts.map +1 -1
  233. package/dist/core/extensions/runner-ui.d.ts.map +1 -1
  234. package/dist/core/extensions/runner.d.ts.map +1 -1
  235. package/dist/core/extensions/runtime-types.d.ts.map +1 -1
  236. package/dist/core/extensions/session-events.d.ts +7 -7
  237. package/dist/core/extensions/session-events.d.ts.map +1 -1
  238. package/dist/core/extensions/session-events.js.map +1 -1
  239. package/dist/core/extensions/tool-events.d.ts.map +1 -1
  240. package/dist/core/extensions/tool-types.d.ts.map +1 -1
  241. package/dist/core/extensions/types.d.ts.map +1 -1
  242. package/dist/core/extensions/ui-types.d.ts.map +1 -1
  243. package/dist/core/extensions/wrapper.d.ts.map +1 -1
  244. package/dist/core/flattened-tool-arguments.d.ts.map +1 -1
  245. package/dist/core/footer-data-provider.d.ts.map +1 -1
  246. package/dist/core/http-dispatcher.d.ts.map +1 -1
  247. package/dist/core/index.d.ts +1 -1
  248. package/dist/core/index.d.ts.map +1 -1
  249. package/dist/core/index.js.map +1 -1
  250. package/dist/core/keybindings.d.ts.map +1 -1
  251. package/dist/core/messages.d.ts +4 -0
  252. package/dist/core/messages.d.ts.map +1 -1
  253. package/dist/core/messages.js +11 -0
  254. package/dist/core/messages.js.map +1 -1
  255. package/dist/core/model-registry-auth.d.ts.map +1 -1
  256. package/dist/core/model-registry-builtins.d.ts.map +1 -1
  257. package/dist/core/model-registry-builtins.js.map +1 -1
  258. package/dist/core/model-registry-custom-loader.d.ts.map +1 -1
  259. package/dist/core/model-registry-custom-loader.js.map +1 -1
  260. package/dist/core/model-registry-dynamic.d.ts.map +1 -1
  261. package/dist/core/model-registry-loader.d.ts.map +1 -1
  262. package/dist/core/model-registry-schemas.d.ts +65 -13
  263. package/dist/core/model-registry-schemas.d.ts.map +1 -1
  264. package/dist/core/model-registry-schemas.js +5 -1
  265. package/dist/core/model-registry-schemas.js.map +1 -1
  266. package/dist/core/model-registry-types.d.ts.map +1 -1
  267. package/dist/core/model-registry.d.ts.map +1 -1
  268. package/dist/core/model-resolver-cli.d.ts.map +1 -1
  269. package/dist/core/model-resolver-defaults.d.ts.map +1 -1
  270. package/dist/core/model-resolver-initial.d.ts.map +1 -1
  271. package/dist/core/model-resolver-patterns.d.ts.map +1 -1
  272. package/dist/core/model-resolver-scope.d.ts.map +1 -1
  273. package/dist/core/model-resolver-types.d.ts.map +1 -1
  274. package/dist/core/model-resolver.d.ts.map +1 -1
  275. package/dist/core/openai-responses-payload-sanitizer.d.ts.map +1 -1
  276. package/dist/core/output-guard.d.ts.map +1 -1
  277. package/dist/core/package-manager-auto-resources.d.ts.map +1 -1
  278. package/dist/core/package-manager-command.d.ts.map +1 -1
  279. package/dist/core/package-manager-constants.d.ts.map +1 -1
  280. package/dist/core/package-manager-env.d.ts.map +1 -1
  281. package/dist/core/package-manager-git.d.ts.map +1 -1
  282. package/dist/core/package-manager-manifest.d.ts.map +1 -1
  283. package/dist/core/package-manager-npm.d.ts.map +1 -1
  284. package/dist/core/package-manager-operations.d.ts.map +1 -1
  285. package/dist/core/package-manager-paths.d.ts.map +1 -1
  286. package/dist/core/package-manager-progress.d.ts.map +1 -1
  287. package/dist/core/package-manager-resolver.d.ts.map +1 -1
  288. package/dist/core/package-manager-resource-accumulator.d.ts.map +1 -1
  289. package/dist/core/package-manager-resource-collector.d.ts.map +1 -1
  290. package/dist/core/package-manager-resource-files.d.ts.map +1 -1
  291. package/dist/core/package-manager-resource-patterns.d.ts.map +1 -1
  292. package/dist/core/package-manager-settings.d.ts.map +1 -1
  293. package/dist/core/package-manager-source.d.ts.map +1 -1
  294. package/dist/core/package-manager-types.d.ts.map +1 -1
  295. package/dist/core/package-manager.d.ts.map +1 -1
  296. package/dist/core/project-trust.d.ts.map +1 -1
  297. package/dist/core/prompt-templates-async.d.ts.map +1 -1
  298. package/dist/core/prompt-templates.d.ts.map +1 -1
  299. package/dist/core/provider-attribution.d.ts.map +1 -1
  300. package/dist/core/provider-context-usage.d.ts.map +1 -1
  301. package/dist/core/provider-context-usage.js +1 -2
  302. package/dist/core/provider-context-usage.js.map +1 -1
  303. package/dist/core/provider-display-names.d.ts.map +1 -1
  304. package/dist/core/resolve-config-value.d.ts.map +1 -1
  305. package/dist/core/resource-loader-assets.d.ts.map +1 -1
  306. package/dist/core/resource-loader-context-files.d.ts.map +1 -1
  307. package/dist/core/resource-loader-core.d.ts.map +1 -1
  308. package/dist/core/resource-loader-discovery.d.ts.map +1 -1
  309. package/dist/core/resource-loader-extensions.d.ts.map +1 -1
  310. package/dist/core/resource-loader-helpers.d.ts.map +1 -1
  311. package/dist/core/resource-loader-internals.d.ts.map +1 -1
  312. package/dist/core/resource-loader-package-resources.d.ts.map +1 -1
  313. package/dist/core/resource-loader-paths.d.ts.map +1 -1
  314. package/dist/core/resource-loader-reload.d.ts.map +1 -1
  315. package/dist/core/resource-loader-source-info.d.ts.map +1 -1
  316. package/dist/core/resource-loader-types.d.ts.map +1 -1
  317. package/dist/core/resource-loader.d.ts.map +1 -1
  318. package/dist/core/sdk-exports.d.ts.map +1 -1
  319. package/dist/core/sdk-types.d.ts.map +1 -1
  320. package/dist/core/sdk.d.ts.map +1 -1
  321. package/dist/core/session-cwd.d.ts.map +1 -1
  322. package/dist/core/session-entry-normalization.d.ts.map +1 -1
  323. package/dist/core/session-manager-archive.d.ts +2 -1
  324. package/dist/core/session-manager-archive.d.ts.map +1 -1
  325. package/dist/core/session-manager-archive.js +2 -2
  326. package/dist/core/session-manager-archive.js.map +1 -1
  327. package/dist/core/session-manager-classification.d.ts +9 -0
  328. package/dist/core/session-manager-classification.d.ts.map +1 -0
  329. package/dist/core/session-manager-classification.js +37 -0
  330. package/dist/core/session-manager-classification.js.map +1 -0
  331. package/dist/core/session-manager-core.d.ts +4 -4
  332. package/dist/core/session-manager-core.d.ts.map +1 -1
  333. package/dist/core/session-manager-core.js +13 -8
  334. package/dist/core/session-manager-core.js.map +1 -1
  335. package/dist/core/session-manager-entries.d.ts +4 -3
  336. package/dist/core/session-manager-entries.d.ts.map +1 -1
  337. package/dist/core/session-manager-entries.js +12 -10
  338. package/dist/core/session-manager-entries.js.map +1 -1
  339. package/dist/core/session-manager-history.d.ts +6 -23
  340. package/dist/core/session-manager-history.d.ts.map +1 -1
  341. package/dist/core/session-manager-history.js +23 -256
  342. package/dist/core/session-manager-history.js.map +1 -1
  343. package/dist/core/session-manager-list.d.ts.map +1 -1
  344. package/dist/core/session-manager-list.js +3 -3
  345. package/dist/core/session-manager-list.js.map +1 -1
  346. package/dist/core/session-manager-migrations.d.ts.map +1 -1
  347. package/dist/core/session-manager-paths.d.ts.map +1 -1
  348. package/dist/core/session-manager-storage.d.ts +1 -1
  349. package/dist/core/session-manager-storage.d.ts.map +1 -1
  350. package/dist/core/session-manager-storage.js +3 -2
  351. package/dist/core/session-manager-storage.js.map +1 -1
  352. package/dist/core/session-manager-types.d.ts +14 -15
  353. package/dist/core/session-manager-types.d.ts.map +1 -1
  354. package/dist/core/session-manager-types.js.map +1 -1
  355. package/dist/core/session-manager-validation.d.ts.map +1 -1
  356. package/dist/core/session-manager.d.ts +3 -2
  357. package/dist/core/session-manager.d.ts.map +1 -1
  358. package/dist/core/session-manager.js +1 -1
  359. package/dist/core/session-manager.js.map +1 -1
  360. package/dist/core/settings-manager-basic-accessors.d.ts.map +1 -1
  361. package/dist/core/settings-manager-core.d.ts.map +1 -1
  362. package/dist/core/settings-manager-internals.d.ts.map +1 -1
  363. package/dist/core/settings-manager-resource-accessors.d.ts.map +1 -1
  364. package/dist/core/settings-manager-ui-accessors.d.ts.map +1 -1
  365. package/dist/core/settings-manager.d.ts.map +1 -1
  366. package/dist/core/settings-merge.d.ts.map +1 -1
  367. package/dist/core/settings-storage.d.ts.map +1 -1
  368. package/dist/core/settings-types.d.ts.map +1 -1
  369. package/dist/core/skills-async.d.ts.map +1 -1
  370. package/dist/core/skills.d.ts.map +1 -1
  371. package/dist/core/slash-commands.d.ts.map +1 -1
  372. package/dist/core/slash-commands.js +1 -1
  373. package/dist/core/slash-commands.js.map +1 -1
  374. package/dist/core/source-info.d.ts.map +1 -1
  375. package/dist/core/system-prompt.d.ts.map +1 -1
  376. package/dist/core/telemetry.d.ts.map +1 -1
  377. package/dist/core/thinking-blocks.d.ts.map +1 -1
  378. package/dist/core/timings.d.ts.map +1 -1
  379. package/dist/core/tools/artifact-protocol.d.ts.map +1 -1
  380. package/dist/core/tools/artifacts.d.ts.map +1 -1
  381. package/dist/core/tools/ask-user-question/ask-user-question.d.ts.map +1 -1
  382. package/dist/core/tools/ask-user-question/config.d.ts.map +1 -1
  383. package/dist/core/tools/ask-user-question/index.d.ts.map +1 -1
  384. package/dist/core/tools/ask-user-question/state/build-questionnaire.d.ts.map +1 -1
  385. package/dist/core/tools/ask-user-question/state/inline-input.d.ts.map +1 -1
  386. package/dist/core/tools/ask-user-question/state/key-router.d.ts.map +1 -1
  387. package/dist/core/tools/ask-user-question/state/questionnaire-session.d.ts.map +1 -1
  388. package/dist/core/tools/ask-user-question/state/row-intent.d.ts.map +1 -1
  389. package/dist/core/tools/ask-user-question/state/selectors/contract.d.ts.map +1 -1
  390. package/dist/core/tools/ask-user-question/state/selectors/derivations.d.ts.map +1 -1
  391. package/dist/core/tools/ask-user-question/state/selectors/focus.d.ts.map +1 -1
  392. package/dist/core/tools/ask-user-question/state/selectors/projections.d.ts.map +1 -1
  393. package/dist/core/tools/ask-user-question/state/state-reducer.d.ts.map +1 -1
  394. package/dist/core/tools/ask-user-question/state/state.d.ts.map +1 -1
  395. package/dist/core/tools/ask-user-question/tool/format-answer.d.ts.map +1 -1
  396. package/dist/core/tools/ask-user-question/tool/response-envelope.d.ts.map +1 -1
  397. package/dist/core/tools/ask-user-question/tool/types.d.ts.map +1 -1
  398. package/dist/core/tools/ask-user-question/tool/validate-questionnaire.d.ts.map +1 -1
  399. package/dist/core/tools/ask-user-question/view/body-residual-spacer.d.ts.map +1 -1
  400. package/dist/core/tools/ask-user-question/view/component-binding.d.ts.map +1 -1
  401. package/dist/core/tools/ask-user-question/view/components/chat-row-view.d.ts.map +1 -1
  402. package/dist/core/tools/ask-user-question/view/components/multi-select-view.d.ts.map +1 -1
  403. package/dist/core/tools/ask-user-question/view/components/option-list-view.d.ts.map +1 -1
  404. package/dist/core/tools/ask-user-question/view/components/preview/markdown-content-cache.d.ts.map +1 -1
  405. package/dist/core/tools/ask-user-question/view/components/preview/preview-block-renderer.d.ts.map +1 -1
  406. package/dist/core/tools/ask-user-question/view/components/preview/preview-box-renderer.d.ts.map +1 -1
  407. package/dist/core/tools/ask-user-question/view/components/preview/preview-layout-decider.d.ts.map +1 -1
  408. package/dist/core/tools/ask-user-question/view/components/preview/preview-pane.d.ts.map +1 -1
  409. package/dist/core/tools/ask-user-question/view/components/submit-picker.d.ts.map +1 -1
  410. package/dist/core/tools/ask-user-question/view/components/tab-bar.d.ts.map +1 -1
  411. package/dist/core/tools/ask-user-question/view/components/wrapping-select.d.ts.map +1 -1
  412. package/dist/core/tools/ask-user-question/view/dialog-builder.d.ts.map +1 -1
  413. package/dist/core/tools/ask-user-question/view/props-adapter.d.ts.map +1 -1
  414. package/dist/core/tools/ask-user-question/view/stateful-view.d.ts.map +1 -1
  415. package/dist/core/tools/ask-user-question/view/tab-components.d.ts.map +1 -1
  416. package/dist/core/tools/ask-user-question/view/tab-content-strategy.d.ts.map +1 -1
  417. package/dist/core/tools/bash-async-execution.d.ts.map +1 -1
  418. package/dist/core/tools/bash-async-jobs.d.ts.map +1 -1
  419. package/dist/core/tools/bash-async-output.d.ts.map +1 -1
  420. package/dist/core/tools/bash-interceptor.d.ts.map +1 -1
  421. package/dist/core/tools/bash-leading-cd.d.ts.map +1 -1
  422. package/dist/core/tools/bash-pty-native.d.ts.map +1 -1
  423. package/dist/core/tools/bash.d.ts.map +1 -1
  424. package/dist/core/tools/block-resolver.d.ts.map +1 -1
  425. package/dist/core/tools/conflict-registry.d.ts.map +1 -1
  426. package/dist/core/tools/directory-tree.d.ts.map +1 -1
  427. package/dist/core/tools/edit-diff-preserve.d.ts.map +1 -1
  428. package/dist/core/tools/edit-diff.d.ts.map +1 -1
  429. package/dist/core/tools/edit.d.ts.map +1 -1
  430. package/dist/core/tools/fetch-url.d.ts.map +1 -1
  431. package/dist/core/tools/file-mutation-queue.d.ts.map +1 -1
  432. package/dist/core/tools/find.d.ts.map +1 -1
  433. package/dist/core/tools/glob-path-utils.d.ts.map +1 -1
  434. package/dist/core/tools/grep.d.ts.map +1 -1
  435. package/dist/core/tools/hashline-engine/apply.d.ts.map +1 -1
  436. package/dist/core/tools/hashline-engine/block.d.ts.map +1 -1
  437. package/dist/core/tools/hashline-engine/diff-preview.d.ts.map +1 -1
  438. package/dist/core/tools/hashline-engine/format.d.ts.map +1 -1
  439. package/dist/core/tools/hashline-engine/fs.d.ts.map +1 -1
  440. package/dist/core/tools/hashline-engine/index.d.ts.map +1 -1
  441. package/dist/core/tools/hashline-engine/input.d.ts.map +1 -1
  442. package/dist/core/tools/hashline-engine/messages.d.ts.map +1 -1
  443. package/dist/core/tools/hashline-engine/mismatch.d.ts.map +1 -1
  444. package/dist/core/tools/hashline-engine/normalize.d.ts.map +1 -1
  445. package/dist/core/tools/hashline-engine/parser.d.ts.map +1 -1
  446. package/dist/core/tools/hashline-engine/patcher.d.ts.map +1 -1
  447. package/dist/core/tools/hashline-engine/prefixes.d.ts.map +1 -1
  448. package/dist/core/tools/hashline-engine/recovery.d.ts.map +1 -1
  449. package/dist/core/tools/hashline-engine/snapshots.d.ts.map +1 -1
  450. package/dist/core/tools/hashline-engine/stream.d.ts.map +1 -1
  451. package/dist/core/tools/hashline-engine/tokenizer.d.ts.map +1 -1
  452. package/dist/core/tools/hashline-engine/types.d.ts.map +1 -1
  453. package/dist/core/tools/hashline.d.ts.map +1 -1
  454. package/dist/core/tools/index.d.ts.map +1 -1
  455. package/dist/core/tools/ls.d.ts.map +1 -1
  456. package/dist/core/tools/notebook.d.ts.map +1 -1
  457. package/dist/core/tools/output-accumulator.d.ts.map +1 -1
  458. package/dist/core/tools/oversized-tool-result.d.ts.map +1 -1
  459. package/dist/core/tools/path-utils.d.ts.map +1 -1
  460. package/dist/core/tools/read-document-extract.d.ts.map +1 -1
  461. package/dist/core/tools/read-selectors.d.ts.map +1 -1
  462. package/dist/core/tools/read-url.d.ts.map +1 -1
  463. package/dist/core/tools/read.d.ts.map +1 -1
  464. package/dist/core/tools/render-utils.d.ts.map +1 -1
  465. package/dist/core/tools/resource-selectors.d.ts.map +1 -1
  466. package/dist/core/tools/search-details.d.ts.map +1 -1
  467. package/dist/core/tools/search-line-ranges.d.ts.map +1 -1
  468. package/dist/core/tools/search-native.d.ts.map +1 -1
  469. package/dist/core/tools/search.d.ts.map +1 -1
  470. package/dist/core/tools/structured-output.d.ts.map +1 -1
  471. package/dist/core/tools/todos-execute.d.ts.map +1 -1
  472. package/dist/core/tools/todos-locks.d.ts.map +1 -1
  473. package/dist/core/tools/todos-model.d.ts.map +1 -1
  474. package/dist/core/tools/todos-mutations.d.ts.map +1 -1
  475. package/dist/core/tools/todos-paths.d.ts.map +1 -1
  476. package/dist/core/tools/todos-render.d.ts.map +1 -1
  477. package/dist/core/tools/todos-storage.d.ts.map +1 -1
  478. package/dist/core/tools/todos-types.d.ts.map +1 -1
  479. package/dist/core/tools/todos-types.js +1 -1
  480. package/dist/core/tools/todos-types.js.map +1 -1
  481. package/dist/core/tools/todos.d.ts.map +1 -1
  482. package/dist/core/tools/tool-definition-wrapper.d.ts.map +1 -1
  483. package/dist/core/tools/tool-definition-wrapper.js +6 -2
  484. package/dist/core/tools/tool-definition-wrapper.js.map +1 -1
  485. package/dist/core/tools/tool-limits.d.ts.map +1 -1
  486. package/dist/core/tools/truncate.d.ts.map +1 -1
  487. package/dist/core/tools/url-ip-guards.d.ts.map +1 -1
  488. package/dist/core/tools/write.d.ts.map +1 -1
  489. package/dist/core/trust-manager.d.ts.map +1 -1
  490. package/dist/core/typebox-compat.d.ts +12 -0
  491. package/dist/core/typebox-compat.d.ts.map +1 -0
  492. package/dist/core/typebox-compat.js +10 -0
  493. package/dist/core/typebox-compat.js.map +1 -0
  494. package/dist/index-extensions.d.ts.map +1 -1
  495. package/dist/index.d.ts +4 -2
  496. package/dist/index.d.ts.map +1 -1
  497. package/dist/index.js +3 -1
  498. package/dist/index.js.map +1 -1
  499. package/dist/main-app-mode.d.ts.map +1 -1
  500. package/dist/main-deferred-startup.d.ts.map +1 -1
  501. package/dist/main-early-input.d.ts.map +1 -1
  502. package/dist/main-session-options.d.ts.map +1 -1
  503. package/dist/main-session.d.ts +1 -0
  504. package/dist/main-session.d.ts.map +1 -1
  505. package/dist/main-session.js +7 -0
  506. package/dist/main-session.js.map +1 -1
  507. package/dist/main-stdio.d.ts.map +1 -1
  508. package/dist/main.d.ts.map +1 -1
  509. package/dist/main.js +2 -2
  510. package/dist/main.js.map +1 -1
  511. package/dist/migrations-config-values.d.ts.map +1 -1
  512. package/dist/migrations.d.ts.map +1 -1
  513. package/dist/modes/index.d.ts.map +1 -1
  514. package/dist/modes/interactive/chat-input-actions.d.ts.map +1 -1
  515. package/dist/modes/interactive/components/armin.d.ts.map +1 -1
  516. package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -1
  517. package/dist/modes/interactive/components/atomic-banner.d.ts.map +1 -1
  518. package/dist/modes/interactive/components/bash-execution.d.ts.map +1 -1
  519. package/dist/modes/interactive/components/bordered-loader.d.ts.map +1 -1
  520. package/dist/modes/interactive/components/branch-summary-message.d.ts.map +1 -1
  521. package/dist/modes/interactive/components/chat-message-renderer.d.ts +4 -1
  522. package/dist/modes/interactive/components/chat-message-renderer.d.ts.map +1 -1
  523. package/dist/modes/interactive/components/chat-message-renderer.js +12 -22
  524. package/dist/modes/interactive/components/chat-message-renderer.js.map +1 -1
  525. package/dist/modes/interactive/components/chat-session-host-actions.d.ts.map +1 -1
  526. package/dist/modes/interactive/components/chat-session-host-editor.d.ts.map +1 -1
  527. package/dist/modes/interactive/components/chat-session-host-events.d.ts.map +1 -1
  528. package/dist/modes/interactive/components/chat-session-host-events.js +5 -11
  529. package/dist/modes/interactive/components/chat-session-host-events.js.map +1 -1
  530. package/dist/modes/interactive/components/chat-session-host-rendering.d.ts.map +1 -1
  531. package/dist/modes/interactive/components/chat-session-host-rendering.js +3 -0
  532. package/dist/modes/interactive/components/chat-session-host-rendering.js.map +1 -1
  533. package/dist/modes/interactive/components/chat-session-host-runtime.d.ts.map +1 -1
  534. package/dist/modes/interactive/components/chat-session-host-state.d.ts +1 -0
  535. package/dist/modes/interactive/components/chat-session-host-state.d.ts.map +1 -1
  536. package/dist/modes/interactive/components/chat-session-host-state.js +1 -0
  537. package/dist/modes/interactive/components/chat-session-host-state.js.map +1 -1
  538. package/dist/modes/interactive/components/chat-session-host-terminal-cleanup.d.ts.map +1 -1
  539. package/dist/modes/interactive/components/chat-session-host-types.d.ts.map +1 -1
  540. package/dist/modes/interactive/components/chat-session-host-utils.d.ts.map +1 -1
  541. package/dist/modes/interactive/components/chat-session-host-utils.js +1 -1
  542. package/dist/modes/interactive/components/chat-session-host-utils.js.map +1 -1
  543. package/dist/modes/interactive/components/chat-session-host.d.ts.map +1 -1
  544. package/dist/modes/interactive/components/chat-session-host.js +1 -0
  545. package/dist/modes/interactive/components/chat-session-host.js.map +1 -1
  546. package/dist/modes/interactive/components/chat-transcript.d.ts.map +1 -1
  547. package/dist/modes/interactive/components/compaction-boundary-message.d.ts +20 -0
  548. package/dist/modes/interactive/components/compaction-boundary-message.d.ts.map +1 -0
  549. package/dist/modes/interactive/components/compaction-boundary-message.js +48 -0
  550. package/dist/modes/interactive/components/compaction-boundary-message.js.map +1 -0
  551. package/dist/modes/interactive/components/config-selector-list.d.ts.map +1 -1
  552. package/dist/modes/interactive/components/config-selector.d.ts.map +1 -1
  553. package/dist/modes/interactive/components/context-window-selector.d.ts.map +1 -1
  554. package/dist/modes/interactive/components/countdown-timer.d.ts.map +1 -1
  555. package/dist/modes/interactive/components/custom-editor.d.ts.map +1 -1
  556. package/dist/modes/interactive/components/custom-message.d.ts.map +1 -1
  557. package/dist/modes/interactive/components/daxnuts.d.ts.map +1 -1
  558. package/dist/modes/interactive/components/diff.d.ts.map +1 -1
  559. package/dist/modes/interactive/components/dynamic-border.d.ts.map +1 -1
  560. package/dist/modes/interactive/components/earendil-announcement.d.ts.map +1 -1
  561. package/dist/modes/interactive/components/extension-editor.d.ts.map +1 -1
  562. package/dist/modes/interactive/components/extension-input.d.ts.map +1 -1
  563. package/dist/modes/interactive/components/extension-selector.d.ts.map +1 -1
  564. package/dist/modes/interactive/components/fast-mode-selector.d.ts.map +1 -1
  565. package/dist/modes/interactive/components/footer.d.ts.map +1 -1
  566. package/dist/modes/interactive/components/index.d.ts +1 -1
  567. package/dist/modes/interactive/components/index.d.ts.map +1 -1
  568. package/dist/modes/interactive/components/index.js +1 -1
  569. package/dist/modes/interactive/components/index.js.map +1 -1
  570. package/dist/modes/interactive/components/keybinding-hints.d.ts.map +1 -1
  571. package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -1
  572. package/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
  573. package/dist/modes/interactive/components/oauth-selector.d.ts.map +1 -1
  574. package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -1
  575. package/dist/modes/interactive/components/session-selector-delete.d.ts.map +1 -1
  576. package/dist/modes/interactive/components/session-selector-header.d.ts.map +1 -1
  577. package/dist/modes/interactive/components/session-selector-list.d.ts.map +1 -1
  578. package/dist/modes/interactive/components/session-selector-list.js +3 -0
  579. package/dist/modes/interactive/components/session-selector-list.js.map +1 -1
  580. package/dist/modes/interactive/components/session-selector-search.d.ts.map +1 -1
  581. package/dist/modes/interactive/components/session-selector-tree.d.ts.map +1 -1
  582. package/dist/modes/interactive/components/session-selector-types.d.ts.map +1 -1
  583. package/dist/modes/interactive/components/session-selector-utils.d.ts.map +1 -1
  584. package/dist/modes/interactive/components/session-selector.d.ts.map +1 -1
  585. package/dist/modes/interactive/components/settings-selector-handlers.d.ts.map +1 -1
  586. package/dist/modes/interactive/components/settings-selector-items.d.ts.map +1 -1
  587. package/dist/modes/interactive/components/settings-selector-options.d.ts.map +1 -1
  588. package/dist/modes/interactive/components/settings-selector-submenus.d.ts.map +1 -1
  589. package/dist/modes/interactive/components/settings-selector-types.d.ts.map +1 -1
  590. package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
  591. package/dist/modes/interactive/components/show-images-selector.d.ts.map +1 -1
  592. package/dist/modes/interactive/components/skill-invocation-message.d.ts.map +1 -1
  593. package/dist/modes/interactive/components/theme-selector.d.ts.map +1 -1
  594. package/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -1
  595. package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
  596. package/dist/modes/interactive/components/tree-selector-component.d.ts.map +1 -1
  597. package/dist/modes/interactive/components/tree-selector-content.d.ts.map +1 -1
  598. package/dist/modes/interactive/components/tree-selector-help.d.ts.map +1 -1
  599. package/dist/modes/interactive/components/tree-selector-label-input.d.ts.map +1 -1
  600. package/dist/modes/interactive/components/tree-selector-list.d.ts.map +1 -1
  601. package/dist/modes/interactive/components/tree-selector-model.d.ts.map +1 -1
  602. package/dist/modes/interactive/components/tree-selector-types.d.ts.map +1 -1
  603. package/dist/modes/interactive/components/tree-selector-viewport.d.ts.map +1 -1
  604. package/dist/modes/interactive/components/tree-selector.d.ts.map +1 -1
  605. package/dist/modes/interactive/components/trust-selector.d.ts.map +1 -1
  606. package/dist/modes/interactive/components/user-message-selector.d.ts.map +1 -1
  607. package/dist/modes/interactive/components/user-message.d.ts.map +1 -1
  608. package/dist/modes/interactive/components/visual-truncate.d.ts.map +1 -1
  609. package/dist/modes/interactive/components/working-status.d.ts.map +1 -1
  610. package/dist/modes/interactive/interactive-agent-events.d.ts.map +1 -1
  611. package/dist/modes/interactive/interactive-agent-events.js +3 -47
  612. package/dist/modes/interactive/interactive-agent-events.js.map +1 -1
  613. package/dist/modes/interactive/interactive-auth-login.d.ts.map +1 -1
  614. package/dist/modes/interactive/interactive-auth-routing.d.ts.map +1 -1
  615. package/dist/modes/interactive/interactive-autocomplete.d.ts.map +1 -1
  616. package/dist/modes/interactive/interactive-bash-compact.d.ts.map +1 -1
  617. package/dist/modes/interactive/interactive-child-ordering.d.ts.map +1 -1
  618. package/dist/modes/interactive/interactive-deferred-startup.d.ts.map +1 -1
  619. package/dist/modes/interactive/interactive-editor-actions.d.ts.map +1 -1
  620. package/dist/modes/interactive/interactive-extension-context.d.ts.map +1 -1
  621. package/dist/modes/interactive/interactive-extension-custom-ui.d.ts.map +1 -1
  622. package/dist/modes/interactive/interactive-extension-dialogs.d.ts.map +1 -1
  623. package/dist/modes/interactive/interactive-extension-runtime.d.ts.map +1 -1
  624. package/dist/modes/interactive/interactive-extension-widgets.d.ts.map +1 -1
  625. package/dist/modes/interactive/interactive-hotkeys-debug.d.ts.map +1 -1
  626. package/dist/modes/interactive/interactive-input-handling.d.ts.map +1 -1
  627. package/dist/modes/interactive/interactive-mode-base.d.ts.map +1 -1
  628. package/dist/modes/interactive/interactive-mode-deps.d.ts +2 -2
  629. package/dist/modes/interactive/interactive-mode-deps.d.ts.map +1 -1
  630. package/dist/modes/interactive/interactive-mode-deps.js +1 -1
  631. package/dist/modes/interactive/interactive-mode-deps.js.map +1 -1
  632. package/dist/modes/interactive/interactive-mode-helpers.d.ts.map +1 -1
  633. package/dist/modes/interactive/interactive-mode-surface.d.ts +5 -3
  634. package/dist/modes/interactive/interactive-mode-surface.d.ts.map +1 -1
  635. package/dist/modes/interactive/interactive-mode-surface.js.map +1 -1
  636. package/dist/modes/interactive/interactive-mode-types.d.ts.map +1 -1
  637. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  638. package/dist/modes/interactive/interactive-model-routing.d.ts.map +1 -1
  639. package/dist/modes/interactive/interactive-onboarding.d.ts.map +1 -1
  640. package/dist/modes/interactive/interactive-process-lifecycle.d.ts.map +1 -1
  641. package/dist/modes/interactive/interactive-queueing.d.ts.map +1 -1
  642. package/dist/modes/interactive/interactive-render-chat.d.ts.map +1 -1
  643. package/dist/modes/interactive/interactive-render-chat.js +21 -12
  644. package/dist/modes/interactive/interactive-render-chat.js.map +1 -1
  645. package/dist/modes/interactive/interactive-resource-disclosure.d.ts.map +1 -1
  646. package/dist/modes/interactive/interactive-resource-paths.d.ts.map +1 -1
  647. package/dist/modes/interactive/interactive-resource-rendering.d.ts.map +1 -1
  648. package/dist/modes/interactive/interactive-selectors.d.ts.map +1 -1
  649. package/dist/modes/interactive/interactive-session-routing.d.ts.map +1 -1
  650. package/dist/modes/interactive/interactive-session-runtime.d.ts.map +1 -1
  651. package/dist/modes/interactive/interactive-slash-commands.d.ts.map +1 -1
  652. package/dist/modes/interactive/interactive-startup.d.ts.map +1 -1
  653. package/dist/modes/interactive/model-search.d.ts.map +1 -1
  654. package/dist/modes/interactive/theme/color-utils.d.ts.map +1 -1
  655. package/dist/modes/interactive/theme/export-colors.d.ts.map +1 -1
  656. package/dist/modes/interactive/theme/global-theme.d.ts.map +1 -1
  657. package/dist/modes/interactive/theme/terminal-detection.d.ts.map +1 -1
  658. package/dist/modes/interactive/theme/theme-class.d.ts.map +1 -1
  659. package/dist/modes/interactive/theme/theme-controller.d.ts.map +1 -1
  660. package/dist/modes/interactive/theme/theme-loading.d.ts.map +1 -1
  661. package/dist/modes/interactive/theme/theme-parse.d.ts.map +1 -1
  662. package/dist/modes/interactive/theme/theme-schema.d.ts.map +1 -1
  663. package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
  664. package/dist/modes/interactive/theme/tui-theme.d.ts.map +1 -1
  665. package/dist/modes/interactive/whimsical-messages.d.ts.map +1 -1
  666. package/dist/modes/print-mode.d.ts.map +1 -1
  667. package/dist/modes/rpc/jsonl.d.ts.map +1 -1
  668. package/dist/modes/rpc/rpc-client.d.ts +3 -5
  669. package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
  670. package/dist/modes/rpc/rpc-client.js +1 -6
  671. package/dist/modes/rpc/rpc-client.js.map +1 -1
  672. package/dist/modes/rpc/rpc-command-handler.d.ts.map +1 -1
  673. package/dist/modes/rpc/rpc-command-handler.js +0 -4
  674. package/dist/modes/rpc/rpc-command-handler.js.map +1 -1
  675. package/dist/modes/rpc/rpc-extension-ui.d.ts.map +1 -1
  676. package/dist/modes/rpc/rpc-input.d.ts.map +1 -1
  677. package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
  678. package/dist/modes/rpc/rpc-responses.d.ts.map +1 -1
  679. package/dist/modes/rpc/rpc-session-binding.d.ts.map +1 -1
  680. package/dist/modes/rpc/rpc-types.d.ts +2 -11
  681. package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
  682. package/dist/modes/rpc/rpc-types.js.map +1 -1
  683. package/dist/package-manager-cli-parser.d.ts.map +1 -1
  684. package/dist/package-manager-cli.d.ts.map +1 -1
  685. package/dist/rpc-entry.d.ts.map +1 -1
  686. package/dist/utils/ansi.d.ts.map +1 -1
  687. package/dist/utils/changelog.d.ts.map +1 -1
  688. package/dist/utils/child-process.d.ts.map +1 -1
  689. package/dist/utils/clipboard-image.d.ts.map +1 -1
  690. package/dist/utils/clipboard-native.d.ts.map +1 -1
  691. package/dist/utils/clipboard.d.ts.map +1 -1
  692. package/dist/utils/deprecation.d.ts.map +1 -1
  693. package/dist/utils/event-loop.d.ts.map +1 -1
  694. package/dist/utils/exif-orientation.d.ts.map +1 -1
  695. package/dist/utils/frontmatter.d.ts.map +1 -1
  696. package/dist/utils/fs-watch.d.ts.map +1 -1
  697. package/dist/utils/git-env.d.ts.map +1 -1
  698. package/dist/utils/git.d.ts.map +1 -1
  699. package/dist/utils/html.d.ts.map +1 -1
  700. package/dist/utils/image-convert.d.ts.map +1 -1
  701. package/dist/utils/image-process.d.ts.map +1 -1
  702. package/dist/utils/image-resize-core.d.ts.map +1 -1
  703. package/dist/utils/image-resize-worker.d.ts.map +1 -1
  704. package/dist/utils/image-resize.d.ts.map +1 -1
  705. package/dist/utils/json.d.ts.map +1 -1
  706. package/dist/utils/markit.d.ts.map +1 -1
  707. package/dist/utils/mime.d.ts.map +1 -1
  708. package/dist/utils/module-require.d.ts.map +1 -1
  709. package/dist/utils/open-browser.d.ts.map +1 -1
  710. package/dist/utils/paths.d.ts.map +1 -1
  711. package/dist/utils/photon.d.ts.map +1 -1
  712. package/dist/utils/pi-user-agent.d.ts.map +1 -1
  713. package/dist/utils/shell.d.ts.map +1 -1
  714. package/dist/utils/sleep.d.ts.map +1 -1
  715. package/dist/utils/split-launcher.d.ts.map +1 -1
  716. package/dist/utils/syntax-highlight.d.ts.map +1 -1
  717. package/dist/utils/tools-manager.d.ts.map +1 -1
  718. package/dist/utils/version-check.d.ts.map +1 -1
  719. package/dist/utils/windows-self-update.d.ts.map +1 -1
  720. package/docs/compaction.md +97 -772
  721. package/docs/custom-provider.md +7 -1
  722. package/docs/extensions.md +31 -33
  723. package/docs/json.md +2 -2
  724. package/docs/rpc.md +32 -24
  725. package/docs/sdk.md +3 -3
  726. package/docs/session-format.md +49 -30
  727. package/docs/sessions.md +5 -3
  728. package/docs/settings.md +14 -4
  729. package/docs/usage.md +1 -1
  730. package/docs/workflows.md +30 -15
  731. package/examples/extensions/README.md +3 -1
  732. package/examples/extensions/custom-compaction.ts +14 -58
  733. package/examples/extensions/handoff.ts +2 -3
  734. package/examples/extensions/subagent/schemas.ts +1 -1
  735. package/examples/extensions/tic-tac-toe.ts +1 -2
  736. package/examples/extensions/todo.ts +1 -2
  737. package/npm-shrinkwrap.json +214 -98
  738. package/package.json +12 -12
  739. package/dist/core/compaction/context-assistant-turns.d.ts +0 -42
  740. package/dist/core/compaction/context-assistant-turns.d.ts.map +0 -1
  741. package/dist/core/compaction/context-assistant-turns.js +0 -87
  742. package/dist/core/compaction/context-assistant-turns.js.map +0 -1
  743. package/dist/core/compaction/context-compaction-critical.d.ts +0 -15
  744. package/dist/core/compaction/context-compaction-critical.d.ts.map +0 -1
  745. package/dist/core/compaction/context-compaction-critical.js +0 -57
  746. package/dist/core/compaction/context-compaction-critical.js.map +0 -1
  747. package/dist/core/compaction/context-compaction-eviction-alternates.d.ts +0 -18
  748. package/dist/core/compaction/context-compaction-eviction-alternates.d.ts.map +0 -1
  749. package/dist/core/compaction/context-compaction-eviction-alternates.js +0 -186
  750. package/dist/core/compaction/context-compaction-eviction-alternates.js.map +0 -1
  751. package/dist/core/compaction/context-compaction-eviction.d.ts +0 -12
  752. package/dist/core/compaction/context-compaction-eviction.d.ts.map +0 -1
  753. package/dist/core/compaction/context-compaction-eviction.js +0 -222
  754. package/dist/core/compaction/context-compaction-eviction.js.map +0 -1
  755. package/dist/core/compaction/context-compaction-metrics.d.ts +0 -28
  756. package/dist/core/compaction/context-compaction-metrics.d.ts.map +0 -1
  757. package/dist/core/compaction/context-compaction-metrics.js +0 -107
  758. package/dist/core/compaction/context-compaction-metrics.js.map +0 -1
  759. package/dist/core/compaction/context-compaction-prompt.d.ts +0 -9
  760. package/dist/core/compaction/context-compaction-prompt.d.ts.map +0 -1
  761. package/dist/core/compaction/context-compaction-prompt.js +0 -163
  762. package/dist/core/compaction/context-compaction-prompt.js.map +0 -1
  763. package/dist/core/compaction/context-compaction-runner.d.ts +0 -11
  764. package/dist/core/compaction/context-compaction-runner.d.ts.map +0 -1
  765. package/dist/core/compaction/context-compaction-runner.js +0 -273
  766. package/dist/core/compaction/context-compaction-runner.js.map +0 -1
  767. package/dist/core/compaction/context-compaction-strategy.d.ts +0 -5
  768. package/dist/core/compaction/context-compaction-strategy.d.ts.map +0 -1
  769. package/dist/core/compaction/context-compaction-strategy.js +0 -27
  770. package/dist/core/compaction/context-compaction-strategy.js.map +0 -1
  771. package/dist/core/compaction/context-compaction-types.d.ts +0 -75
  772. package/dist/core/compaction/context-compaction-types.d.ts.map +0 -1
  773. package/dist/core/compaction/context-compaction-types.js +0 -6
  774. package/dist/core/compaction/context-compaction-types.js.map +0 -1
  775. package/dist/core/compaction/context-compaction.d.ts +0 -10
  776. package/dist/core/compaction/context-compaction.d.ts.map +0 -1
  777. package/dist/core/compaction/context-compaction.js +0 -8
  778. package/dist/core/compaction/context-compaction.js.map +0 -1
  779. package/dist/core/compaction/context-deletion-application.d.ts +0 -14
  780. package/dist/core/compaction/context-deletion-application.d.ts.map +0 -1
  781. package/dist/core/compaction/context-deletion-application.js +0 -261
  782. package/dist/core/compaction/context-deletion-application.js.map +0 -1
  783. package/dist/core/compaction/context-deletion-store.d.ts +0 -78
  784. package/dist/core/compaction/context-deletion-store.d.ts.map +0 -1
  785. package/dist/core/compaction/context-deletion-store.js +0 -162
  786. package/dist/core/compaction/context-deletion-store.js.map +0 -1
  787. package/dist/core/compaction/context-deletion-targets.d.ts +0 -43
  788. package/dist/core/compaction/context-deletion-targets.d.ts.map +0 -1
  789. package/dist/core/compaction/context-deletion-targets.js +0 -292
  790. package/dist/core/compaction/context-deletion-targets.js.map +0 -1
  791. package/dist/core/compaction/context-deletion-tool-definitions.d.ts +0 -193
  792. package/dist/core/compaction/context-deletion-tool-definitions.d.ts.map +0 -1
  793. package/dist/core/compaction/context-deletion-tool-definitions.js +0 -98
  794. package/dist/core/compaction/context-deletion-tool-definitions.js.map +0 -1
  795. package/dist/core/compaction/context-deletion-tool-helpers.d.ts +0 -19
  796. package/dist/core/compaction/context-deletion-tool-helpers.d.ts.map +0 -1
  797. package/dist/core/compaction/context-deletion-tool-helpers.js +0 -210
  798. package/dist/core/compaction/context-deletion-tool-helpers.js.map +0 -1
  799. package/dist/core/compaction/context-deletion-tools.d.ts +0 -4
  800. package/dist/core/compaction/context-deletion-tools.d.ts.map +0 -1
  801. package/dist/core/compaction/context-deletion-tools.js +0 -403
  802. package/dist/core/compaction/context-deletion-tools.js.map +0 -1
  803. package/dist/core/compaction/context-transcript-analysis.d.ts +0 -11
  804. package/dist/core/compaction/context-transcript-analysis.d.ts.map +0 -1
  805. package/dist/core/compaction/context-transcript-analysis.js +0 -228
  806. package/dist/core/compaction/context-transcript-analysis.js.map +0 -1
  807. package/dist/core/session-manager-tool-dependencies.d.ts +0 -10
  808. package/dist/core/session-manager-tool-dependencies.d.ts.map +0 -1
  809. package/dist/core/session-manager-tool-dependencies.js +0 -133
  810. package/dist/core/session-manager-tool-dependencies.js.map +0 -1
  811. package/dist/modes/interactive/components/context-compaction-summary-message.d.ts +0 -17
  812. package/dist/modes/interactive/components/context-compaction-summary-message.d.ts.map +0 -1
  813. package/dist/modes/interactive/components/context-compaction-summary-message.js +0 -83
  814. package/dist/modes/interactive/components/context-compaction-summary-message.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"interactive-mode-deps.d.ts","sourceRoot":"","sources":["../../../src/modes/interactive/interactive-mode-deps.ts"],"names":[],"mappings":"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","sourcesContent":["import * as fs from \"node:fs\";\nimport * as os from \"node:os\";\nimport * as path from \"node:path\";\n\nexport { fs, os, path };\nexport { default as chalk } from \"chalk\";\nexport type { AgentMessage } from \"@earendil-works/pi-agent-core\";\nexport { getProviders, type Api, type AssistantMessage, type ImageContent, type Message, type Model, type OAuthProviderId, type OAuthSelectPrompt } from \"@earendil-works/pi-ai/compat\";\nexport type { AutocompleteItem, AutocompleteProvider, AutocompleteSuggestions, EditorComponent, Keybinding, KeyId, MarkdownTheme, OverlayHandle, OverlayOptions, SlashCommand } from \"@earendil-works/pi-tui\";\nexport { CombinedAutocompleteProvider, type Component, Container, fuzzyFilter, getCapabilities, hyperlink, Loader, type LoaderIndicatorOptions, Markdown, matchesKey, ProcessTerminal, Spacer, setKeybindings, Text, TruncatedText, TUI, visibleWidth } from \"@earendil-works/pi-tui\";\nexport { spawn, spawnSync } from \"child_process\";\nexport { APP_NAME, APP_TITLE, CHANGELOG_URL, ENV_OFFLINE, getEnvValue, setCodexFastModeEnvironmentSettings, getAgentDir, getAuthPath, getDebugLogPath, getDocsPath, getShareViewerUrl, VERSION } from \"../../config.ts\";\nexport { type AgentSession, type AgentSessionEvent, parseSkillBlock } from \"../../core/agent-session.ts\";\nexport { type AgentSessionRuntime, SessionImportFileNotFoundError } from \"../../core/agent-session-runtime.ts\";\nexport type { AutocompleteProviderFactory, EditorFactory, ExtensionCommandContext, ExtensionContext, ExtensionRunner, ExtensionUIContext, ExtensionUIDialogOptions, HostCustomUiState, HostCustomUiStateListener, ProjectTrustContext, ExtensionWidgetOptions } from \"../../core/extensions/index.ts\";\nexport { FooterDataProvider, type ReadonlyFooterDataProvider } from \"../../core/footer-data-provider.ts\";\nexport { type AppKeybinding, KeybindingsManager } from \"../../core/keybindings.ts\";\nexport type { ContextCompactionResult } from \"../../core/compaction/index.ts\";\nexport { defaultModelPerProvider, findExactModelReferenceMatch, resolveModelScope, resolveModelScopeWithDiagnostics, resolveRestoredModelReference } from \"../../core/model-resolver.ts\";\nexport { formatCodexFastModeModelLabel, hasSupportedCodexFastModeModel, shouldApplyCodexFastMode } from \"../../core/codex-fast-mode.ts\";\nexport { configureHttpDispatcher } from \"../../core/http-dispatcher.ts\";\nexport { DefaultPackageManager } from \"../../core/package-manager.ts\";\nexport { BUILT_IN_PROVIDER_DISPLAY_NAMES } from \"../../core/provider-display-names.ts\";\nexport type { ResourceDiagnostic } from \"../../core/resource-loader.ts\";\nexport { formatMissingSessionCwdPrompt, MissingSessionCwdError } from \"../../core/session-cwd.ts\";\nexport { type SessionContext, SessionManager } from \"../../core/session-manager.ts\";\nexport { BUILTIN_SLASH_COMMANDS, BUNDLED_EXTENSION_SLASH_COMMANDS } from \"../../core/slash-commands.ts\";\nexport type { SourceInfo } from \"../../core/source-info.ts\";\nexport { isInstallTelemetryEnabled } from \"../../core/telemetry.ts\";\nexport type { TruncationResult } from \"../../core/tools/truncate.ts\";\nexport { getChangelogPath, getEntriesForVersion, getNewEntries, normalizeChangelogLinks, parseChangelog } from \"../../utils/changelog.ts\";\nexport { copyToClipboard } from \"../../utils/clipboard.ts\";\nexport { combineQueuedMessagesForEditor, openExternalEditorForText, pasteClipboardImageToEditor } from \"./chat-input-actions.ts\";\nexport { parseGitUrl } from \"../../utils/git.ts\";\nexport { getCwdRelativePath } from \"../../utils/paths.ts\";\nexport { getPiUserAgent } from \"../../utils/pi-user-agent.ts\";\nexport { killTrackedDetachedChildren } from \"../../utils/shell.ts\";\nexport { recordTimeSinceReset } from \"../../core/timings.ts\";\nexport { ensureTool } from \"../../utils/tools-manager.ts\";\nexport { checkForNewPiVersion } from \"../../utils/version-check.ts\";\nexport { pickWhimsicalWorkingMessage } from \"./whimsical-messages.ts\";\nexport { ArminComponent } from \"./components/armin.ts\";\nexport { AssistantMessageComponent } from \"./components/assistant-message.ts\";\nexport { BashExecutionComponent } from \"./components/bash-execution.ts\";\nexport { BorderedLoader } from \"./components/bordered-loader.ts\";\nexport { BranchSummaryMessageComponent } from \"./components/branch-summary-message.ts\";\nexport { chatEntriesFromAgentMessages, renderChatMessageEntry, type ChatMessageEntry, type ChatMessageRenderOptions } from \"./components/chat-message-renderer.ts\";\nexport { addChatTranscriptEntry } from \"./components/chat-transcript.ts\";\nexport { ContextCompactionSummaryMessageComponent } from \"./components/context-compaction-summary-message.ts\";\nexport { CountdownTimer } from \"./components/countdown-timer.ts\";\nexport { CustomEditor } from \"./components/custom-editor.ts\";\nexport { CustomMessageComponent } from \"./components/custom-message.ts\";\nexport { DaxnutsComponent } from \"./components/daxnuts.ts\";\nexport { renderAtomicAnsiBanner } from \"./components/atomic-banner.ts\";\nexport { DynamicBorder } from \"./components/dynamic-border.ts\";\nexport { ContextWindowSelectorComponent } from \"./components/context-window-selector.ts\";\nexport { formatContextWindow } from \"../../core/context-window.ts\";\nexport { copilotApiBaseUrlFromToken, copilotCatalogCacheHost, copilotCatalogCachePath, fetchCopilotModelCatalog, readCopilotCatalogCache, setActiveCopilotModelCatalog, writeCopilotCatalogCache } from \"../../core/copilot-model-catalog.ts\";\nexport { EarendilAnnouncementComponent } from \"./components/earendil-announcement.ts\";\nexport { ExtensionEditorComponent } from \"./components/extension-editor.ts\";\nexport { ExtensionInputComponent } from \"./components/extension-input.ts\";\nexport { ExtensionSelectorComponent } from \"./components/extension-selector.ts\";\nexport { FastModeSelectorComponent } from \"./components/fast-mode-selector.ts\";\nexport { FooterComponent, UsageMeterComponent } from \"./components/footer.ts\";\nexport { formatKeyText, keyDisplayText, keyText } from \"./components/keybinding-hints.ts\";\nexport { LoginDialogComponent } from \"./components/login-dialog.ts\";\nexport { ModelSelectorComponent } from \"./components/model-selector.ts\";\nexport { type AuthSelectorProvider, OAuthSelectorComponent } from \"./components/oauth-selector.ts\";\nexport { ScopedModelsSelectorComponent } from \"./components/scoped-models-selector.ts\";\nexport { SessionSelectorComponent } from \"./components/session-selector.ts\";\nexport { SettingsSelectorComponent } from \"./components/settings-selector.ts\";\nexport { SkillInvocationMessageComponent } from \"./components/skill-invocation-message.ts\";\nexport { ToolExecutionComponent } from \"./components/tool-execution.ts\";\nexport { TreeSelectorComponent } from \"./components/tree-selector.ts\";\nexport { TrustSelectorComponent } from \"./components/trust-selector.ts\";\nexport { hasProjectConfigDir, hasProjectTrustInputs, hasTrustRequiringProjectResources, ProjectTrustStore } from \"../../core/trust-manager.ts\";\nexport { UserMessageComponent } from \"./components/user-message.ts\";\nexport { UserMessageSelectorComponent } from \"./components/user-message-selector.ts\";\nexport { getModelSearchText } from \"./model-search.ts\";\nexport { getAvailableThemes, getAvailableThemesWithPaths, getEditorTheme, getMarkdownTheme, getThemeByName, onThemeChange, setRegisteredThemes, stopThemeWatcher, Theme, theme } from \"./theme/theme.ts\";\nexport { InteractiveThemeController } from \"./theme/theme-controller.ts\";\n"]}
1
+ {"version":3,"file":"interactive-mode-deps.d.ts","sourceRoot":"","sources":["../../../src/modes/interactive/interactive-mode-deps.ts"],"names":[],"mappings":"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"}
@@ -38,7 +38,7 @@ export { BorderedLoader } from "./components/bordered-loader.js";
38
38
  export { BranchSummaryMessageComponent } from "./components/branch-summary-message.js";
39
39
  export { chatEntriesFromAgentMessages, renderChatMessageEntry } from "./components/chat-message-renderer.js";
40
40
  export { addChatTranscriptEntry } from "./components/chat-transcript.js";
41
- export { ContextCompactionSummaryMessageComponent } from "./components/context-compaction-summary-message.js";
41
+ export { CompactionBoundaryMessageComponent } from "./components/compaction-boundary-message.js";
42
42
  export { CountdownTimer } from "./components/countdown-timer.js";
43
43
  export { CustomEditor } from "./components/custom-editor.js";
44
44
  export { CustomMessageComponent } from "./components/custom-message.js";
@@ -1 +1 @@
1
- {"version":3,"file":"interactive-mode-deps.js","sourceRoot":"","sources":["../../../src/modes/interactive/interactive-mode-deps.ts"],"names":[],"mappings":"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","sourcesContent":["import * as fs from \"node:fs\";\nimport * as os from \"node:os\";\nimport * as path from \"node:path\";\n\nexport { fs, os, path };\nexport { default as chalk } from \"chalk\";\nexport type { AgentMessage } from \"@earendil-works/pi-agent-core\";\nexport { getProviders, type Api, type AssistantMessage, type ImageContent, type Message, type Model, type OAuthProviderId, type OAuthSelectPrompt } from \"@earendil-works/pi-ai/compat\";\nexport type { AutocompleteItem, AutocompleteProvider, AutocompleteSuggestions, EditorComponent, Keybinding, KeyId, MarkdownTheme, OverlayHandle, OverlayOptions, SlashCommand } from \"@earendil-works/pi-tui\";\nexport { CombinedAutocompleteProvider, type Component, Container, fuzzyFilter, getCapabilities, hyperlink, Loader, type LoaderIndicatorOptions, Markdown, matchesKey, ProcessTerminal, Spacer, setKeybindings, Text, TruncatedText, TUI, visibleWidth } from \"@earendil-works/pi-tui\";\nexport { spawn, spawnSync } from \"child_process\";\nexport { APP_NAME, APP_TITLE, CHANGELOG_URL, ENV_OFFLINE, getEnvValue, setCodexFastModeEnvironmentSettings, getAgentDir, getAuthPath, getDebugLogPath, getDocsPath, getShareViewerUrl, VERSION } from \"../../config.ts\";\nexport { type AgentSession, type AgentSessionEvent, parseSkillBlock } from \"../../core/agent-session.ts\";\nexport { type AgentSessionRuntime, SessionImportFileNotFoundError } from \"../../core/agent-session-runtime.ts\";\nexport type { AutocompleteProviderFactory, EditorFactory, ExtensionCommandContext, ExtensionContext, ExtensionRunner, ExtensionUIContext, ExtensionUIDialogOptions, HostCustomUiState, HostCustomUiStateListener, ProjectTrustContext, ExtensionWidgetOptions } from \"../../core/extensions/index.ts\";\nexport { FooterDataProvider, type ReadonlyFooterDataProvider } from \"../../core/footer-data-provider.ts\";\nexport { type AppKeybinding, KeybindingsManager } from \"../../core/keybindings.ts\";\nexport type { ContextCompactionResult } from \"../../core/compaction/index.ts\";\nexport { defaultModelPerProvider, findExactModelReferenceMatch, resolveModelScope, resolveModelScopeWithDiagnostics, resolveRestoredModelReference } from \"../../core/model-resolver.ts\";\nexport { formatCodexFastModeModelLabel, hasSupportedCodexFastModeModel, shouldApplyCodexFastMode } from \"../../core/codex-fast-mode.ts\";\nexport { configureHttpDispatcher } from \"../../core/http-dispatcher.ts\";\nexport { DefaultPackageManager } from \"../../core/package-manager.ts\";\nexport { BUILT_IN_PROVIDER_DISPLAY_NAMES } from \"../../core/provider-display-names.ts\";\nexport type { ResourceDiagnostic } from \"../../core/resource-loader.ts\";\nexport { formatMissingSessionCwdPrompt, MissingSessionCwdError } from \"../../core/session-cwd.ts\";\nexport { type SessionContext, SessionManager } from \"../../core/session-manager.ts\";\nexport { BUILTIN_SLASH_COMMANDS, BUNDLED_EXTENSION_SLASH_COMMANDS } from \"../../core/slash-commands.ts\";\nexport type { SourceInfo } from \"../../core/source-info.ts\";\nexport { isInstallTelemetryEnabled } from \"../../core/telemetry.ts\";\nexport type { TruncationResult } from \"../../core/tools/truncate.ts\";\nexport { getChangelogPath, getEntriesForVersion, getNewEntries, normalizeChangelogLinks, parseChangelog } from \"../../utils/changelog.ts\";\nexport { copyToClipboard } from \"../../utils/clipboard.ts\";\nexport { combineQueuedMessagesForEditor, openExternalEditorForText, pasteClipboardImageToEditor } from \"./chat-input-actions.ts\";\nexport { parseGitUrl } from \"../../utils/git.ts\";\nexport { getCwdRelativePath } from \"../../utils/paths.ts\";\nexport { getPiUserAgent } from \"../../utils/pi-user-agent.ts\";\nexport { killTrackedDetachedChildren } from \"../../utils/shell.ts\";\nexport { recordTimeSinceReset } from \"../../core/timings.ts\";\nexport { ensureTool } from \"../../utils/tools-manager.ts\";\nexport { checkForNewPiVersion } from \"../../utils/version-check.ts\";\nexport { pickWhimsicalWorkingMessage } from \"./whimsical-messages.ts\";\nexport { ArminComponent } from \"./components/armin.ts\";\nexport { AssistantMessageComponent } from \"./components/assistant-message.ts\";\nexport { BashExecutionComponent } from \"./components/bash-execution.ts\";\nexport { BorderedLoader } from \"./components/bordered-loader.ts\";\nexport { BranchSummaryMessageComponent } from \"./components/branch-summary-message.ts\";\nexport { chatEntriesFromAgentMessages, renderChatMessageEntry, type ChatMessageEntry, type ChatMessageRenderOptions } from \"./components/chat-message-renderer.ts\";\nexport { addChatTranscriptEntry } from \"./components/chat-transcript.ts\";\nexport { ContextCompactionSummaryMessageComponent } from \"./components/context-compaction-summary-message.ts\";\nexport { CountdownTimer } from \"./components/countdown-timer.ts\";\nexport { CustomEditor } from \"./components/custom-editor.ts\";\nexport { CustomMessageComponent } from \"./components/custom-message.ts\";\nexport { DaxnutsComponent } from \"./components/daxnuts.ts\";\nexport { renderAtomicAnsiBanner } from \"./components/atomic-banner.ts\";\nexport { DynamicBorder } from \"./components/dynamic-border.ts\";\nexport { ContextWindowSelectorComponent } from \"./components/context-window-selector.ts\";\nexport { formatContextWindow } from \"../../core/context-window.ts\";\nexport { copilotApiBaseUrlFromToken, copilotCatalogCacheHost, copilotCatalogCachePath, fetchCopilotModelCatalog, readCopilotCatalogCache, setActiveCopilotModelCatalog, writeCopilotCatalogCache } from \"../../core/copilot-model-catalog.ts\";\nexport { EarendilAnnouncementComponent } from \"./components/earendil-announcement.ts\";\nexport { ExtensionEditorComponent } from \"./components/extension-editor.ts\";\nexport { ExtensionInputComponent } from \"./components/extension-input.ts\";\nexport { ExtensionSelectorComponent } from \"./components/extension-selector.ts\";\nexport { FastModeSelectorComponent } from \"./components/fast-mode-selector.ts\";\nexport { FooterComponent, UsageMeterComponent } from \"./components/footer.ts\";\nexport { formatKeyText, keyDisplayText, keyText } from \"./components/keybinding-hints.ts\";\nexport { LoginDialogComponent } from \"./components/login-dialog.ts\";\nexport { ModelSelectorComponent } from \"./components/model-selector.ts\";\nexport { type AuthSelectorProvider, OAuthSelectorComponent } from \"./components/oauth-selector.ts\";\nexport { ScopedModelsSelectorComponent } from \"./components/scoped-models-selector.ts\";\nexport { SessionSelectorComponent } from \"./components/session-selector.ts\";\nexport { SettingsSelectorComponent } from \"./components/settings-selector.ts\";\nexport { SkillInvocationMessageComponent } from \"./components/skill-invocation-message.ts\";\nexport { ToolExecutionComponent } from \"./components/tool-execution.ts\";\nexport { TreeSelectorComponent } from \"./components/tree-selector.ts\";\nexport { TrustSelectorComponent } from \"./components/trust-selector.ts\";\nexport { hasProjectConfigDir, hasProjectTrustInputs, hasTrustRequiringProjectResources, ProjectTrustStore } from \"../../core/trust-manager.ts\";\nexport { UserMessageComponent } from \"./components/user-message.ts\";\nexport { UserMessageSelectorComponent } from \"./components/user-message-selector.ts\";\nexport { getModelSearchText } from \"./model-search.ts\";\nexport { getAvailableThemes, getAvailableThemesWithPaths, getEditorTheme, getMarkdownTheme, getThemeByName, onThemeChange, setRegisteredThemes, stopThemeWatcher, Theme, theme } from \"./theme/theme.ts\";\nexport { InteractiveThemeController } from \"./theme/theme-controller.ts\";\n"]}
1
+ {"version":3,"file":"interactive-mode-deps.js","sourceRoot":"","sources":["../../../src/modes/interactive/interactive-mode-deps.ts"],"names":[],"mappings":"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","sourcesContent":["import * as fs from \"node:fs\";\nimport * as os from \"node:os\";\nimport * as path from \"node:path\";\n\nexport { fs, os, path };\nexport { default as chalk } from \"chalk\";\nexport type { AgentMessage } from \"@earendil-works/pi-agent-core\";\nexport { getProviders, type Api, type AssistantMessage, type ImageContent, type Message, type Model, type OAuthProviderId, type OAuthSelectPrompt } from \"@earendil-works/pi-ai/compat\";\nexport type { AutocompleteItem, AutocompleteProvider, AutocompleteSuggestions, EditorComponent, Keybinding, KeyId, MarkdownTheme, OverlayHandle, OverlayOptions, SlashCommand } from \"@earendil-works/pi-tui\";\nexport { CombinedAutocompleteProvider, type Component, Container, fuzzyFilter, getCapabilities, hyperlink, Loader, type LoaderIndicatorOptions, Markdown, matchesKey, ProcessTerminal, Spacer, setKeybindings, Text, TruncatedText, TUI, visibleWidth } from \"@earendil-works/pi-tui\";\nexport { spawn, spawnSync } from \"child_process\";\nexport { APP_NAME, APP_TITLE, CHANGELOG_URL, ENV_OFFLINE, getEnvValue, setCodexFastModeEnvironmentSettings, getAgentDir, getAuthPath, getDebugLogPath, getDocsPath, getShareViewerUrl, VERSION } from \"../../config.ts\";\nexport { type AgentSession, type AgentSessionEvent, parseSkillBlock } from \"../../core/agent-session.ts\";\nexport { type AgentSessionRuntime, SessionImportFileNotFoundError } from \"../../core/agent-session-runtime.ts\";\nexport type { AutocompleteProviderFactory, EditorFactory, ExtensionCommandContext, ExtensionContext, ExtensionRunner, ExtensionUIContext, ExtensionUIDialogOptions, HostCustomUiState, HostCustomUiStateListener, ProjectTrustContext, ExtensionWidgetOptions } from \"../../core/extensions/index.ts\";\nexport { FooterDataProvider, type ReadonlyFooterDataProvider } from \"../../core/footer-data-provider.ts\";\nexport { type AppKeybinding, KeybindingsManager } from \"../../core/keybindings.ts\";\nexport type { VerbatimCompactionResult } from \"../../core/compaction/index.ts\";\nexport { defaultModelPerProvider, findExactModelReferenceMatch, resolveModelScope, resolveModelScopeWithDiagnostics, resolveRestoredModelReference } from \"../../core/model-resolver.ts\";\nexport { formatCodexFastModeModelLabel, hasSupportedCodexFastModeModel, shouldApplyCodexFastMode } from \"../../core/codex-fast-mode.ts\";\nexport { configureHttpDispatcher } from \"../../core/http-dispatcher.ts\";\nexport { DefaultPackageManager } from \"../../core/package-manager.ts\";\nexport { BUILT_IN_PROVIDER_DISPLAY_NAMES } from \"../../core/provider-display-names.ts\";\nexport type { ResourceDiagnostic } from \"../../core/resource-loader.ts\";\nexport { formatMissingSessionCwdPrompt, MissingSessionCwdError } from \"../../core/session-cwd.ts\";\nexport { type SessionContext, SessionManager } from \"../../core/session-manager.ts\";\nexport { BUILTIN_SLASH_COMMANDS, BUNDLED_EXTENSION_SLASH_COMMANDS } from \"../../core/slash-commands.ts\";\nexport type { SourceInfo } from \"../../core/source-info.ts\";\nexport { isInstallTelemetryEnabled } from \"../../core/telemetry.ts\";\nexport type { TruncationResult } from \"../../core/tools/truncate.ts\";\nexport { getChangelogPath, getEntriesForVersion, getNewEntries, normalizeChangelogLinks, parseChangelog } from \"../../utils/changelog.ts\";\nexport { copyToClipboard } from \"../../utils/clipboard.ts\";\nexport { combineQueuedMessagesForEditor, openExternalEditorForText, pasteClipboardImageToEditor } from \"./chat-input-actions.ts\";\nexport { parseGitUrl } from \"../../utils/git.ts\";\nexport { getCwdRelativePath } from \"../../utils/paths.ts\";\nexport { getPiUserAgent } from \"../../utils/pi-user-agent.ts\";\nexport { killTrackedDetachedChildren } from \"../../utils/shell.ts\";\nexport { recordTimeSinceReset } from \"../../core/timings.ts\";\nexport { ensureTool } from \"../../utils/tools-manager.ts\";\nexport { checkForNewPiVersion } from \"../../utils/version-check.ts\";\nexport { pickWhimsicalWorkingMessage } from \"./whimsical-messages.ts\";\nexport { ArminComponent } from \"./components/armin.ts\";\nexport { AssistantMessageComponent } from \"./components/assistant-message.ts\";\nexport { BashExecutionComponent } from \"./components/bash-execution.ts\";\nexport { BorderedLoader } from \"./components/bordered-loader.ts\";\nexport { BranchSummaryMessageComponent } from \"./components/branch-summary-message.ts\";\nexport { chatEntriesFromAgentMessages, renderChatMessageEntry, type ChatMessageEntry, type ChatMessageRenderOptions } from \"./components/chat-message-renderer.ts\";\nexport { addChatTranscriptEntry } from \"./components/chat-transcript.ts\";\nexport { CompactionBoundaryMessageComponent } from \"./components/compaction-boundary-message.ts\";\nexport { CountdownTimer } from \"./components/countdown-timer.ts\";\nexport { CustomEditor } from \"./components/custom-editor.ts\";\nexport { CustomMessageComponent } from \"./components/custom-message.ts\";\nexport { DaxnutsComponent } from \"./components/daxnuts.ts\";\nexport { renderAtomicAnsiBanner } from \"./components/atomic-banner.ts\";\nexport { DynamicBorder } from \"./components/dynamic-border.ts\";\nexport { ContextWindowSelectorComponent } from \"./components/context-window-selector.ts\";\nexport { formatContextWindow } from \"../../core/context-window.ts\";\nexport { copilotApiBaseUrlFromToken, copilotCatalogCacheHost, copilotCatalogCachePath, fetchCopilotModelCatalog, readCopilotCatalogCache, setActiveCopilotModelCatalog, writeCopilotCatalogCache } from \"../../core/copilot-model-catalog.ts\";\nexport { EarendilAnnouncementComponent } from \"./components/earendil-announcement.ts\";\nexport { ExtensionEditorComponent } from \"./components/extension-editor.ts\";\nexport { ExtensionInputComponent } from \"./components/extension-input.ts\";\nexport { ExtensionSelectorComponent } from \"./components/extension-selector.ts\";\nexport { FastModeSelectorComponent } from \"./components/fast-mode-selector.ts\";\nexport { FooterComponent, UsageMeterComponent } from \"./components/footer.ts\";\nexport { formatKeyText, keyDisplayText, keyText } from \"./components/keybinding-hints.ts\";\nexport { LoginDialogComponent } from \"./components/login-dialog.ts\";\nexport { ModelSelectorComponent } from \"./components/model-selector.ts\";\nexport { type AuthSelectorProvider, OAuthSelectorComponent } from \"./components/oauth-selector.ts\";\nexport { ScopedModelsSelectorComponent } from \"./components/scoped-models-selector.ts\";\nexport { SessionSelectorComponent } from \"./components/session-selector.ts\";\nexport { SettingsSelectorComponent } from \"./components/settings-selector.ts\";\nexport { SkillInvocationMessageComponent } from \"./components/skill-invocation-message.ts\";\nexport { ToolExecutionComponent } from \"./components/tool-execution.ts\";\nexport { TreeSelectorComponent } from \"./components/tree-selector.ts\";\nexport { TrustSelectorComponent } from \"./components/trust-selector.ts\";\nexport { hasProjectConfigDir, hasProjectTrustInputs, hasTrustRequiringProjectResources, ProjectTrustStore } from \"../../core/trust-manager.ts\";\nexport { UserMessageComponent } from \"./components/user-message.ts\";\nexport { UserMessageSelectorComponent } from \"./components/user-message-selector.ts\";\nexport { getModelSearchText } from \"./model-search.ts\";\nexport { getAvailableThemes, getAvailableThemesWithPaths, getEditorTheme, getMarkdownTheme, getThemeByName, onThemeChange, setRegisteredThemes, stopThemeWatcher, Theme, theme } from \"./theme/theme.ts\";\nexport { InteractiveThemeController } from \"./theme/theme-controller.ts\";\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"interactive-mode-helpers.d.ts","sourceRoot":"","sources":["../../../src/modes/interactive/interactive-mode-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqE,uBAAuB,EAAoB,cAAc,EAAE,IAAI,EAAE,KAAK,GAAG,EAAE,KAAK,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACtM,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAE9D,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,UAAU,CAO5D;AAED,qBAAa,cAAe,SAAQ,IAAK,YAAW,UAAU;IAC5D,OAAO,CAAC,QAAQ,CAAU;IAE1B,iBAAyB,gBAAgB,CAAe;IACxD,iBAAyB,eAAe,CAAe;IAEvD,YACE,gBAAgB,EAAE,MAAM,MAAM,EAC9B,eAAe,EAAE,MAAM,MAAM,EAC7B,QAAQ,UAAQ,EAChB,QAAQ,SAAI,EACZ,QAAQ,SAAI,EAUb;IAED,WAAW,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAGnC;IAED,OAAO,IAAI,IAAI,CAEd;CACF;AAID,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAM3D;AAED,eAAO,MAAM,mCAAmC,0MACyJ,CAAC;AAE1M,eAAO,MAAM,2BAA2B,aAEvC,CAAC;AAEF,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAElF;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,GAAG,OAAO,CAOrE;AASD,wBAAgB,mBAAmB,CAAC,cAAc,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS,CAatF;AAED,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,MAAM,GACjB,UAAU,IAAI,MAAM,OAAO,uBAAuB,CAEpD;AAED,eAAO,MAAM,mBAAmB,mBAAmB,CAAC;AAIpD,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,MAAM,EAClB,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAAC,EACrC,kBAAkB,GAAE,WAAW,CAAC,MAAM,CAA4B,GACjE,OAAO,CAQT","sourcesContent":["import { APP_NAME, BUILT_IN_PROVIDER_DISPLAY_NAMES, BUILTIN_SLASH_COMMANDS, defaultModelPerProvider, fs, getProviders, SessionManager, Text, type Api, type Model } from \"./interactive-mode-deps.ts\";\nimport type { Expandable } from \"./interactive-mode-types.ts\";\n\nexport function isExpandable(obj: unknown): obj is Expandable {\n return (\n typeof obj === \"object\" &&\n obj !== null &&\n \"setExpanded\" in obj &&\n typeof obj.setExpanded === \"function\"\n );\n}\n\nexport class ExpandableText extends Text implements Expandable {\n private expanded: boolean;\n\n declare private readonly getCollapsedText: () => string;\n declare private readonly getExpandedText: () => string;\n\n constructor(\n getCollapsedText: () => string,\n getExpandedText: () => string,\n expanded = false,\n paddingX = 0,\n paddingY = 0,\n ) {\n super(\n expanded ? getExpandedText() : getCollapsedText(),\n paddingX,\n paddingY,\n );\n this.getCollapsedText = getCollapsedText;\n this.getExpandedText = getExpandedText;\n this.expanded = expanded;\n }\n\n setExpanded(expanded: boolean): void {\n this.expanded = expanded;\n this.refresh();\n }\n\n refresh(): void {\n this.setText(this.expanded ? this.getExpandedText() : this.getCollapsedText());\n }\n}\n\nconst DEAD_TERMINAL_ERROR_CODES = new Set([\"EIO\", \"EPIPE\", \"ENOTCONN\"]);\n\nexport function isDeadTerminalError(error: unknown): boolean {\n if (!error || typeof error !== \"object\" || !(\"code\" in error)) {\n return false;\n }\n const code = (error as NodeJS.ErrnoException).code;\n return code !== undefined && DEAD_TERMINAL_ERROR_CODES.has(code);\n}\n\nexport const ANTHROPIC_SUBSCRIPTION_AUTH_WARNING =\n \"Anthropic subscription auth is active. Third-party harness usage draws from extra usage and is billed per token, not your Claude plan limits. Manage extra usage at https://claude.ai/settings/usage.\";\n\nexport const BUILTIN_SLASH_COMMAND_NAMES = new Set(\n BUILTIN_SLASH_COMMANDS.map((command) => command.name),\n);\n\nexport function isAnthropicSubscriptionAuthKey(apiKey: string | undefined): boolean {\n return typeof apiKey === \"string\" && apiKey.startsWith(\"sk-ant-oat\");\n}\n\nexport function isUnknownModel(model: Model<Api> | undefined): boolean {\n return (\n !!model &&\n model.provider === \"unknown\" &&\n model.id === \"unknown\" &&\n model.api === \"unknown\"\n );\n}\n\nfunction quoteIfNeeded(value: string): string {\n if (value.length > 0 && !/[^a-zA-Z0-9_\\-./~:@]/.test(value)) {\n return value;\n }\n return `'${value.replace(/'/g, `'\\\\''`)}'`;\n}\n\nexport function formatResumeCommand(sessionManager: SessionManager): string | undefined {\n if (!process.stdout.isTTY) return undefined;\n if (!sessionManager.isPersisted()) return undefined;\n\n const sessionFile = sessionManager.getSessionFile();\n if (!sessionFile || !fs.existsSync(sessionFile)) return undefined;\n\n const args = [APP_NAME];\n if (!sessionManager.usesDefaultSessionDir()) {\n args.push(\"--session-dir\", quoteIfNeeded(sessionManager.getSessionDir()));\n }\n args.push(\"--session\", sessionManager.getSessionId());\n return args.join(\" \");\n}\n\nexport function hasDefaultModelProvider(\n providerId: string,\n): providerId is keyof typeof defaultModelPerProvider {\n return providerId in defaultModelPerProvider;\n}\n\nexport const BEDROCK_PROVIDER_ID = \"amazon-bedrock\";\n\nconst BUILT_IN_MODEL_PROVIDERS = new Set<string>(getProviders());\n\nexport function isApiKeyLoginProvider(\n providerId: string,\n oauthProviderIds: ReadonlySet<string>,\n builtInProviderIds: ReadonlySet<string> = BUILT_IN_MODEL_PROVIDERS,\n): boolean {\n if (BUILT_IN_PROVIDER_DISPLAY_NAMES[providerId]) {\n return true;\n }\n if (builtInProviderIds.has(providerId)) {\n return false;\n }\n return !oauthProviderIds.has(providerId);\n}\n"]}
1
+ {"version":3,"file":"interactive-mode-helpers.d.ts","sourceRoot":"","sources":["../../../src/modes/interactive/interactive-mode-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqE,uBAAuB,EAAoB,cAAc,EAAE,IAAI,EAAE,KAAK,GAAG,EAAE,KAAK,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACtM,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAE9D,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,UAAU,CAO5D;AAED,qBAAa,cAAe,SAAQ,IAAK,YAAW,UAAU;IAC5D,OAAO,CAAC,QAAQ,CAAU;IAE1B,iBAAyB,gBAAgB,CAAe;IACxD,iBAAyB,eAAe,CAAe;IAEvD,YACE,gBAAgB,EAAE,MAAM,MAAM,EAC9B,eAAe,EAAE,MAAM,MAAM,EAC7B,QAAQ,UAAQ,EAChB,QAAQ,SAAI,EACZ,QAAQ,SAAI,EAUb;IAED,WAAW,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAGnC;IAED,OAAO,IAAI,IAAI,CAEd;CACF;AAID,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAM3D;AAED,eAAO,MAAM,mCAAmC,0MACyJ,CAAC;AAE1M,eAAO,MAAM,2BAA2B,aAEvC,CAAC;AAEF,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAElF;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,GAAG,OAAO,CAOrE;AASD,wBAAgB,mBAAmB,CAAC,cAAc,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS,CAatF;AAED,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,MAAM,GACjB,UAAU,IAAI,MAAM,OAAO,uBAAuB,CAEpD;AAED,eAAO,MAAM,mBAAmB,mBAAmB,CAAC;AAIpD,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,MAAM,EAClB,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAAC,EACrC,kBAAkB,GAAE,WAAW,CAAC,MAAM,CAA4B,GACjE,OAAO,CAQT"}
@@ -1,5 +1,5 @@
1
1
  /** Method surface installed onto InteractiveModeBase by sibling modules. */
2
- import type { AgentMessage, Api, Message, Model, OAuthSelectPrompt, AutocompleteProvider, Keybinding, MarkdownTheme, OverlayHandle, OverlayOptions, Component, LoaderIndicatorOptions, AgentSession, AgentSessionEvent, EditorFactory, ExtensionCommandContext, ExtensionRunner, ExtensionUIContext, ExtensionUIDialogOptions, HostCustomUiState, HostCustomUiStateListener, ProjectTrustContext, ExtensionWidgetOptions, ReadonlyFooterDataProvider, AppKeybinding, ContextCompactionResult, ResourceDiagnostic, SessionContext, SourceInfo, ChatMessageEntry, ChatMessageRenderOptions, AuthSelectorProvider, Container, TUI, Theme, Loader, MissingSessionCwdError, KeybindingsManager, LoginDialogComponent } from "./interactive-mode-deps.ts";
2
+ import type { AgentMessage, Api, Message, Model, OAuthSelectPrompt, AutocompleteProvider, Keybinding, MarkdownTheme, OverlayHandle, OverlayOptions, Component, LoaderIndicatorOptions, AgentSession, AgentSessionEvent, EditorFactory, ExtensionCommandContext, ExtensionRunner, ExtensionUIContext, ExtensionUIDialogOptions, HostCustomUiState, HostCustomUiStateListener, ProjectTrustContext, ExtensionWidgetOptions, ReadonlyFooterDataProvider, AppKeybinding, VerbatimCompactionResult, ResourceDiagnostic, SessionContext, SourceInfo, ChatMessageEntry, ChatMessageRenderOptions, AuthSelectorProvider, Container, TUI, Theme, Loader, MissingSessionCwdError, KeybindingsManager, LoginDialogComponent } from "./interactive-mode-deps.ts";
3
3
  declare module "./interactive-mode-base.ts" {
4
4
  interface InteractiveModeBase {
5
5
  getAutocompleteSourceTag(sourceInfo?: SourceInfo): string | undefined;
@@ -208,7 +208,7 @@ declare module "./interactive-mode-base.ts" {
208
208
  showStatus(message: string): void;
209
209
  chatMessageRenderOptions(): ChatMessageRenderOptions;
210
210
  addRenderedChatEntry(entry: ChatMessageEntry): Component;
211
- addContextCompactionSummaryToChat(result: ContextCompactionResult): void;
211
+ addCompactionBoundaryToChat(result: VerbatimCompactionResult): void;
212
212
  addMessageToChat(message: AgentMessage, options?: {
213
213
  populateHistory?: boolean;
214
214
  }): void;
@@ -226,7 +226,9 @@ declare module "./interactive-mode-base.ts" {
226
226
  consumeDeferredRenderedUserInput(text: string): boolean;
227
227
  discardDeferredRenderedUserInput(text: string): void;
228
228
  ensureDeferredStartupComplete(): Promise<void>;
229
- rebuildChatFromMessages(): void;
229
+ rebuildChatFromMessages(options?: {
230
+ suppressCompactionBoundary?: VerbatimCompactionResult;
231
+ }): void;
230
232
  handleCtrlC(): void;
231
233
  interruptActiveOperation(): boolean;
232
234
  handleCtrlD(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"interactive-mode-surface.d.ts","sourceRoot":"","sources":["../../../src/modes/interactive/interactive-mode-surface.ts"],"names":[],"mappings":"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","sourcesContent":["/** Method surface installed onto InteractiveModeBase by sibling modules. */\nimport type { AgentMessage, Api, Message, Model, OAuthSelectPrompt, AutocompleteProvider, Keybinding, MarkdownTheme, OverlayHandle, OverlayOptions, Component, LoaderIndicatorOptions, AgentSession, AgentSessionEvent, EditorFactory, ExtensionCommandContext, ExtensionRunner, ExtensionUIContext, ExtensionUIDialogOptions, HostCustomUiState, HostCustomUiStateListener, ProjectTrustContext, ExtensionWidgetOptions, ReadonlyFooterDataProvider, AppKeybinding, ContextCompactionResult, ResourceDiagnostic, SessionContext, SourceInfo, ChatMessageEntry, ChatMessageRenderOptions, AuthSelectorProvider, Container, TUI, Theme, Loader, MissingSessionCwdError, KeybindingsManager, LoginDialogComponent } from \"./interactive-mode-deps.ts\";\n\ndeclare module \"./interactive-mode-base.ts\" {\n interface InteractiveModeBase {\n getAutocompleteSourceTag(sourceInfo?: SourceInfo): string | undefined;\n prefixAutocompleteDescription(description: string | undefined, sourceInfo?: SourceInfo): string | undefined;\n getBuiltInCommandConflictDiagnostics(extensionRunner: ExtensionRunner): ResourceDiagnostic[];\n getCodexFastModeCandidateModels(): Model<Api>[];\n hasCodexFastModeSupportedModels(): boolean;\n createBaseAutocompleteProvider(): AutocompleteProvider;\n setupAutocompleteProvider(): void;\n showStartupNoticesIfNeeded(targetContainer?: Container): void;\n hadLastChangelogVersionAtStartup: boolean;\n firstRunNoticeVisible: boolean;\n firstRunOnboardingNoticeComponents: Component[];\n initializeFirstRunOnboardingMarkers(): void;\n isFirstRunOnboardingEligible(): boolean;\n clearFirstRunOnboardingUi(): void;\n init(): Promise<void>;\n completeDeferredStartup(): Promise<void>;\n retryDeferredModelRestore(targetContainer?: Container): Promise<void>;\n updateTerminalTitle(): void;\n run(): Promise<void>;\n checkForPackageUpdates(): Promise<string[]>;\n checkTmuxKeyboardSetup(): Promise<string | undefined>;\n getChangelogForDisplay(): string | undefined;\n reportInstallTelemetry(version: string): void;\n getMarkdownThemeWithSettings(): MarkdownTheme;\n formatDisplayPath(p: string): string;\n formatExtensionDisplayPath(path: string): string;\n formatContextPath(p: string): string;\n getStartupModelLabel(): string;\n getStartupIdentityText(): string;\n getAtomicAnsiMarkLines(): string[];\n getStartupExpansionState(): boolean;\n getShortPath(fullPath: string, sourceInfo?: SourceInfo): string;\n getCompactPathLabel(resourcePath: string, sourceInfo?: SourceInfo): string;\n getCompactPackageSourceLabel(sourceInfo?: SourceInfo): string;\n getCompactExtensionLabel(resourcePath: string, sourceInfo?: SourceInfo): string;\n getCompactDisplayPathSegments(resourcePath: string): string[];\n getCompactNonPackageExtensionLabel(resourcePath: string, index: number, allPaths: Array<{ path: string; segments: string[] }>): string;\n getCompactExtensionLabels(extensions: Array<{ path: string; sourceInfo?: SourceInfo }>): string[];\n getDisplaySourceInfo(sourceInfo?: SourceInfo): {\n label: string;\n scopeLabel?: string;\n color: \"accent\" | \"muted\";\n };\n getScopeGroup(sourceInfo?: SourceInfo): \"user\" | \"project\" | \"path\";\n isPackageSource(sourceInfo?: SourceInfo): boolean;\n buildScopeGroups(items: Array<{ path: string; sourceInfo?: SourceInfo }>): Array<{\n scope: \"user\" | \"project\" | \"path\";\n paths: Array<{ path: string; sourceInfo?: SourceInfo }>;\n packages: Map<string, Array<{ path: string; sourceInfo?: SourceInfo }>>;\n }>;\n formatScopeGroups(groups: Array<{\n scope: \"user\" | \"project\" | \"path\";\n paths: Array<{ path: string; sourceInfo?: SourceInfo }>;\n packages: Map<string, Array<{ path: string; sourceInfo?: SourceInfo }>>;\n }>, options: {\n formatPath: (item: { path: string; sourceInfo?: SourceInfo }) => string;\n formatPackagePath: (\n item: { path: string; sourceInfo?: SourceInfo },\n source: string,\n ) => string;\n }): string;\n findSourceInfoForPath(p: string, sourceInfos: Map<string, SourceInfo>): SourceInfo | undefined;\n formatPathWithSource(p: string, sourceInfo?: SourceInfo): string;\n formatDiagnostics(diagnostics: readonly ResourceDiagnostic[], sourceInfos: Map<string, SourceInfo>): string;\n getResourceDiagnosticsTotal(values: ResourceDiagnostic[][]): number;\n formatResourceCount(count: number, singular: string, plural?: string): string | undefined;\n addResourceDisclosure(options: {\n contextFiles: ReadonlyArray<{ path: string }>;\n skills: ReadonlyArray<{ filePath: string; name: string }>;\n prompts: ReadonlyArray<{ filePath: string; name: string }>;\n templates: ReadonlyArray<{ filePath: string; name: string }>;\n extensions: ReadonlyArray<{ path: string; sourceInfo?: SourceInfo }>;\n themes: ReadonlyArray<{ name?: string; sourcePath?: string }>;\n diagnosticsTotal: number;\n expandedBody: string;\n targetContainer?: Container;\n }): void;\n showLoadedResources(options?: {\n extensions?: Array<{ path: string; sourceInfo?: SourceInfo }>;\n force?: boolean;\n showDiagnosticsWhenQuiet?: boolean;\n targetContainer?: Container;\n }): void;\n bindCurrentSessionExtensions(): Promise<void>;\n applyRuntimeSettings(): void;\n rebindCurrentSession(): Promise<void>;\n handleFatalRuntimeError(prefix: string, error: unknown): Promise<never>;\n renderCurrentSessionState(): void;\n getRegisteredToolDefinition(toolName: string): ReturnType<AgentSession[\"getToolDefinition\"]>;\n setupExtensionShortcuts(extensionRunner: ExtensionRunner): void;\n setExtensionStatus(key: string, text: string | undefined): void;\n getWorkingLoaderMessage(): string;\n createWorkingLoader(): Loader;\n stopWorkingLoader(): void;\n showWorkingLoaderNow(): void;\n setWorkingVisible(visible: boolean): void;\n setWorkingIndicator(options?: LoaderIndicatorOptions): void;\n setHiddenThinkingLabel(label?: string): void;\n setExtensionWidget(key: string, content: | string[]\n | ((tui: TUI, thm: Theme) => Component & { dispose?(): void })\n | undefined, options?: ExtensionWidgetOptions): void;\n clearExtensionWidgets(): void;\n resetExtensionUI(): void;\n renderWidgets(): void;\n renderWidgetContainer(container: Container, widgets: Map<string, Component & { dispose?(): void }>, spacerWhenEmpty: boolean, leadingSpacer: boolean): void;\n setExtensionFooter(factory: | ((\n tui: TUI,\n thm: Theme,\n footerData: ReadonlyFooterDataProvider,\n ) => Component & { dispose?(): void })\n | undefined): void;\n setExtensionHeader(factory: | ((tui: TUI, thm: Theme) => Component & { dispose?(): void })\n | undefined): void;\n addExtensionTerminalInputListener(handler: (data: string) => { consume?: boolean; data?: string } | undefined): () => void;\n clearExtensionTerminalInputListeners(): void;\n getHostCustomUiState(): HostCustomUiState;\n notifyHostCustomUiStateListeners(): void;\n beginHostInlineCustomUi(): () => void;\n beginInlineCustomUiFocusDeferral(): () => void;\n shouldDeferInlineCustomUiFocus(): boolean;\n focusHostInlineCustomUi(): boolean;\n onHostCustomUiStateChange(listener: HostCustomUiStateListener): () => void;\n createProjectTrustContext(cwd: string): ProjectTrustContext;\n createExtensionUIContext(): ExtensionUIContext;\n showExtensionSelector(title: string, options: string[], opts?: ExtensionUIDialogOptions): Promise<string | undefined>;\n hideExtensionSelector(): void;\n showExtensionConfirm(title: string, message: string, opts?: ExtensionUIDialogOptions): Promise<boolean>;\n promptForMissingSessionCwd(error: MissingSessionCwdError): Promise<string | undefined>;\n showExtensionInput(title: string, placeholder?: string, opts?: ExtensionUIDialogOptions): Promise<string | undefined>;\n hideExtensionInput(): void;\n showExtensionEditor(title: string, prefill?: string): Promise<string | undefined>;\n hideExtensionEditor(): void;\n setCustomEditorComponent(factory: EditorFactory | undefined): void;\n showExtensionNotify(message: string, type?: \"info\" | \"warning\" | \"error\"): void;\n showExtensionCustom<T>(factory: (\n tui: TUI,\n theme: Theme,\n keybindings: KeybindingsManager,\n done: (result: T) => void,\n ) =>\n | (Component & { dispose?(): void })\n | Promise<Component & { dispose?(): void }>, options?: {\n overlay?: boolean;\n deferInlineCustomUiFocus?: boolean;\n signal?: AbortSignal;\n overlayOptions?: OverlayOptions | (() => OverlayOptions);\n onHandle?: (handle: OverlayHandle) => void;\n }): Promise<T>;\n showExtensionError(extensionPath: string, error: string, stack?: string): void;\n setupKeyHandlers(): void;\n handleClipboardImagePaste(): Promise<void>;\n setupEditorSubmitHandler(): void;\n deliverStartupReplayPrompt(text: string): void;\n recoverCookedStartupInput(): boolean;\n drainStartupReplayCommands(): Promise<void>;\n advanceStartupInputReplay(submittedText: string): void;\n subscribeToAgent(): void;\n handleEvent(event: AgentSessionEvent): Promise<void>;\n getUserMessageText(message: Message): string;\n showStatus(message: string): void;\n chatMessageRenderOptions(): ChatMessageRenderOptions;\n addRenderedChatEntry(entry: ChatMessageEntry): Component;\n addContextCompactionSummaryToChat(result: ContextCompactionResult): void;\n addMessageToChat(message: AgentMessage, options?: { populateHistory?: boolean }): void;\n renderSessionContext(sessionContext: SessionContext, options?: { updateFooter?: boolean; populateHistory?: boolean }): void;\n renderInitialMessages(): void;\n attachStartupNoticesContainer(options?: { resetDetached?: boolean }): void;\n getUserInput(): Promise<string>;\n runUserPromptTurn(userInput: string): Promise<void>;\n renderDeferredUserInput(text: string): void;\n consumeDeferredRenderedUserInput(text: string): boolean;\n discardDeferredRenderedUserInput(text: string): void;\n ensureDeferredStartupComplete(): Promise<void>;\n rebuildChatFromMessages(): void;\n handleCtrlC(): void;\n interruptActiveOperation(): boolean;\n handleCtrlD(): void;\n shutdown(options?: { fromSignal?: boolean }): Promise<void>;\n emergencyTerminalExit(): never;\n uncaughtCrash(error: Error): never;\n checkShutdownRequested(): Promise<void>;\n registerSignalHandlers(): void;\n unregisterSignalHandlers(): void;\n handleCtrlZ(): void;\n handleFollowUp(): Promise<void>;\n handleDequeue(): void;\n refreshBuiltInHeader(): void;\n updateEditorBorderColor(): void;\n cycleThinkingLevel(): void;\n cycleModel(direction: \"forward\" | \"backward\"): Promise<void>;\n toggleToolOutputExpansion(): void;\n setToolsExpanded(expanded: boolean): void;\n toggleThinkingBlockVisibility(): void;\n openExternalEditor(): void;\n clearEditor(): void;\n showError(errorMessage: string): void;\n showWarning(warningMessage: string, targetContainer?: Container): void;\n showNewVersionNotification(newVersion: string, targetContainer?: Container): void;\n showPackageUpdateNotification(packages: string[], targetContainer?: Container): void;\n getAllQueuedMessages(): { steering: string[]; followUp: string[] };\n clearAllQueues(): { steering: string[]; followUp: string[] };\n updatePendingMessagesDisplay(): void;\n restoreQueuedMessagesToEditor(options?: {\n abort?: boolean;\n currentText?: string;\n }): number;\n queueCompactionMessage(text: string, mode: \"steer\" | \"followUp\"): void;\n isExtensionCommand(text: string): boolean;\n flushCompactionQueue(options?: {\n willRetry?: boolean;\n }): Promise<void>;\n flushPendingBashComponents(): void;\n showSelector(create: (done: () => void) => { component: Component; focus: Component }): void;\n showFastModeSelector(): void;\n showSettingsSelector(): void;\n handleModelCommand(searchTerm?: string): Promise<void>;\n findExactModelMatch(searchTerm: string): Promise<Model<Api> | undefined>;\n getModelCandidates(): Promise<Model<Api>[]>;\n refreshCopilotModelCatalog(): Promise<void>;\n loadCopilotModelCatalog(): Promise<void>;\n updateAvailableProviderCount(): Promise<void>;\n maybeWarnAboutAnthropicSubscriptionAuth(model?: Model<Api> | undefined, targetContainer?: Container): Promise<void>;\n showModelSelector(initialSearchInput?: string): void;\n showContextWindowSelector(model: Model<Api>): void;\n showModelsSelector(): Promise<void>;\n showUserMessageSelector(): Promise<void>;\n handleCloneCommand(): Promise<void>;\n maybeSaveImplicitProjectTrustAfterReload(): boolean;\n showTrustSelector(): void;\n showTreeSelector(initialSelectedId?: string): Promise<void>;\n showSessionSelector(): void;\n handleResumeSession(sessionPath: string, options?: Parameters<ExtensionCommandContext[\"switchSession\"]>[1]): Promise<{ cancelled: boolean }>;\n getLoginProviderOptions(authType?: \"oauth\" | \"api_key\"): AuthSelectorProvider[];\n getLogoutProviderOptions(): AuthSelectorProvider[];\n showLoginAuthTypeSelector(): void;\n showLoginProviderSelector(authType: \"oauth\" | \"api_key\"): void;\n showOAuthSelector(mode: \"login\" | \"logout\"): Promise<void>;\n completeProviderAuthentication(providerId: string, providerName: string, authType: \"oauth\" | \"api_key\", previousModel: Model<Api> | undefined): Promise<void>;\n showBedrockSetupDialog(providerId: string, providerName: string): void;\n showApiKeyLoginDialog(providerId: string, providerName: string): Promise<void>;\n showOAuthLoginSelect(dialog: LoginDialogComponent, prompt: OAuthSelectPrompt): Promise<string | undefined>;\n showLoginDialog(providerId: string, providerName: string): Promise<void>;\n handleReloadCommand(): Promise<void>;\n handleExportCommand(text: string): Promise<void>;\n getPathCommandArgument(text: string, command: \"/export\" | \"/import\"): string | undefined;\n handleImportCommand(text: string): Promise<void>;\n handleShareCommand(): Promise<void>;\n handleCopyCommand(): Promise<void>;\n handleNameCommand(text: string): void;\n handleSessionCommand(): void;\n handleChangelogCommand(): void;\n getAppKeyDisplay(action: AppKeybinding): string;\n getEditorKeyDisplay(action: Keybinding): string;\n handleHotkeysCommand(): void;\n handleClearCommand(): Promise<void>;\n handleDebugCommand(): void;\n handleArminSaysHi(): void;\n handleDementedDelves(): void;\n handleDaxnuts(): void;\n checkDaxnutsEasterEgg(model: { provider: string; id: string }): void;\n handleBashCommand(command: string, excludeFromContext?: boolean): Promise<void>;\n handleCompactCommand(): Promise<void>;\n stop(): void;\n }\n}\n"]}
1
+ {"version":3,"file":"interactive-mode-surface.d.ts","sourceRoot":"","sources":["../../../src/modes/interactive/interactive-mode-surface.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"interactive-mode-surface.js","sourceRoot":"","sources":["../../../src/modes/interactive/interactive-mode-surface.ts"],"names":[],"mappings":"","sourcesContent":["/** Method surface installed onto InteractiveModeBase by sibling modules. */\nimport type { AgentMessage, Api, Message, Model, OAuthSelectPrompt, AutocompleteProvider, Keybinding, MarkdownTheme, OverlayHandle, OverlayOptions, Component, LoaderIndicatorOptions, AgentSession, AgentSessionEvent, EditorFactory, ExtensionCommandContext, ExtensionRunner, ExtensionUIContext, ExtensionUIDialogOptions, HostCustomUiState, HostCustomUiStateListener, ProjectTrustContext, ExtensionWidgetOptions, ReadonlyFooterDataProvider, AppKeybinding, ContextCompactionResult, ResourceDiagnostic, SessionContext, SourceInfo, ChatMessageEntry, ChatMessageRenderOptions, AuthSelectorProvider, Container, TUI, Theme, Loader, MissingSessionCwdError, KeybindingsManager, LoginDialogComponent } from \"./interactive-mode-deps.ts\";\n\ndeclare module \"./interactive-mode-base.ts\" {\n interface InteractiveModeBase {\n getAutocompleteSourceTag(sourceInfo?: SourceInfo): string | undefined;\n prefixAutocompleteDescription(description: string | undefined, sourceInfo?: SourceInfo): string | undefined;\n getBuiltInCommandConflictDiagnostics(extensionRunner: ExtensionRunner): ResourceDiagnostic[];\n getCodexFastModeCandidateModels(): Model<Api>[];\n hasCodexFastModeSupportedModels(): boolean;\n createBaseAutocompleteProvider(): AutocompleteProvider;\n setupAutocompleteProvider(): void;\n showStartupNoticesIfNeeded(targetContainer?: Container): void;\n hadLastChangelogVersionAtStartup: boolean;\n firstRunNoticeVisible: boolean;\n firstRunOnboardingNoticeComponents: Component[];\n initializeFirstRunOnboardingMarkers(): void;\n isFirstRunOnboardingEligible(): boolean;\n clearFirstRunOnboardingUi(): void;\n init(): Promise<void>;\n completeDeferredStartup(): Promise<void>;\n retryDeferredModelRestore(targetContainer?: Container): Promise<void>;\n updateTerminalTitle(): void;\n run(): Promise<void>;\n checkForPackageUpdates(): Promise<string[]>;\n checkTmuxKeyboardSetup(): Promise<string | undefined>;\n getChangelogForDisplay(): string | undefined;\n reportInstallTelemetry(version: string): void;\n getMarkdownThemeWithSettings(): MarkdownTheme;\n formatDisplayPath(p: string): string;\n formatExtensionDisplayPath(path: string): string;\n formatContextPath(p: string): string;\n getStartupModelLabel(): string;\n getStartupIdentityText(): string;\n getAtomicAnsiMarkLines(): string[];\n getStartupExpansionState(): boolean;\n getShortPath(fullPath: string, sourceInfo?: SourceInfo): string;\n getCompactPathLabel(resourcePath: string, sourceInfo?: SourceInfo): string;\n getCompactPackageSourceLabel(sourceInfo?: SourceInfo): string;\n getCompactExtensionLabel(resourcePath: string, sourceInfo?: SourceInfo): string;\n getCompactDisplayPathSegments(resourcePath: string): string[];\n getCompactNonPackageExtensionLabel(resourcePath: string, index: number, allPaths: Array<{ path: string; segments: string[] }>): string;\n getCompactExtensionLabels(extensions: Array<{ path: string; sourceInfo?: SourceInfo }>): string[];\n getDisplaySourceInfo(sourceInfo?: SourceInfo): {\n label: string;\n scopeLabel?: string;\n color: \"accent\" | \"muted\";\n };\n getScopeGroup(sourceInfo?: SourceInfo): \"user\" | \"project\" | \"path\";\n isPackageSource(sourceInfo?: SourceInfo): boolean;\n buildScopeGroups(items: Array<{ path: string; sourceInfo?: SourceInfo }>): Array<{\n scope: \"user\" | \"project\" | \"path\";\n paths: Array<{ path: string; sourceInfo?: SourceInfo }>;\n packages: Map<string, Array<{ path: string; sourceInfo?: SourceInfo }>>;\n }>;\n formatScopeGroups(groups: Array<{\n scope: \"user\" | \"project\" | \"path\";\n paths: Array<{ path: string; sourceInfo?: SourceInfo }>;\n packages: Map<string, Array<{ path: string; sourceInfo?: SourceInfo }>>;\n }>, options: {\n formatPath: (item: { path: string; sourceInfo?: SourceInfo }) => string;\n formatPackagePath: (\n item: { path: string; sourceInfo?: SourceInfo },\n source: string,\n ) => string;\n }): string;\n findSourceInfoForPath(p: string, sourceInfos: Map<string, SourceInfo>): SourceInfo | undefined;\n formatPathWithSource(p: string, sourceInfo?: SourceInfo): string;\n formatDiagnostics(diagnostics: readonly ResourceDiagnostic[], sourceInfos: Map<string, SourceInfo>): string;\n getResourceDiagnosticsTotal(values: ResourceDiagnostic[][]): number;\n formatResourceCount(count: number, singular: string, plural?: string): string | undefined;\n addResourceDisclosure(options: {\n contextFiles: ReadonlyArray<{ path: string }>;\n skills: ReadonlyArray<{ filePath: string; name: string }>;\n prompts: ReadonlyArray<{ filePath: string; name: string }>;\n templates: ReadonlyArray<{ filePath: string; name: string }>;\n extensions: ReadonlyArray<{ path: string; sourceInfo?: SourceInfo }>;\n themes: ReadonlyArray<{ name?: string; sourcePath?: string }>;\n diagnosticsTotal: number;\n expandedBody: string;\n targetContainer?: Container;\n }): void;\n showLoadedResources(options?: {\n extensions?: Array<{ path: string; sourceInfo?: SourceInfo }>;\n force?: boolean;\n showDiagnosticsWhenQuiet?: boolean;\n targetContainer?: Container;\n }): void;\n bindCurrentSessionExtensions(): Promise<void>;\n applyRuntimeSettings(): void;\n rebindCurrentSession(): Promise<void>;\n handleFatalRuntimeError(prefix: string, error: unknown): Promise<never>;\n renderCurrentSessionState(): void;\n getRegisteredToolDefinition(toolName: string): ReturnType<AgentSession[\"getToolDefinition\"]>;\n setupExtensionShortcuts(extensionRunner: ExtensionRunner): void;\n setExtensionStatus(key: string, text: string | undefined): void;\n getWorkingLoaderMessage(): string;\n createWorkingLoader(): Loader;\n stopWorkingLoader(): void;\n showWorkingLoaderNow(): void;\n setWorkingVisible(visible: boolean): void;\n setWorkingIndicator(options?: LoaderIndicatorOptions): void;\n setHiddenThinkingLabel(label?: string): void;\n setExtensionWidget(key: string, content: | string[]\n | ((tui: TUI, thm: Theme) => Component & { dispose?(): void })\n | undefined, options?: ExtensionWidgetOptions): void;\n clearExtensionWidgets(): void;\n resetExtensionUI(): void;\n renderWidgets(): void;\n renderWidgetContainer(container: Container, widgets: Map<string, Component & { dispose?(): void }>, spacerWhenEmpty: boolean, leadingSpacer: boolean): void;\n setExtensionFooter(factory: | ((\n tui: TUI,\n thm: Theme,\n footerData: ReadonlyFooterDataProvider,\n ) => Component & { dispose?(): void })\n | undefined): void;\n setExtensionHeader(factory: | ((tui: TUI, thm: Theme) => Component & { dispose?(): void })\n | undefined): void;\n addExtensionTerminalInputListener(handler: (data: string) => { consume?: boolean; data?: string } | undefined): () => void;\n clearExtensionTerminalInputListeners(): void;\n getHostCustomUiState(): HostCustomUiState;\n notifyHostCustomUiStateListeners(): void;\n beginHostInlineCustomUi(): () => void;\n beginInlineCustomUiFocusDeferral(): () => void;\n shouldDeferInlineCustomUiFocus(): boolean;\n focusHostInlineCustomUi(): boolean;\n onHostCustomUiStateChange(listener: HostCustomUiStateListener): () => void;\n createProjectTrustContext(cwd: string): ProjectTrustContext;\n createExtensionUIContext(): ExtensionUIContext;\n showExtensionSelector(title: string, options: string[], opts?: ExtensionUIDialogOptions): Promise<string | undefined>;\n hideExtensionSelector(): void;\n showExtensionConfirm(title: string, message: string, opts?: ExtensionUIDialogOptions): Promise<boolean>;\n promptForMissingSessionCwd(error: MissingSessionCwdError): Promise<string | undefined>;\n showExtensionInput(title: string, placeholder?: string, opts?: ExtensionUIDialogOptions): Promise<string | undefined>;\n hideExtensionInput(): void;\n showExtensionEditor(title: string, prefill?: string): Promise<string | undefined>;\n hideExtensionEditor(): void;\n setCustomEditorComponent(factory: EditorFactory | undefined): void;\n showExtensionNotify(message: string, type?: \"info\" | \"warning\" | \"error\"): void;\n showExtensionCustom<T>(factory: (\n tui: TUI,\n theme: Theme,\n keybindings: KeybindingsManager,\n done: (result: T) => void,\n ) =>\n | (Component & { dispose?(): void })\n | Promise<Component & { dispose?(): void }>, options?: {\n overlay?: boolean;\n deferInlineCustomUiFocus?: boolean;\n signal?: AbortSignal;\n overlayOptions?: OverlayOptions | (() => OverlayOptions);\n onHandle?: (handle: OverlayHandle) => void;\n }): Promise<T>;\n showExtensionError(extensionPath: string, error: string, stack?: string): void;\n setupKeyHandlers(): void;\n handleClipboardImagePaste(): Promise<void>;\n setupEditorSubmitHandler(): void;\n deliverStartupReplayPrompt(text: string): void;\n recoverCookedStartupInput(): boolean;\n drainStartupReplayCommands(): Promise<void>;\n advanceStartupInputReplay(submittedText: string): void;\n subscribeToAgent(): void;\n handleEvent(event: AgentSessionEvent): Promise<void>;\n getUserMessageText(message: Message): string;\n showStatus(message: string): void;\n chatMessageRenderOptions(): ChatMessageRenderOptions;\n addRenderedChatEntry(entry: ChatMessageEntry): Component;\n addContextCompactionSummaryToChat(result: ContextCompactionResult): void;\n addMessageToChat(message: AgentMessage, options?: { populateHistory?: boolean }): void;\n renderSessionContext(sessionContext: SessionContext, options?: { updateFooter?: boolean; populateHistory?: boolean }): void;\n renderInitialMessages(): void;\n attachStartupNoticesContainer(options?: { resetDetached?: boolean }): void;\n getUserInput(): Promise<string>;\n runUserPromptTurn(userInput: string): Promise<void>;\n renderDeferredUserInput(text: string): void;\n consumeDeferredRenderedUserInput(text: string): boolean;\n discardDeferredRenderedUserInput(text: string): void;\n ensureDeferredStartupComplete(): Promise<void>;\n rebuildChatFromMessages(): void;\n handleCtrlC(): void;\n interruptActiveOperation(): boolean;\n handleCtrlD(): void;\n shutdown(options?: { fromSignal?: boolean }): Promise<void>;\n emergencyTerminalExit(): never;\n uncaughtCrash(error: Error): never;\n checkShutdownRequested(): Promise<void>;\n registerSignalHandlers(): void;\n unregisterSignalHandlers(): void;\n handleCtrlZ(): void;\n handleFollowUp(): Promise<void>;\n handleDequeue(): void;\n refreshBuiltInHeader(): void;\n updateEditorBorderColor(): void;\n cycleThinkingLevel(): void;\n cycleModel(direction: \"forward\" | \"backward\"): Promise<void>;\n toggleToolOutputExpansion(): void;\n setToolsExpanded(expanded: boolean): void;\n toggleThinkingBlockVisibility(): void;\n openExternalEditor(): void;\n clearEditor(): void;\n showError(errorMessage: string): void;\n showWarning(warningMessage: string, targetContainer?: Container): void;\n showNewVersionNotification(newVersion: string, targetContainer?: Container): void;\n showPackageUpdateNotification(packages: string[], targetContainer?: Container): void;\n getAllQueuedMessages(): { steering: string[]; followUp: string[] };\n clearAllQueues(): { steering: string[]; followUp: string[] };\n updatePendingMessagesDisplay(): void;\n restoreQueuedMessagesToEditor(options?: {\n abort?: boolean;\n currentText?: string;\n }): number;\n queueCompactionMessage(text: string, mode: \"steer\" | \"followUp\"): void;\n isExtensionCommand(text: string): boolean;\n flushCompactionQueue(options?: {\n willRetry?: boolean;\n }): Promise<void>;\n flushPendingBashComponents(): void;\n showSelector(create: (done: () => void) => { component: Component; focus: Component }): void;\n showFastModeSelector(): void;\n showSettingsSelector(): void;\n handleModelCommand(searchTerm?: string): Promise<void>;\n findExactModelMatch(searchTerm: string): Promise<Model<Api> | undefined>;\n getModelCandidates(): Promise<Model<Api>[]>;\n refreshCopilotModelCatalog(): Promise<void>;\n loadCopilotModelCatalog(): Promise<void>;\n updateAvailableProviderCount(): Promise<void>;\n maybeWarnAboutAnthropicSubscriptionAuth(model?: Model<Api> | undefined, targetContainer?: Container): Promise<void>;\n showModelSelector(initialSearchInput?: string): void;\n showContextWindowSelector(model: Model<Api>): void;\n showModelsSelector(): Promise<void>;\n showUserMessageSelector(): Promise<void>;\n handleCloneCommand(): Promise<void>;\n maybeSaveImplicitProjectTrustAfterReload(): boolean;\n showTrustSelector(): void;\n showTreeSelector(initialSelectedId?: string): Promise<void>;\n showSessionSelector(): void;\n handleResumeSession(sessionPath: string, options?: Parameters<ExtensionCommandContext[\"switchSession\"]>[1]): Promise<{ cancelled: boolean }>;\n getLoginProviderOptions(authType?: \"oauth\" | \"api_key\"): AuthSelectorProvider[];\n getLogoutProviderOptions(): AuthSelectorProvider[];\n showLoginAuthTypeSelector(): void;\n showLoginProviderSelector(authType: \"oauth\" | \"api_key\"): void;\n showOAuthSelector(mode: \"login\" | \"logout\"): Promise<void>;\n completeProviderAuthentication(providerId: string, providerName: string, authType: \"oauth\" | \"api_key\", previousModel: Model<Api> | undefined): Promise<void>;\n showBedrockSetupDialog(providerId: string, providerName: string): void;\n showApiKeyLoginDialog(providerId: string, providerName: string): Promise<void>;\n showOAuthLoginSelect(dialog: LoginDialogComponent, prompt: OAuthSelectPrompt): Promise<string | undefined>;\n showLoginDialog(providerId: string, providerName: string): Promise<void>;\n handleReloadCommand(): Promise<void>;\n handleExportCommand(text: string): Promise<void>;\n getPathCommandArgument(text: string, command: \"/export\" | \"/import\"): string | undefined;\n handleImportCommand(text: string): Promise<void>;\n handleShareCommand(): Promise<void>;\n handleCopyCommand(): Promise<void>;\n handleNameCommand(text: string): void;\n handleSessionCommand(): void;\n handleChangelogCommand(): void;\n getAppKeyDisplay(action: AppKeybinding): string;\n getEditorKeyDisplay(action: Keybinding): string;\n handleHotkeysCommand(): void;\n handleClearCommand(): Promise<void>;\n handleDebugCommand(): void;\n handleArminSaysHi(): void;\n handleDementedDelves(): void;\n handleDaxnuts(): void;\n checkDaxnutsEasterEgg(model: { provider: string; id: string }): void;\n handleBashCommand(command: string, excludeFromContext?: boolean): Promise<void>;\n handleCompactCommand(): Promise<void>;\n stop(): void;\n }\n}\n"]}
1
+ {"version":3,"file":"interactive-mode-surface.js","sourceRoot":"","sources":["../../../src/modes/interactive/interactive-mode-surface.ts"],"names":[],"mappings":"","sourcesContent":["/** Method surface installed onto InteractiveModeBase by sibling modules. */\nimport type { AgentMessage, Api, Message, Model, OAuthSelectPrompt, AutocompleteProvider, Keybinding, MarkdownTheme, OverlayHandle, OverlayOptions, Component, LoaderIndicatorOptions, AgentSession, AgentSessionEvent, EditorFactory, ExtensionCommandContext, ExtensionRunner, ExtensionUIContext, ExtensionUIDialogOptions, HostCustomUiState, HostCustomUiStateListener, ProjectTrustContext, ExtensionWidgetOptions, ReadonlyFooterDataProvider, AppKeybinding, VerbatimCompactionResult, ResourceDiagnostic, SessionContext, SourceInfo, ChatMessageEntry, ChatMessageRenderOptions, AuthSelectorProvider, Container, TUI, Theme, Loader, MissingSessionCwdError, KeybindingsManager, LoginDialogComponent } from \"./interactive-mode-deps.ts\";\n\ndeclare module \"./interactive-mode-base.ts\" {\n interface InteractiveModeBase {\n getAutocompleteSourceTag(sourceInfo?: SourceInfo): string | undefined;\n prefixAutocompleteDescription(description: string | undefined, sourceInfo?: SourceInfo): string | undefined;\n getBuiltInCommandConflictDiagnostics(extensionRunner: ExtensionRunner): ResourceDiagnostic[];\n getCodexFastModeCandidateModels(): Model<Api>[];\n hasCodexFastModeSupportedModels(): boolean;\n createBaseAutocompleteProvider(): AutocompleteProvider;\n setupAutocompleteProvider(): void;\n showStartupNoticesIfNeeded(targetContainer?: Container): void;\n hadLastChangelogVersionAtStartup: boolean;\n firstRunNoticeVisible: boolean;\n firstRunOnboardingNoticeComponents: Component[];\n initializeFirstRunOnboardingMarkers(): void;\n isFirstRunOnboardingEligible(): boolean;\n clearFirstRunOnboardingUi(): void;\n init(): Promise<void>;\n completeDeferredStartup(): Promise<void>;\n retryDeferredModelRestore(targetContainer?: Container): Promise<void>;\n updateTerminalTitle(): void;\n run(): Promise<void>;\n checkForPackageUpdates(): Promise<string[]>;\n checkTmuxKeyboardSetup(): Promise<string | undefined>;\n getChangelogForDisplay(): string | undefined;\n reportInstallTelemetry(version: string): void;\n getMarkdownThemeWithSettings(): MarkdownTheme;\n formatDisplayPath(p: string): string;\n formatExtensionDisplayPath(path: string): string;\n formatContextPath(p: string): string;\n getStartupModelLabel(): string;\n getStartupIdentityText(): string;\n getAtomicAnsiMarkLines(): string[];\n getStartupExpansionState(): boolean;\n getShortPath(fullPath: string, sourceInfo?: SourceInfo): string;\n getCompactPathLabel(resourcePath: string, sourceInfo?: SourceInfo): string;\n getCompactPackageSourceLabel(sourceInfo?: SourceInfo): string;\n getCompactExtensionLabel(resourcePath: string, sourceInfo?: SourceInfo): string;\n getCompactDisplayPathSegments(resourcePath: string): string[];\n getCompactNonPackageExtensionLabel(resourcePath: string, index: number, allPaths: Array<{ path: string; segments: string[] }>): string;\n getCompactExtensionLabels(extensions: Array<{ path: string; sourceInfo?: SourceInfo }>): string[];\n getDisplaySourceInfo(sourceInfo?: SourceInfo): {\n label: string;\n scopeLabel?: string;\n color: \"accent\" | \"muted\";\n };\n getScopeGroup(sourceInfo?: SourceInfo): \"user\" | \"project\" | \"path\";\n isPackageSource(sourceInfo?: SourceInfo): boolean;\n buildScopeGroups(items: Array<{ path: string; sourceInfo?: SourceInfo }>): Array<{\n scope: \"user\" | \"project\" | \"path\";\n paths: Array<{ path: string; sourceInfo?: SourceInfo }>;\n packages: Map<string, Array<{ path: string; sourceInfo?: SourceInfo }>>;\n }>;\n formatScopeGroups(groups: Array<{\n scope: \"user\" | \"project\" | \"path\";\n paths: Array<{ path: string; sourceInfo?: SourceInfo }>;\n packages: Map<string, Array<{ path: string; sourceInfo?: SourceInfo }>>;\n }>, options: {\n formatPath: (item: { path: string; sourceInfo?: SourceInfo }) => string;\n formatPackagePath: (\n item: { path: string; sourceInfo?: SourceInfo },\n source: string,\n ) => string;\n }): string;\n findSourceInfoForPath(p: string, sourceInfos: Map<string, SourceInfo>): SourceInfo | undefined;\n formatPathWithSource(p: string, sourceInfo?: SourceInfo): string;\n formatDiagnostics(diagnostics: readonly ResourceDiagnostic[], sourceInfos: Map<string, SourceInfo>): string;\n getResourceDiagnosticsTotal(values: ResourceDiagnostic[][]): number;\n formatResourceCount(count: number, singular: string, plural?: string): string | undefined;\n addResourceDisclosure(options: {\n contextFiles: ReadonlyArray<{ path: string }>;\n skills: ReadonlyArray<{ filePath: string; name: string }>;\n prompts: ReadonlyArray<{ filePath: string; name: string }>;\n templates: ReadonlyArray<{ filePath: string; name: string }>;\n extensions: ReadonlyArray<{ path: string; sourceInfo?: SourceInfo }>;\n themes: ReadonlyArray<{ name?: string; sourcePath?: string }>;\n diagnosticsTotal: number;\n expandedBody: string;\n targetContainer?: Container;\n }): void;\n showLoadedResources(options?: {\n extensions?: Array<{ path: string; sourceInfo?: SourceInfo }>;\n force?: boolean;\n showDiagnosticsWhenQuiet?: boolean;\n targetContainer?: Container;\n }): void;\n bindCurrentSessionExtensions(): Promise<void>;\n applyRuntimeSettings(): void;\n rebindCurrentSession(): Promise<void>;\n handleFatalRuntimeError(prefix: string, error: unknown): Promise<never>;\n renderCurrentSessionState(): void;\n getRegisteredToolDefinition(toolName: string): ReturnType<AgentSession[\"getToolDefinition\"]>;\n setupExtensionShortcuts(extensionRunner: ExtensionRunner): void;\n setExtensionStatus(key: string, text: string | undefined): void;\n getWorkingLoaderMessage(): string;\n createWorkingLoader(): Loader;\n stopWorkingLoader(): void;\n showWorkingLoaderNow(): void;\n setWorkingVisible(visible: boolean): void;\n setWorkingIndicator(options?: LoaderIndicatorOptions): void;\n setHiddenThinkingLabel(label?: string): void;\n setExtensionWidget(key: string, content: | string[]\n | ((tui: TUI, thm: Theme) => Component & { dispose?(): void })\n | undefined, options?: ExtensionWidgetOptions): void;\n clearExtensionWidgets(): void;\n resetExtensionUI(): void;\n renderWidgets(): void;\n renderWidgetContainer(container: Container, widgets: Map<string, Component & { dispose?(): void }>, spacerWhenEmpty: boolean, leadingSpacer: boolean): void;\n setExtensionFooter(factory: | ((\n tui: TUI,\n thm: Theme,\n footerData: ReadonlyFooterDataProvider,\n ) => Component & { dispose?(): void })\n | undefined): void;\n setExtensionHeader(factory: | ((tui: TUI, thm: Theme) => Component & { dispose?(): void })\n | undefined): void;\n addExtensionTerminalInputListener(handler: (data: string) => { consume?: boolean; data?: string } | undefined): () => void;\n clearExtensionTerminalInputListeners(): void;\n getHostCustomUiState(): HostCustomUiState;\n notifyHostCustomUiStateListeners(): void;\n beginHostInlineCustomUi(): () => void;\n beginInlineCustomUiFocusDeferral(): () => void;\n shouldDeferInlineCustomUiFocus(): boolean;\n focusHostInlineCustomUi(): boolean;\n onHostCustomUiStateChange(listener: HostCustomUiStateListener): () => void;\n createProjectTrustContext(cwd: string): ProjectTrustContext;\n createExtensionUIContext(): ExtensionUIContext;\n showExtensionSelector(title: string, options: string[], opts?: ExtensionUIDialogOptions): Promise<string | undefined>;\n hideExtensionSelector(): void;\n showExtensionConfirm(title: string, message: string, opts?: ExtensionUIDialogOptions): Promise<boolean>;\n promptForMissingSessionCwd(error: MissingSessionCwdError): Promise<string | undefined>;\n showExtensionInput(title: string, placeholder?: string, opts?: ExtensionUIDialogOptions): Promise<string | undefined>;\n hideExtensionInput(): void;\n showExtensionEditor(title: string, prefill?: string): Promise<string | undefined>;\n hideExtensionEditor(): void;\n setCustomEditorComponent(factory: EditorFactory | undefined): void;\n showExtensionNotify(message: string, type?: \"info\" | \"warning\" | \"error\"): void;\n showExtensionCustom<T>(factory: (\n tui: TUI,\n theme: Theme,\n keybindings: KeybindingsManager,\n done: (result: T) => void,\n ) =>\n | (Component & { dispose?(): void })\n | Promise<Component & { dispose?(): void }>, options?: {\n overlay?: boolean;\n deferInlineCustomUiFocus?: boolean;\n signal?: AbortSignal;\n overlayOptions?: OverlayOptions | (() => OverlayOptions);\n onHandle?: (handle: OverlayHandle) => void;\n }): Promise<T>;\n showExtensionError(extensionPath: string, error: string, stack?: string): void;\n setupKeyHandlers(): void;\n handleClipboardImagePaste(): Promise<void>;\n setupEditorSubmitHandler(): void;\n deliverStartupReplayPrompt(text: string): void;\n recoverCookedStartupInput(): boolean;\n drainStartupReplayCommands(): Promise<void>;\n advanceStartupInputReplay(submittedText: string): void;\n subscribeToAgent(): void;\n handleEvent(event: AgentSessionEvent): Promise<void>;\n getUserMessageText(message: Message): string;\n showStatus(message: string): void;\n chatMessageRenderOptions(): ChatMessageRenderOptions;\n addRenderedChatEntry(entry: ChatMessageEntry): Component;\n addCompactionBoundaryToChat(result: VerbatimCompactionResult): void;\n addMessageToChat(message: AgentMessage, options?: { populateHistory?: boolean }): void;\n renderSessionContext(sessionContext: SessionContext, options?: { updateFooter?: boolean; populateHistory?: boolean }): void;\n renderInitialMessages(): void;\n attachStartupNoticesContainer(options?: { resetDetached?: boolean }): void;\n getUserInput(): Promise<string>;\n runUserPromptTurn(userInput: string): Promise<void>;\n renderDeferredUserInput(text: string): void;\n consumeDeferredRenderedUserInput(text: string): boolean;\n discardDeferredRenderedUserInput(text: string): void;\n ensureDeferredStartupComplete(): Promise<void>;\n rebuildChatFromMessages(options?: { suppressCompactionBoundary?: VerbatimCompactionResult }): void;\n handleCtrlC(): void;\n interruptActiveOperation(): boolean;\n handleCtrlD(): void;\n shutdown(options?: { fromSignal?: boolean }): Promise<void>;\n emergencyTerminalExit(): never;\n uncaughtCrash(error: Error): never;\n checkShutdownRequested(): Promise<void>;\n registerSignalHandlers(): void;\n unregisterSignalHandlers(): void;\n handleCtrlZ(): void;\n handleFollowUp(): Promise<void>;\n handleDequeue(): void;\n refreshBuiltInHeader(): void;\n updateEditorBorderColor(): void;\n cycleThinkingLevel(): void;\n cycleModel(direction: \"forward\" | \"backward\"): Promise<void>;\n toggleToolOutputExpansion(): void;\n setToolsExpanded(expanded: boolean): void;\n toggleThinkingBlockVisibility(): void;\n openExternalEditor(): void;\n clearEditor(): void;\n showError(errorMessage: string): void;\n showWarning(warningMessage: string, targetContainer?: Container): void;\n showNewVersionNotification(newVersion: string, targetContainer?: Container): void;\n showPackageUpdateNotification(packages: string[], targetContainer?: Container): void;\n getAllQueuedMessages(): { steering: string[]; followUp: string[] };\n clearAllQueues(): { steering: string[]; followUp: string[] };\n updatePendingMessagesDisplay(): void;\n restoreQueuedMessagesToEditor(options?: {\n abort?: boolean;\n currentText?: string;\n }): number;\n queueCompactionMessage(text: string, mode: \"steer\" | \"followUp\"): void;\n isExtensionCommand(text: string): boolean;\n flushCompactionQueue(options?: {\n willRetry?: boolean;\n }): Promise<void>;\n flushPendingBashComponents(): void;\n showSelector(create: (done: () => void) => { component: Component; focus: Component }): void;\n showFastModeSelector(): void;\n showSettingsSelector(): void;\n handleModelCommand(searchTerm?: string): Promise<void>;\n findExactModelMatch(searchTerm: string): Promise<Model<Api> | undefined>;\n getModelCandidates(): Promise<Model<Api>[]>;\n refreshCopilotModelCatalog(): Promise<void>;\n loadCopilotModelCatalog(): Promise<void>;\n updateAvailableProviderCount(): Promise<void>;\n maybeWarnAboutAnthropicSubscriptionAuth(model?: Model<Api> | undefined, targetContainer?: Container): Promise<void>;\n showModelSelector(initialSearchInput?: string): void;\n showContextWindowSelector(model: Model<Api>): void;\n showModelsSelector(): Promise<void>;\n showUserMessageSelector(): Promise<void>;\n handleCloneCommand(): Promise<void>;\n maybeSaveImplicitProjectTrustAfterReload(): boolean;\n showTrustSelector(): void;\n showTreeSelector(initialSelectedId?: string): Promise<void>;\n showSessionSelector(): void;\n handleResumeSession(sessionPath: string, options?: Parameters<ExtensionCommandContext[\"switchSession\"]>[1]): Promise<{ cancelled: boolean }>;\n getLoginProviderOptions(authType?: \"oauth\" | \"api_key\"): AuthSelectorProvider[];\n getLogoutProviderOptions(): AuthSelectorProvider[];\n showLoginAuthTypeSelector(): void;\n showLoginProviderSelector(authType: \"oauth\" | \"api_key\"): void;\n showOAuthSelector(mode: \"login\" | \"logout\"): Promise<void>;\n completeProviderAuthentication(providerId: string, providerName: string, authType: \"oauth\" | \"api_key\", previousModel: Model<Api> | undefined): Promise<void>;\n showBedrockSetupDialog(providerId: string, providerName: string): void;\n showApiKeyLoginDialog(providerId: string, providerName: string): Promise<void>;\n showOAuthLoginSelect(dialog: LoginDialogComponent, prompt: OAuthSelectPrompt): Promise<string | undefined>;\n showLoginDialog(providerId: string, providerName: string): Promise<void>;\n handleReloadCommand(): Promise<void>;\n handleExportCommand(text: string): Promise<void>;\n getPathCommandArgument(text: string, command: \"/export\" | \"/import\"): string | undefined;\n handleImportCommand(text: string): Promise<void>;\n handleShareCommand(): Promise<void>;\n handleCopyCommand(): Promise<void>;\n handleNameCommand(text: string): void;\n handleSessionCommand(): void;\n handleChangelogCommand(): void;\n getAppKeyDisplay(action: AppKeybinding): string;\n getEditorKeyDisplay(action: Keybinding): string;\n handleHotkeysCommand(): void;\n handleClearCommand(): Promise<void>;\n handleDebugCommand(): void;\n handleArminSaysHi(): void;\n handleDementedDelves(): void;\n handleDaxnuts(): void;\n checkDaxnutsEasterEgg(model: { provider: string; id: string }): void;\n handleBashCommand(command: string, excludeFromContext?: boolean): Promise<void>;\n handleCompactCommand(): Promise<void>;\n stop(): void;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"interactive-mode-types.d.ts","sourceRoot":"","sources":["../../../src/modes/interactive/interactive-mode-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAEnE,+DAA+D;AAC/D,MAAM,WAAW,UAAU;IACzB,WAAW,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC;CACtC;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,GAAG,UAAU,CAAC;CAC5B,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,gEAAgE;IAChE,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,4DAA4D;IAC5D,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,qHAAqH;IACrH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,qEAAqE;IACrE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,8CAA8C;IAC9C,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;IAC/B,4DAA4D;IAC5D,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,6DAA6D;IAC7D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,sGAAsG;IACtG,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,6FAA6F;IAC7F,0BAA0B,CAAC,EAAE,MAAM,EAAE,CAAC;IACtC,2FAA2F;IAC3F,kCAAkC,CAAC,EAAE,OAAO,CAAC;IAC7C,0FAA0F;IAC1F,mBAAmB,CAAC,EAAE,iBAAiB,CAAC;CACzC","sourcesContent":["import type { ImageContent } from \"./interactive-mode-deps.ts\";\nimport type { EarlyInputCapture } from \"../../main-early-input.ts\";\n\n/** Interface for components that can be expanded/collapsed. */\nexport interface Expandable {\n setExpanded(expanded: boolean): void;\n}\n\nexport type CompactionQueuedMessage = {\n text: string;\n mode: \"steer\" | \"followUp\";\n};\n\n/**\n * Options for InteractiveMode initialization.\n */\nexport interface InteractiveModeOptions {\n /** Providers that were migrated to auth.json (shows warning) */\n migratedProviders?: string[];\n /** Warning message if session model couldn't be restored */\n modelFallbackMessage?: string;\n /** Cwd to persist as trusted after reload/shutdown if it gains trust inputs during an implicitly trusted session. */\n autoTrustOnReloadCwd?: string;\n /** Initial message to send on startup (can include @file content) */\n initialMessage?: string;\n /** Images to attach to the initial message */\n initialImages?: ImageContent[];\n /** Additional messages to send after the initial message */\n initialMessages?: string[];\n /** Force verbose startup (overrides quietStartup setting) */\n verbose?: boolean;\n /** Runtime was created without extension code; finish loading in the background after first paint. */\n deferredExtensionLoad?: boolean;\n /** Model scope patterns resolved again after deferred extension load registers providers. */\n deferredModelScopePatterns?: string[];\n /** Preserve an explicit CLI thinking level when applying deferred model-scope suffixes. */\n deferredModelScopePreserveThinking?: boolean;\n /** Raw terminal input capture active until the TUI prompt is ready to take over stdin. */\n startupInputCapture?: EarlyInputCapture;\n}\n"]}
1
+ {"version":3,"file":"interactive-mode-types.d.ts","sourceRoot":"","sources":["../../../src/modes/interactive/interactive-mode-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAEnE,+DAA+D;AAC/D,MAAM,WAAW,UAAU;IACzB,WAAW,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC;CACtC;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,GAAG,UAAU,CAAC;CAC5B,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,gEAAgE;IAChE,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,4DAA4D;IAC5D,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,qHAAqH;IACrH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,qEAAqE;IACrE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,8CAA8C;IAC9C,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;IAC/B,4DAA4D;IAC5D,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,6DAA6D;IAC7D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,sGAAsG;IACtG,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,6FAA6F;IAC7F,0BAA0B,CAAC,EAAE,MAAM,EAAE,CAAC;IACtC,2FAA2F;IAC3F,kCAAkC,CAAC,EAAE,OAAO,CAAC;IAC7C,0FAA0F;IAC1F,mBAAmB,CAAC,EAAE,iBAAiB,CAAC;CACzC"}
@@ -1 +1 @@
1
- {"version":3,"file":"interactive-mode.d.ts","sourceRoot":"","sources":["../../../src/modes/interactive/interactive-mode.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,+BAA+B,CAAC;AACvC,OAAO,6BAA6B,CAAC;AACrC,OAAO,0BAA0B,CAAC;AAClC,OAAO,mCAAmC,CAAC;AAC3C,OAAO,iCAAiC,CAAC;AACzC,OAAO,sCAAsC,CAAC;AAC9C,OAAO,qCAAqC,CAAC;AAC7C,OAAO,kCAAkC,CAAC;AAC1C,OAAO,oCAAoC,CAAC;AAC5C,OAAO,oCAAoC,CAAC;AAC5C,OAAO,oCAAoC,CAAC;AAC5C,OAAO,oCAAoC,CAAC;AAC5C,OAAO,sCAAsC,CAAC;AAC9C,OAAO,iCAAiC,CAAC;AACzC,OAAO,+BAA+B,CAAC;AACvC,OAAO,8BAA8B,CAAC;AACtC,OAAO,oCAAoC,CAAC;AAC5C,OAAO,iCAAiC,CAAC;AACzC,OAAO,2BAA2B,CAAC;AACnC,OAAO,4BAA4B,CAAC;AACpC,OAAO,gCAAgC,CAAC;AACxC,OAAO,kCAAkC,CAAC;AAC1C,OAAO,+BAA+B,CAAC;AACvC,OAAO,6BAA6B,CAAC;AACrC,OAAO,iCAAiC,CAAC;AACzC,OAAO,gCAAgC,CAAC;AACxC,OAAO,+BAA+B,CAAC;AAEvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEjE,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAC3F,YAAY,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAE1E,qBAAa,eAAgB,SAAQ,mBAAmB;CAAG","sourcesContent":["/**\n * Interactive mode for the coding agent.\n * Public entrypoint preserved while responsibilities live in sibling modules.\n */\n\nimport \"./interactive-autocomplete.ts\";\nimport \"./interactive-onboarding.ts\";\nimport \"./interactive-startup.ts\";\nimport \"./interactive-deferred-startup.ts\";\nimport \"./interactive-resource-paths.ts\";\nimport \"./interactive-resource-disclosure.ts\";\nimport \"./interactive-resource-rendering.ts\";\nimport \"./interactive-session-runtime.ts\";\nimport \"./interactive-extension-runtime.ts\";\nimport \"./interactive-extension-widgets.ts\";\nimport \"./interactive-extension-context.ts\";\nimport \"./interactive-extension-dialogs.ts\";\nimport \"./interactive-extension-custom-ui.ts\";\nimport \"./interactive-input-handling.ts\";\nimport \"./interactive-agent-events.ts\";\nimport \"./interactive-render-chat.ts\";\nimport \"./interactive-process-lifecycle.ts\";\nimport \"./interactive-editor-actions.ts\";\nimport \"./interactive-queueing.ts\";\nimport \"./interactive-selectors.ts\";\nimport \"./interactive-model-routing.ts\";\nimport \"./interactive-session-routing.ts\";\nimport \"./interactive-auth-routing.ts\";\nimport \"./interactive-auth-login.ts\";\nimport \"./interactive-slash-commands.ts\";\nimport \"./interactive-hotkeys-debug.ts\";\nimport \"./interactive-bash-compact.ts\";\n\nimport { InteractiveModeBase } from \"./interactive-mode-base.ts\";\n\nexport { formatResumeCommand, isApiKeyLoginProvider } from \"./interactive-mode-helpers.ts\";\nexport type { InteractiveModeOptions } from \"./interactive-mode-types.ts\";\n\nexport class InteractiveMode extends InteractiveModeBase {}\n"]}
1
+ {"version":3,"file":"interactive-mode.d.ts","sourceRoot":"","sources":["../../../src/modes/interactive/interactive-mode.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,+BAA+B,CAAC;AACvC,OAAO,6BAA6B,CAAC;AACrC,OAAO,0BAA0B,CAAC;AAClC,OAAO,mCAAmC,CAAC;AAC3C,OAAO,iCAAiC,CAAC;AACzC,OAAO,sCAAsC,CAAC;AAC9C,OAAO,qCAAqC,CAAC;AAC7C,OAAO,kCAAkC,CAAC;AAC1C,OAAO,oCAAoC,CAAC;AAC5C,OAAO,oCAAoC,CAAC;AAC5C,OAAO,oCAAoC,CAAC;AAC5C,OAAO,oCAAoC,CAAC;AAC5C,OAAO,sCAAsC,CAAC;AAC9C,OAAO,iCAAiC,CAAC;AACzC,OAAO,+BAA+B,CAAC;AACvC,OAAO,8BAA8B,CAAC;AACtC,OAAO,oCAAoC,CAAC;AAC5C,OAAO,iCAAiC,CAAC;AACzC,OAAO,2BAA2B,CAAC;AACnC,OAAO,4BAA4B,CAAC;AACpC,OAAO,gCAAgC,CAAC;AACxC,OAAO,kCAAkC,CAAC;AAC1C,OAAO,+BAA+B,CAAC;AACvC,OAAO,6BAA6B,CAAC;AACrC,OAAO,iCAAiC,CAAC;AACzC,OAAO,gCAAgC,CAAC;AACxC,OAAO,+BAA+B,CAAC;AAEvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEjE,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAC3F,YAAY,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAE1E,qBAAa,eAAgB,SAAQ,mBAAmB;CAAG"}
@@ -1 +1 @@
1
- {"version":3,"file":"interactive-model-routing.d.ts","sourceRoot":"","sources":["../../../src/modes/interactive/interactive-model-routing.ts"],"names":[],"mappings":"","sourcesContent":["import { InteractiveModeBase } from \"./interactive-mode-base.ts\";\nimport { type Api, type Model, getAgentDir, findExactModelReferenceMatch, resolveModelScope, ContextWindowSelectorComponent, formatContextWindow, copilotApiBaseUrlFromToken, copilotCatalogCacheHost, copilotCatalogCachePath, fetchCopilotModelCatalog, readCopilotCatalogCache, setActiveCopilotModelCatalog, writeCopilotCatalogCache, ModelSelectorComponent, ScopedModelsSelectorComponent, UserMessageSelectorComponent } from \"./interactive-mode-deps.ts\";\nimport { ANTHROPIC_SUBSCRIPTION_AUTH_WARNING, isAnthropicSubscriptionAuthKey } from \"./interactive-mode-helpers.ts\";\n\nInteractiveModeBase.prototype.handleModelCommand = async function(this: InteractiveModeBase, searchTerm?: string): Promise<void> {\n if (!searchTerm) {\n this.showModelSelector();\n return;\n }\n\n const model = await this.findExactModelMatch(searchTerm);\n if (model) {\n try {\n await this.session.setModel(model);\n this.footer.invalidate();\n this.updateEditorBorderColor();\n this.showStatus(`Model: ${model.id}`);\n void this.maybeWarnAboutAnthropicSubscriptionAuth(model);\n this.checkDaxnutsEasterEgg(model);\n } catch (error) {\n this.showError(error instanceof Error ? error.message : String(error));\n }\n return;\n }\n\n this.showModelSelector(searchTerm);\n };\n\nInteractiveModeBase.prototype.findExactModelMatch = async function(this: InteractiveModeBase, searchTerm: string): Promise<Model<Api> | undefined> {\n const models = await this.getModelCandidates();\n return findExactModelReferenceMatch(searchTerm, models);\n };\n\nInteractiveModeBase.prototype.getModelCandidates = async function(this: InteractiveModeBase): Promise<Model<Api>[]> {\n if (this.session.scopedModels.length > 0) {\n return this.session.scopedModels.map((scoped) => scoped.model);\n }\n\n await this.refreshCopilotModelCatalog();\n this.session.modelRegistry.refresh();\n try {\n return await this.session.modelRegistry.getAvailable();\n } catch {\n return [];\n }\n };\n\nInteractiveModeBase.prototype.refreshCopilotModelCatalog = async function(this: InteractiveModeBase): Promise<void> {\n if (this.copilotCatalogApplied) return;\n if (!this.copilotCatalogInFlight) {\n this.copilotCatalogInFlight = this.loadCopilotModelCatalog();\n }\n try {\n await this.copilotCatalogInFlight;\n } finally {\n this.copilotCatalogInFlight = undefined;\n }\n };\n\nInteractiveModeBase.prototype.loadCopilotModelCatalog = async function(this: InteractiveModeBase): Promise<void> {\n const registry = this.session.modelRegistry;\n // Gate: do nothing unless the user has a Copilot token, including COPILOT_GITHUB_TOKEN env auth.\n try {\n const token = await registry.getApiKeyForProvider(\"github-copilot\");\n if (!token) return;\n const baseUrl = copilotApiBaseUrlFromToken(token);\n const cachePath = copilotCatalogCachePath(getAgentDir());\n let catalog = readCopilotCatalogCache(cachePath, { host: copilotCatalogCacheHost(baseUrl) });\n if (!catalog) {\n catalog = await fetchCopilotModelCatalog({ token, baseUrl });\n writeCopilotCatalogCache(cachePath, baseUrl, catalog);\n }\n setActiveCopilotModelCatalog(catalog);\n registry.refresh();\n this.session.refreshCurrentModelFromRegistry();\n this.copilotCatalogApplied = true;\n } catch {\n // Best-effort: leave the active catalog as-is on any failure (offline, auth, parse).\n }\n };\n\nInteractiveModeBase.prototype.updateAvailableProviderCount = async function(this: InteractiveModeBase): Promise<void> {\n const models = await this.getModelCandidates();\n const uniqueProviders = new Set(models.map((m) => m.provider));\n this.footerDataProvider.setAvailableProviderCount(uniqueProviders.size);\n };\n\nInteractiveModeBase.prototype.maybeWarnAboutAnthropicSubscriptionAuth = async function(this: InteractiveModeBase, model: Model<Api> | undefined = this.session.model, targetContainer = this.chatContainer): Promise<void> {\n if (this.settingsManager.getWarnings().anthropicExtraUsage === false) {\n return;\n }\n if (this.anthropicSubscriptionWarningShown) {\n return;\n }\n if (!model || model.provider !== \"anthropic\") {\n return;\n }\n\n const storedCredential =\n this.session.modelRegistry.authStorage.get(\"anthropic\");\n if (storedCredential?.type === \"oauth\") {\n this.anthropicSubscriptionWarningShown = true;\n this.showWarning(ANTHROPIC_SUBSCRIPTION_AUTH_WARNING, targetContainer);\n return;\n }\n\n try {\n const apiKey = await this.session.modelRegistry.getApiKeyForProvider(\n model.provider,\n );\n if (!isAnthropicSubscriptionAuthKey(apiKey)) {\n return;\n }\n this.anthropicSubscriptionWarningShown = true;\n this.showWarning(ANTHROPIC_SUBSCRIPTION_AUTH_WARNING, targetContainer);\n } catch {\n // Ignore auth lookup failures for warning-only checks.\n }\n };\n\nInteractiveModeBase.prototype.showModelSelector = function(this: InteractiveModeBase, initialSearchInput?: string): void {\n this.showSelector((done) => {\n const selector = new ModelSelectorComponent(\n this.ui,\n this.session.model,\n this.settingsManager,\n this.session.modelRegistry,\n this.session.scopedModels,\n async (model) => {\n try {\n await this.session.setModel(model);\n this.footer.invalidate();\n this.updateEditorBorderColor();\n done();\n void this.maybeWarnAboutAnthropicSubscriptionAuth(model);\n this.checkDaxnutsEasterEgg(model);\n if (this.session.supportsContextWindowSelection()) {\n this.showContextWindowSelector(model);\n } else {\n this.showStatus(`Model: ${model.id}`);\n }\n } catch (error) {\n done();\n this.showError(\n error instanceof Error ? error.message : String(error),\n );\n }\n },\n () => {\n done();\n this.ui.requestRender();\n },\n initialSearchInput,\n );\n return { component: selector, focus: selector };\n });\n };\n\nInteractiveModeBase.prototype.showContextWindowSelector = function(this: InteractiveModeBase, model: Model<Api>): void {\n const availableContextWindows = this.session.getAvailableContextWindows();\n const currentContextWindow =\n this.session.model?.contextWindow ?? availableContextWindows[0] ?? 0;\n this.showSelector((done) => {\n const selector = new ContextWindowSelectorComponent(\n model.name ?? model.id,\n availableContextWindows,\n currentContextWindow,\n async (contextWindow) => {\n try {\n this.session.setContextWindow(contextWindow, {\n persistDefault: true,\n });\n this.footer.invalidate();\n this.usageMeter.invalidate();\n this.updateEditorBorderColor();\n done();\n this.showStatus(\n `Model: ${model.id} \\u00b7 ${formatContextWindow(contextWindow)} context`,\n );\n } catch (error) {\n done();\n this.showError(\n error instanceof Error ? error.message : String(error),\n );\n }\n },\n () => {\n done();\n this.showStatus(`Model: ${model.id}`);\n },\n );\n return { component: selector, focus: selector };\n });\n };\n\nInteractiveModeBase.prototype.showModelsSelector = async function(this: InteractiveModeBase): Promise<void> {\n // Get all available models\n this.session.modelRegistry.refresh();\n const allModels = this.session.modelRegistry.getAvailable();\n\n if (allModels.length === 0) {\n this.showStatus(\"No models available\");\n return;\n }\n\n // Check if session has scoped models (from previous session-only changes or CLI --models)\n const sessionScopedModels = this.session.scopedModels;\n const hasSessionScope = sessionScopedModels.length > 0;\n\n // Build enabled model IDs from session state or settings\n let currentEnabledIds: string[] | null = null;\n\n if (hasSessionScope) {\n // Use current session's scoped models\n currentEnabledIds = sessionScopedModels.map(\n (scoped) => `${scoped.model.provider}/${scoped.model.id}`,\n );\n } else {\n // Fall back to settings\n const patterns = this.settingsManager.getEnabledModels();\n if (patterns !== undefined && patterns.length > 0) {\n const scopedModels = await resolveModelScope(\n patterns,\n this.session.modelRegistry,\n );\n currentEnabledIds = scopedModels.map(\n (scoped) => `${scoped.model.provider}/${scoped.model.id}`,\n );\n }\n }\n\n // Helper to update session's scoped models (session-only, no persist)\n const updateSessionModels = async (enabledIds: string[] | null) => {\n currentEnabledIds = enabledIds === null ? null : [...enabledIds];\n if (\n enabledIds &&\n enabledIds.length > 0 &&\n enabledIds.length < allModels.length\n ) {\n const newScopedModels = await resolveModelScope(\n enabledIds,\n this.session.modelRegistry,\n );\n this.session.setScopedModels(\n newScopedModels.map((sm) => ({\n model: sm.model,\n thinkingLevel: sm.thinkingLevel,\n })),\n );\n } else {\n // All enabled or none enabled = no filter\n this.session.setScopedModels([]);\n }\n await this.updateAvailableProviderCount();\n this.setupAutocompleteProvider();\n this.ui.requestRender();\n };\n\n this.showSelector((done) => {\n const selector = new ScopedModelsSelectorComponent(\n {\n allModels,\n enabledModelIds: currentEnabledIds,\n },\n {\n onChange: async (enabledIds) => {\n await updateSessionModels(enabledIds);\n },\n onPersist: (enabledIds) => {\n // Persist to settings\n const newPatterns =\n enabledIds === null || enabledIds.length === allModels.length\n ? undefined // All enabled = clear filter\n : enabledIds;\n this.settingsManager.setEnabledModels(\n newPatterns ? [...newPatterns] : undefined,\n );\n this.showStatus(\"Model selection saved to settings\");\n },\n onCancel: () => {\n done();\n this.ui.requestRender();\n },\n },\n );\n return { component: selector, focus: selector };\n });\n };\n\nInteractiveModeBase.prototype.showUserMessageSelector = async function(this: InteractiveModeBase): Promise<void> {\n await this.ensureDeferredStartupComplete();\n const userMessages = this.session.getUserMessagesForForking();\n\n if (userMessages.length === 0) {\n this.showStatus(\"No messages to fork from\");\n return;\n }\n\n const initialSelectedId = userMessages[userMessages.length - 1]?.entryId;\n\n this.showSelector((done) => {\n let selectionHandled = false;\n const selector = new UserMessageSelectorComponent(\n userMessages.map((m) => ({ id: m.entryId, text: m.text })),\n async (entryId) => {\n if (selectionHandled) return;\n selectionHandled = true;\n done();\n try {\n await this.ensureDeferredStartupComplete();\n const result = await this.runtimeHost.fork(entryId);\n if (result.cancelled) {\n this.ui.requestRender();\n return;\n }\n\n this.renderCurrentSessionState();\n this.editor.setText(result.selectedText ?? \"\");\n this.showStatus(\"Forked to new session\");\n } catch (error: unknown) {\n this.showError(\n error instanceof Error ? error.message : String(error),\n );\n }\n },\n () => {\n if (selectionHandled) return;\n selectionHandled = true;\n done();\n this.ui.requestRender();\n },\n initialSelectedId,\n );\n return { component: selector, focus: selector.getMessageList() };\n });\n };\n"]}
1
+ {"version":3,"file":"interactive-model-routing.d.ts","sourceRoot":"","sources":["../../../src/modes/interactive/interactive-model-routing.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"interactive-onboarding.d.ts","sourceRoot":"","sources":["../../../src/modes/interactive/interactive-onboarding.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,eAAe,QAWhB,CAAC","sourcesContent":["import { InteractiveModeBase } from \"./interactive-mode-base.ts\";\n\nexport const ONBOARDING_COPY = [\n \"Atomic is a verifiable coding agent runtime for building and running\",\n \"agent workflows you can feel confident in.\",\n \"Use it to implement tickets, research a codebase, design a UI,\",\n \"or build and run your own loops.\",\n \"Run dynamic workflows and save the ones you like for future use.\",\n \"Start building a verifiable software factory.\",\n \"\",\n \"Type a message or slash command below to continue normally.\",\n \"If you have not connected a provider yet, run `/login` first.\",\n \"Run `/atomic` for guides or `/workflow list` to see built-in workflows.\",\n].join(\"\\n\");\n\nInteractiveModeBase.prototype.initializeFirstRunOnboardingMarkers = function(this: InteractiveModeBase): void {\n if (\n this.session.state.messages.length !== 0\n || this.settingsManager.getFirstRunOnboardingStartedVersion()\n || this.settingsManager.getOnboardedVersion()\n ) {\n return;\n }\n\n if (this.hadLastChangelogVersionAtStartup) {\n this.settingsManager.setOnboardedVersion(this.version);\n } else {\n this.settingsManager.setFirstRunOnboardingStartedVersion(this.version);\n }\n};\n\nInteractiveModeBase.prototype.isFirstRunOnboardingEligible = function(this: InteractiveModeBase): boolean {\n const hasInitialInput = Boolean(this.options.initialMessage) || Boolean(this.options.initialMessages?.length);\n return this.session.state.messages.length === 0\n && !hasInitialInput\n && !this.settingsManager.getOnboardedVersion()\n && Boolean(this.settingsManager.getFirstRunOnboardingStartedVersion());\n};\n\nInteractiveModeBase.prototype.clearFirstRunOnboardingUi = function(this: InteractiveModeBase): void {\n this.firstRunNoticeVisible = false;\n if (this.firstRunOnboardingNoticeComponents.length > 0) {\n this.chatContainer.children = this.chatContainer.children.filter(\n (child) => !this.firstRunOnboardingNoticeComponents.includes(child),\n );\n this.startupNoticesContainer.children = this.startupNoticesContainer.children.filter(\n (child) => !this.firstRunOnboardingNoticeComponents.includes(child),\n );\n this.firstRunOnboardingNoticeComponents = [];\n }\n this.ui.requestRender();\n};\n"]}
1
+ {"version":3,"file":"interactive-onboarding.d.ts","sourceRoot":"","sources":["../../../src/modes/interactive/interactive-onboarding.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,eAAe,QAWhB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"interactive-process-lifecycle.d.ts","sourceRoot":"","sources":["../../../src/modes/interactive/interactive-process-lifecycle.ts"],"names":[],"mappings":"","sourcesContent":["import { InteractiveModeBase } from \"./interactive-mode-base.ts\";\nimport { chalk, killTrackedDetachedChildren } from \"./interactive-mode-deps.ts\";\nimport { formatResumeCommand, isDeadTerminalError } from \"./interactive-mode-helpers.ts\";\n\nconst SHUTDOWN_INPUT_DRAIN_MAX_MS = 250;\nconst SHUTDOWN_INPUT_DRAIN_IDLE_MS = 50;\n\nInteractiveModeBase.prototype.handleCtrlC = function(this: InteractiveModeBase): void {\n // When the agent is doing work, Ctrl+C interrupts it (matching Escape and\n // common CLI muscle memory) instead of clearing/exiting the editor. Only\n // fall back to the clear / double-press-exit behavior when idle.\n if (this.interruptActiveOperation()) {\n // Reset the double-press window so a follow-up Ctrl+C after the abort\n // does not immediately exit.\n this.lastSigintTime = 0;\n return;\n }\n const now = Date.now();\n if (now - this.lastSigintTime < 500) {\n void this.shutdown();\n } else {\n this.clearEditor();\n this.lastSigintTime = now;\n }\n };\n\nInteractiveModeBase.prototype.interruptActiveOperation = function(this: InteractiveModeBase): boolean {\n // Mirror the Escape interrupt paths so Ctrl+C aborts whichever operation is\n // currently running. Returns true when something was aborted.\n if (this.session.isStreaming) {\n this.restoreQueuedMessagesToEditor({ abort: true });\n return true;\n }\n if (this.session.isBashRunning) {\n this.session.abortBash();\n return true;\n }\n if (this.session.isCompacting) {\n this.session.abortCompaction();\n return true;\n }\n if (this.session.isRetrying) {\n this.session.abortRetry();\n return true;\n }\n return false;\n };\n\nInteractiveModeBase.prototype.handleCtrlD = function(this: InteractiveModeBase): void {\n // Only called when editor is empty (enforced by CustomEditor)\n void this.shutdown();\n };\n\nInteractiveModeBase.prototype.shutdown = async function(this: InteractiveModeBase, options?: { fromSignal?: boolean }): Promise<void> {\n if (this.isShuttingDown) return;\n this.isShuttingDown = true;\n // Keep signal handlers registered until terminal cleanup has completed.\n // `signal-exit` checks the listener list during the same SIGTERM/SIGHUP\n // dispatch and re-sends the signal if only its own listeners remain.\n\n if (options?.fromSignal) {\n await this.runtimeHost.dispose();\n this.themeController.disableAutoSync();\n // Drain any in-flight Kitty key release events briefly before stopping.\n // Keep this bounded so Ctrl+C exits do not feel stalled on Windows.\n await this.ui.terminal.drainInput(SHUTDOWN_INPUT_DRAIN_MAX_MS, SHUTDOWN_INPUT_DRAIN_IDLE_MS);\n this.stop();\n process.exit(0);\n }\n\n // Drain any in-flight Kitty key release events briefly before stopping.\n // Keep this bounded so Ctrl+C exits do not feel stalled on Windows.\n this.themeController.disableAutoSync();\n await this.ui.terminal.drainInput(SHUTDOWN_INPUT_DRAIN_MAX_MS, SHUTDOWN_INPUT_DRAIN_IDLE_MS);\n\n this.stop();\n await this.runtimeHost.dispose();\n const resumeCommand = formatResumeCommand(this.sessionManager);\n if (resumeCommand) {\n process.stdout.write(`${chalk.dim(\"To resume this session:\")} ${resumeCommand}\\n`);\n }\n process.exit(0);\n };\n\nInteractiveModeBase.prototype.emergencyTerminalExit = function(this: InteractiveModeBase): never {\n this.isShuttingDown = true;\n this.unregisterSignalHandlers();\n killTrackedDetachedChildren();\n // The terminal is gone. Do not run normal shutdown because TUI and\n // extension cleanup can write restore sequences and re-trigger EIO.\n process.exit(129);\n };\n\nInteractiveModeBase.prototype.uncaughtCrash = function(this: InteractiveModeBase, error: Error): never {\n if (this.isShuttingDown) {\n process.exit(1);\n }\n this.isShuttingDown = true;\n try {\n this.unregisterSignalHandlers();\n } catch {}\n try {\n killTrackedDetachedChildren();\n } catch {}\n try {\n this.ui.stop();\n } catch {}\n console.error(\"pi exiting due to uncaughtException:\");\n console.error(error);\n process.exit(1);\n };\n\nInteractiveModeBase.prototype.checkShutdownRequested = async function(this: InteractiveModeBase): Promise<void> {\n if (!this.shutdownRequested) return;\n await this.shutdown();\n };\n\nInteractiveModeBase.prototype.registerSignalHandlers = function(this: InteractiveModeBase): void {\n this.unregisterSignalHandlers();\n\n const signals: NodeJS.Signals[] = [\"SIGTERM\"];\n if (process.platform !== \"win32\") {\n signals.push(\"SIGHUP\");\n }\n\n for (const signal of signals) {\n const handler = () => {\n killTrackedDetachedChildren();\n void this.shutdown({ fromSignal: true });\n };\n process.prependListener(signal, handler);\n this.signalCleanupHandlers.push(() => process.off(signal, handler));\n }\n\n const sigintHandler = () => {\n this.handleCtrlC();\n };\n process.prependListener(\"SIGINT\", sigintHandler);\n this.signalCleanupHandlers.push(() => process.off(\"SIGINT\", sigintHandler));\n\n const terminalErrorHandler = (error: Error) => {\n if (isDeadTerminalError(error)) {\n this.emergencyTerminalExit();\n }\n throw error;\n };\n process.stdout.on(\"error\", terminalErrorHandler);\n process.stderr.on(\"error\", terminalErrorHandler);\n this.signalCleanupHandlers.push(() =>\n process.stdout.off(\"error\", terminalErrorHandler),\n );\n this.signalCleanupHandlers.push(() =>\n process.stderr.off(\"error\", terminalErrorHandler),\n );\n\n // Restore the terminal before the process dies on any uncaught throw.\n // Without this, an unhandled exception from extension code (or anywhere\n // in pi) leaves the terminal in raw mode with no cursor.\n const uncaughtExceptionHandler = (error: Error) =>\n this.uncaughtCrash(error);\n process.prependListener(\"uncaughtException\", uncaughtExceptionHandler);\n this.signalCleanupHandlers.push(() =>\n process.off(\"uncaughtException\", uncaughtExceptionHandler),\n );\n };\n\nInteractiveModeBase.prototype.unregisterSignalHandlers = function(this: InteractiveModeBase): void {\n for (const cleanup of this.signalCleanupHandlers) {\n cleanup();\n }\n this.signalCleanupHandlers = [];\n };\n\nInteractiveModeBase.prototype.handleCtrlZ = function(this: InteractiveModeBase): void {\n if (process.platform === \"win32\") {\n this.showStatus(\"Suspend to background is not supported on Windows\");\n return;\n }\n\n // Keep the event loop alive while suspended. Without this, stopping the TUI\n // can leave Node with no ref'ed handles, causing the process to exit on fg\n // before the SIGCONT handler gets a chance to restore the terminal.\n const suspendKeepAlive = setInterval(() => {}, 2 ** 30);\n\n // Ignore SIGINT while suspended so Ctrl+C in the terminal does not\n // kill the backgrounded process. The handler is removed on resume.\n const ignoreSigint = () => {};\n process.on(\"SIGINT\", ignoreSigint);\n\n // Set up handler to restore TUI when resumed\n process.once(\"SIGCONT\", () => {\n clearInterval(suspendKeepAlive);\n process.removeListener(\"SIGINT\", ignoreSigint);\n this.ui.start();\n this.ui.requestRender(true);\n });\n\n try {\n // Stop the TUI (restore terminal to normal mode)\n this.ui.stop();\n\n // Send SIGTSTP to process group (pid=0 means all processes in group)\n process.kill(0, \"SIGTSTP\");\n } catch (error) {\n clearInterval(suspendKeepAlive);\n process.removeListener(\"SIGINT\", ignoreSigint);\n throw error;\n }\n };\n\nInteractiveModeBase.prototype.handleFollowUp = async function(this: InteractiveModeBase): Promise<void> {\n const text = (\n this.editor.getExpandedText?.() ?? this.editor.getText()\n ).trim();\n if (!text) return;\n\n // Queue input during compaction (extension commands execute immediately)\n if (this.session.isCompacting) {\n if (this.isExtensionCommand(text)) {\n this.editor.addToHistory?.(text);\n this.editor.setText(\"\");\n await this.session.prompt(text);\n } else {\n this.queueCompactionMessage(text, \"followUp\");\n }\n return;\n }\n\n // Alt+Enter queues a follow-up message (waits until agent finishes)\n // This handles extension commands (execute immediately), prompt template expansion, and queueing\n if (this.session.isStreaming) {\n this.editor.addToHistory?.(text);\n this.editor.setText(\"\");\n await this.session.prompt(text, { streamingBehavior: \"followUp\" });\n this.updatePendingMessagesDisplay();\n this.ui.requestRender();\n }\n // If not streaming, Alt+Enter acts like regular Enter (trigger onSubmit)\n else if (this.editor.onSubmit) {\n this.editor.setText(\"\");\n this.editor.onSubmit(text);\n }\n };\n\nInteractiveModeBase.prototype.handleDequeue = function(this: InteractiveModeBase): void {\n const restored = this.restoreQueuedMessagesToEditor();\n if (restored === 0) {\n this.showStatus(\"No queued messages to restore\");\n }\n };\n"]}
1
+ {"version":3,"file":"interactive-process-lifecycle.d.ts","sourceRoot":"","sources":["../../../src/modes/interactive/interactive-process-lifecycle.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"interactive-queueing.d.ts","sourceRoot":"","sources":["../../../src/modes/interactive/interactive-queueing.ts"],"names":[],"mappings":"","sourcesContent":["import { InteractiveModeBase } from \"./interactive-mode-base.ts\";\nimport { Spacer, TruncatedText, combineQueuedMessagesForEditor, theme } from \"./interactive-mode-deps.ts\";\n\nInteractiveModeBase.prototype.getAllQueuedMessages = function(this: InteractiveModeBase): { steering: string[]; followUp: string[] } {\n return {\n steering: [\n ...this.session.getSteeringMessages(),\n ...this.compactionQueuedMessages\n .filter((msg) => msg.mode === \"steer\")\n .map((msg) => msg.text),\n ],\n followUp: [\n ...this.session.getFollowUpMessages(),\n ...this.compactionQueuedMessages\n .filter((msg) => msg.mode === \"followUp\")\n .map((msg) => msg.text),\n ],\n };\n };\n\nInteractiveModeBase.prototype.clearAllQueues = function(this: InteractiveModeBase): { steering: string[]; followUp: string[] } {\n const { steering, followUp } = this.session.clearQueue();\n const compactionSteering = this.compactionQueuedMessages\n .filter((msg) => msg.mode === \"steer\")\n .map((msg) => msg.text);\n const compactionFollowUp = this.compactionQueuedMessages\n .filter((msg) => msg.mode === \"followUp\")\n .map((msg) => msg.text);\n this.compactionQueuedMessages = [];\n return {\n steering: [...steering, ...compactionSteering],\n followUp: [...followUp, ...compactionFollowUp],\n };\n };\n\nInteractiveModeBase.prototype.updatePendingMessagesDisplay = function(this: InteractiveModeBase): void {\n this.pendingMessagesContainer.clear();\n const { steering: steeringMessages, followUp: followUpMessages } =\n this.getAllQueuedMessages();\n if (steeringMessages.length > 0 || followUpMessages.length > 0) {\n this.pendingMessagesContainer.addChild(new Spacer(1));\n for (const message of steeringMessages) {\n const text = theme.fg(\"dim\", `Steering: ${message}`);\n this.pendingMessagesContainer.addChild(new TruncatedText(text, 1, 0));\n }\n for (const message of followUpMessages) {\n const text = theme.fg(\"dim\", `Follow-up: ${message}`);\n this.pendingMessagesContainer.addChild(new TruncatedText(text, 1, 0));\n }\n const dequeueHint = this.getAppKeyDisplay(\"app.message.dequeue\");\n const hintText = theme.fg(\n \"dim\",\n `↳ ${dequeueHint} to edit all queued messages`,\n );\n this.pendingMessagesContainer.addChild(new TruncatedText(hintText, 1, 0));\n }\n };\n\nInteractiveModeBase.prototype.restoreQueuedMessagesToEditor = function(this: InteractiveModeBase, options?: {\n abort?: boolean;\n currentText?: string;\n }): number {\n const { steering, followUp } = this.clearAllQueues();\n const allQueued = [...steering, ...followUp];\n if (allQueued.length === 0) {\n this.updatePendingMessagesDisplay();\n if (options?.abort) {\n this.agent.abort();\n }\n return 0;\n }\n const currentText = options?.currentText ?? this.editor.getText();\n const combinedText = combineQueuedMessagesForEditor(allQueued, currentText);\n this.editor.setText(combinedText);\n this.updatePendingMessagesDisplay();\n if (options?.abort) {\n this.agent.abort();\n }\n return allQueued.length;\n };\n\nInteractiveModeBase.prototype.queueCompactionMessage = function(this: InteractiveModeBase, text: string, mode: \"steer\" | \"followUp\"): void {\n this.compactionQueuedMessages.push({ text, mode });\n this.editor.addToHistory?.(text);\n this.editor.setText(\"\");\n this.updatePendingMessagesDisplay();\n this.showStatus(\"Queued message for after compaction\");\n };\n\nInteractiveModeBase.prototype.isExtensionCommand = function(this: InteractiveModeBase, text: string): boolean {\n if (!text.startsWith(\"/\")) return false;\n\n const extensionRunner = this.session.extensionRunner;\n\n const spaceIndex = text.indexOf(\" \");\n const commandName =\n spaceIndex === -1 ? text.slice(1) : text.slice(1, spaceIndex);\n return !!extensionRunner.getCommand(commandName);\n };\n\nInteractiveModeBase.prototype.flushCompactionQueue = async function(this: InteractiveModeBase, options?: {\n willRetry?: boolean;\n }): Promise<void> {\n if (this.compactionQueuedMessages.length === 0) {\n return;\n }\n\n const queuedMessages = [...this.compactionQueuedMessages];\n this.compactionQueuedMessages = [];\n this.updatePendingMessagesDisplay();\n\n const restoreQueue = (error: unknown) => {\n this.session.clearQueue();\n this.compactionQueuedMessages = queuedMessages;\n this.updatePendingMessagesDisplay();\n this.showError(\n `Failed to send queued message${queuedMessages.length > 1 ? \"s\" : \"\"}: ${\n error instanceof Error ? error.message : String(error)\n }`,\n );\n };\n\n try {\n if (options?.willRetry) {\n // When retry is pending, queue messages for the retry turn\n for (const message of queuedMessages) {\n if (this.isExtensionCommand(message.text)) {\n await this.session.prompt(message.text);\n } else if (message.mode === \"followUp\") {\n await this.session.followUp(message.text);\n } else {\n await this.session.steer(message.text);\n }\n }\n this.updatePendingMessagesDisplay();\n return;\n }\n\n // Find first non-extension-command message to use as prompt\n const firstPromptIndex = queuedMessages.findIndex(\n (message) => !this.isExtensionCommand(message.text),\n );\n if (firstPromptIndex === -1) {\n // All extension commands - execute them all\n for (const message of queuedMessages) {\n await this.session.prompt(message.text);\n }\n return;\n }\n\n // Execute any extension commands before the first prompt\n const preCommands = queuedMessages.slice(0, firstPromptIndex);\n const firstPrompt = queuedMessages[firstPromptIndex];\n const rest = queuedMessages.slice(firstPromptIndex + 1);\n\n for (const message of preCommands) {\n await this.session.prompt(message.text);\n }\n\n // Send first prompt (starts streaming)\n const promptPromise = this.session\n .prompt(firstPrompt.text)\n .catch((error) => {\n restoreQueue(error);\n });\n\n // Queue remaining messages\n for (const message of rest) {\n if (this.isExtensionCommand(message.text)) {\n await this.session.prompt(message.text);\n } else if (message.mode === \"followUp\") {\n await this.session.followUp(message.text);\n } else {\n await this.session.steer(message.text);\n }\n }\n this.updatePendingMessagesDisplay();\n void promptPromise;\n } catch (error) {\n restoreQueue(error);\n }\n };\n\nInteractiveModeBase.prototype.flushPendingBashComponents = function(this: InteractiveModeBase): void {\n for (const component of this.pendingBashComponents) {\n this.pendingMessagesContainer.removeChild(component);\n this.chatContainer.addChild(component);\n }\n this.pendingBashComponents = [];\n };\n"]}
1
+ {"version":3,"file":"interactive-queueing.d.ts","sourceRoot":"","sources":["../../../src/modes/interactive/interactive-queueing.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"interactive-render-chat.d.ts","sourceRoot":"","sources":["../../../src/modes/interactive/interactive-render-chat.ts"],"names":[],"mappings":"","sourcesContent":["import { InteractiveModeBase } from \"./interactive-mode-base.ts\";\nimport { type AgentMessage, type Component, type ContextCompactionResult, type SessionContext, type TruncationResult, type ChatMessageEntry, type ChatMessageRenderOptions, Spacer, Text, parseSkillBlock, AssistantMessageComponent, BashExecutionComponent, BranchSummaryMessageComponent, chatEntriesFromAgentMessages, renderChatMessageEntry, addChatTranscriptEntry, ContextCompactionSummaryMessageComponent, CustomMessageComponent, SkillInvocationMessageComponent, ToolExecutionComponent, UserMessageComponent, recordTimeSinceReset, theme } from \"./interactive-mode-deps.ts\";\nimport { yieldToEventLoop } from \"../../utils/event-loop.ts\";\n\nInteractiveModeBase.prototype.showStatus = function(this: InteractiveModeBase, message: string): void {\n const children = this.chatContainer.children;\n const last =\n children.length > 0 ? children[children.length - 1] : undefined;\n const secondLast =\n children.length > 1 ? children[children.length - 2] : undefined;\n\n if (\n last &&\n secondLast &&\n last === this.lastStatusText &&\n secondLast === this.lastStatusSpacer\n ) {\n this.lastStatusText.setText(theme.fg(\"dim\", message));\n this.ui.requestRender();\n return;\n }\n\n const spacer = new Spacer(1);\n const text = new Text(theme.fg(\"dim\", message), 1, 0);\n this.chatContainer.addChild(spacer);\n this.chatContainer.addChild(text);\n this.lastStatusSpacer = spacer;\n this.lastStatusText = text;\n this.ui.requestRender();\n };\n\nInteractiveModeBase.prototype.renderDeferredUserInput = function(this: InteractiveModeBase, text: string): void {\n this.deferredRenderedUserInputs.push(text);\n const startIndex = this.chatContainer.children.length;\n this.addMessageToChat({ role: \"user\", content: text } as AgentMessage);\n const renderedComponents = this.chatContainer.children.slice(startIndex);\n const trackedComponents = this.deferredRenderedUserInputComponents.get(text) ?? [];\n trackedComponents.push(renderedComponents);\n this.deferredRenderedUserInputComponents.set(text, trackedComponents);\n this.updatePendingMessagesDisplay();\n this.ui.requestRender();\n };\n\nInteractiveModeBase.prototype.consumeDeferredRenderedUserInput = function(this: InteractiveModeBase, text: string): boolean {\n const index = this.deferredRenderedUserInputs.indexOf(text);\n if (index === -1) return false;\n this.deferredRenderedUserInputs.splice(index, 1);\n const trackedComponents = this.deferredRenderedUserInputComponents.get(text);\n trackedComponents?.shift();\n if (trackedComponents && trackedComponents.length === 0) {\n this.deferredRenderedUserInputComponents.delete(text);\n }\n return true;\n };\n\nInteractiveModeBase.prototype.discardDeferredRenderedUserInput = function(this: InteractiveModeBase, text: string): void {\n const index = this.deferredRenderedUserInputs.indexOf(text);\n if (index !== -1) this.deferredRenderedUserInputs.splice(index, 1);\n const trackedComponents = this.deferredRenderedUserInputComponents.get(text);\n const componentsToRemove = trackedComponents?.shift();\n if (trackedComponents && trackedComponents.length === 0) {\n this.deferredRenderedUserInputComponents.delete(text);\n }\n if (!componentsToRemove) return;\n for (const component of componentsToRemove) {\n this.chatContainer.removeChild(component);\n }\n this.updatePendingMessagesDisplay();\n this.ui.requestRender();\n };\n\nInteractiveModeBase.prototype.chatMessageRenderOptions = function(this: InteractiveModeBase): ChatMessageRenderOptions {\n return {\n ui: this.ui,\n cwd: this.sessionManager.getCwd(),\n markdownTheme: this.getMarkdownThemeWithSettings(),\n hideThinkingBlock: this.hideThinkingBlock,\n hiddenThinkingLabel: this.hiddenThinkingLabel,\n toolOutputExpanded: this.toolOutputExpanded,\n showImages: this.settingsManager.getShowImages(),\n imageWidthCells: this.settingsManager.getImageWidthCells(),\n outputPad: this.outputPad,\n getToolDefinition: (toolName) => this.getRegisteredToolDefinition(toolName),\n getCustomMessageRenderer: (customType) =>\n this.session.extensionRunner.getMessageRenderer(customType),\n };\n };\n\nInteractiveModeBase.prototype.addRenderedChatEntry = function(this: InteractiveModeBase, entry: ChatMessageEntry): Component {\n const component = renderChatMessageEntry(entry, this.chatMessageRenderOptions());\n addChatTranscriptEntry(this.chatContainer, component, entry.role);\n return component;\n };\n\nInteractiveModeBase.prototype.addContextCompactionSummaryToChat = function(this: InteractiveModeBase, result: ContextCompactionResult): void {\n this.chatContainer.addChild(new Spacer(1));\n const component = new ContextCompactionSummaryMessageComponent(\n result,\n this.getMarkdownThemeWithSettings(),\n );\n component.setExpanded(this.toolOutputExpanded);\n this.chatContainer.addChild(component);\n };\n\nInteractiveModeBase.prototype.addMessageToChat = function(this: InteractiveModeBase, message: AgentMessage, options?: { populateHistory?: boolean }): void {\n switch (message.role) {\n case \"bashExecution\": {\n const component = new BashExecutionComponent(\n message.command,\n this.ui,\n message.excludeFromContext,\n );\n if (message.output) {\n component.appendOutput(message.output);\n }\n component.setComplete(\n message.exitCode,\n message.cancelled,\n message.truncated\n ? ({ truncated: true } as TruncationResult)\n : undefined,\n message.fullOutputPath,\n );\n this.chatContainer.addChild(component);\n break;\n }\n case \"custom\": {\n if (message.display) {\n const renderer = this.session.extensionRunner.getMessageRenderer(\n message.customType,\n );\n const component = new CustomMessageComponent(\n message,\n renderer,\n this.getMarkdownThemeWithSettings(),\n );\n component.setExpanded(this.toolOutputExpanded);\n this.chatContainer.addChild(component);\n }\n break;\n }\n case \"branchSummary\": {\n this.chatContainer.addChild(new Spacer(1));\n const component = new BranchSummaryMessageComponent(\n message,\n this.getMarkdownThemeWithSettings(),\n );\n component.setExpanded(this.toolOutputExpanded);\n this.chatContainer.addChild(component);\n break;\n }\n case \"user\": {\n const textContent = this.getUserMessageText(message);\n if (textContent) {\n if (this.chatContainer.children.length > 0) {\n this.chatContainer.addChild(new Spacer(1));\n }\n const skillBlock = parseSkillBlock(textContent);\n if (skillBlock) {\n // Render skill block (collapsible)\n const component = new SkillInvocationMessageComponent(\n skillBlock,\n this.getMarkdownThemeWithSettings(),\n );\n component.setExpanded(this.toolOutputExpanded);\n this.chatContainer.addChild(component);\n // Render user message separately if present\n if (skillBlock.userMessage) {\n const userComponent = new UserMessageComponent(\n skillBlock.userMessage,\n this.getMarkdownThemeWithSettings(),\n this.outputPad,\n );\n this.chatContainer.addChild(userComponent);\n }\n } else {\n const userComponent = new UserMessageComponent(\n textContent,\n this.getMarkdownThemeWithSettings(),\n this.outputPad,\n );\n this.chatContainer.addChild(userComponent);\n }\n if (options?.populateHistory) {\n this.editor.addToHistory?.(textContent);\n }\n }\n break;\n }\n case \"assistant\": {\n const assistantComponent = new AssistantMessageComponent(\n message,\n this.hideThinkingBlock,\n this.getMarkdownThemeWithSettings(),\n this.hiddenThinkingLabel,\n this.outputPad,\n );\n this.chatContainer.addChild(assistantComponent);\n break;\n }\n case \"toolResult\": {\n // Tool results are rendered inline with tool calls, handled separately\n break;\n }\n default:\n break;\n }\n };\n\nInteractiveModeBase.prototype.renderSessionContext = function(this: InteractiveModeBase, sessionContext: SessionContext, options: { updateFooter?: boolean; populateHistory?: boolean } = {}): void {\n this.pendingTools.clear();\n const pendingDeferredInputs = [...this.deferredRenderedUserInputs];\n this.deferredRenderedUserInputs = [];\n this.deferredRenderedUserInputComponents.clear();\n\n if (options.updateFooter) {\n this.footer.invalidate();\n this.updateEditorBorderColor();\n }\n\n const entries = chatEntriesFromAgentMessages(sessionContext.messages);\n for (const entry of entries) {\n const component = this.addRenderedChatEntry(entry);\n if (\n entry.kind === \"tool\" &&\n entry.isPartial !== false &&\n component instanceof ToolExecutionComponent\n ) {\n this.pendingTools.set(entry.toolCallId, component);\n }\n if (options.populateHistory && entry.kind === \"user\") {\n this.editor.addToHistory?.(entry.text);\n }\n }\n\n for (const input of pendingDeferredInputs) {\n this.renderDeferredUserInput(input);\n }\n\n this.ui.requestRender();\n };\n\nInteractiveModeBase.prototype.attachStartupNoticesContainer = function(this: InteractiveModeBase, options: { resetDetached?: boolean } = {}): void {\n const isAttached = this.chatContainer.children.includes(this.startupNoticesContainer);\n if (isAttached) return;\n if (options.resetDetached) {\n this.startupNoticesContainer.clear();\n }\n this.chatContainer.addChild(this.startupNoticesContainer);\n };\n\nInteractiveModeBase.prototype.renderInitialMessages = function(this: InteractiveModeBase): void {\n this.attachStartupNoticesContainer({ resetDetached: true });\n // Get aligned messages and entries from session context\n const context = this.sessionManager.buildSessionContext();\n this.renderSessionContext(context, {\n updateFooter: true,\n populateHistory: true,\n });\n\n // Show compaction info if session was compacted\n const allEntries = this.sessionManager.getEntries();\n const compactionCount = allEntries.filter(\n (e) => e.type === \"compaction\",\n ).length;\n if (compactionCount > 0) {\n const times =\n compactionCount === 1 ? \"1 time\" : `${compactionCount} times`;\n this.showStatus(`Session compacted ${times}`);\n }\n };\n\nInteractiveModeBase.prototype.getUserInput = async function(this: InteractiveModeBase): Promise<string> {\n for (let attempt = 0; !this.startupCookedInputRecovered && attempt < 10; attempt += 1) {\n await yieldToEventLoop();\n if (this.recoverCookedStartupInput?.()) break;\n }\n while (true) {\n const queuedInput = this.pendingUserInputs.shift();\n if (queuedInput !== undefined) {\n return queuedInput;\n }\n\n if (this.startupReplayActiveInput) {\n await this.drainStartupReplayCommands();\n continue;\n }\n\n return new Promise((resolve) => {\n this.onInputCallback = (text: string) => {\n this.onInputCallback = undefined;\n resolve(text);\n };\n if (!this.inputHandlerReadyRecorded) {\n this.inputHandlerReadyRecorded = true;\n recordTimeSinceReset(\"interactive-input-handler-ready\");\n void (async () => {\n await yieldToEventLoop();\n this.footerDataProvider.startGitWatcher();\n if (this.deferredStartupPending) {\n await this.ensureDeferredStartupComplete();\n }\n })().catch((error) => {\n const message = error instanceof Error ? error.message : String(error);\n console.error(`Deferred input-readiness startup task failed: ${message}`);\n });\n }\n });\n }\n };\n\nInteractiveModeBase.prototype.rebuildChatFromMessages = function(this: InteractiveModeBase): void {\n this.chatContainer.clear();\n this.attachStartupNoticesContainer();\n const context = this.sessionManager.buildSessionContext();\n this.renderSessionContext(context);\n };\n"]}
1
+ {"version":3,"file":"interactive-render-chat.d.ts","sourceRoot":"","sources":["../../../src/modes/interactive/interactive-render-chat.ts"],"names":[],"mappings":""}
@@ -1,6 +1,7 @@
1
1
  import { InteractiveModeBase } from "./interactive-mode-base.js";
2
- import { Spacer, Text, parseSkillBlock, AssistantMessageComponent, BashExecutionComponent, BranchSummaryMessageComponent, chatEntriesFromAgentMessages, renderChatMessageEntry, addChatTranscriptEntry, ContextCompactionSummaryMessageComponent, CustomMessageComponent, SkillInvocationMessageComponent, ToolExecutionComponent, UserMessageComponent, recordTimeSinceReset, theme } from "./interactive-mode-deps.js";
2
+ import { Spacer, Text, parseSkillBlock, AssistantMessageComponent, BashExecutionComponent, BranchSummaryMessageComponent, chatEntriesFromAgentMessages, renderChatMessageEntry, addChatTranscriptEntry, CompactionBoundaryMessageComponent, CustomMessageComponent, SkillInvocationMessageComponent, ToolExecutionComponent, UserMessageComponent, recordTimeSinceReset, theme } from "./interactive-mode-deps.js";
3
3
  import { yieldToEventLoop } from "../../utils/event-loop.js";
4
+ import { VERBATIM_COMPACTION_PREFIX } from "../../core/messages.js";
4
5
  InteractiveModeBase.prototype.showStatus = function (message) {
5
6
  const children = this.chatContainer.children;
6
7
  const last = children.length > 0 ? children[children.length - 1] : undefined;
@@ -81,9 +82,9 @@ InteractiveModeBase.prototype.addRenderedChatEntry = function (entry) {
81
82
  addChatTranscriptEntry(this.chatContainer, component, entry.role);
82
83
  return component;
83
84
  };
84
- InteractiveModeBase.prototype.addContextCompactionSummaryToChat = function (result) {
85
+ InteractiveModeBase.prototype.addCompactionBoundaryToChat = function (result) {
85
86
  this.chatContainer.addChild(new Spacer(1));
86
- const component = new ContextCompactionSummaryMessageComponent(result, this.getMarkdownThemeWithSettings());
87
+ const component = new CompactionBoundaryMessageComponent(result);
87
88
  component.setExpanded(this.toolOutputExpanded);
88
89
  this.chatContainer.addChild(component);
89
90
  };
@@ -200,13 +201,6 @@ InteractiveModeBase.prototype.renderInitialMessages = function () {
200
201
  updateFooter: true,
201
202
  populateHistory: true,
202
203
  });
203
- // Show compaction info if session was compacted
204
- const allEntries = this.sessionManager.getEntries();
205
- const compactionCount = allEntries.filter((e) => e.type === "compaction").length;
206
- if (compactionCount > 0) {
207
- const times = compactionCount === 1 ? "1 time" : `${compactionCount} times`;
208
- this.showStatus(`Session compacted ${times}`);
209
- }
210
204
  };
211
205
  InteractiveModeBase.prototype.getUserInput = async function () {
212
206
  for (let attempt = 0; !this.startupCookedInputRecovered && attempt < 10; attempt += 1) {
@@ -245,10 +239,25 @@ InteractiveModeBase.prototype.getUserInput = async function () {
245
239
  });
246
240
  }
247
241
  };
248
- InteractiveModeBase.prototype.rebuildChatFromMessages = function () {
242
+ InteractiveModeBase.prototype.rebuildChatFromMessages = function (options = {}) {
249
243
  this.chatContainer.clear();
250
244
  this.attachStartupNoticesContainer();
251
- const context = this.sessionManager.buildSessionContext();
245
+ let context = this.sessionManager.buildSessionContext();
246
+ const synthesizedBoundary = options.suppressCompactionBoundary;
247
+ if (synthesizedBoundary && isSynthesizedCompactionBoundary(context.messages[0], synthesizedBoundary)) {
248
+ context = { ...context, messages: context.messages.slice(1) };
249
+ }
252
250
  this.renderSessionContext(context);
253
251
  };
252
+ function isSynthesizedCompactionBoundary(message, result) {
253
+ if (message?.role !== "custom" || message.customType !== "compaction" || !message.display)
254
+ return false;
255
+ const details = message.details;
256
+ if (details?.strategy !== "verbatim-lines")
257
+ return false;
258
+ const content = Array.isArray(message.content)
259
+ ? message.content.filter((block) => block.type === "text").map((block) => block.text).join("\n")
260
+ : message.content;
261
+ return content === VERBATIM_COMPACTION_PREFIX + result.compactedText;
262
+ }
254
263
  //# sourceMappingURL=interactive-render-chat.js.map