@ai-agent-forge/agent-forge 0.88.1 → 0.88.3

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 (518) hide show
  1. package/CHANGELOG.md +71 -0
  2. package/README.md +1 -1
  3. package/bundled-plugins/agent-loop-policy/agent-forge.json +1 -1
  4. package/bundled-plugins/agent-loop-policy/plugin.json +1 -1
  5. package/bundled-plugins/coding-tools/agent-forge.json +1 -1
  6. package/bundled-plugins/coding-tools/plugin.json +1 -1
  7. package/bundled-plugins/compaction-policy/agent-forge.json +1 -1
  8. package/bundled-plugins/compaction-policy/plugin.json +1 -1
  9. package/bundled-plugins/overflow-policy/agent-forge.json +1 -1
  10. package/bundled-plugins/overflow-policy/plugin.json +1 -1
  11. package/bundled-plugins/provider-failover/agent-forge.json +1 -1
  12. package/bundled-plugins/provider-failover/plugin.json +1 -1
  13. package/bundled-plugins/retry-policy/agent-forge.json +1 -1
  14. package/bundled-plugins/retry-policy/plugin.json +1 -1
  15. package/dist/artifacts/paged-read.d.ts +6 -1
  16. package/dist/artifacts/paged-read.d.ts.map +1 -1
  17. package/dist/artifacts/paged-read.js.map +1 -1
  18. package/dist/bundle/.build-manifest.json +283 -263
  19. package/dist/bundle/chunks/{anthropic-messages-PLAKXR73.js → anthropic-messages-3FJHRAJL.js} +2 -2
  20. package/dist/bundle/chunks/anthropic.js +1 -1
  21. package/dist/bundle/chunks/{azure-openai-responses-OUWQ2AZD.js → azure-openai-responses-GCL47IDS.js} +1 -1
  22. package/dist/bundle/chunks/bedrock-converse-stream.js +1 -1
  23. package/dist/bundle/chunks/{chunk-Z72JWUZ4.js → chunk-32YDZI4J.js} +1 -1
  24. package/dist/bundle/chunks/{chunk-AQLNTW2B.js → chunk-755VNWIF.js} +17 -16
  25. package/dist/bundle/chunks/{chunk-LZOEQITZ.js → chunk-B42Y2VME.js} +120 -104
  26. package/dist/bundle/chunks/{chunk-DRQDKNXA.js → chunk-BVVSHK6W.js} +1 -1
  27. package/dist/bundle/chunks/{chunk-6R7UI4IY.js → chunk-QDLOMKF6.js} +1 -1
  28. package/dist/bundle/chunks/{chunk-D3ARGZFR.js → chunk-V3ACW7VD.js} +3 -3
  29. package/dist/bundle/chunks/{google-generative-ai-DLII6DAT.js → google-generative-ai-6BMXWA44.js} +1 -1
  30. package/dist/bundle/chunks/{google-vertex-G7BZL7GM.js → google-vertex-6H7NLRTK.js} +1 -1
  31. package/dist/bundle/chunks/image-resize-worker.js +3 -3
  32. package/dist/bundle/chunks/{mistral-conversations-JXUK24ID.js → mistral-conversations-IXUHSFSJ.js} +1 -1
  33. package/dist/bundle/chunks/{openai-codex-responses-5GSGFIPG.js → openai-codex-responses-YHUAEVCM.js} +1 -1
  34. package/dist/bundle/chunks/openai-codex.js +1 -1
  35. package/dist/bundle/chunks/{openai-completions-EI2I6DTG.js → openai-completions-ULQCFC72.js} +1 -1
  36. package/dist/bundle/chunks/openai-responses-NLLAJDPS.js +2 -0
  37. package/dist/bundle/chunks/{openrouter-images-G4GQRUSG.js → openrouter-images-GZZQZXMS.js} +1 -1
  38. package/dist/bundle/chunks/openrouter.js +1 -1
  39. package/dist/bundle/chunks/{pi-messages-PWU2VJMR.js → pi-messages-EJTI2EJ3.js} +1 -1
  40. package/dist/bundle/chunks/virtual-modules-TQWEGNNZ.js +5 -0
  41. package/dist/bundle/cli.js +1 -1
  42. package/dist/bundle/client.js +1 -1
  43. package/dist/bundle/index.js +1 -1
  44. package/dist/bundle/rpc-entry.js +1 -1
  45. package/dist/cli/args.d.ts +0 -1
  46. package/dist/cli/args.d.ts.map +1 -1
  47. package/dist/cli/args.js +1 -4
  48. package/dist/cli/args.js.map +1 -1
  49. package/dist/cli/config-selector.d.ts.map +1 -1
  50. package/dist/cli/config-selector.js +1 -1
  51. package/dist/cli/config-selector.js.map +1 -1
  52. package/dist/cli/experimental/cli.d.ts +3 -3
  53. package/dist/cli/experimental/cli.d.ts.map +1 -1
  54. package/dist/cli/experimental/cli.js +2 -2
  55. package/dist/cli/experimental/cli.js.map +1 -1
  56. package/dist/cli/experimental/commands/agent-forge.d.ts +15 -0
  57. package/dist/cli/experimental/commands/agent-forge.d.ts.map +1 -0
  58. package/dist/cli/experimental/commands/{pi.js → agent-forge.js} +4 -4
  59. package/dist/cli/experimental/commands/agent-forge.js.map +1 -0
  60. package/dist/cli/plugin-command.d.ts.map +1 -1
  61. package/dist/cli/plugin-command.js +8 -2
  62. package/dist/cli/plugin-command.js.map +1 -1
  63. package/dist/cli/startup-ui.d.ts.map +1 -1
  64. package/dist/cli/startup-ui.js +1 -1
  65. package/dist/cli/startup-ui.js.map +1 -1
  66. package/dist/config.d.ts +4 -4
  67. package/dist/config.d.ts.map +1 -1
  68. package/dist/config.js +7 -7
  69. package/dist/config.js.map +1 -1
  70. package/dist/core/agent-forge-manifest.d.ts +7 -0
  71. package/dist/core/agent-forge-manifest.d.ts.map +1 -0
  72. package/dist/core/{pi-manifest.js → agent-forge-manifest.js} +4 -4
  73. package/dist/core/agent-forge-manifest.js.map +1 -0
  74. package/dist/core/agent-session-compaction.d.ts +1 -1
  75. package/dist/core/agent-session-compaction.d.ts.map +1 -1
  76. package/dist/core/agent-session-compaction.js +3 -3
  77. package/dist/core/agent-session-compaction.js.map +1 -1
  78. package/dist/core/agent-session-internal.d.ts +2 -0
  79. package/dist/core/agent-session-internal.d.ts.map +1 -1
  80. package/dist/core/agent-session-internal.js.map +1 -1
  81. package/dist/core/agent-session-lifecycle.d.ts.map +1 -1
  82. package/dist/core/agent-session-lifecycle.js +12 -1
  83. package/dist/core/agent-session-lifecycle.js.map +1 -1
  84. package/dist/core/agent-session-projection.d.ts.map +1 -1
  85. package/dist/core/agent-session-projection.js +3 -3
  86. package/dist/core/agent-session-projection.js.map +1 -1
  87. package/dist/core/agent-session-services.d.ts +3 -1
  88. package/dist/core/agent-session-services.d.ts.map +1 -1
  89. package/dist/core/agent-session-services.js +2 -1
  90. package/dist/core/agent-session-services.js.map +1 -1
  91. package/dist/core/agent-session-store.d.ts.map +1 -1
  92. package/dist/core/agent-session-store.js +6 -1
  93. package/dist/core/agent-session-store.js.map +1 -1
  94. package/dist/core/agent-session-tools.d.ts.map +1 -1
  95. package/dist/core/agent-session-tools.js +13 -0
  96. package/dist/core/agent-session-tools.js.map +1 -1
  97. package/dist/core/agent-session.d.ts +24 -0
  98. package/dist/core/agent-session.d.ts.map +1 -1
  99. package/dist/core/agent-session.js +58 -4
  100. package/dist/core/agent-session.js.map +1 -1
  101. package/dist/core/compaction/branch-summarization.d.ts.map +1 -1
  102. package/dist/core/compaction/branch-summarization.js +1 -1
  103. package/dist/core/compaction/branch-summarization.js.map +1 -1
  104. package/dist/core/experimental.d.ts.map +1 -1
  105. package/dist/core/experimental.js +1 -3
  106. package/dist/core/experimental.js.map +1 -1
  107. package/dist/core/extensions/capability-runtime-store.d.ts +20 -1
  108. package/dist/core/extensions/capability-runtime-store.d.ts.map +1 -1
  109. package/dist/core/extensions/capability-runtime-store.js +67 -0
  110. package/dist/core/extensions/capability-runtime-store.js.map +1 -1
  111. package/dist/core/extensions/capability-runtime-types.d.ts +14 -0
  112. package/dist/core/extensions/capability-runtime-types.d.ts.map +1 -1
  113. package/dist/core/extensions/capability-runtime-types.js +7 -1
  114. package/dist/core/extensions/capability-runtime-types.js.map +1 -1
  115. package/dist/core/extensions/capability-runtime.d.ts.map +1 -1
  116. package/dist/core/extensions/capability-runtime.js +144 -42
  117. package/dist/core/extensions/capability-runtime.js.map +1 -1
  118. package/dist/core/extensions/virtual-modules.d.ts.map +1 -1
  119. package/dist/core/extensions/virtual-modules.js +6 -1
  120. package/dist/core/extensions/virtual-modules.js.map +1 -1
  121. package/dist/core/facade/coding-agent-facade.d.ts +1 -1
  122. package/dist/core/facade/coding-agent-facade.d.ts.map +1 -1
  123. package/dist/core/facade/coding-agent-facade.js +1 -1
  124. package/dist/core/facade/coding-agent-facade.js.map +1 -1
  125. package/dist/core/i18n/locales/zh-cn/cli.d.ts.map +1 -1
  126. package/dist/core/i18n/locales/zh-cn/cli.js +2 -0
  127. package/dist/core/i18n/locales/zh-cn/cli.js.map +1 -1
  128. package/dist/core/i18n/locales/zh-cn/core-contract-final.d.ts +1 -1
  129. package/dist/core/i18n/locales/zh-cn/core-contract-final.d.ts.map +1 -1
  130. package/dist/core/i18n/locales/zh-cn/core-contract-final.js +3 -3
  131. package/dist/core/i18n/locales/zh-cn/core-contract-final.js.map +1 -1
  132. package/dist/core/i18n/locales/zh-cn/core-contract-plugins.d.ts.map +1 -1
  133. package/dist/core/i18n/locales/zh-cn/core-contract-plugins.js +1 -1
  134. package/dist/core/i18n/locales/zh-cn/core-contract-plugins.js.map +1 -1
  135. package/dist/core/i18n/locales/zh-cn/core-errors.d.ts.map +1 -1
  136. package/dist/core/i18n/locales/zh-cn/core-errors.js +1 -1
  137. package/dist/core/i18n/locales/zh-cn/core-errors.js.map +1 -1
  138. package/dist/core/i18n/locales/zh-cn/index.d.ts.map +1 -1
  139. package/dist/core/i18n/locales/zh-cn/index.js +2 -0
  140. package/dist/core/i18n/locales/zh-cn/index.js.map +1 -1
  141. package/dist/core/i18n/locales/zh-cn/interactive-mode.d.ts.map +1 -1
  142. package/dist/core/i18n/locales/zh-cn/interactive-mode.js +5 -0
  143. package/dist/core/i18n/locales/zh-cn/interactive-mode.js.map +1 -1
  144. package/dist/core/i18n/locales/zh-cn/session-cleanup.d.ts +7 -0
  145. package/dist/core/i18n/locales/zh-cn/session-cleanup.d.ts.map +1 -0
  146. package/dist/core/i18n/locales/zh-cn/session-cleanup.js +15 -0
  147. package/dist/core/i18n/locales/zh-cn/session-cleanup.js.map +1 -0
  148. package/dist/core/i18n/locales/zh-cn/slash-commands.d.ts.map +1 -1
  149. package/dist/core/i18n/locales/zh-cn/slash-commands.js +1 -0
  150. package/dist/core/i18n/locales/zh-cn/slash-commands.js.map +1 -1
  151. package/dist/core/i18n/locales/zh-cn/tui-components-misc.d.ts.map +1 -1
  152. package/dist/core/i18n/locales/zh-cn/tui-components-misc.js +2 -0
  153. package/dist/core/i18n/locales/zh-cn/tui-components-misc.js.map +1 -1
  154. package/dist/core/model-resolver.d.ts +2 -0
  155. package/dist/core/model-resolver.d.ts.map +1 -1
  156. package/dist/core/model-resolver.js +4 -1
  157. package/dist/core/model-resolver.js.map +1 -1
  158. package/dist/core/package-resource-collection.d.ts.map +1 -1
  159. package/dist/core/package-resource-collection.js +5 -5
  160. package/dist/core/package-resource-collection.js.map +1 -1
  161. package/dist/core/provider-composer.d.ts.map +1 -1
  162. package/dist/core/provider-composer.js +3 -3
  163. package/dist/core/provider-composer.js.map +1 -1
  164. package/dist/core/resource-loader.d.ts.map +1 -1
  165. package/dist/core/resource-loader.js +1 -1
  166. package/dist/core/resource-loader.js.map +1 -1
  167. package/dist/core/sdk.d.ts +1 -1
  168. package/dist/core/sdk.d.ts.map +1 -1
  169. package/dist/core/sdk.js +30 -8
  170. package/dist/core/sdk.js.map +1 -1
  171. package/dist/core/session-cleanup.d.ts +49 -0
  172. package/dist/core/session-cleanup.d.ts.map +1 -0
  173. package/dist/core/session-cleanup.js +159 -0
  174. package/dist/core/session-cleanup.js.map +1 -0
  175. package/dist/core/session-index.d.ts +75 -0
  176. package/dist/core/session-index.d.ts.map +1 -0
  177. package/dist/core/session-index.js +455 -0
  178. package/dist/core/session-index.js.map +1 -0
  179. package/dist/core/session-manager.d.ts +9 -0
  180. package/dist/core/session-manager.d.ts.map +1 -1
  181. package/dist/core/session-manager.js +206 -51
  182. package/dist/core/session-manager.js.map +1 -1
  183. package/dist/core/settings-manager.d.ts.map +1 -1
  184. package/dist/core/settings-manager.js +5 -10
  185. package/dist/core/settings-manager.js.map +1 -1
  186. package/dist/core/slash-commands.d.ts.map +1 -1
  187. package/dist/core/slash-commands.js +5 -0
  188. package/dist/core/slash-commands.js.map +1 -1
  189. package/dist/core/system-prompt.d.ts.map +1 -1
  190. package/dist/core/system-prompt.js +12 -1
  191. package/dist/core/system-prompt.js.map +1 -1
  192. package/dist/core/timings.d.ts.map +1 -1
  193. package/dist/core/timings.js +1 -3
  194. package/dist/core/timings.js.map +1 -1
  195. package/dist/core/tools/capability-mount.d.ts +40 -0
  196. package/dist/core/tools/capability-mount.d.ts.map +1 -0
  197. package/dist/core/tools/capability-mount.js +112 -0
  198. package/dist/core/tools/capability-mount.js.map +1 -0
  199. package/dist/core/tools/render-utils.d.ts +1 -1
  200. package/dist/core/tools/render-utils.d.ts.map +1 -1
  201. package/dist/core/tools/render-utils.js.map +1 -1
  202. package/dist/core/tools/tool-definition.d.ts +1 -1
  203. package/dist/core/tools/tool-definition.d.ts.map +1 -1
  204. package/dist/core/tools/tool-definition.js.map +1 -1
  205. package/dist/core/trace-retention.d.ts +16 -1
  206. package/dist/core/trace-retention.d.ts.map +1 -1
  207. package/dist/core/trace-retention.js +43 -20
  208. package/dist/core/trace-retention.js.map +1 -1
  209. package/dist/export-html/ansi-to-html.d.ts.map +1 -0
  210. package/dist/export-html/ansi-to-html.js.map +1 -0
  211. package/dist/{core/export-html → export-html}/index.d.ts +1 -1
  212. package/dist/export-html/index.d.ts.map +1 -0
  213. package/dist/{core/export-html → export-html}/index.js +5 -5
  214. package/dist/export-html/index.js.map +1 -0
  215. package/dist/{core/export-html → export-html}/tool-renderer.d.ts +2 -2
  216. package/dist/export-html/tool-renderer.d.ts.map +1 -0
  217. package/dist/export-html/tool-renderer.js.map +1 -0
  218. package/dist/{modes/interactive → host}/model-catalog-refresh.d.ts +1 -1
  219. package/dist/host/model-catalog-refresh.d.ts.map +1 -0
  220. package/dist/{modes/interactive → host}/model-catalog-refresh.js +1 -1
  221. package/dist/host/model-catalog-refresh.js.map +1 -0
  222. package/dist/index.d.ts +5 -5
  223. package/dist/index.d.ts.map +1 -1
  224. package/dist/index.js +12 -12
  225. package/dist/index.js.map +1 -1
  226. package/dist/main.d.ts.map +1 -1
  227. package/dist/main.js +26 -14
  228. package/dist/main.js.map +1 -1
  229. package/dist/modes/interactive/components/agents-view.d.ts.map +1 -1
  230. package/dist/modes/interactive/components/agents-view.js +1 -1
  231. package/dist/modes/interactive/components/agents-view.js.map +1 -1
  232. package/dist/modes/interactive/components/armin.d.ts.map +1 -1
  233. package/dist/modes/interactive/components/armin.js +1 -1
  234. package/dist/modes/interactive/components/armin.js.map +1 -1
  235. package/dist/modes/interactive/components/assistant-message.d.ts +6 -0
  236. package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -1
  237. package/dist/modes/interactive/components/assistant-message.js +108 -27
  238. package/dist/modes/interactive/components/assistant-message.js.map +1 -1
  239. package/dist/modes/interactive/components/bash-execution.d.ts.map +1 -1
  240. package/dist/modes/interactive/components/bash-execution.js +1 -1
  241. package/dist/modes/interactive/components/bash-execution.js.map +1 -1
  242. package/dist/modes/interactive/components/bordered-loader.d.ts +1 -1
  243. package/dist/modes/interactive/components/bordered-loader.d.ts.map +1 -1
  244. package/dist/modes/interactive/components/bordered-loader.js.map +1 -1
  245. package/dist/modes/interactive/components/branch-summary-message.d.ts.map +1 -1
  246. package/dist/modes/interactive/components/branch-summary-message.js +1 -1
  247. package/dist/modes/interactive/components/branch-summary-message.js.map +1 -1
  248. package/dist/modes/interactive/components/compaction-summary-message.d.ts.map +1 -1
  249. package/dist/modes/interactive/components/compaction-summary-message.js +1 -1
  250. package/dist/modes/interactive/components/compaction-summary-message.js.map +1 -1
  251. package/dist/modes/interactive/components/config-selector.d.ts.map +1 -1
  252. package/dist/modes/interactive/components/config-selector.js +1 -1
  253. package/dist/modes/interactive/components/config-selector.js.map +1 -1
  254. package/dist/modes/interactive/components/custom-entry.d.ts.map +1 -1
  255. package/dist/modes/interactive/components/custom-entry.js +1 -1
  256. package/dist/modes/interactive/components/custom-entry.js.map +1 -1
  257. package/dist/modes/interactive/components/custom-message.d.ts.map +1 -1
  258. package/dist/modes/interactive/components/custom-message.js +1 -1
  259. package/dist/modes/interactive/components/custom-message.js.map +1 -1
  260. package/dist/modes/interactive/components/daxnuts.d.ts.map +1 -1
  261. package/dist/modes/interactive/components/daxnuts.js +1 -1
  262. package/dist/modes/interactive/components/daxnuts.js.map +1 -1
  263. package/dist/modes/interactive/components/dialog-editor.d.ts.map +1 -1
  264. package/dist/modes/interactive/components/dialog-editor.js +1 -1
  265. package/dist/modes/interactive/components/dialog-editor.js.map +1 -1
  266. package/dist/modes/interactive/components/dialog-input.d.ts.map +1 -1
  267. package/dist/modes/interactive/components/dialog-input.js +1 -1
  268. package/dist/modes/interactive/components/dialog-input.js.map +1 -1
  269. package/dist/modes/interactive/components/dialog-selector.d.ts.map +1 -1
  270. package/dist/modes/interactive/components/dialog-selector.js +1 -1
  271. package/dist/modes/interactive/components/dialog-selector.js.map +1 -1
  272. package/dist/modes/interactive/components/diff.d.ts.map +1 -1
  273. package/dist/modes/interactive/components/diff.js +1 -1
  274. package/dist/modes/interactive/components/diff.js.map +1 -1
  275. package/dist/modes/interactive/components/dynamic-border.d.ts.map +1 -1
  276. package/dist/modes/interactive/components/dynamic-border.js +1 -1
  277. package/dist/modes/interactive/components/dynamic-border.js.map +1 -1
  278. package/dist/modes/interactive/components/first-time-setup.d.ts +1 -1
  279. package/dist/modes/interactive/components/first-time-setup.d.ts.map +1 -1
  280. package/dist/modes/interactive/components/first-time-setup.js +1 -1
  281. package/dist/modes/interactive/components/first-time-setup.js.map +1 -1
  282. package/dist/modes/interactive/components/footer.d.ts.map +1 -1
  283. package/dist/modes/interactive/components/footer.js +1 -1
  284. package/dist/modes/interactive/components/footer.js.map +1 -1
  285. package/dist/modes/interactive/components/keybinding-hints.d.ts.map +1 -1
  286. package/dist/modes/interactive/components/keybinding-hints.js +1 -1
  287. package/dist/modes/interactive/components/keybinding-hints.js.map +1 -1
  288. package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -1
  289. package/dist/modes/interactive/components/login-dialog.js +1 -1
  290. package/dist/modes/interactive/components/login-dialog.js.map +1 -1
  291. package/dist/modes/interactive/components/mermaid.d.ts +1 -1
  292. package/dist/modes/interactive/components/mermaid.d.ts.map +1 -1
  293. package/dist/modes/interactive/components/mermaid.js.map +1 -1
  294. package/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
  295. package/dist/modes/interactive/components/model-selector.js +2 -2
  296. package/dist/modes/interactive/components/model-selector.js.map +1 -1
  297. package/dist/modes/interactive/components/oauth-selector.d.ts.map +1 -1
  298. package/dist/modes/interactive/components/oauth-selector.js +1 -1
  299. package/dist/modes/interactive/components/oauth-selector.js.map +1 -1
  300. package/dist/modes/interactive/components/plugin-manager-entry.d.ts.map +1 -1
  301. package/dist/modes/interactive/components/plugin-manager-entry.js +1 -1
  302. package/dist/modes/interactive/components/plugin-manager-entry.js.map +1 -1
  303. package/dist/modes/interactive/components/plugin-selection-entry.d.ts.map +1 -1
  304. package/dist/modes/interactive/components/plugin-selection-entry.js +1 -1
  305. package/dist/modes/interactive/components/plugin-selection-entry.js.map +1 -1
  306. package/dist/modes/interactive/components/queue-manager-selector.d.ts.map +1 -1
  307. package/dist/modes/interactive/components/queue-manager-selector.js +1 -1
  308. package/dist/modes/interactive/components/queue-manager-selector.js.map +1 -1
  309. package/dist/modes/interactive/components/render-types.d.ts +1 -1
  310. package/dist/modes/interactive/components/render-types.d.ts.map +1 -1
  311. package/dist/modes/interactive/components/render-types.js.map +1 -1
  312. package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -1
  313. package/dist/modes/interactive/components/scoped-models-selector.js +1 -1
  314. package/dist/modes/interactive/components/scoped-models-selector.js.map +1 -1
  315. package/dist/modes/interactive/components/session-selector-search.d.ts.map +1 -1
  316. package/dist/modes/interactive/components/session-selector-search.js +5 -1
  317. package/dist/modes/interactive/components/session-selector-search.js.map +1 -1
  318. package/dist/modes/interactive/components/session-selector.d.ts.map +1 -1
  319. package/dist/modes/interactive/components/session-selector.js +11 -2
  320. package/dist/modes/interactive/components/session-selector.js.map +1 -1
  321. package/dist/modes/interactive/components/settings-selector.d.ts +1 -1
  322. package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
  323. package/dist/modes/interactive/components/settings-selector.js +1 -1
  324. package/dist/modes/interactive/components/settings-selector.js.map +1 -1
  325. package/dist/modes/interactive/components/settings-submenu.d.ts.map +1 -1
  326. package/dist/modes/interactive/components/settings-submenu.js +1 -1
  327. package/dist/modes/interactive/components/settings-submenu.js.map +1 -1
  328. package/dist/modes/interactive/components/show-images-selector.d.ts.map +1 -1
  329. package/dist/modes/interactive/components/show-images-selector.js +1 -1
  330. package/dist/modes/interactive/components/show-images-selector.js.map +1 -1
  331. package/dist/modes/interactive/components/skill-invocation-message.d.ts.map +1 -1
  332. package/dist/modes/interactive/components/skill-invocation-message.js +1 -1
  333. package/dist/modes/interactive/components/skill-invocation-message.js.map +1 -1
  334. package/dist/modes/interactive/components/status-indicator.d.ts.map +1 -1
  335. package/dist/modes/interactive/components/status-indicator.js +1 -1
  336. package/dist/modes/interactive/components/status-indicator.js.map +1 -1
  337. package/dist/modes/interactive/components/theme-selector.d.ts.map +1 -1
  338. package/dist/modes/interactive/components/theme-selector.js +1 -1
  339. package/dist/modes/interactive/components/theme-selector.js.map +1 -1
  340. package/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -1
  341. package/dist/modes/interactive/components/thinking-selector.js +1 -1
  342. package/dist/modes/interactive/components/thinking-selector.js.map +1 -1
  343. package/dist/modes/interactive/components/tool-execution.d.ts +19 -0
  344. package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
  345. package/dist/modes/interactive/components/tool-execution.js +139 -4
  346. package/dist/modes/interactive/components/tool-execution.js.map +1 -1
  347. package/dist/modes/interactive/components/tool-run-group.d.ts +44 -0
  348. package/dist/modes/interactive/components/tool-run-group.d.ts.map +1 -0
  349. package/dist/modes/interactive/components/tool-run-group.js +121 -0
  350. package/dist/modes/interactive/components/tool-run-group.js.map +1 -0
  351. package/dist/modes/interactive/components/tree-list.d.ts.map +1 -1
  352. package/dist/modes/interactive/components/tree-list.js +1 -1
  353. package/dist/modes/interactive/components/tree-list.js.map +1 -1
  354. package/dist/modes/interactive/components/tree-render.d.ts.map +1 -1
  355. package/dist/modes/interactive/components/tree-render.js +1 -1
  356. package/dist/modes/interactive/components/tree-render.js.map +1 -1
  357. package/dist/modes/interactive/components/tree-selector.d.ts.map +1 -1
  358. package/dist/modes/interactive/components/tree-selector.js +1 -1
  359. package/dist/modes/interactive/components/tree-selector.js.map +1 -1
  360. package/dist/modes/interactive/components/user-message-selector.d.ts.map +1 -1
  361. package/dist/modes/interactive/components/user-message-selector.js +1 -1
  362. package/dist/modes/interactive/components/user-message-selector.js.map +1 -1
  363. package/dist/modes/interactive/components/user-message.d.ts.map +1 -1
  364. package/dist/modes/interactive/components/user-message.js +1 -1
  365. package/dist/modes/interactive/components/user-message.js.map +1 -1
  366. package/dist/modes/interactive/components/workflow-view.d.ts.map +1 -1
  367. package/dist/modes/interactive/components/workflow-view.js +1 -1
  368. package/dist/modes/interactive/components/workflow-view.js.map +1 -1
  369. package/dist/modes/interactive/interactive-auth.d.ts +1 -1
  370. package/dist/modes/interactive/interactive-auth.d.ts.map +1 -1
  371. package/dist/modes/interactive/interactive-auth.js +1 -1
  372. package/dist/modes/interactive/interactive-auth.js.map +1 -1
  373. package/dist/modes/interactive/interactive-commands.d.ts +125 -6
  374. package/dist/modes/interactive/interactive-commands.d.ts.map +1 -1
  375. package/dist/modes/interactive/interactive-commands.js +698 -4
  376. package/dist/modes/interactive/interactive-commands.js.map +1 -1
  377. package/dist/modes/interactive/interactive-events.d.ts +174 -0
  378. package/dist/modes/interactive/interactive-events.d.ts.map +1 -0
  379. package/dist/modes/interactive/interactive-events.js +704 -0
  380. package/dist/modes/interactive/interactive-events.js.map +1 -0
  381. package/dist/modes/interactive/interactive-format.d.ts.map +1 -1
  382. package/dist/modes/interactive/interactive-format.js +1 -1
  383. package/dist/modes/interactive/interactive-format.js.map +1 -1
  384. package/dist/modes/interactive/interactive-lifecycle.d.ts +94 -0
  385. package/dist/modes/interactive/interactive-lifecycle.d.ts.map +1 -0
  386. package/dist/modes/interactive/interactive-lifecycle.js +177 -0
  387. package/dist/modes/interactive/interactive-lifecycle.js.map +1 -0
  388. package/dist/modes/interactive/interactive-mode.d.ts +254 -129
  389. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  390. package/dist/modes/interactive/interactive-mode.js +275 -2101
  391. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  392. package/dist/modes/interactive/interactive-queues.d.ts +96 -0
  393. package/dist/modes/interactive/interactive-queues.d.ts.map +1 -0
  394. package/dist/modes/interactive/interactive-queues.js +183 -0
  395. package/dist/modes/interactive/interactive-queues.js.map +1 -0
  396. package/dist/modes/interactive/interactive-selectors.d.ts +95 -5
  397. package/dist/modes/interactive/interactive-selectors.d.ts.map +1 -1
  398. package/dist/modes/interactive/interactive-selectors.js +517 -6
  399. package/dist/modes/interactive/interactive-selectors.js.map +1 -1
  400. package/dist/modes/interactive/startup-services.d.ts +31 -0
  401. package/dist/modes/interactive/startup-services.d.ts.map +1 -0
  402. package/dist/modes/interactive/startup-services.js +123 -0
  403. package/dist/modes/interactive/startup-services.js.map +1 -0
  404. package/dist/modes/memory-preheat.d.ts +11 -0
  405. package/dist/modes/memory-preheat.d.ts.map +1 -0
  406. package/dist/modes/memory-preheat.js +20 -0
  407. package/dist/modes/memory-preheat.js.map +1 -0
  408. package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
  409. package/dist/modes/rpc/rpc-mode.js +3 -1
  410. package/dist/modes/rpc/rpc-mode.js.map +1 -1
  411. package/dist/plugins/ecosystem/cli.d.ts.map +1 -1
  412. package/dist/plugins/ecosystem/cli.js +6 -3
  413. package/dist/plugins/ecosystem/cli.js.map +1 -1
  414. package/dist/plugins/ecosystem/node-plugin-bootstrap.d.ts +7 -1
  415. package/dist/plugins/ecosystem/node-plugin-bootstrap.d.ts.map +1 -1
  416. package/dist/plugins/ecosystem/node-plugin-bootstrap.js +50 -3
  417. package/dist/plugins/ecosystem/node-plugin-bootstrap.js.map +1 -1
  418. package/dist/plugins/ecosystem/plugin-bootstrap.d.ts +28 -16
  419. package/dist/plugins/ecosystem/plugin-bootstrap.d.ts.map +1 -1
  420. package/dist/plugins/ecosystem/plugin-bootstrap.js +35 -33
  421. package/dist/plugins/ecosystem/plugin-bootstrap.js.map +1 -1
  422. package/dist/profile/plugin-profiles.d.ts +1 -1
  423. package/dist/profile/plugin-profiles.d.ts.map +1 -1
  424. package/dist/profile/plugin-profiles.js +18 -0
  425. package/dist/profile/plugin-profiles.js.map +1 -1
  426. package/dist/remote/server-assembly.d.ts.map +1 -1
  427. package/dist/remote/server-assembly.js +7 -2
  428. package/dist/remote/server-assembly.js.map +1 -1
  429. package/dist/{profiles → suites}/builtin-suites.d.ts +14 -4
  430. package/dist/suites/builtin-suites.d.ts.map +1 -0
  431. package/dist/{profiles → suites}/builtin-suites.js +20 -5
  432. package/dist/suites/builtin-suites.js.map +1 -0
  433. package/dist/suites/resolved-agent-profile.d.ts.map +1 -0
  434. package/dist/suites/resolved-agent-profile.js.map +1 -0
  435. package/dist/suites/suite-lifecycle.d.ts.map +1 -0
  436. package/dist/suites/suite-lifecycle.js.map +1 -0
  437. package/dist/suites/suite-loader.d.ts.map +1 -0
  438. package/dist/suites/suite-loader.js.map +1 -0
  439. package/dist/{modes/interactive/theme → theme}/dark.json +1 -1
  440. package/dist/{modes/interactive/theme → theme}/light.json +1 -1
  441. package/dist/{modes/interactive/theme → theme}/theme-controller.d.ts +1 -1
  442. package/dist/theme/theme-controller.d.ts.map +1 -0
  443. package/dist/{modes/interactive/theme → theme}/theme-controller.js +1 -1
  444. package/dist/theme/theme-controller.js.map +1 -0
  445. package/dist/{modes/interactive/theme → theme}/theme.d.ts +1 -1
  446. package/dist/theme/theme.d.ts.map +1 -0
  447. package/dist/{modes/interactive/theme → theme}/theme.js +5 -5
  448. package/dist/theme/theme.js.map +1 -0
  449. package/docs/compaction.md +7 -7
  450. package/docs/environment-variables.md +10 -4
  451. package/docs/keybindings.md +3 -3
  452. package/docs/models.md +17 -17
  453. package/docs/packages.md +1 -1
  454. package/docs/prompt-templates.md +1 -1
  455. package/docs/rpc.md +2 -2
  456. package/docs/sdk.md +5 -5
  457. package/docs/session-format.md +3 -3
  458. package/docs/settings.md +368 -354
  459. package/docs/shell-aliases.md +1 -1
  460. package/docs/skills.md +1 -1
  461. package/docs/terminal-setup.md +17 -17
  462. package/docs/themes.md +5 -5
  463. package/docs/tmux.md +4 -4
  464. package/docs/tui.md +1 -1
  465. package/docs/windows.md +1 -1
  466. package/examples/extensions/bash-spawn-hook/index.ts +1 -1
  467. package/examples/extensions/dynamic-resources/dynamic.json +1 -1
  468. package/examples/extensions/with-deps/package-lock.json +2 -2
  469. package/examples/extensions/with-deps/package.json +1 -6
  470. package/examples/extensions/with-deps/plugin.json +1 -1
  471. package/package.json +2 -2
  472. package/dist/bundle/chunks/openai-responses-AUJQ3NWT.js +0 -2
  473. package/dist/bundle/chunks/virtual-modules-WF6WRHP7.js +0 -5
  474. package/dist/cli/experimental/commands/pi.d.ts +0 -15
  475. package/dist/cli/experimental/commands/pi.d.ts.map +0 -1
  476. package/dist/cli/experimental/commands/pi.js.map +0 -1
  477. package/dist/core/export-html/ansi-to-html.d.ts.map +0 -1
  478. package/dist/core/export-html/ansi-to-html.js.map +0 -1
  479. package/dist/core/export-html/index.d.ts.map +0 -1
  480. package/dist/core/export-html/index.js.map +0 -1
  481. package/dist/core/export-html/tool-renderer.d.ts.map +0 -1
  482. package/dist/core/export-html/tool-renderer.js.map +0 -1
  483. package/dist/core/pi-manifest.d.ts +0 -7
  484. package/dist/core/pi-manifest.d.ts.map +0 -1
  485. package/dist/core/pi-manifest.js.map +0 -1
  486. package/dist/modes/interactive/model-catalog-refresh.d.ts.map +0 -1
  487. package/dist/modes/interactive/model-catalog-refresh.js.map +0 -1
  488. package/dist/modes/interactive/theme/theme-controller.d.ts.map +0 -1
  489. package/dist/modes/interactive/theme/theme-controller.js.map +0 -1
  490. package/dist/modes/interactive/theme/theme.d.ts.map +0 -1
  491. package/dist/modes/interactive/theme/theme.js.map +0 -1
  492. package/dist/profiles/builtin-suites.d.ts.map +0 -1
  493. package/dist/profiles/builtin-suites.js.map +0 -1
  494. package/dist/profiles/resolved-agent-profile.d.ts.map +0 -1
  495. package/dist/profiles/resolved-agent-profile.js.map +0 -1
  496. package/dist/profiles/suite-lifecycle.d.ts.map +0 -1
  497. package/dist/profiles/suite-lifecycle.js.map +0 -1
  498. package/dist/profiles/suite-loader.d.ts.map +0 -1
  499. package/dist/profiles/suite-loader.js.map +0 -1
  500. package/dist/utils/deprecation.d.ts +0 -4
  501. package/dist/utils/deprecation.d.ts.map +0 -1
  502. package/dist/utils/deprecation.js +0 -13
  503. package/dist/utils/deprecation.js.map +0 -1
  504. /package/dist/{core/export-html → export-html}/ansi-to-html.d.ts +0 -0
  505. /package/dist/{core/export-html → export-html}/ansi-to-html.js +0 -0
  506. /package/dist/{core/export-html → export-html}/template.css +0 -0
  507. /package/dist/{core/export-html → export-html}/template.html +0 -0
  508. /package/dist/{core/export-html → export-html}/template.js +0 -0
  509. /package/dist/{core/export-html → export-html}/tool-renderer.js +0 -0
  510. /package/dist/{core/export-html → export-html}/vendor/highlight.min.js +0 -0
  511. /package/dist/{core/export-html → export-html}/vendor/marked.min.js +0 -0
  512. /package/dist/{profiles → suites}/resolved-agent-profile.d.ts +0 -0
  513. /package/dist/{profiles → suites}/resolved-agent-profile.js +0 -0
  514. /package/dist/{profiles → suites}/suite-lifecycle.d.ts +0 -0
  515. /package/dist/{profiles → suites}/suite-lifecycle.js +0 -0
  516. /package/dist/{profiles → suites}/suite-loader.d.ts +0 -0
  517. /package/dist/{profiles → suites}/suite-loader.js +0 -0
  518. /package/dist/{modes/interactive/theme → theme}/theme-schema.json +0 -0
@@ -2,23 +2,31 @@
2
2
  * Interactive mode for the coding agent.
3
3
  * Handles TUI rendering and user interaction, delegating business logic to AgentSession.
4
4
  */
5
- import type { ThinkingLevel } from "@agent-forge/agent-core";
5
+ import type { AgentMessage, ThinkingLevel } from "@agent-forge/agent-core";
6
6
  import { type AuthEvent, type AuthPrompt } from "@agent-forge/ai";
7
- import type { Api, ImageContent, Model } from "@agent-forge/ai/compat";
8
- import type { AutocompleteProvider, EditorComponent, Terminal, WheelScrollLines } from "@agent-forge/tui";
7
+ import type { Api, AssistantMessage, ImageContent, Message, Model } from "@agent-forge/ai/compat";
8
+ import type { AutocompleteProvider, EditorComponent, MarkdownTheme, Terminal, WheelScrollLines } from "@agent-forge/tui";
9
9
  import { type Component, Container, type TUI, TuiAltScreen, TuiMainScreen } from "@agent-forge/tui";
10
- import { type AgentSessionRuntime } from "../../core/agent-session-runtime.ts";
10
+ import type { AgentSession, AgentSessionEvent } from "../../core/agent-session.ts";
11
+ import type { AgentSessionRuntime } from "../../core/agent-session-runtime.ts";
11
12
  import type { AgentSessionRuntimeDiagnostic } from "../../core/agent-session-services.ts";
13
+ import type { CacheMiss } from "../../core/cache-stats.ts";
12
14
  import type { InteractionDialogOptions, InteractionHostV1 } from "../../core/extensions/index.ts";
13
15
  import type { ModelAuthRuntime } from "../../core/facade/coding-agent-facade.ts";
14
16
  import { type CodingAgentFacadeV1, type CodingAgentRuntimeFacadeV1 } from "../../core/facade/index.ts";
15
17
  import { FooterDataProvider } from "../../core/footer-data-provider.ts";
16
- import { KeybindingsManager } from "../../core/keybindings.ts";
17
- import type { ThemeMetaV1 } from "../../core/resource-loader.ts";
18
+ import { type AppKeybinding, KeybindingsManager } from "../../core/keybindings.ts";
19
+ import { type MissingSessionCwdError } from "../../core/session-cwd.ts";
20
+ import type { SessionEntry } from "../../core/session-manager.ts";
18
21
  import type { FullscreenExitOutput, SettingsManager, TuiMode } from "../../core/settings-manager.ts";
19
22
  import type { SourceInfo } from "../../core/source-info.ts";
23
+ import type { ModelCatalogRuntime } from "../../host/model-catalog-refresh.ts";
20
24
  import type { MetricsSnapshotV1, ObservabilityMetricsOptions } from "../../plugins/observability-types.ts";
21
- import { type LatestRelease } from "../../utils/version-check.ts";
25
+ import { Theme } from "../../theme/theme.ts";
26
+ import { InteractiveThemeController } from "../../theme/theme-controller.ts";
27
+ import type { LatestRelease } from "../../utils/version-check.ts";
28
+ import { AssistantMessageComponent } from "./components/assistant-message.ts";
29
+ import type { BashExecutionComponent } from "./components/bash-execution.ts";
22
30
  import { CustomEditor } from "./components/custom-editor.ts";
23
31
  import type { DialogEditorComponent } from "./components/dialog-editor.ts";
24
32
  import type { DialogInputComponent } from "./components/dialog-input.ts";
@@ -26,35 +34,26 @@ import type { DialogSelectorComponent } from "./components/dialog-selector.ts";
26
34
  import { FooterComponent } from "./components/footer.ts";
27
35
  import type { LoginDialogComponent } from "./components/login-dialog.ts";
28
36
  import type { AuthSelectorProvider } from "./components/oauth-selector.ts";
29
- import { type WorkingIndicatorOptions } from "./components/status-indicator.ts";
37
+ import type { MarkdownTransformer } from "./components/render-types.ts";
38
+ import { type StatusIndicator, type WorkingIndicatorOptions } from "./components/status-indicator.ts";
39
+ import type { ToolExecutionComponent } from "./components/tool-execution.ts";
40
+ import type { ToolRunGroupComponent } from "./components/tool-run-group.ts";
30
41
  import * as authFlow from "./interactive-auth.ts";
42
+ import { type CommandHandlersHost } from "./interactive-commands.ts";
31
43
  import { type DialogUiHost } from "./interactive-dialog-ui.ts";
44
+ import * as eventsFlow from "./interactive-events.ts";
45
+ import * as lifecycleFlow from "./interactive-lifecycle.ts";
46
+ import * as queuesFlow from "./interactive-queues.ts";
32
47
  import * as selectorsFlow from "./interactive-selectors.ts";
33
- import { type ModelCatalogRuntime } from "./model-catalog-refresh.ts";
34
- import { Theme } from "./theme/theme.ts";
48
+ import { type StartupBackgroundCheckHost } from "./startup-services.ts";
49
+ export { buildRegisteredThemes } from "./interactive-commands.ts";
35
50
  export { mapLegacyDialogResultToOutcome } from "./interactive-dialog-ui.ts";
36
- /**
37
- * Rebuilds real Theme instances from the resource loader's ThemeMetaV1
38
- * projection for the theme registry (B-S2b v1). Registration points
39
- * (constructor, runtime session start, reload) need loadable instances —
40
- * setRegisteredThemes stores what it is given and getThemeByName returns the
41
- * registered instance first — while the loader surface now projects only
42
- * metadata. Re-loading is synchronous and deterministic per sourcePath;
43
- * theme names come from the same JSON the loader parsed, so meta.name ===
44
- * Theme.name and the registry keeps its own name-filter/dedupe semantics.
45
- *
46
- * Contract: a meta without a sourcePath (or one whose file no longer parses)
47
- * throws — themesOverride host inputs must always carry a loadable
48
- * sourcePath. This adds one extra parse per theme at registration time
49
- * (constructor / session start / reload, not per turn).
50
- */
51
- export declare function buildRegisteredThemes(themes: readonly ThemeMetaV1[]): Theme[];
52
51
  /**
53
52
  * Session read view consumed by formatResumeCommand: the subset of
54
53
  * session-manager reads the command needs. Satisfied by the runtime facade
55
54
  * (structural) and by real SessionManager instances.
56
55
  */
57
- interface ResumeCommandSessionReads {
56
+ export interface ResumeCommandSessionReads {
58
57
  isPersisted(): boolean;
59
58
  getSessionFile(): string | undefined;
60
59
  usesDefaultSessionDir(): boolean;
@@ -143,9 +142,10 @@ export declare class ProviderFailoverTicker {
143
142
  refresh(): void;
144
143
  dispose(): void;
145
144
  }
146
- export declare class InteractiveMode implements DialogUiHost, authFlow.AuthUiHost, selectorsFlow.SelectorsHost {
145
+ export declare class InteractiveMode implements DialogUiHost, authFlow.AuthUiHost, selectorsFlow.SelectorsHost, StartupBackgroundCheckHost, CommandHandlersHost, queuesFlow.QueuesHost, lifecycleFlow.LifecycleHost, eventsFlow.EventsHost {
147
146
  private runtimeHost;
148
- private renderer;
147
+ /** Host-visible for ./interactive-selectors.ts (拆分 slice 2). */
148
+ renderer: TuiMainScreen | TuiAltScreen;
149
149
  /** Host-visible for ./interactive-dialog-ui.ts (S5 slice 2). */
150
150
  ui: TUI;
151
151
  private mainScreenRenderState;
@@ -155,8 +155,10 @@ export declare class InteractiveMode implements DialogUiHost, authFlow.AuthUiHos
155
155
  private documentContainer;
156
156
  private transcriptScrollView;
157
157
  private fullscreenLayoutRoot;
158
- private pendingMessagesContainer;
159
- private statusContainer;
158
+ /** Host-visible for ./interactive-commands.ts (拆分 slice 1). */
159
+ pendingMessagesContainer: Container;
160
+ /** Host-visible for ./interactive-selectors.ts (拆分 slice 2). */
161
+ statusContainer: Container;
160
162
  /** Host-visible for ./interactive-dialog-ui.ts (S5 slice 2). */
161
163
  defaultEditor: CustomEditor;
162
164
  /** Host-visible for ./interactive-dialog-ui.ts (S5 slice 2). */
@@ -176,8 +178,10 @@ export declare class InteractiveMode implements DialogUiHost, authFlow.AuthUiHos
176
178
  * Re-renders the footer once per second while the provider failover breaker is
177
179
  * open (§4.7 Phase 3). Optional-typed to match the prototype-based test stubs
178
180
  * (constructor always assigns it on real instances).
181
+ *
182
+ * Host-visible for ./interactive-events.ts (拆分 slice 5): per-event refresh.
179
183
  */
180
- private failoverTicker;
184
+ failoverTicker: ProviderFailoverTicker | undefined;
181
185
  /** Host-visible for ./interactive-dialog-ui.ts (S5 slice 2). */
182
186
  footerContainer: Container;
183
187
  /** Host-visible for ./interactive-dialog-ui.ts (S5 slice 2). */
@@ -185,18 +189,23 @@ export declare class InteractiveMode implements DialogUiHost, authFlow.AuthUiHos
185
189
  /** Host-visible for ./interactive-dialog-ui.ts (S5 slice 2). */
186
190
  keybindings: KeybindingsManager;
187
191
  private version;
188
- private isInitialized;
192
+ /** Host-visible for ./interactive-events.ts (拆分 slice 5). */
193
+ isInitialized: boolean;
189
194
  private onInputCallback?;
190
195
  private pendingUserInputs;
191
- private activeStatusIndicator;
196
+ /** Host-visible for ./interactive-selectors.ts (拆分 slice 2). */
197
+ activeStatusIndicator: StatusIndicator | undefined;
192
198
  private readonly idleStatus;
193
199
  private workingMessage;
194
- private workingVisible;
200
+ /** Host-visible for ./interactive-events.ts (拆分 slice 5). */
201
+ workingVisible: boolean;
195
202
  private workingIndicatorOptions;
196
203
  private readonly defaultWorkingMessage;
197
204
  private readonly defaultHiddenThinkingLabel;
198
- private hiddenThinkingLabel;
199
- private lastSigintTime;
205
+ /** Host-visible for ./interactive-events.ts (拆分 slice 5). */
206
+ hiddenThinkingLabel: string;
207
+ /** Host-visible for ./interactive-lifecycle.ts (拆分 slice 4): double-Ctrl+C exit window. */
208
+ lastSigintTime: number;
200
209
  private lastEscapeTime;
201
210
  private changelogMarkdown;
202
211
  private startupNoticesShown;
@@ -204,23 +213,41 @@ export declare class InteractiveMode implements DialogUiHost, authFlow.AuthUiHos
204
213
  private lastStatusSpacer;
205
214
  private lastStatusText;
206
215
  private managedToolStatusStarted;
207
- private streamingComponent;
208
- private streamingMessage;
209
- private pendingTools;
216
+ /** Host-visible for ./interactive-selectors.ts (拆分 slice 2). */
217
+ streamingComponent: AssistantMessageComponent | undefined;
218
+ /** Host-visible for ./interactive-events.ts (拆分 slice 5). */
219
+ streamingMessage: AssistantMessage | undefined;
220
+ /** Host-visible for ./interactive-events.ts (拆分 slice 5). */
221
+ pendingTools: Map<string, ToolExecutionComponent>;
222
+ /** Host-visible for ./interactive-events.ts (拆分 slice 5). */
223
+ activeToolRunGroup: ToolRunGroupComponent | undefined;
210
224
  /** Host-visible for ./interactive-dialog-ui.ts (S5 slice 2). */
211
225
  toolOutputExpanded: boolean;
212
- private hideThinkingBlock;
213
- private outputPad;
214
- private readonly mermaidMarkdownTransformer;
215
- private unsubscribe?;
216
- private signalCleanupHandlers;
226
+ /** Host-visible for ./interactive-commands.ts (拆分 slice 1). */
227
+ hideThinkingBlock: boolean;
228
+ /** Host-visible for ./interactive-commands.ts (拆分 slice 1). */
229
+ outputPad: number;
230
+ /** Host-visible for ./interactive-events.ts (拆分 slice 5). */
231
+ readonly mermaidMarkdownTransformer: MarkdownTransformer;
232
+ /** Host-visible for ./interactive-events.ts (拆分 slice 5). */
233
+ unsubscribe?: () => void;
234
+ /** Host-visible for ./interactive-lifecycle.ts (拆分 slice 4). */
235
+ signalCleanupHandlers: Array<() => void>;
217
236
  private isBashMode;
218
- private bashComponent;
219
- private pendingBashComponents;
220
- private autoCompactionEscapeHandler?;
221
- private retryEscapeHandler?;
222
- private compactionQueuedMessages;
223
- private shutdownRequested;
237
+ /** Host-visible for ./interactive-commands.ts (拆分 slice 1). */
238
+ bashComponent: BashExecutionComponent | undefined;
239
+ /** Host-visible for ./interactive-commands.ts (拆分 slice 1). */
240
+ pendingBashComponents: BashExecutionComponent[];
241
+ /** Host-visible for ./interactive-events.ts (拆分 slice 5). */
242
+ autoCompactionEscapeHandler?: () => void;
243
+ /** Host-visible for ./interactive-events.ts (拆分 slice 5). */
244
+ retryEscapeHandler?: () => void;
245
+ /** Host-visible for ./interactive-queues.ts (拆分 slice 3). */
246
+ compactionQueuedMessages: queuesFlow.CompactionQueuedMessage[];
247
+ /** Host-visible for ./interactive-lifecycle.ts (拆分 slice 4). */
248
+ shutdownRequested: boolean;
249
+ /** Host-visible for ./interactive-lifecycle.ts (拆分 slice 4): reentrancy guard. */
250
+ isShuttingDown: boolean;
224
251
  dialogSelector: DialogSelectorComponent | undefined;
225
252
  dialogInput: DialogInputComponent | undefined;
226
253
  dialogSelectorReplaced: (() => void) | undefined;
@@ -230,10 +257,13 @@ export declare class InteractiveMode implements DialogUiHost, authFlow.AuthUiHos
230
257
  widgetContainerBelow: Container;
231
258
  headerContainer: Container;
232
259
  builtInHeader: Component | undefined;
233
- private options;
260
+ /** Host-visible for ./interactive-commands.ts (拆分 slice 1). */
261
+ options: InteractiveModeOptions;
234
262
  private readonly onRightClickPaste;
235
- private themeController;
236
- private get session();
263
+ /** Host-visible for ./interactive-commands.ts (拆分 slice 1). */
264
+ themeController: InteractiveThemeController;
265
+ /** Host-visible for ./interactive-selectors.ts (拆分 slice 2): only the curated AgentSessionHostSurface (setTransport) is consumed there. */
266
+ get session(): AgentSession;
237
267
  /**
238
268
  * Constructor-injected settings (D-047): the TUI reads settings from the
239
269
  * host-provided manager, never from AgentSession. Internal collaboration
@@ -252,26 +282,32 @@ export declare class InteractiveMode implements DialogUiHost, authFlow.AuthUiHos
252
282
  private showStartupNoticesIfNeeded;
253
283
  private mountInteractiveTui;
254
284
  private stopInteractiveTui;
255
- private switchTuiMode;
285
+ /** Host-visible for ./interactive-selectors.ts (拆分 slice 2). */
286
+ switchTuiMode(mode: TuiMode, restoreProgress?: boolean, startRenderer?: boolean): boolean;
256
287
  init(): Promise<void>;
257
288
  /**
258
289
  * Update terminal title with session name and cwd.
259
290
  */
260
- private updateTerminalTitle;
291
+ updateTerminalTitle(): void;
292
+ /** Host-visible for ./startup-services.ts. */
293
+ getVersion(): string;
294
+ /** Narrow cwd projection for startup background checks (D-048). */
295
+ getCwd(): string;
296
+ /** Live initialization read for late-arriving background checks. */
297
+ hasInitialized(): boolean;
261
298
  /**
262
299
  * Run the interactive mode. This is the main entry point.
263
300
  * Initializes the UI, shows warnings, processes initial messages, and starts the interactive loop.
264
301
  */
265
302
  run(): Promise<void>;
266
303
  private promptWithEmptyReplyRetry;
267
- private checkForPackageUpdates;
268
- private checkTmuxKeyboardSetup;
269
304
  /**
270
305
  * Get changelog entries to display on startup.
271
306
  * Only shows new entries since last seen version, skips for resumed sessions.
272
307
  */
273
308
  private getChangelogForDisplay;
274
- private getMarkdownThemeWithSettings;
309
+ /** Host-visible for ./interactive-commands.ts (拆分 slice 1). */
310
+ getMarkdownThemeWithSettings(): MarkdownTheme;
275
311
  private formatDisplayPath;
276
312
  private formatContextPath;
277
313
  private getStartupExpansionState;
@@ -293,21 +329,34 @@ export declare class InteractiveMode implements DialogUiHost, authFlow.AuthUiHos
293
329
  findSourceInfoForPath(p: string, sourceInfos: Map<string, SourceInfo>): SourceInfo | undefined;
294
330
  formatPathWithSource(p: string, sourceInfo?: SourceInfo): string;
295
331
  private formatDiagnostics;
296
- private showLoadedResources;
332
+ /** Host-visible for ./interactive-commands.ts (拆分 slice 1). */
333
+ showLoadedResources(options?: {
334
+ force?: boolean;
335
+ showDiagnosticsWhenQuiet?: boolean;
336
+ }): void;
297
337
  private bindCurrentSessionExtensions;
298
- private applyFullscreenScrollbarSetting;
299
- private applyRuntimeSettings;
338
+ /** Host-visible for ./interactive-selectors.ts (拆分 slice 2). */
339
+ applyFullscreenScrollbarSetting(): void;
340
+ /** Host-visible for ./interactive-commands.ts (拆分 slice 1). */
341
+ applyRuntimeSettings(): void;
300
342
  private rebindCurrentSession;
301
- private handleFatalRuntimeError;
343
+ /** Host-visible for ./interactive-commands.ts (拆分 slice 1). */
344
+ handleFatalRuntimeError(prefix: string, error: unknown): Promise<never>;
302
345
  private renderCurrentSessionState;
303
346
  /**
304
347
  * Get a registered tool definition by name (for custom rendering).
305
- */
306
- private getRegisteredToolDefinition;
307
- private getMarkdownTransformers;
308
- private showStatusIndicator;
309
- private clearStatusIndicator;
310
- private showWorkingStatusIndicator;
348
+ *
349
+ * Host-visible for ./interactive-events.ts (拆分 slice 5).
350
+ */
351
+ getRegisteredToolDefinition(toolName: string): import("../../core/tools/tool-definition.ts").ToolDefinition<import("@agent-forge/ai").TSchema, unknown, unknown> | undefined;
352
+ /** Host-visible for ./interactive-events.ts (拆分 slice 5). */
353
+ getMarkdownTransformers(): MarkdownTransformer[];
354
+ /** Host-visible for ./interactive-selectors.ts (拆分 slice 2). */
355
+ showStatusIndicator(indicator: StatusIndicator): void;
356
+ /** Host-visible for ./interactive-commands.ts (拆分 slice 1). */
357
+ clearStatusIndicator(kind?: StatusIndicator["kind"]): void;
358
+ /** Host-visible for ./interactive-events.ts (拆分 slice 5): turn_start working indicator. */
359
+ showWorkingStatusIndicator(): void;
311
360
  setWorkingVisible(visible: boolean): void;
312
361
  setWorkingIndicator(options?: WorkingIndicatorOptions): void;
313
362
  setHiddenThinkingLabel(label?: string): void;
@@ -316,7 +365,8 @@ export declare class InteractiveMode implements DialogUiHost, authFlow.AuthUiHos
316
365
  * through ./interactive-dialog-ui.ts; restores the default when undefined.
317
366
  */
318
367
  setWorkingMessage(message: string | undefined): void;
319
- private resetDialogUI;
368
+ /** Host-visible for ./interactive-commands.ts (拆分 slice 1). */
369
+ resetDialogUI(): void;
320
370
  /**
321
371
  * Apply a theme request from the extension UI host (implemented by
322
372
  * ./interactive-dialog-ui.ts), keeping the theme controller and settings
@@ -344,7 +394,8 @@ export declare class InteractiveMode implements DialogUiHost, authFlow.AuthUiHos
344
394
  * Show a confirmation dialog for extensions.
345
395
  */
346
396
  showDialogConfirm(title: string, message: string, opts?: InteractionDialogOptions): Promise<boolean>;
347
- private promptForMissingSessionCwd;
397
+ /** Host-visible for ./interactive-commands.ts (拆分 slice 1). */
398
+ promptForMissingSessionCwd(error: MissingSessionCwdError): Promise<string | undefined>;
348
399
  /**
349
400
  * Show a text input for extensions.
350
401
  */
@@ -384,10 +435,12 @@ export declare class InteractiveMode implements DialogUiHost, authFlow.AuthUiHos
384
435
  */
385
436
  private dispatchEditorCommand;
386
437
  setEditorText(text: string): void;
438
+ /** Session subscription; implementation in ./interactive-events.ts (拆分 slice 5). */
387
439
  private subscribeToAgent;
388
- private handleEvent;
389
- /** Extract text content from a user message */
390
- private getUserMessageText;
440
+ /** Host-visible for ./interactive-events.ts (拆分 slice 5); implementation in ./interactive-events.ts. */
441
+ handleEvent(event: AgentSessionEvent): Promise<void>;
442
+ /** Host-visible for ./interactive-events.ts (拆分 slice 5); implementation in ./interactive-events.ts. */
443
+ getUserMessageText(message: Message): string;
391
444
  /** Show a managed-tool status update in the chat. */
392
445
  private showManagedToolStatus;
393
446
  /**
@@ -397,67 +450,93 @@ export declare class InteractiveMode implements DialogUiHost, authFlow.AuthUiHos
397
450
  * we update the previous status line instead of appending new ones to avoid log spam.
398
451
  */
399
452
  showStatus(message: string): void;
400
- private addMessageToChat;
401
- private renderSessionItems;
453
+ /** Host-visible for ./interactive-events.ts (拆分 slice 5); implementation in ./interactive-events.ts. */
454
+ addMessageToChat(message: AgentMessage, options?: {
455
+ populateHistory?: boolean;
456
+ }): void;
457
+ /** Host-visible for ./interactive-events.ts (拆分 slice 5); implementation in ./interactive-events.ts. */
458
+ renderSessionItems(items: readonly eventsFlow.RenderSessionItem[], options?: {
459
+ updateFooter?: boolean;
460
+ populateHistory?: boolean;
461
+ }): void;
402
462
  /**
403
463
  * Render session entries to chat. Used for initial load and rebuild after compaction.
404
464
  * @param entries Compaction-aware session entries to render
405
465
  * @param options.updateFooter Update footer state
406
466
  * @param options.populateHistory Add user messages to editor history
467
+ *
468
+ * Host-visible for ./interactive-events.ts (拆分 slice 5); implementation in
469
+ * ./interactive-events.ts.
407
470
  */
408
- private renderSessionEntries;
471
+ renderSessionEntries(entries: SessionEntry[], options?: {
472
+ updateFooter?: boolean;
473
+ populateHistory?: boolean;
474
+ }): void;
409
475
  /**
410
476
  * Render billing usage for a compaction or branch summary. The notice is derived
411
477
  * from persisted summary usage and is not stored as a separate session entry.
478
+ *
479
+ * Host-visible for ./interactive-events.ts (拆分 slice 5); implementation in
480
+ * ./interactive-events.ts.
412
481
  */
413
- private addCompactionCostNotice;
414
- private static countDroppedThinkingBlocks;
415
- private maybeShowThinkingDropNotice;
482
+ addCompactionCostNotice(notice: eventsFlow.CompactionCostNotice): void;
483
+ /** Host-visible for ./interactive-events.ts (拆分 slice 5); implementation in ./interactive-events.ts. */
484
+ maybeShowThinkingDropNotice(message: AssistantMessage): void;
416
485
  /**
417
486
  * Show a transcript notice when a completed assistant message paid for a
418
487
  * significant cache miss. Only states observable facts: the miss itself,
419
488
  * a model switch, or an idle gap past the cache TTL.
489
+ *
490
+ * Host-visible for ./interactive-events.ts (拆分 slice 5); implementation in
491
+ * ./interactive-events.ts.
420
492
  */
421
- private maybeShowCacheMissNotice;
422
- private addCacheMissNotice;
493
+ maybeShowCacheMissNotice(message: AssistantMessage): void;
494
+ /** Host-visible for ./interactive-events.ts (拆分 slice 5); implementation in ./interactive-events.ts. */
495
+ addCacheMissNotice(miss: CacheMiss): void;
423
496
  renderInitialMessages(): void;
424
497
  getUserInput(): Promise<string>;
425
- private rebuildChatFromMessages;
498
+ /** Host-visible for ./interactive-commands.ts (拆分 slice 1); implementation in ./interactive-events.ts (拆分 slice 5). */
499
+ rebuildChatFromMessages(): void;
500
+ /** Ctrl+C interrupt/exit grading; implementation in ./interactive-lifecycle.ts (拆分 slice 4). */
426
501
  private handleCtrlC;
502
+ /** Ctrl+D exit on empty editor; implementation in ./interactive-lifecycle.ts (拆分 slice 4). */
427
503
  private handleCtrlD;
428
504
  /**
429
505
  * Gracefully shutdown the agent.
430
506
  * Stops the TUI before emitting shutdown events so extension UI cleanup cannot
431
- * repaint the final frame while the process is exiting.
507
+ * repaint the final frame while the process is exiting; implementation in
508
+ * ./interactive-lifecycle.ts (拆分 slice 4).
432
509
  */
433
- private isShuttingDown;
434
510
  shutdown(options?: {
435
511
  fromSignal?: boolean;
436
512
  }): Promise<void>;
437
- private emergencyTerminalExit;
438
- /**
439
- * Last-resort handler for uncaught exceptions. The TUI puts stdin into raw
440
- * mode and hides the cursor; without this handler, an uncaught throw from
441
- * anywhere (e.g. an extension's async `ChildProcess.on("exit")` callback)
442
- * tears down the process while leaving the terminal in raw mode with no
443
- * cursor, requiring `stty sane && reset` to recover.
444
- *
445
- * Unlike emergencyTerminalExit, the terminal is still alive here, so we
446
- * call ui.stop() to restore cooked mode, the cursor, and disable bracketed
447
- * paste / Kitty / modifyOtherKeys sequences.
448
- */
449
- private uncaughtCrash;
450
- private checkShutdownRequested;
513
+ /** Host-visible for ./interactive-lifecycle.ts (拆分 slice 4): dead-terminal emergency exit. */
514
+ emergencyTerminalExit(): never;
515
+ /** Host-visible for ./interactive-lifecycle.ts (拆分 slice 4): uncaught-exception crash handler. */
516
+ uncaughtCrash(error: Error): never;
517
+ /** Host-visible for ./interactive-events.ts (拆分 slice 5); implementation in ./interactive-lifecycle.ts (拆分 slice 4). */
518
+ checkShutdownRequested(): Promise<void>;
519
+ /** Signal/stderr/uncaught registration; implementation in ./interactive-lifecycle.ts (拆分 slice 4). */
451
520
  private registerSignalHandlers;
452
- private unregisterSignalHandlers;
521
+ /** Host-visible for ./interactive-lifecycle.ts (拆分 slice 4): also called by the mode's stop(). */
522
+ unregisterSignalHandlers(): void;
523
+ /** Suspend to background (Ctrl+Z); implementation in ./interactive-lifecycle.ts (拆分 slice 4). */
453
524
  private handleCtrlZ;
454
- private handleFollowUp;
455
- private handleDequeue;
456
- /** /queue command host face (single-entry iron law): queues the given text for after the current run. A bare /queue cannot mirror the keybinding — the editor buffer is cleared on submit before the command runs — so it prints usage instead of silently doing nothing. */
525
+ /**
526
+ * Host-visible for ./interactive-lifecycle.ts (拆分 slice 4): the function
527
+ * stays resident in this module (D-041 §3.5 — resume hints are host TUI
528
+ * behavior, not a facade contract).
529
+ */
530
+ formatResumeCommand(session: ResumeCommandSessionReads): string | undefined;
531
+ /** Follow-up queue entry (Alt+Enter / /queue); implementation in ./interactive-queues.ts (拆分 slice 3). */
532
+ handleFollowUp(explicitText?: string): Promise<void>;
533
+ /** Dequeue restore (keybinding / /dequeue); implementation in ./interactive-queues.ts (拆分 slice 3). */
534
+ handleDequeue(): void;
535
+ /** /queue command host face (single-entry iron law); implementation in ./interactive-queues.ts (拆分 slice 3). */
457
536
  handleQueueCommand(text: string | undefined): Promise<void>;
458
- /** /dequeue command host face: restore queued messages back to the editor. */
537
+ /** /dequeue command host face; implementation in ./interactive-queues.ts (拆分 slice 3). */
459
538
  handleDequeueCommand(): void;
460
- /** /queue-list command host face: open the queued-message manager selector. Both queues empty is a status message, not an empty overlay. */
539
+ /** /queue-list command host face; implementation in ./interactive-queues.ts (拆分 slice 3). */
461
540
  handleQueueListCommand(): void;
462
541
  /** /editor command host face: edit the current input in an external editor. */
463
542
  handleEditorCommand(): Promise<void>;
@@ -466,9 +545,32 @@ export declare class InteractiveMode implements DialogUiHost, authFlow.AuthUiHos
466
545
  private cycleThinkingLevel;
467
546
  private cycleModel;
468
547
  toggleToolOutputExpansion(): void;
548
+ /**
549
+ * D-083 quiet transcript: mount a tool component into the current
550
+ * assistant turn's tool-run group (creating the group on first tool of
551
+ * the turn) instead of the chat container directly. Collapsed groups
552
+ * render one dim marker line for the whole turn.
553
+ *
554
+ * Host-visible for ./interactive-events.ts (拆分 slice 5); implementation in
555
+ * ./interactive-events.ts.
556
+ */
557
+ addToolToRunGroup(component: ToolExecutionComponent): void;
558
+ /**
559
+ * Narrowing-safe faces for the active group inside renderSessionItems:
560
+ * addToolToRunGroup may (re)assign this.activeToolRunGroup behind the
561
+ * compiler's back, so group reads go through methods instead of the
562
+ * narrowed property reference.
563
+ *
564
+ * Host-visible for ./interactive-events.ts (拆分 slice 5); implementation in
565
+ * ./interactive-events.ts.
566
+ */
567
+ noteResultInActiveToolRunGroup(isError: boolean): void;
568
+ /** Host-visible for ./interactive-events.ts (拆分 slice 5); implementation in ./interactive-events.ts. */
569
+ markActiveToolRunGroupComplete(): void;
469
570
  setToolsExpanded(expanded: boolean): void;
470
571
  /** Update rendered assistant messages without rebuilding live tool components. */
471
- private updateThinkingBlockVisibility;
572
+ /** Host-visible for ./interactive-selectors.ts (拆分 slice 2). */
573
+ updateThinkingBlockVisibility(): void;
472
574
  private toggleThinkingBlockVisibility;
473
575
  private handleOpenExternalEditor;
474
576
  clearEditor(): void;
@@ -479,18 +581,37 @@ export declare class InteractiveMode implements DialogUiHost, authFlow.AuthUiHos
479
581
  /**
480
582
  * Get all queued messages (read-only).
481
583
  * Combines session queue and compaction queue.
584
+ *
585
+ * Host-visible for ./interactive-queues.ts (拆分 slice 3): the merged read
586
+ * behind the pending-messages display.
482
587
  */
483
- private getAllQueuedMessages;
588
+ getAllQueuedMessages(): {
589
+ steering: string[];
590
+ followUp: string[];
591
+ };
484
592
  /**
485
593
  * Clear all queued messages and return their contents.
486
- * Clears both session queue and compaction queue.
594
+ * Clears both session queue and compaction queue; implementation in
595
+ * ./interactive-queues.ts (拆分 slice 3). Stays reachable from the mode's
596
+ * restoreQueuedMessagesToEditor.
487
597
  */
488
598
  private clearAllQueues;
489
- /** Host-visible for ./interactive-selectors.ts (queue manager close path). */
599
+ /** Host-visible for ./interactive-selectors.ts (queue manager close path) and ./interactive-events.ts (拆分 slice 3); implementation in ./interactive-queues.ts. */
490
600
  updatePendingMessagesDisplay(): void;
491
- private restoreQueuedMessagesToEditor;
492
- private queueCompactionMessage;
493
- private flushCompactionQueue;
601
+ /** Host-visible for ./interactive-selectors.ts (拆分 slice 2). */
602
+ restoreQueuedMessagesToEditor(options?: {
603
+ abort?: boolean;
604
+ /** Interrupt grading (设计 子代理运行时 §4.2): false aborts the turn
605
+ * without cancelling background agent tasks. */
606
+ cancelAgentTasks?: boolean;
607
+ currentText?: string;
608
+ }): number;
609
+ /** Host-visible for ./interactive-queues.ts (拆分 slice 3); implementation in ./interactive-queues.ts. */
610
+ queueCompactionMessage(text: string, mode: "steer" | "followUp"): void;
611
+ /** Host-visible for ./interactive-selectors.ts (拆分 slice 2) and ./interactive-events.ts; implementation in ./interactive-queues.ts (拆分 slice 3). */
612
+ flushCompactionQueue(options?: {
613
+ willRetry?: boolean;
614
+ }): Promise<void>;
494
615
  /** Move pending bash components from pending area to chat */
495
616
  private flushPendingBashComponents;
496
617
  disposeActiveSelector(): void;
@@ -503,6 +624,7 @@ export declare class InteractiveMode implements DialogUiHost, authFlow.AuthUiHos
503
624
  focus: Component;
504
625
  dispose?: () => void;
505
626
  }): void;
627
+ /** Settings selector; implementation in ./interactive-selectors.ts (拆分 slice 2). */
506
628
  showSettingsSelector(): void;
507
629
  /** /thinking command entry; implementation in ./interactive-selectors.ts (S5 slice 5). */
508
630
  handleThinkingCommand(searchTerm?: string): void;
@@ -532,7 +654,8 @@ export declare class InteractiveMode implements DialogUiHost, authFlow.AuthUiHos
532
654
  * file's binding entry and cached per path — the selector refilters the
533
655
  * list on every keystroke.
534
656
  */
535
- private readSessionSuiteId;
657
+ /** Host-visible for ./interactive-selectors.ts (拆分 slice 2). */
658
+ readSessionSuiteId(sessionPath: string): string | undefined;
536
659
  /** /suite command entry; implementation in ./interactive-selectors.ts (S5 slice 5). */
537
660
  handleSuiteCommand(suiteId?: string): void;
538
661
  /** Suite list overlay; implementation in ./interactive-selectors.ts (S5 slice 5). */
@@ -561,23 +684,16 @@ export declare class InteractiveMode implements DialogUiHost, authFlow.AuthUiHos
561
684
  showUserMessageSelector(): void;
562
685
  /** /clone command entry; implementation in ./interactive-selectors.ts (S5 slice 5). */
563
686
  handleCloneCommand(): Promise<void>;
564
- /**
565
- * Workflow overlay (§9 L2/L3): read-only panorama + transition log from
566
- * `workflow.state`/`workflow.transition` entries. Actions are forwarded to
567
- * the editor as reviewable text; the main agent executes them via
568
- * workflow_advance (rendering and execution stay separated).
569
- */
687
+ /** Workflow overlay; implementation in ./interactive-selectors.ts (拆分 slice 2). */
570
688
  showWorkflowView(): void;
571
- /**
572
- * Subagent session browser (/agents): read-only list + detail of this
573
- * session's subagent transcripts from the D-060 §3 on-disk store — the same
574
- * parent-scoped summary source as the subagent_list model tool (only this
575
- * session's children, newest first). Detail entries load lazily per
576
- * session; a failed load renders inside the view instead of throwing.
577
- */
689
+ /** Subagent session browser; implementation in ./interactive-selectors.ts (拆分 slice 2). */
578
690
  showAgentsView(): void;
691
+ /** Tree selector; implementation in ./interactive-selectors.ts (拆分 slice 2). */
579
692
  showTreeSelector(initialSelectedId?: string): void;
693
+ /** Session selector; implementation in ./interactive-selectors.ts (拆分 slice 2). */
580
694
  showSessionSelector(): void;
695
+ /** Queue manager overlay; implementation in ./interactive-selectors.ts (S5 slice 5). Host-visible for ./interactive-queues.ts (拆分 slice 3). */
696
+ showQueueManagerSelector(): void;
581
697
  private handleResumeSession;
582
698
  /**
583
699
  * Cross-suite resume detection (设计 §10.1 最小可用版): compare the loaded
@@ -587,8 +703,11 @@ export declare class InteractiveMode implements DialogUiHost, authFlow.AuthUiHos
587
703
  * behavior). On a mismatch, record the fact for later debugging: an info
588
704
  * status line plus a `suite_mismatch` custom entry on the session. No
589
705
  * context serialization or conversion is attempted.
706
+ *
707
+ * Host-visible for ./interactive-selectors.ts (拆分 slice 2): also called
708
+ * from the startup/resume path on the mode, so it stays here.
590
709
  */
591
- private detectCrossSuiteResume;
710
+ detectCrossSuiteResume(): void;
592
711
  /**
593
712
  * Host-visible for ./interactive-auth.ts (D-048): narrow credential/provider
594
713
  * auth projection of the session's ModelRuntime through the stable facade.
@@ -669,8 +788,11 @@ export declare class InteractiveMode implements DialogUiHost, authFlow.AuthUiHos
669
788
  handleChangelogCommand(): void;
670
789
  /**
671
790
  * Get capitalized display string for an app keybinding action.
791
+ *
792
+ * Host-visible for ./interactive-queues.ts (拆分 slice 3): the dequeue hint
793
+ * in the pending-messages display.
672
794
  */
673
- private getAppKeyDisplay;
795
+ getAppKeyDisplay(action: AppKeybinding): string;
674
796
  /**
675
797
  * Get capitalized display string for an editor keybinding action.
676
798
  */
@@ -680,7 +802,8 @@ export declare class InteractiveMode implements DialogUiHost, authFlow.AuthUiHos
680
802
  handleClearCommand(): Promise<void>;
681
803
  handleDebugCommand(): void;
682
804
  handleArminSaysHi(): void;
683
- private handleDaxnuts;
805
+ /** Host-visible for ./interactive-commands.ts (拆分 slice 1). */
806
+ handleDaxnuts(): void;
684
807
  /** Host-visible for ./interactive-auth.ts (S5 slice 3). */
685
808
  checkDaxnutsEasterEgg(model: {
686
809
  provider: string;
@@ -688,6 +811,8 @@ export declare class InteractiveMode implements DialogUiHost, authFlow.AuthUiHos
688
811
  }): void;
689
812
  private handleBashCommand;
690
813
  handleCompactCommand(customInstructions?: string): Promise<void>;
814
+ /** /clean-sessions:会话清理两阶段流程;输出/确认走宿主既有机制(设计 §7)。 */
815
+ handleCleanSessionsCommand(arg: string | undefined): Promise<void>;
691
816
  stop(fullscreenExitOutput?: FullscreenExitOutput): void;
692
817
  }
693
818
  //# sourceMappingURL=interactive-mode.d.ts.map