@ai-agent-forge/agent-forge 0.86.7 → 0.88.0

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 (717) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/README.md +10 -11
  3. package/dist/artifacts/artifact-store.d.ts.map +1 -1
  4. package/dist/artifacts/artifact-store.js +9 -5
  5. package/dist/artifacts/artifact-store.js.map +1 -1
  6. package/dist/bundle/.build-manifest.json +430 -413
  7. package/dist/bundle/chunks/{chunk-A7GUOX2H.js → chunk-6ZKDNZHA.js} +5 -1
  8. package/dist/bundle/chunks/chunk-HLJEVRWP.js +13 -0
  9. package/dist/bundle/chunks/chunk-YGHQME4V.js +1456 -0
  10. package/dist/bundle/chunks/image-resize-worker.js +12 -1
  11. package/dist/bundle/chunks/{virtual-modules-3IZ4MYSQ.js → virtual-modules-KZ5DRH7Q.js} +1 -1
  12. package/dist/bundle/cli.js +1 -1
  13. package/dist/bundle/client.js +1 -1
  14. package/dist/bundle/index.js +2 -2
  15. package/dist/bundle/rpc-entry.js +1 -1
  16. package/dist/cli/args.d.ts.map +1 -1
  17. package/dist/cli/args.js +231 -185
  18. package/dist/cli/args.js.map +1 -1
  19. package/dist/cli/auth-check.d.ts.map +1 -1
  20. package/dist/cli/auth-check.js +17 -4
  21. package/dist/cli/auth-check.js.map +1 -1
  22. package/dist/cli/auth-command.d.ts.map +1 -1
  23. package/dist/cli/auth-command.js +15 -9
  24. package/dist/cli/auth-command.js.map +1 -1
  25. package/dist/cli/credential-print.d.ts.map +1 -1
  26. package/dist/cli/credential-print.js +14 -7
  27. package/dist/cli/credential-print.js.map +1 -1
  28. package/dist/cli/experimental/command.d.ts.map +1 -1
  29. package/dist/cli/experimental/command.js +6 -5
  30. package/dist/cli/experimental/command.js.map +1 -1
  31. package/dist/cli/list-models.d.ts.map +1 -1
  32. package/dist/cli/list-models.js +9 -8
  33. package/dist/cli/list-models.js.map +1 -1
  34. package/dist/cli/plugin-manager-controller.d.ts.map +1 -1
  35. package/dist/cli/plugin-manager-controller.js +2 -1
  36. package/dist/cli/plugin-manager-controller.js.map +1 -1
  37. package/dist/cli/serve.d.ts.map +1 -1
  38. package/dist/cli/serve.js +8 -5
  39. package/dist/cli/serve.js.map +1 -1
  40. package/dist/client/remote-session.d.ts.map +1 -1
  41. package/dist/client/remote-session.js +16 -9
  42. package/dist/client/remote-session.js.map +1 -1
  43. package/dist/config.d.ts.map +1 -1
  44. package/dist/config.js +5 -3
  45. package/dist/config.js.map +1 -1
  46. package/dist/core/agent-capability-contract.d.ts +0 -7
  47. package/dist/core/agent-capability-contract.d.ts.map +1 -1
  48. package/dist/core/agent-capability-contract.js +72 -68
  49. package/dist/core/agent-capability-contract.js.map +1 -1
  50. package/dist/core/agent-session-bash.d.ts.map +1 -1
  51. package/dist/core/agent-session-bash.js +5 -4
  52. package/dist/core/agent-session-bash.js.map +1 -1
  53. package/dist/core/agent-session-compaction.d.ts +6 -10
  54. package/dist/core/agent-session-compaction.d.ts.map +1 -1
  55. package/dist/core/agent-session-compaction.js +35 -133
  56. package/dist/core/agent-session-compaction.js.map +1 -1
  57. package/dist/core/agent-session-context.d.ts.map +1 -1
  58. package/dist/core/agent-session-context.js +18 -13
  59. package/dist/core/agent-session-context.js.map +1 -1
  60. package/dist/core/agent-session-internal.d.ts +0 -6
  61. package/dist/core/agent-session-internal.d.ts.map +1 -1
  62. package/dist/core/agent-session-internal.js.map +1 -1
  63. package/dist/core/agent-session-model.d.ts.map +1 -1
  64. package/dist/core/agent-session-model.js +2 -1
  65. package/dist/core/agent-session-model.js.map +1 -1
  66. package/dist/core/agent-session-retry.d.ts.map +1 -1
  67. package/dist/core/agent-session-retry.js +3 -3
  68. package/dist/core/agent-session-retry.js.map +1 -1
  69. package/dist/core/agent-session-runtime.d.ts.map +1 -1
  70. package/dist/core/agent-session-runtime.js +7 -6
  71. package/dist/core/agent-session-runtime.js.map +1 -1
  72. package/dist/core/agent-session-services.d.ts +1 -1
  73. package/dist/core/agent-session-services.d.ts.map +1 -1
  74. package/dist/core/agent-session-services.js.map +1 -1
  75. package/dist/core/agent-session-tools.d.ts.map +1 -1
  76. package/dist/core/agent-session-tools.js +3 -2
  77. package/dist/core/agent-session-tools.js.map +1 -1
  78. package/dist/core/agent-session.d.ts +40 -22
  79. package/dist/core/agent-session.d.ts.map +1 -1
  80. package/dist/core/agent-session.js +147 -67
  81. package/dist/core/agent-session.js.map +1 -1
  82. package/dist/core/auth-guidance.d.ts.map +1 -1
  83. package/dist/core/auth-guidance.js +11 -5
  84. package/dist/core/auth-guidance.js.map +1 -1
  85. package/dist/core/auth-storage.d.ts.map +1 -1
  86. package/dist/core/auth-storage.js +9 -6
  87. package/dist/core/auth-storage.js.map +1 -1
  88. package/dist/core/compaction/compaction.d.ts.map +1 -1
  89. package/dist/core/compaction/compaction.js +2 -1
  90. package/dist/core/compaction/compaction.js.map +1 -1
  91. package/dist/core/embedded-sdk.d.ts.map +1 -1
  92. package/dist/core/embedded-sdk.js +10 -6
  93. package/dist/core/embedded-sdk.js.map +1 -1
  94. package/dist/core/export-html/index.d.ts.map +1 -1
  95. package/dist/core/export-html/index.js +9 -4
  96. package/dist/core/export-html/index.js.map +1 -1
  97. package/dist/core/extensions/agent-composition.d.ts.map +1 -1
  98. package/dist/core/extensions/agent-composition.js +26 -19
  99. package/dist/core/extensions/agent-composition.js.map +1 -1
  100. package/dist/core/extensions/bootstrap-agent-loop.d.ts.map +1 -1
  101. package/dist/core/extensions/bootstrap-agent-loop.js +3 -2
  102. package/dist/core/extensions/bootstrap-agent-loop.js.map +1 -1
  103. package/dist/core/extensions/bootstrap-compaction-policy.d.ts.map +1 -1
  104. package/dist/core/extensions/bootstrap-compaction-policy.js +0 -34
  105. package/dist/core/extensions/bootstrap-compaction-policy.js.map +1 -1
  106. package/dist/core/extensions/bootstrap-lifecycle.d.ts.map +1 -1
  107. package/dist/core/extensions/bootstrap-lifecycle.js +20 -17
  108. package/dist/core/extensions/bootstrap-lifecycle.js.map +1 -1
  109. package/dist/core/extensions/bootstrap-overflow-policy.d.ts.map +1 -1
  110. package/dist/core/extensions/bootstrap-overflow-policy.js +2 -1
  111. package/dist/core/extensions/bootstrap-overflow-policy.js.map +1 -1
  112. package/dist/core/extensions/bootstrap-retry-policy.d.ts.map +1 -1
  113. package/dist/core/extensions/bootstrap-retry-policy.js +4 -3
  114. package/dist/core/extensions/bootstrap-retry-policy.js.map +1 -1
  115. package/dist/core/extensions/bootstrap-skills.d.ts.map +1 -1
  116. package/dist/core/extensions/bootstrap-skills.js +7 -6
  117. package/dist/core/extensions/bootstrap-skills.js.map +1 -1
  118. package/dist/core/extensions/bootstrap-tools.d.ts.map +1 -1
  119. package/dist/core/extensions/bootstrap-tools.js +2 -1
  120. package/dist/core/extensions/bootstrap-tools.js.map +1 -1
  121. package/dist/core/extensions/capability-plugin.d.ts.map +1 -1
  122. package/dist/core/extensions/capability-plugin.js +37 -13
  123. package/dist/core/extensions/capability-plugin.js.map +1 -1
  124. package/dist/core/extensions/capability-runtime-events.d.ts.map +1 -1
  125. package/dist/core/extensions/capability-runtime-events.js +17 -13
  126. package/dist/core/extensions/capability-runtime-events.js.map +1 -1
  127. package/dist/core/extensions/capability-runtime-guards.d.ts.map +1 -1
  128. package/dist/core/extensions/capability-runtime-guards.js +16 -15
  129. package/dist/core/extensions/capability-runtime-guards.js.map +1 -1
  130. package/dist/core/extensions/capability-runtime-manifest.d.ts.map +1 -1
  131. package/dist/core/extensions/capability-runtime-manifest.js +52 -30
  132. package/dist/core/extensions/capability-runtime-manifest.js.map +1 -1
  133. package/dist/core/extensions/capability-runtime-validation.d.ts.map +1 -1
  134. package/dist/core/extensions/capability-runtime-validation.js +66 -65
  135. package/dist/core/extensions/capability-runtime-validation.js.map +1 -1
  136. package/dist/core/extensions/capability-runtime.d.ts.map +1 -1
  137. package/dist/core/extensions/capability-runtime.js +147 -127
  138. package/dist/core/extensions/capability-runtime.js.map +1 -1
  139. package/dist/core/extensions/compaction-memory-failure-mode.d.ts.map +1 -1
  140. package/dist/core/extensions/compaction-memory-failure-mode.js +3 -2
  141. package/dist/core/extensions/compaction-memory-failure-mode.js.map +1 -1
  142. package/dist/core/extensions/context-strategy-binding.d.ts.map +1 -1
  143. package/dist/core/extensions/context-strategy-binding.js +7 -4
  144. package/dist/core/extensions/context-strategy-binding.js.map +1 -1
  145. package/dist/core/extensions/lifecycle-catalog.d.ts.map +1 -1
  146. package/dist/core/extensions/lifecycle-catalog.js +290 -279
  147. package/dist/core/extensions/lifecycle-catalog.js.map +1 -1
  148. package/dist/core/extensions/lifecycle-delivery-queue.d.ts.map +1 -1
  149. package/dist/core/extensions/lifecycle-delivery-queue.js +3 -2
  150. package/dist/core/extensions/lifecycle-delivery-queue.js.map +1 -1
  151. package/dist/core/extensions/provider-failover.d.ts +7 -3
  152. package/dist/core/extensions/provider-failover.d.ts.map +1 -1
  153. package/dist/core/extensions/provider-failover.js +9 -8
  154. package/dist/core/extensions/provider-failover.js.map +1 -1
  155. package/dist/core/facade/coding-agent-facade.d.ts +6 -6
  156. package/dist/core/facade/coding-agent-facade.d.ts.map +1 -1
  157. package/dist/core/facade/coding-agent-facade.js +2 -3
  158. package/dist/core/facade/coding-agent-facade.js.map +1 -1
  159. package/dist/core/http-dispatcher.d.ts.map +1 -1
  160. package/dist/core/http-dispatcher.js +2 -1
  161. package/dist/core/http-dispatcher.js.map +1 -1
  162. package/dist/core/i18n/index.d.ts +14 -0
  163. package/dist/core/i18n/index.d.ts.map +1 -0
  164. package/dist/core/i18n/index.js +67 -0
  165. package/dist/core/i18n/index.js.map +1 -0
  166. package/dist/core/i18n/locales/en/example.d.ts +7 -0
  167. package/dist/core/i18n/locales/en/example.d.ts.map +1 -0
  168. package/dist/core/i18n/locales/en/example.js +7 -0
  169. package/dist/core/i18n/locales/en/example.js.map +1 -0
  170. package/dist/core/i18n/locales/zh-cn/cli.d.ts +8 -0
  171. package/dist/core/i18n/locales/zh-cn/cli.d.ts.map +1 -0
  172. package/dist/core/i18n/locales/zh-cn/cli.js +229 -0
  173. package/dist/core/i18n/locales/zh-cn/cli.js.map +1 -0
  174. package/dist/core/i18n/locales/zh-cn/common.d.ts +6 -0
  175. package/dist/core/i18n/locales/zh-cn/common.d.ts.map +1 -0
  176. package/dist/core/i18n/locales/zh-cn/common.js +6 -0
  177. package/dist/core/i18n/locales/zh-cn/common.js.map +1 -0
  178. package/dist/core/i18n/locales/zh-cn/core-contract-core.d.ts +13 -0
  179. package/dist/core/i18n/locales/zh-cn/core-contract-core.d.ts.map +1 -0
  180. package/dist/core/i18n/locales/zh-cn/core-contract-core.js +173 -0
  181. package/dist/core/i18n/locales/zh-cn/core-contract-core.js.map +1 -0
  182. package/dist/core/i18n/locales/zh-cn/core-contract-extensions.d.ts +12 -0
  183. package/dist/core/i18n/locales/zh-cn/core-contract-extensions.d.ts.map +1 -0
  184. package/dist/core/i18n/locales/zh-cn/core-contract-extensions.js +582 -0
  185. package/dist/core/i18n/locales/zh-cn/core-contract-extensions.js.map +1 -0
  186. package/dist/core/i18n/locales/zh-cn/core-contract-final.d.ts +9 -0
  187. package/dist/core/i18n/locales/zh-cn/core-contract-final.d.ts.map +1 -0
  188. package/dist/core/i18n/locales/zh-cn/core-contract-final.js +55 -0
  189. package/dist/core/i18n/locales/zh-cn/core-contract-final.js.map +1 -0
  190. package/dist/core/i18n/locales/zh-cn/core-contract-plugins.d.ts +11 -0
  191. package/dist/core/i18n/locales/zh-cn/core-contract-plugins.d.ts.map +1 -0
  192. package/dist/core/i18n/locales/zh-cn/core-contract-plugins.js +455 -0
  193. package/dist/core/i18n/locales/zh-cn/core-contract-plugins.js.map +1 -0
  194. package/dist/core/i18n/locales/zh-cn/core-errors.d.ts +9 -0
  195. package/dist/core/i18n/locales/zh-cn/core-errors.d.ts.map +1 -0
  196. package/dist/core/i18n/locales/zh-cn/core-errors.js +191 -0
  197. package/dist/core/i18n/locales/zh-cn/core-errors.js.map +1 -0
  198. package/dist/core/i18n/locales/zh-cn/example.d.ts +7 -0
  199. package/dist/core/i18n/locales/zh-cn/example.d.ts.map +1 -0
  200. package/dist/core/i18n/locales/zh-cn/example.js +10 -0
  201. package/dist/core/i18n/locales/zh-cn/example.js.map +1 -0
  202. package/dist/core/i18n/locales/zh-cn/index.d.ts +2 -0
  203. package/dist/core/i18n/locales/zh-cn/index.d.ts.map +1 -0
  204. package/dist/core/i18n/locales/zh-cn/index.js +41 -0
  205. package/dist/core/i18n/locales/zh-cn/index.js.map +1 -0
  206. package/dist/core/i18n/locales/zh-cn/interactive-mode.d.ts +10 -0
  207. package/dist/core/i18n/locales/zh-cn/interactive-mode.d.ts.map +1 -0
  208. package/dist/core/i18n/locales/zh-cn/interactive-mode.js +267 -0
  209. package/dist/core/i18n/locales/zh-cn/interactive-mode.js.map +1 -0
  210. package/dist/core/i18n/locales/zh-cn/keybindings.d.ts +11 -0
  211. package/dist/core/i18n/locales/zh-cn/keybindings.d.ts.map +1 -0
  212. package/dist/core/i18n/locales/zh-cn/keybindings.js +67 -0
  213. package/dist/core/i18n/locales/zh-cn/keybindings.js.map +1 -0
  214. package/dist/core/i18n/locales/zh-cn/slash-commands.d.ts +7 -0
  215. package/dist/core/i18n/locales/zh-cn/slash-commands.d.ts.map +1 -0
  216. package/dist/core/i18n/locales/zh-cn/slash-commands.js +39 -0
  217. package/dist/core/i18n/locales/zh-cn/slash-commands.js.map +1 -0
  218. package/dist/core/i18n/locales/zh-cn/tui-builtin.d.ts +10 -0
  219. package/dist/core/i18n/locales/zh-cn/tui-builtin.d.ts.map +1 -0
  220. package/dist/core/i18n/locales/zh-cn/tui-builtin.js +15 -0
  221. package/dist/core/i18n/locales/zh-cn/tui-builtin.js.map +1 -0
  222. package/dist/core/i18n/locales/zh-cn/tui-components-misc.d.ts +13 -0
  223. package/dist/core/i18n/locales/zh-cn/tui-components-misc.d.ts.map +1 -0
  224. package/dist/core/i18n/locales/zh-cn/tui-components-misc.js +102 -0
  225. package/dist/core/i18n/locales/zh-cn/tui-components-misc.js.map +1 -0
  226. package/dist/core/i18n/locales/zh-cn/tui-components-selectors.d.ts +12 -0
  227. package/dist/core/i18n/locales/zh-cn/tui-components-selectors.d.ts.map +1 -0
  228. package/dist/core/i18n/locales/zh-cn/tui-components-selectors.js +286 -0
  229. package/dist/core/i18n/locales/zh-cn/tui-components-selectors.js.map +1 -0
  230. package/dist/core/i18n/locales/zh-cn/tui-interactive-misc.d.ts +9 -0
  231. package/dist/core/i18n/locales/zh-cn/tui-interactive-misc.d.ts.map +1 -0
  232. package/dist/core/i18n/locales/zh-cn/tui-interactive-misc.js +79 -0
  233. package/dist/core/i18n/locales/zh-cn/tui-interactive-misc.js.map +1 -0
  234. package/dist/core/i18n/locales/zh-cn/tui-self-owned.d.ts +8 -0
  235. package/dist/core/i18n/locales/zh-cn/tui-self-owned.d.ts.map +1 -0
  236. package/dist/core/i18n/locales/zh-cn/tui-self-owned.js +72 -0
  237. package/dist/core/i18n/locales/zh-cn/tui-self-owned.js.map +1 -0
  238. package/dist/core/keybindings.d.ts +15 -0
  239. package/dist/core/keybindings.d.ts.map +1 -1
  240. package/dist/core/keybindings.js +18 -0
  241. package/dist/core/keybindings.js.map +1 -1
  242. package/dist/core/logger.d.ts.map +1 -1
  243. package/dist/core/logger.js +5 -1
  244. package/dist/core/logger.js.map +1 -1
  245. package/dist/core/model-config.d.ts +0 -1
  246. package/dist/core/model-config.d.ts.map +1 -1
  247. package/dist/core/model-config.js +9 -1
  248. package/dist/core/model-config.js.map +1 -1
  249. package/dist/core/model-registry.d.ts.map +1 -1
  250. package/dist/core/model-registry.js +2 -1
  251. package/dist/core/model-registry.js.map +1 -1
  252. package/dist/core/model-runtime.d.ts.map +1 -1
  253. package/dist/core/model-runtime.js +11 -7
  254. package/dist/core/model-runtime.js.map +1 -1
  255. package/dist/core/package-install-host.d.ts.map +1 -1
  256. package/dist/core/package-install-host.js +4 -3
  257. package/dist/core/package-install-host.js.map +1 -1
  258. package/dist/core/package-manager.d.ts.map +1 -1
  259. package/dist/core/package-manager.js +15 -10
  260. package/dist/core/package-manager.js.map +1 -1
  261. package/dist/core/package-resource-collection.d.ts.map +1 -1
  262. package/dist/core/package-resource-collection.js +2 -1
  263. package/dist/core/package-resource-collection.js.map +1 -1
  264. package/dist/core/package-source.d.ts.map +1 -1
  265. package/dist/core/package-source.js +3 -2
  266. package/dist/core/package-source.js.map +1 -1
  267. package/dist/core/provider-composer.d.ts +2 -2
  268. package/dist/core/provider-composer.d.ts.map +1 -1
  269. package/dist/core/provider-composer.js +29 -21
  270. package/dist/core/provider-composer.js.map +1 -1
  271. package/dist/core/remote-catalog-provider.d.ts.map +1 -1
  272. package/dist/core/remote-catalog-provider.js +6 -2
  273. package/dist/core/remote-catalog-provider.js.map +1 -1
  274. package/dist/core/resolve-config-value.d.ts.map +1 -1
  275. package/dist/core/resolve-config-value.js +15 -5
  276. package/dist/core/resolve-config-value.js.map +1 -1
  277. package/dist/core/sdk.d.ts +27 -5
  278. package/dist/core/sdk.d.ts.map +1 -1
  279. package/dist/core/sdk.js +80 -55
  280. package/dist/core/sdk.js.map +1 -1
  281. package/dist/core/session-cwd.d.ts.map +1 -1
  282. package/dist/core/session-cwd.js +5 -2
  283. package/dist/core/session-cwd.js.map +1 -1
  284. package/dist/core/session-export.d.ts.map +1 -1
  285. package/dist/core/session-export.js +2 -1
  286. package/dist/core/session-export.js.map +1 -1
  287. package/dist/core/session-manager.d.ts.map +1 -1
  288. package/dist/core/session-manager.js +39 -29
  289. package/dist/core/session-manager.js.map +1 -1
  290. package/dist/core/session-storage.d.ts.map +1 -1
  291. package/dist/core/session-storage.js +3 -3
  292. package/dist/core/session-storage.js.map +1 -1
  293. package/dist/core/settings-manager.d.ts +20 -20
  294. package/dist/core/settings-manager.d.ts.map +1 -1
  295. package/dist/core/settings-manager.js +47 -59
  296. package/dist/core/settings-manager.js.map +1 -1
  297. package/dist/core/slash-commands.d.ts.map +1 -1
  298. package/dist/core/slash-commands.js +53 -32
  299. package/dist/core/slash-commands.js.map +1 -1
  300. package/dist/core/system-prompt.d.ts.map +1 -1
  301. package/dist/core/system-prompt.js +25 -2
  302. package/dist/core/system-prompt.js.map +1 -1
  303. package/dist/core/tools/bash.d.ts.map +1 -1
  304. package/dist/core/tools/bash.js +11 -7
  305. package/dist/core/tools/bash.js.map +1 -1
  306. package/dist/core/tools/edit-diff.d.ts.map +1 -1
  307. package/dist/core/tools/edit-diff.js +9 -4
  308. package/dist/core/tools/edit-diff.js.map +1 -1
  309. package/dist/core/tools/edit.d.ts.map +1 -1
  310. package/dist/core/tools/edit.js +4 -3
  311. package/dist/core/tools/edit.js.map +1 -1
  312. package/dist/core/tools/index.d.ts.map +1 -1
  313. package/dist/core/tools/index.js +3 -2
  314. package/dist/core/tools/index.js.map +1 -1
  315. package/dist/core/tools/output-accumulator.d.ts.map +1 -1
  316. package/dist/core/tools/output-accumulator.js +2 -1
  317. package/dist/core/tools/output-accumulator.js.map +1 -1
  318. package/dist/core/tools/read.d.ts.map +1 -1
  319. package/dist/core/tools/read.js +6 -2
  320. package/dist/core/tools/read.js.map +1 -1
  321. package/dist/core/tools/write.d.ts.map +1 -1
  322. package/dist/core/tools/write.js +2 -1
  323. package/dist/core/tools/write.js.map +1 -1
  324. package/dist/durable/durable-service.d.ts.map +1 -1
  325. package/dist/durable/durable-service.js +25 -18
  326. package/dist/durable/durable-service.js.map +1 -1
  327. package/dist/host/checkpoint-commit.d.ts.map +1 -1
  328. package/dist/host/checkpoint-commit.js +2 -1
  329. package/dist/host/checkpoint-commit.js.map +1 -1
  330. package/dist/host/manual-compaction.d.ts.map +1 -1
  331. package/dist/host/manual-compaction.js +2 -1
  332. package/dist/host/manual-compaction.js.map +1 -1
  333. package/dist/host/output-projection.d.ts +0 -13
  334. package/dist/host/output-projection.d.ts.map +1 -1
  335. package/dist/host/output-projection.js +16 -2
  336. package/dist/host/output-projection.js.map +1 -1
  337. package/dist/host/summary-retry.d.ts.map +1 -1
  338. package/dist/host/summary-retry.js +3 -2
  339. package/dist/host/summary-retry.js.map +1 -1
  340. package/dist/main.d.ts.map +1 -1
  341. package/dist/main.js +97 -60
  342. package/dist/main.js.map +1 -1
  343. package/dist/modes/interactive/components/agents-view.d.ts.map +1 -1
  344. package/dist/modes/interactive/components/agents-view.js +18 -15
  345. package/dist/modes/interactive/components/agents-view.js.map +1 -1
  346. package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -1
  347. package/dist/modes/interactive/components/assistant-message.js +6 -5
  348. package/dist/modes/interactive/components/assistant-message.js.map +1 -1
  349. package/dist/modes/interactive/components/bash-execution.d.ts.map +1 -1
  350. package/dist/modes/interactive/components/bash-execution.js +12 -7
  351. package/dist/modes/interactive/components/bash-execution.js.map +1 -1
  352. package/dist/modes/interactive/components/bordered-loader.d.ts.map +1 -1
  353. package/dist/modes/interactive/components/bordered-loader.js +2 -1
  354. package/dist/modes/interactive/components/bordered-loader.js.map +1 -1
  355. package/dist/modes/interactive/components/branch-summary-message.d.ts.map +1 -1
  356. package/dist/modes/interactive/components/branch-summary-message.js +6 -5
  357. package/dist/modes/interactive/components/branch-summary-message.js.map +1 -1
  358. package/dist/modes/interactive/components/compaction-summary-message.d.ts.map +1 -1
  359. package/dist/modes/interactive/components/compaction-summary-message.js +9 -5
  360. package/dist/modes/interactive/components/compaction-summary-message.js.map +1 -1
  361. package/dist/modes/interactive/components/config-selector.d.ts.map +1 -1
  362. package/dist/modes/interactive/components/config-selector.js +18 -15
  363. package/dist/modes/interactive/components/config-selector.js.map +1 -1
  364. package/dist/modes/interactive/components/custom-entry.d.ts.map +1 -1
  365. package/dist/modes/interactive/components/custom-entry.js +2 -1
  366. package/dist/modes/interactive/components/custom-entry.js.map +1 -1
  367. package/dist/modes/interactive/components/dialog-editor.d.ts.map +1 -1
  368. package/dist/modes/interactive/components/dialog-editor.js +5 -4
  369. package/dist/modes/interactive/components/dialog-editor.js.map +1 -1
  370. package/dist/modes/interactive/components/dialog-input.d.ts.map +1 -1
  371. package/dist/modes/interactive/components/dialog-input.js +2 -1
  372. package/dist/modes/interactive/components/dialog-input.js.map +1 -1
  373. package/dist/modes/interactive/components/dialog-selector.d.ts.map +1 -1
  374. package/dist/modes/interactive/components/dialog-selector.js +4 -3
  375. package/dist/modes/interactive/components/dialog-selector.js.map +1 -1
  376. package/dist/modes/interactive/components/first-time-setup.d.ts.map +1 -1
  377. package/dist/modes/interactive/components/first-time-setup.js +11 -10
  378. package/dist/modes/interactive/components/first-time-setup.js.map +1 -1
  379. package/dist/modes/interactive/components/footer.d.ts +0 -2
  380. package/dist/modes/interactive/components/footer.d.ts.map +1 -1
  381. package/dist/modes/interactive/components/footer.js +8 -10
  382. package/dist/modes/interactive/components/footer.js.map +1 -1
  383. package/dist/modes/interactive/components/index.d.ts +1 -0
  384. package/dist/modes/interactive/components/index.d.ts.map +1 -1
  385. package/dist/modes/interactive/components/index.js +1 -0
  386. package/dist/modes/interactive/components/index.js.map +1 -1
  387. package/dist/modes/interactive/components/keybinding-hints.d.ts.map +1 -1
  388. package/dist/modes/interactive/components/keybinding-hints.js +3 -2
  389. package/dist/modes/interactive/components/keybinding-hints.js.map +1 -1
  390. package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -1
  391. package/dist/modes/interactive/components/login-dialog.js +12 -11
  392. package/dist/modes/interactive/components/login-dialog.js.map +1 -1
  393. package/dist/modes/interactive/components/mermaid.d.ts.map +1 -1
  394. package/dist/modes/interactive/components/mermaid.js +6 -2
  395. package/dist/modes/interactive/components/mermaid.js.map +1 -1
  396. package/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
  397. package/dist/modes/interactive/components/model-selector.js +28 -16
  398. package/dist/modes/interactive/components/model-selector.js.map +1 -1
  399. package/dist/modes/interactive/components/oauth-selector.d.ts.map +1 -1
  400. package/dist/modes/interactive/components/oauth-selector.js +10 -9
  401. package/dist/modes/interactive/components/oauth-selector.js.map +1 -1
  402. package/dist/modes/interactive/components/plugin-manager-entry.d.ts.map +1 -1
  403. package/dist/modes/interactive/components/plugin-manager-entry.js +22 -13
  404. package/dist/modes/interactive/components/plugin-manager-entry.js.map +1 -1
  405. package/dist/modes/interactive/components/plugin-selection-entry.d.ts.map +1 -1
  406. package/dist/modes/interactive/components/plugin-selection-entry.js +27 -12
  407. package/dist/modes/interactive/components/plugin-selection-entry.js.map +1 -1
  408. package/dist/modes/interactive/components/queue-manager-selector.d.ts +60 -0
  409. package/dist/modes/interactive/components/queue-manager-selector.d.ts.map +1 -0
  410. package/dist/modes/interactive/components/queue-manager-selector.js +166 -0
  411. package/dist/modes/interactive/components/queue-manager-selector.js.map +1 -0
  412. package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -1
  413. package/dist/modes/interactive/components/scoped-models-selector.js +16 -14
  414. package/dist/modes/interactive/components/scoped-models-selector.js.map +1 -1
  415. package/dist/modes/interactive/components/session-selector.d.ts.map +1 -1
  416. package/dist/modes/interactive/components/session-selector.js +43 -31
  417. package/dist/modes/interactive/components/session-selector.js.map +1 -1
  418. package/dist/modes/interactive/components/settings-selector.d.ts +4 -6
  419. package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
  420. package/dist/modes/interactive/components/settings-selector.js +115 -120
  421. package/dist/modes/interactive/components/settings-selector.js.map +1 -1
  422. package/dist/modes/interactive/components/settings-submenu.d.ts.map +1 -1
  423. package/dist/modes/interactive/components/settings-submenu.js +5 -4
  424. package/dist/modes/interactive/components/settings-submenu.js.map +1 -1
  425. package/dist/modes/interactive/components/show-images-selector.d.ts.map +1 -1
  426. package/dist/modes/interactive/components/show-images-selector.js +3 -2
  427. package/dist/modes/interactive/components/show-images-selector.js.map +1 -1
  428. package/dist/modes/interactive/components/skill-invocation-message.d.ts.map +1 -1
  429. package/dist/modes/interactive/components/skill-invocation-message.js +4 -3
  430. package/dist/modes/interactive/components/skill-invocation-message.js.map +1 -1
  431. package/dist/modes/interactive/components/status-indicator.d.ts.map +1 -1
  432. package/dist/modes/interactive/components/status-indicator.js +14 -5
  433. package/dist/modes/interactive/components/status-indicator.js.map +1 -1
  434. package/dist/modes/interactive/components/theme-selector.d.ts.map +1 -1
  435. package/dist/modes/interactive/components/theme-selector.js +2 -1
  436. package/dist/modes/interactive/components/theme-selector.js.map +1 -1
  437. package/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -1
  438. package/dist/modes/interactive/components/thinking-selector.js +11 -4
  439. package/dist/modes/interactive/components/thinking-selector.js.map +1 -1
  440. package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
  441. package/dist/modes/interactive/components/tool-execution.js +8 -3
  442. package/dist/modes/interactive/components/tool-execution.js.map +1 -1
  443. package/dist/modes/interactive/components/tree-list.d.ts.map +1 -1
  444. package/dist/modes/interactive/components/tree-list.js +7 -6
  445. package/dist/modes/interactive/components/tree-list.js.map +1 -1
  446. package/dist/modes/interactive/components/tree-render.d.ts.map +1 -1
  447. package/dist/modes/interactive/components/tree-render.js +28 -23
  448. package/dist/modes/interactive/components/tree-render.js.map +1 -1
  449. package/dist/modes/interactive/components/tree-selector.d.ts.map +1 -1
  450. package/dist/modes/interactive/components/tree-selector.js +9 -7
  451. package/dist/modes/interactive/components/tree-selector.js.map +1 -1
  452. package/dist/modes/interactive/components/user-message-selector.d.ts.map +1 -1
  453. package/dist/modes/interactive/components/user-message-selector.js +5 -4
  454. package/dist/modes/interactive/components/user-message-selector.js.map +1 -1
  455. package/dist/modes/interactive/components/workflow-view.d.ts.map +1 -1
  456. package/dist/modes/interactive/components/workflow-view.js +36 -21
  457. package/dist/modes/interactive/components/workflow-view.js.map +1 -1
  458. package/dist/modes/interactive/external-editor.d.ts.map +1 -1
  459. package/dist/modes/interactive/external-editor.js +2 -1
  460. package/dist/modes/interactive/external-editor.js.map +1 -1
  461. package/dist/modes/interactive/interactive-auth.d.ts.map +1 -1
  462. package/dist/modes/interactive/interactive-auth.js +71 -40
  463. package/dist/modes/interactive/interactive-auth.js.map +1 -1
  464. package/dist/modes/interactive/interactive-commands.d.ts +1 -0
  465. package/dist/modes/interactive/interactive-commands.d.ts.map +1 -1
  466. package/dist/modes/interactive/interactive-commands.js +3 -0
  467. package/dist/modes/interactive/interactive-commands.js.map +1 -1
  468. package/dist/modes/interactive/interactive-dialog-ui.d.ts.map +1 -1
  469. package/dist/modes/interactive/interactive-dialog-ui.js +5 -5
  470. package/dist/modes/interactive/interactive-dialog-ui.js.map +1 -1
  471. package/dist/modes/interactive/interactive-format.d.ts.map +1 -1
  472. package/dist/modes/interactive/interactive-format.js +34 -18
  473. package/dist/modes/interactive/interactive-format.js.map +1 -1
  474. package/dist/modes/interactive/interactive-helpers.d.ts.map +1 -1
  475. package/dist/modes/interactive/interactive-helpers.js +7 -2
  476. package/dist/modes/interactive/interactive-helpers.js.map +1 -1
  477. package/dist/modes/interactive/interactive-mode.d.ts +4 -2
  478. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  479. package/dist/modes/interactive/interactive-mode.js +350 -279
  480. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  481. package/dist/modes/interactive/interactive-selectors.d.ts +9 -0
  482. package/dist/modes/interactive/interactive-selectors.d.ts.map +1 -1
  483. package/dist/modes/interactive/interactive-selectors.js +79 -25
  484. package/dist/modes/interactive/interactive-selectors.js.map +1 -1
  485. package/dist/modes/interactive/theme/theme-controller.d.ts.map +1 -1
  486. package/dist/modes/interactive/theme/theme-controller.js +5 -1
  487. package/dist/modes/interactive/theme/theme-controller.js.map +1 -1
  488. package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
  489. package/dist/modes/interactive/theme/theme.js +26 -23
  490. package/dist/modes/interactive/theme/theme.js.map +1 -1
  491. package/dist/modes/json-event.d.ts.map +1 -1
  492. package/dist/modes/json-event.js +3 -2
  493. package/dist/modes/json-event.js.map +1 -1
  494. package/dist/modes/print-mode.d.ts.map +1 -1
  495. package/dist/modes/print-mode.js +3 -2
  496. package/dist/modes/print-mode.js.map +1 -1
  497. package/dist/modes/rpc/rpc-client.d.ts +0 -8
  498. package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
  499. package/dist/modes/rpc/rpc-client.js +3 -14
  500. package/dist/modes/rpc/rpc-client.js.map +1 -1
  501. package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
  502. package/dist/modes/rpc/rpc-mode.js +0 -9
  503. package/dist/modes/rpc/rpc-mode.js.map +1 -1
  504. package/dist/modes/rpc/rpc-types.d.ts +0 -19
  505. package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
  506. package/dist/modes/rpc/rpc-types.js.map +1 -1
  507. package/dist/package-manager-cli.d.ts.map +1 -1
  508. package/dist/package-manager-cli.js +28 -13
  509. package/dist/package-manager-cli.js.map +1 -1
  510. package/dist/plugins/ecosystem/catalog.d.ts.map +1 -1
  511. package/dist/plugins/ecosystem/catalog.js +3 -2
  512. package/dist/plugins/ecosystem/catalog.js.map +1 -1
  513. package/dist/plugins/ecosystem/cli.d.ts.map +1 -1
  514. package/dist/plugins/ecosystem/cli.js +2 -1
  515. package/dist/plugins/ecosystem/cli.js.map +1 -1
  516. package/dist/plugins/ecosystem/default-plugin-market.d.ts.map +1 -1
  517. package/dist/plugins/ecosystem/default-plugin-market.js +3 -2
  518. package/dist/plugins/ecosystem/default-plugin-market.js.map +1 -1
  519. package/dist/plugins/ecosystem/distribution.d.ts.map +1 -1
  520. package/dist/plugins/ecosystem/distribution.js +2 -1
  521. package/dist/plugins/ecosystem/distribution.js.map +1 -1
  522. package/dist/plugins/ecosystem/installer.d.ts.map +1 -1
  523. package/dist/plugins/ecosystem/installer.js +3 -2
  524. package/dist/plugins/ecosystem/installer.js.map +1 -1
  525. package/dist/plugins/ecosystem/node-disk-registry-source.d.ts.map +1 -1
  526. package/dist/plugins/ecosystem/node-disk-registry-source.js +20 -17
  527. package/dist/plugins/ecosystem/node-disk-registry-source.js.map +1 -1
  528. package/dist/plugins/ecosystem/node-distribution-host.d.ts.map +1 -1
  529. package/dist/plugins/ecosystem/node-distribution-host.js +35 -34
  530. package/dist/plugins/ecosystem/node-distribution-host.js.map +1 -1
  531. package/dist/plugins/ecosystem/node-npm-registry-source.d.ts.map +1 -1
  532. package/dist/plugins/ecosystem/node-npm-registry-source.js +35 -34
  533. package/dist/plugins/ecosystem/node-npm-registry-source.js.map +1 -1
  534. package/dist/plugins/ecosystem/node-package-install-host.d.ts.map +1 -1
  535. package/dist/plugins/ecosystem/node-package-install-host.js +9 -8
  536. package/dist/plugins/ecosystem/node-package-install-host.js.map +1 -1
  537. package/dist/plugins/ecosystem/node-package-install-persistence.d.ts.map +1 -1
  538. package/dist/plugins/ecosystem/node-package-install-persistence.js +4 -3
  539. package/dist/plugins/ecosystem/node-package-install-persistence.js.map +1 -1
  540. package/dist/plugins/ecosystem/node-plugin-bootstrap.d.ts +9 -2
  541. package/dist/plugins/ecosystem/node-plugin-bootstrap.d.ts.map +1 -1
  542. package/dist/plugins/ecosystem/node-plugin-bootstrap.js +44 -5
  543. package/dist/plugins/ecosystem/node-plugin-bootstrap.js.map +1 -1
  544. package/dist/plugins/ecosystem/node-plugin-trust-root.d.ts.map +1 -1
  545. package/dist/plugins/ecosystem/node-plugin-trust-root.js +10 -9
  546. package/dist/plugins/ecosystem/node-plugin-trust-root.js.map +1 -1
  547. package/dist/plugins/ecosystem/node-registry-source.d.ts.map +1 -1
  548. package/dist/plugins/ecosystem/node-registry-source.js +31 -30
  549. package/dist/plugins/ecosystem/node-registry-source.js.map +1 -1
  550. package/dist/plugins/ecosystem/node-release-package-source.d.ts.map +1 -1
  551. package/dist/plugins/ecosystem/node-release-package-source.js +30 -29
  552. package/dist/plugins/ecosystem/node-release-package-source.js.map +1 -1
  553. package/dist/plugins/ecosystem/node-tar-writer.d.ts.map +1 -1
  554. package/dist/plugins/ecosystem/node-tar-writer.js +11 -10
  555. package/dist/plugins/ecosystem/node-tar-writer.js.map +1 -1
  556. package/dist/plugins/ecosystem/node-url-package-source.d.ts.map +1 -1
  557. package/dist/plugins/ecosystem/node-url-package-source.js +21 -20
  558. package/dist/plugins/ecosystem/node-url-package-source.js.map +1 -1
  559. package/dist/plugins/ecosystem/plugin-acquisition.d.ts.map +1 -1
  560. package/dist/plugins/ecosystem/plugin-acquisition.js +3 -2
  561. package/dist/plugins/ecosystem/plugin-acquisition.js.map +1 -1
  562. package/dist/plugins/ecosystem/plugin-bootstrap.d.ts +9 -1
  563. package/dist/plugins/ecosystem/plugin-bootstrap.d.ts.map +1 -1
  564. package/dist/plugins/ecosystem/plugin-bootstrap.js +5 -0
  565. package/dist/plugins/ecosystem/plugin-bootstrap.js.map +1 -1
  566. package/dist/plugins/ecosystem/registry-cli-adapter.d.ts.map +1 -1
  567. package/dist/plugins/ecosystem/registry-cli-adapter.js +2 -1
  568. package/dist/plugins/ecosystem/registry-cli-adapter.js.map +1 -1
  569. package/dist/plugins/ecosystem/registry.d.ts.map +1 -1
  570. package/dist/plugins/ecosystem/registry.js +35 -32
  571. package/dist/plugins/ecosystem/registry.js.map +1 -1
  572. package/dist/plugins/ecosystem/resolver.d.ts.map +1 -1
  573. package/dist/plugins/ecosystem/resolver.js +3 -2
  574. package/dist/plugins/ecosystem/resolver.js.map +1 -1
  575. package/dist/plugins/ecosystem/selection-store.d.ts.map +1 -1
  576. package/dist/plugins/ecosystem/selection-store.js +11 -10
  577. package/dist/plugins/ecosystem/selection-store.js.map +1 -1
  578. package/dist/plugins/ecosystem/selection.d.ts.map +1 -1
  579. package/dist/plugins/ecosystem/selection.js +8 -7
  580. package/dist/plugins/ecosystem/selection.js.map +1 -1
  581. package/dist/plugins/ecosystem/state.d.ts.map +1 -1
  582. package/dist/plugins/ecosystem/state.js +24 -23
  583. package/dist/plugins/ecosystem/state.js.map +1 -1
  584. package/dist/plugins/ecosystem/updates.d.ts.map +1 -1
  585. package/dist/plugins/ecosystem/updates.js +5 -4
  586. package/dist/plugins/ecosystem/updates.js.map +1 -1
  587. package/dist/plugins/mcp-http.d.ts +0 -17
  588. package/dist/plugins/mcp-http.d.ts.map +1 -1
  589. package/dist/plugins/mcp-http.js +30 -7
  590. package/dist/plugins/mcp-http.js.map +1 -1
  591. package/dist/plugins/plugin-supervisor.d.ts.map +1 -1
  592. package/dist/plugins/plugin-supervisor.js +19 -1
  593. package/dist/plugins/plugin-supervisor.js.map +1 -1
  594. package/dist/profile/first-roles.d.ts.map +1 -1
  595. package/dist/profile/first-roles.js +10 -1
  596. package/dist/profile/first-roles.js.map +1 -1
  597. package/dist/profile/goal-plugin.d.ts.map +1 -1
  598. package/dist/profile/goal-plugin.js +24 -5
  599. package/dist/profile/goal-plugin.js.map +1 -1
  600. package/dist/profile/identity.d.ts.map +1 -1
  601. package/dist/profile/identity.js +7 -6
  602. package/dist/profile/identity.js.map +1 -1
  603. package/dist/profile/lock.d.ts.map +1 -1
  604. package/dist/profile/lock.js +15 -1
  605. package/dist/profile/lock.js.map +1 -1
  606. package/dist/profile/plan-plugin.d.ts.map +1 -1
  607. package/dist/profile/plan-plugin.js +26 -13
  608. package/dist/profile/plan-plugin.js.map +1 -1
  609. package/dist/profile/plugin-profiles.d.ts.map +1 -1
  610. package/dist/profile/plugin-profiles.js +2 -1
  611. package/dist/profile/plugin-profiles.js.map +1 -1
  612. package/dist/profile/policy-manifest.d.ts.map +1 -1
  613. package/dist/profile/policy-manifest.js +5 -4
  614. package/dist/profile/policy-manifest.js.map +1 -1
  615. package/dist/profile/profile-registry.d.ts +0 -12
  616. package/dist/profile/profile-registry.d.ts.map +1 -1
  617. package/dist/profile/profile-registry.js +14 -1
  618. package/dist/profile/profile-registry.js.map +1 -1
  619. package/dist/profile/role-catalog.d.ts +0 -1
  620. package/dist/profile/role-catalog.d.ts.map +1 -1
  621. package/dist/profile/role-catalog.js +17 -15
  622. package/dist/profile/role-catalog.js.map +1 -1
  623. package/dist/profile/role-orchestrator.d.ts.map +1 -1
  624. package/dist/profile/role-orchestrator.js +8 -7
  625. package/dist/profile/role-orchestrator.js.map +1 -1
  626. package/dist/profile/role-runner.d.ts.map +1 -1
  627. package/dist/profile/role-runner.js +3 -2
  628. package/dist/profile/role-runner.js.map +1 -1
  629. package/dist/profile/root-facade.d.ts.map +1 -1
  630. package/dist/profile/root-facade.js +2 -1
  631. package/dist/profile/root-facade.js.map +1 -1
  632. package/dist/profile/skill-discovery-wiring.d.ts.map +1 -1
  633. package/dist/profile/skill-discovery-wiring.js +7 -2
  634. package/dist/profile/skill-discovery-wiring.js.map +1 -1
  635. package/dist/profile/state-store.d.ts.map +1 -1
  636. package/dist/profile/state-store.js +13 -9
  637. package/dist/profile/state-store.js.map +1 -1
  638. package/dist/profile/todo-plugin.d.ts.map +1 -1
  639. package/dist/profile/todo-plugin.js +9 -4
  640. package/dist/profile/todo-plugin.js.map +1 -1
  641. package/dist/profiles/builtin-suites.d.ts +13 -6
  642. package/dist/profiles/builtin-suites.d.ts.map +1 -1
  643. package/dist/profiles/builtin-suites.js +15 -6
  644. package/dist/profiles/builtin-suites.js.map +1 -1
  645. package/dist/profiles/suite-loader.d.ts +25 -1
  646. package/dist/profiles/suite-loader.d.ts.map +1 -1
  647. package/dist/profiles/suite-loader.js +34 -9
  648. package/dist/profiles/suite-loader.js.map +1 -1
  649. package/dist/remote/server-entry.d.ts.map +1 -1
  650. package/dist/remote/server-entry.js +3 -2
  651. package/dist/remote/server-entry.js.map +1 -1
  652. package/dist/remote/session-source.d.ts.map +1 -1
  653. package/dist/remote/session-source.js +8 -4
  654. package/dist/remote/session-source.js.map +1 -1
  655. package/dist/share/session-share.d.ts.map +1 -1
  656. package/dist/share/session-share.js +14 -2
  657. package/dist/share/session-share.js.map +1 -1
  658. package/dist/testing/plugin-testkit.d.ts.map +1 -1
  659. package/dist/testing/plugin-testkit.js +4 -3
  660. package/dist/testing/plugin-testkit.js.map +1 -1
  661. package/dist/testing/runtime-delivery-queue.d.ts.map +1 -1
  662. package/dist/testing/runtime-delivery-queue.js +2 -1
  663. package/dist/testing/runtime-delivery-queue.js.map +1 -1
  664. package/dist/testing/session-plugin-testkit.d.ts.map +1 -1
  665. package/dist/testing/session-plugin-testkit.js +10 -7
  666. package/dist/testing/session-plugin-testkit.js.map +1 -1
  667. package/dist/utils/ansi.d.ts.map +1 -1
  668. package/dist/utils/ansi.js +2 -1
  669. package/dist/utils/ansi.js.map +1 -1
  670. package/dist/utils/clipboard.d.ts.map +1 -1
  671. package/dist/utils/clipboard.js +7 -6
  672. package/dist/utils/clipboard.js.map +1 -1
  673. package/dist/utils/image-resize-worker.d.ts.map +1 -1
  674. package/dist/utils/image-resize-worker.js +3 -2
  675. package/dist/utils/image-resize-worker.js.map +1 -1
  676. package/dist/utils/photon.d.ts +2 -2
  677. package/dist/utils/photon.d.ts.map +1 -1
  678. package/dist/utils/photon.js +2 -2
  679. package/dist/utils/photon.js.map +1 -1
  680. package/dist/utils/shell.d.ts.map +1 -1
  681. package/dist/utils/shell.js +9 -8
  682. package/dist/utils/shell.js.map +1 -1
  683. package/dist/utils/tools-manager.d.ts.map +1 -1
  684. package/dist/utils/tools-manager.js +23 -13
  685. package/dist/utils/tools-manager.js.map +1 -1
  686. package/dist/utils/version-check.d.ts.map +1 -1
  687. package/dist/utils/version-check.js +5 -1
  688. package/dist/utils/version-check.js.map +1 -1
  689. package/docs/compaction.md +1 -3
  690. package/docs/docs.json +4 -0
  691. package/docs/index.md +1 -0
  692. package/docs/keybindings.md +3 -0
  693. package/docs/mcp.md +103 -0
  694. package/docs/models.md +14 -22
  695. package/docs/providers.md +0 -1
  696. package/docs/quickstart.md +1 -1
  697. package/docs/rpc.md +1 -26
  698. package/docs/sdk.md +4 -6
  699. package/docs/settings.md +10 -12
  700. package/docs/skills.md +1 -9
  701. package/docs/terminal-setup.md +2 -3
  702. package/docs/usage.md +7 -6
  703. package/examples/extensions/with-deps/package-lock.json +2 -2
  704. package/examples/extensions/with-deps/package.json +1 -1
  705. package/examples/extensions/with-deps/plugin.json +1 -1
  706. package/examples/sdk/10-settings.ts +2 -4
  707. package/examples/sdk/12-full-control.ts +1 -2
  708. package/package.json +1 -3
  709. package/dist/bundle/chunks/chunk-EALJ5DDX.js +0 -1452
  710. package/dist/core/extensions/microcompact.d.ts +0 -80
  711. package/dist/core/extensions/microcompact.d.ts.map +0 -1
  712. package/dist/core/extensions/microcompact.js +0 -134
  713. package/dist/core/extensions/microcompact.js.map +0 -1
  714. package/dist/server/create-harness.d.ts +0 -26
  715. package/dist/server/create-harness.d.ts.map +0 -1
  716. package/dist/server/create-harness.js +0 -106
  717. package/dist/server/create-harness.js.map +0 -1
package/dist/main.js CHANGED
@@ -29,6 +29,7 @@ import { formatNoModelsAvailableMessage } from "./core/auth-guidance.js";
29
29
  import { AuthStorage, ReadOnlyAuthStorage } from "./core/auth-storage.js";
30
30
  import { exportFromFile } from "./core/export-html/index.js";
31
31
  import { applyHttpProxySettings, configureHttpDispatcher } from "./core/http-dispatcher.js";
32
+ import { setI18nLanguage, t } from "./core/i18n/index.js";
32
33
  import { createHostLogger } from "./core/logger.js";
33
34
  import { resolveCliModel, resolveModelScope } from "./core/model-resolver.js";
34
35
  import { ModelRuntime } from "./core/model-runtime.js";
@@ -135,8 +136,12 @@ function filterAcknowledgedSuiteNotices(diagnostics, settingsManager) {
135
136
  function reportDiagnostics(diagnostics) {
136
137
  for (const diagnostic of diagnostics) {
137
138
  const color = diagnostic.type === "error" ? chalk.red : diagnostic.type === "warning" ? chalk.yellow : chalk.dim;
138
- const prefix = diagnostic.type === "error" ? "Error: " : diagnostic.type === "warning" ? "Warning: " : "";
139
- console.error(color(`${prefix}${diagnostic.message}`));
139
+ const message = diagnostic.type === "error"
140
+ ? t("Error: {message}", { message: diagnostic.message })
141
+ : diagnostic.type === "warning"
142
+ ? t("Warning: {message}", { message: diagnostic.message })
143
+ : diagnostic.message;
144
+ console.error(color(message));
140
145
  }
141
146
  }
142
147
  function isTruthyEnvFlag(value) {
@@ -177,8 +182,8 @@ async function runAuthCommand(args) {
177
182
  command = parseAuthCommand(args);
178
183
  }
179
184
  catch (error) {
180
- const message = error instanceof AuthCommandError ? error.message : "Failed to parse auth command";
181
- console.error(chalk.red(`Error: ${message}`));
185
+ const message = error instanceof AuthCommandError ? error.message : t("Failed to parse auth command");
186
+ console.error(chalk.red(t("Error: {message}", { message })));
182
187
  process.exitCode = 1;
183
188
  return true;
184
189
  }
@@ -191,10 +196,13 @@ async function runAuthCommand(args) {
191
196
  const unknownLongOptions = parsed.diagnostics.filter((diagnostic) => diagnostic.message.startsWith("Unknown option: --"));
192
197
  if (unknownLongOptions.length > 0) {
193
198
  for (const diagnostic of unknownLongOptions) {
194
- console.error(chalk.red(`Error: ${diagnostic.message}`));
199
+ console.error(chalk.red(t("Error: {message}", { message: diagnostic.message })));
195
200
  }
196
- console.error(chalk.red(`Invalid arguments for "${getAuthCommandName(command.kind)}".`));
197
- console.error(chalk.dim(`Use "${APP_NAME} --help" or "${getAuthCommandUsage(command.kind)}".`));
201
+ console.error(chalk.red(t('Invalid arguments for "{command}".', { command: getAuthCommandName(command.kind) })));
202
+ console.error(chalk.dim(t('Use "{help}" or "{usage}".', {
203
+ help: `${APP_NAME} --help`,
204
+ usage: getAuthCommandUsage(command.kind),
205
+ })));
198
206
  process.exitCode = 1;
199
207
  return true;
200
208
  }
@@ -239,8 +247,8 @@ async function runAuthCommand(args) {
239
247
  process.exitCode = result.status === "ready" ? 0 : result.status === "not_ready" ? 1 : 2;
240
248
  }
241
249
  catch (error) {
242
- const message = error instanceof AuthCommandError ? error.message : "Failed to resolve credential";
243
- console.error(chalk.red(`Error: ${message}`));
250
+ const message = error instanceof AuthCommandError ? error.message : t("Failed to resolve credential");
251
+ console.error(chalk.red(t("Error: {message}", { message })));
244
252
  process.exitCode = command.kind === "check" ? 2 : 1;
245
253
  }
246
254
  return true;
@@ -276,7 +284,7 @@ async function promptConfirm(message) {
276
284
  }
277
285
  function printSuiteLifecycleError(error) {
278
286
  const message = error instanceof Error ? error.message : String(error);
279
- console.error(chalk.red(`Error: ${message}`));
287
+ console.error(chalk.red(t("Error: {message}", { message })));
280
288
  }
281
289
  function suiteWorkspaceExists(agentDir, id) {
282
290
  return existsSync(join(getSuiteWorkspaceDir(agentDir, id), SUITE_MANIFEST_FILENAME));
@@ -295,7 +303,7 @@ async function handleSuiteLifecycleCommands(parsed, cwd, agentDir) {
295
303
  id: parsed.suiteCreate,
296
304
  ...(parsed.cloneFrom === undefined ? {} : { cloneFrom: parsed.cloneFrom }),
297
305
  });
298
- console.log(`Created suite "${result.suiteId}" at ${result.suiteDir}`);
306
+ console.log(t('Created suite "{id}" at {dir}', { id: result.suiteId, dir: result.suiteDir }));
299
307
  }
300
308
  catch (error) {
301
309
  printSuiteLifecycleError(error);
@@ -304,7 +312,7 @@ async function handleSuiteLifecycleCommands(parsed, cwd, agentDir) {
304
312
  process.exit(0);
305
313
  }
306
314
  if (parsed.cloneFrom !== undefined) {
307
- console.error(chalk.red("Error: --clone-from requires --suite-create"));
315
+ console.error(chalk.red(t("Error: --clone-from requires --suite-create")));
308
316
  process.exit(1);
309
317
  }
310
318
  if (parsed.suiteDelete !== undefined) {
@@ -319,30 +327,39 @@ async function handleSuiteLifecycleCommands(parsed, cwd, agentDir) {
319
327
  }
320
328
  const refs = findSuiteSessionRefs(agentDir, id);
321
329
  if (refs.length > 0) {
322
- console.error(chalk.red(`Error: suite "${id}" is referenced by ${refs.length} existing session(s); deletion refused:`));
330
+ console.error(chalk.red(t('Error: suite "{id}" is referenced by {count} existing session(s); deletion refused:', {
331
+ id,
332
+ count: refs.length,
333
+ })));
323
334
  for (const ref of refs) {
324
335
  console.error(` ${ref.sessionId} ${ref.path}`);
325
336
  }
326
337
  process.exit(1);
327
338
  }
328
339
  const suiteDir = getSuiteWorkspaceDir(agentDir, id);
329
- console.log(`Deleting suite "${id}": the workspace directory ${suiteDir} will be moved to the trash and released.`);
340
+ console.log(t('Deleting suite "{id}": the workspace directory {dir} will be moved to the trash and released.', {
341
+ id,
342
+ dir: suiteDir,
343
+ }));
330
344
  if (!process.stdin.isTTY) {
331
- console.error(chalk.red(`Refusing to delete suite "${id}" without an interactive confirmation (non-interactive stdin). Re-run in a terminal to confirm.`));
345
+ console.error(chalk.red(t('Refusing to delete suite "{id}" without an interactive confirmation (non-interactive stdin). Re-run in a terminal to confirm.', { id })));
332
346
  process.exit(1);
333
347
  }
334
- if (!(await promptConfirm(`Delete suite "${id}"?`))) {
335
- console.log(`Aborted: suite "${id}" was not deleted.`);
348
+ if (!(await promptConfirm(t('Delete suite "{id}"?', { id })))) {
349
+ console.log(t('Aborted: suite "{id}" was not deleted.', { id }));
336
350
  process.exit(1);
337
351
  }
338
352
  try {
339
353
  const result = deleteSuite({ agentDir, id, refs });
340
354
  const cleanup = clearDanglingSuiteSettings(SettingsManager.create(cwd, agentDir), id);
341
355
  for (const scope of cleanup.clearedScopes) {
342
- console.log(`Cleared the ${scope} settings "suite" key (pointed at "${id}").`);
356
+ console.log(t('Cleared the {scope} settings "suite" key (pointed at "{id}").', { scope, id }));
343
357
  }
344
358
  releaseTrashedSuite(result.trashPath);
345
- console.log(`Deleted suite "${id}"; the workspace was moved to ${result.trashPath} and is being released.`);
359
+ console.log(t('Deleted suite "{id}"; the workspace was moved to {trashPath} and is being released.', {
360
+ id,
361
+ trashPath: result.trashPath,
362
+ }));
346
363
  }
347
364
  catch (error) {
348
365
  printSuiteLifecycleError(error);
@@ -354,29 +371,34 @@ async function handleSuiteLifecycleCommands(parsed, cwd, agentDir) {
354
371
  const id = parsed.suiteReset;
355
372
  if (!isBuiltinSuiteId(id)) {
356
373
  const message = listSuiteIds(agentDir).includes(id)
357
- ? `Suite "${id}" is a user suite; only builtin suites can be reset — use --suite-delete instead.`
374
+ ? t('Suite "{id}" is a user suite; only builtin suites can be reset — use --suite-delete instead.', {
375
+ id,
376
+ })
358
377
  : new SuiteResolutionError(id, listSuiteIds(agentDir)).message;
359
- console.error(chalk.red(`Error: ${message}`));
378
+ console.error(chalk.red(t("Error: {message}", { message })));
360
379
  process.exit(1);
361
380
  }
362
381
  try {
363
382
  const plan = resetSuite({ agentDir, id });
364
383
  if (plan.diffText.length === 0) {
365
- console.log(`Suite "${id}" already matches the factory contents; nothing to reset.`);
384
+ console.log(t('Suite "{id}" already matches the factory contents; nothing to reset.', { id }));
366
385
  process.exit(0);
367
386
  }
368
- console.log(`Resetting builtin suite "${id}" to the factory contents:\n`);
387
+ console.log(`${t('Resetting builtin suite "{id}" to the factory contents:', { id })}\n`);
369
388
  console.log(plan.diffText);
370
389
  if (!process.stdin.isTTY) {
371
- console.error(chalk.red(`Refusing to reset suite "${id}" without an interactive confirmation (non-interactive stdin). Review the diff above and re-run in a terminal to confirm.`));
390
+ console.error(chalk.red(t('Refusing to reset suite "{id}" without an interactive confirmation (non-interactive stdin). Review the diff above and re-run in a terminal to confirm.', { id })));
372
391
  process.exit(1);
373
392
  }
374
- if (!(await promptConfirm(`Apply reset of suite "${id}"?`))) {
375
- console.log(`Aborted: suite "${id}" was not reset.`);
393
+ if (!(await promptConfirm(t('Apply reset of suite "{id}"?', { id })))) {
394
+ console.log(t('Aborted: suite "{id}" was not reset.', { id }));
376
395
  process.exit(1);
377
396
  }
378
397
  const result = plan.apply();
379
- console.log(`Suite "${id}" was reset to the factory contents (profile lock generation ${result.lock.generation}).`);
398
+ console.log(t('Suite "{id}" was reset to the factory contents (profile lock generation {generation}).', {
399
+ id,
400
+ generation: result.lock.generation,
401
+ }));
380
402
  }
381
403
  catch (error) {
382
404
  printSuiteLifecycleError(error);
@@ -395,7 +417,7 @@ function validateForkFlags(parsed) {
395
417
  parsed.noSession ? "--no-session" : undefined,
396
418
  ].filter((flag) => flag !== undefined);
397
419
  if (conflictingFlags.length > 0) {
398
- console.error(chalk.red(`Error: --fork cannot be combined with ${conflictingFlags.join(", ")}`));
420
+ console.error(chalk.red(t("Error: --fork cannot be combined with {flags}", { flags: conflictingFlags.join(", ") })));
399
421
  process.exit(1);
400
422
  }
401
423
  }
@@ -408,7 +430,7 @@ function validateSessionIdFlags(parsed) {
408
430
  parsed.resume ? "--resume" : undefined,
409
431
  ].filter((flag) => flag !== undefined);
410
432
  if (conflictingFlags.length > 0) {
411
- console.error(chalk.red(`Error: --session-id cannot be combined with ${conflictingFlags.join(", ")}. To resume that exact session, drop the other flags and use --session-id alone (or use --continue to resume the most recent session).`));
433
+ console.error(chalk.red(t("Error: --session-id cannot be combined with {flags}. To resume that exact session, drop the other flags and use --session-id alone (or use --continue to resume the most recent session).", { flags: conflictingFlags.join(", ") })));
412
434
  process.exit(1);
413
435
  }
414
436
  try {
@@ -416,7 +438,7 @@ function validateSessionIdFlags(parsed) {
416
438
  }
417
439
  catch (error) {
418
440
  const message = error instanceof Error ? error.message : String(error);
419
- console.error(chalk.red(`Error: ${message}`));
441
+ console.error(chalk.red(t("Error: {message}", { message })));
420
442
  process.exit(1);
421
443
  }
422
444
  }
@@ -426,7 +448,7 @@ function openSessionOrExit(path, sessionDir) {
426
448
  }
427
449
  catch (error) {
428
450
  const message = error instanceof Error ? error.message : String(error);
429
- console.error(chalk.red(`Error: ${message}`));
451
+ console.error(chalk.red(t("Error: {message}", { message })));
430
452
  process.exit(1);
431
453
  }
432
454
  }
@@ -436,7 +458,7 @@ function forkSessionOrExit(sourcePath, cwd, sessionDir, sessionId) {
436
458
  }
437
459
  catch (error) {
438
460
  const message = error instanceof Error ? error.message : String(error);
439
- console.error(chalk.red(`Error: ${message}`));
461
+ console.error(chalk.red(t("Error: {message}", { message })));
440
462
  process.exit(1);
441
463
  }
442
464
  }
@@ -448,7 +470,7 @@ export async function createSessionManager(parsed, cwd, sessionDir, settingsMana
448
470
  if (parsed.sessionId) {
449
471
  const existingTarget = findLocalSessionByExactId(parsed.sessionId, cwd, sessionDir);
450
472
  if (existingTarget) {
451
- console.error(chalk.red(`Session already exists with id '${parsed.sessionId}'`));
473
+ console.error(chalk.red(t("Session already exists with id '{sessionId}'", { sessionId: parsed.sessionId })));
452
474
  process.exit(1);
453
475
  }
454
476
  }
@@ -459,7 +481,7 @@ export async function createSessionManager(parsed, cwd, sessionDir, settingsMana
459
481
  case "global":
460
482
  return forkSessionOrExit(resolved.path, cwd, sessionDir, parsed.sessionId);
461
483
  case "not_found":
462
- console.error(chalk.red(`No session found matching '${resolved.arg}'`));
484
+ console.error(chalk.red(t("No session found matching '{arg}'", { arg: resolved.arg })));
463
485
  process.exit(1);
464
486
  }
465
487
  }
@@ -470,16 +492,16 @@ export async function createSessionManager(parsed, cwd, sessionDir, settingsMana
470
492
  case "local":
471
493
  return openSessionOrExit(resolved.path, sessionDir);
472
494
  case "global": {
473
- console.log(chalk.yellow(`Session found in different project: ${resolved.cwd}`));
474
- const shouldFork = await promptConfirm("Fork this session into current directory?");
495
+ console.log(chalk.yellow(t("Session found in different project: {cwd}", { cwd: resolved.cwd })));
496
+ const shouldFork = await promptConfirm(t("Fork this session into current directory?"));
475
497
  if (!shouldFork) {
476
- console.log(chalk.dim("Aborted."));
498
+ console.log(chalk.dim(t("Aborted.")));
477
499
  process.exit(0);
478
500
  }
479
501
  return forkSessionOrExit(resolved.path, cwd, sessionDir);
480
502
  }
481
503
  case "not_found":
482
- console.error(chalk.red(`No session found matching '${resolved.arg}'`));
504
+ console.error(chalk.red(t("No session found matching '{arg}'", { arg: resolved.arg })));
483
505
  process.exit(1);
484
506
  }
485
507
  }
@@ -487,7 +509,7 @@ export async function createSessionManager(parsed, cwd, sessionDir, settingsMana
487
509
  try {
488
510
  const selectedPath = await selectSession((onProgress, signal) => SessionManager.list(cwd, sessionDir, onProgress, signal), (onProgress, signal) => SessionManager.listAll(sessionDir, onProgress, signal), settingsManager);
489
511
  if (!selectedPath) {
490
- console.log(chalk.dim("No session selected"));
512
+ console.log(chalk.dim(t("No session selected")));
491
513
  process.exit(0);
492
514
  }
493
515
  return SessionManager.open(selectedPath, sessionDir);
@@ -504,7 +526,9 @@ export async function createSessionManager(parsed, cwd, sessionDir, settingsMana
504
526
  if (existingSession) {
505
527
  return SessionManager.open(existingSession.path, sessionDir);
506
528
  }
507
- console.error(chalk.yellow(`Warning: No project session found with id '${parsed.sessionId}'; creating a new session with that id.`));
529
+ console.error(chalk.yellow(t("Warning: No project session found with id '{sessionId}'; creating a new session with that id.", {
530
+ sessionId: parsed.sessionId,
531
+ })));
508
532
  }
509
533
  return SessionManager.create(cwd, sessionDir, { id: parsed.sessionId });
510
534
  }
@@ -713,6 +737,7 @@ export async function main(args, options) {
713
737
  const cwd = process.cwd();
714
738
  const agentDir = getAgentDir();
715
739
  const bootstrapSettingsManager = SettingsManager.create(cwd, agentDir);
740
+ setI18nLanguage(bootstrapSettingsManager.getUiLanguage());
716
741
  applyHttpProxySettings(bootstrapSettingsManager.getGlobalSettings().httpProxy);
717
742
  configureHttpDispatcher();
718
743
  if (await handlePackageCommand(args)) {
@@ -744,7 +769,9 @@ export async function main(args, options) {
744
769
  if (parsed.diagnostics.length > 0) {
745
770
  for (const d of parsed.diagnostics) {
746
771
  const color = d.type === "error" ? chalk.red : chalk.yellow;
747
- console.error(color(`${d.type === "error" ? "Error" : "Warning"}: ${d.message}`));
772
+ console.error(color(d.type === "error"
773
+ ? t("Error: {message}", { message: d.message })
774
+ : t("Warning: {message}", { message: d.message })));
748
775
  }
749
776
  if (parsed.diagnostics.some((d) => d.type === "error")) {
750
777
  process.exit(1);
@@ -803,11 +830,11 @@ export async function main(args, options) {
803
830
  result = await exportFromFile(parsed.export, outputPath);
804
831
  }
805
832
  catch (error) {
806
- const message = error instanceof Error ? error.message : "Failed to export session";
807
- console.error(chalk.red(`Error: ${message}`));
833
+ const message = error instanceof Error ? error.message : t("Failed to export session");
834
+ console.error(chalk.red(t("Error: {message}", { message })));
808
835
  process.exit(1);
809
836
  }
810
- console.log(`Exported to: ${result}`);
837
+ console.log(t("Exported to: {result}", { result }));
811
838
  process.exit(0);
812
839
  }
813
840
  // Trace viewer (设计 §8 第 3 期): same exit-style dispatch as --export above,
@@ -828,7 +855,7 @@ export async function main(args, options) {
828
855
  ...(parsed.traceLimit === undefined ? {} : { limit: parsed.traceLimit }),
829
856
  });
830
857
  if (!result.ok) {
831
- console.error(chalk.red(`Error: ${result.message}`));
858
+ console.error(chalk.red(t("Error: {message}", { message: result.message ?? "Unknown error" })));
832
859
  process.exit(1);
833
860
  }
834
861
  process.exit(0);
@@ -875,7 +902,7 @@ export async function main(args, options) {
875
902
  parsed.cloneFrom ? "--clone-from" : undefined,
876
903
  ].filter((flag) => flag !== undefined);
877
904
  if (conflictingFlags.length > 0) {
878
- console.error(chalk.red(`Error: --serve cannot be combined with ${conflictingFlags.join(", ")}`));
905
+ console.error(chalk.red(t("Error: --serve cannot be combined with {flags}", { flags: conflictingFlags.join(", ") })));
879
906
  process.exit(1);
880
907
  }
881
908
  // Remaining options would be silently ignored; list the ones the user
@@ -912,7 +939,7 @@ export async function main(args, options) {
912
939
  ];
913
940
  const ignoredFlags = ignoredFlagChecks.flatMap(([flag, passed]) => (passed ? [flag] : []));
914
941
  if (ignoredFlags.length > 0) {
915
- console.warn(chalk.yellow(`--serve ignores session/model/tool options: ${ignoredFlags.join(", ")}`));
942
+ console.warn(chalk.yellow(t("--serve ignores session/model/tool options: {flags}", { flags: ignoredFlags.join(", ") })));
916
943
  }
917
944
  await runServeMode(parsed.serve, {
918
945
  ...(parsed.serveWorkspaceRoots === undefined ? {} : { workspaceRoots: parsed.serveWorkspaceRoots }),
@@ -940,7 +967,7 @@ export async function main(args, options) {
940
967
  takeOverStdout();
941
968
  }
942
969
  if (parsed.mode === "rpc" && parsed.fileArgs.length > 0) {
943
- console.error(chalk.red("Error: @file arguments are not supported in RPC mode"));
970
+ console.error(chalk.red(t("Error: @file arguments are not supported in RPC mode")));
944
971
  process.exit(1);
945
972
  }
946
973
  validateForkFlags(parsed);
@@ -986,7 +1013,7 @@ export async function main(args, options) {
986
1013
  if (parsed.name !== undefined) {
987
1014
  const name = normalizeSessionName(parsed.name);
988
1015
  if (name === undefined) {
989
- console.error(chalk.red("Error: --name requires a non-empty value"));
1016
+ console.error(chalk.red(t("Error: --name requires a non-empty value")));
990
1017
  process.exit(1);
991
1018
  }
992
1019
  sessionManager.appendSessionInfo(name);
@@ -1019,8 +1046,9 @@ export async function main(args, options) {
1019
1046
  };
1020
1047
  // 启动 bootstrap(设计 §4.4):在 suite/profile 解析之前,把出厂清单里缺失的
1021
1048
  // 第一方插件经 npm 装入安装店。每进程只跑一次(含本地幂等比对);出厂清单
1022
- // 当前为空,即零依赖调用的 no-op。bootstrap 自身异常兜底为诊断结果,绝不阻断
1023
- // 启动;AGENT_FORGE_PLUGIN_BOOTSTRAP=off 在接线层完全跳过。
1049
+ // 现有 9 项(以 bootstrap-factory-manifest.ts 为准),启动时装入其中缺失的
1050
+ // 出厂插件。bootstrap 自身异常兜底为诊断结果,绝不阻断启动;
1051
+ // AGENT_FORGE_PLUGIN_BOOTSTRAP=off 在接线层完全跳过。
1024
1052
  let startupPluginBootstrap;
1025
1053
  const runStartupPluginBootstrap = (bootstrapCwd) => {
1026
1054
  startupPluginBootstrap ??= runNodePluginBootstrapV1({ agentDir, cwd: bootstrapCwd }).catch((error) => ({
@@ -1045,7 +1073,7 @@ export async function main(args, options) {
1045
1073
  if (!parsed.noPlugins) {
1046
1074
  const bootstrapResult = await runStartupPluginBootstrap(cwd);
1047
1075
  for (const diagnostic of bootstrapResult.diagnostics) {
1048
- console.error(chalk.yellow(`Plugin bootstrap ${diagnostic.code}: ${diagnostic.message}`));
1076
+ console.error(chalk.yellow(t("Plugin bootstrap {code}: {message}", { code: diagnostic.code, message: diagnostic.message })));
1049
1077
  }
1050
1078
  }
1051
1079
  const resolveActivePluginBindings = options?.resolveActivePluginBindings ?? createDefaultActivePluginBindingsResolverV1();
@@ -1171,8 +1199,10 @@ export async function main(args, options) {
1171
1199
  const entry = scopedModels.find((candidate) => candidate.model.id === childModelId);
1172
1200
  if (entry === undefined) {
1173
1201
  const available = scopedModels.map((candidate) => candidate.model.id).sort();
1174
- throw new Error(`agent task child profile model ${JSON.stringify(childModelId)} is not among the runner's scoped models` +
1175
- (available.length === 0 ? " (none configured)" : `; available: ${available.join(", ")}`));
1202
+ throw new Error(t("agent task child profile model {model} is not among the runner's scoped models{available}", {
1203
+ model: JSON.stringify(childModelId),
1204
+ available: available.length === 0 ? " (none configured)" : `; available: ${available.join(", ")}`,
1205
+ }));
1176
1206
  }
1177
1207
  return entry.model;
1178
1208
  })();
@@ -1339,7 +1369,10 @@ export async function main(args, options) {
1339
1369
  if (resumeRead === undefined ||
1340
1370
  request.parentSessionId === undefined ||
1341
1371
  resumeRead.parentAgentSession !== request.parentSessionId) {
1342
- throw new Error(`resume target ${request.resumeSessionId} is not a persisted child of session ${String(request.parentSessionId)}`);
1372
+ throw new Error(t("resume target {resumeId} is not a persisted child of session {parentId}", {
1373
+ resumeId: request.resumeSessionId,
1374
+ parentId: String(request.parentSessionId),
1375
+ }));
1343
1376
  }
1344
1377
  }
1345
1378
  const resumeFilePath = resumeRead !== undefined && typeof request.resumeSessionId === "string"
@@ -1444,7 +1477,7 @@ export async function main(args, options) {
1444
1477
  // 已绑定会话换 suite / Profile 身份漂移(SuiteRebindError):用户可自行纠正的
1445
1478
  // 参数错误,干净的一行 stderr + 退出 1,不甩内部栈(dogfood 2026-09-25 实测)。
1446
1479
  if (error instanceof SuiteRebindError) {
1447
- console.error(chalk.red(`Error: ${error.message}`));
1480
+ console.error(chalk.red(t("Error: {message}", { message: error.message })));
1448
1481
  process.exit(1);
1449
1482
  }
1450
1483
  // Unknown --suite/env/settings suite ids are a structured startup error
@@ -1452,7 +1485,7 @@ export async function main(args, options) {
1452
1485
  if (!(error instanceof SuiteResolutionError))
1453
1486
  throw error;
1454
1487
  if (appMode !== "interactive") {
1455
- console.error(chalk.red(`Error: ${error.message}`));
1488
+ console.error(chalk.red(t("Error: {message}", { message: error.message })));
1456
1489
  process.exit(1);
1457
1490
  }
1458
1491
  // One in-process recovery attempt (设计 §9 startup selector): record the
@@ -1476,7 +1509,7 @@ export async function main(args, options) {
1476
1509
  }
1477
1510
  catch (retryError) {
1478
1511
  if (retryError instanceof SuiteResolutionError) {
1479
- console.error(chalk.red(`Error: ${retryError.message}`));
1512
+ console.error(chalk.red(t("Error: {message}", { message: retryError.message })));
1480
1513
  process.exit(1);
1481
1514
  }
1482
1515
  throw retryError;
@@ -1534,7 +1567,11 @@ export async function main(args, options) {
1534
1567
  // capability plugins get an explicit stderr note before the TUI takes over.
1535
1568
  if (appMode === "interactive") {
1536
1569
  for (const rejection of runtime.pluginRejections) {
1537
- console.error(chalk.yellow(`Warning: capability plugin rejected (${rejection.code}): ${rejection.pluginId ?? rejection.manifestPath}: ${rejection.message}`));
1570
+ console.error(chalk.yellow(t("Warning: capability plugin rejected ({code}): {target}: {message}", {
1571
+ code: rejection.code,
1572
+ target: rejection.pluginId ?? rejection.manifestPath,
1573
+ message: rejection.message,
1574
+ })));
1538
1575
  }
1539
1576
  }
1540
1577
  time("createAgentSession");
@@ -1549,7 +1586,7 @@ export async function main(args, options) {
1549
1586
  }
1550
1587
  const startupBenchmark = isTruthyEnvFlag(process.env.AGENT_FORGE_STARTUP_BENCHMARK);
1551
1588
  if (startupBenchmark && appMode !== "interactive") {
1552
- console.error(chalk.red("Error: AGENT_FORGE_STARTUP_BENCHMARK only supports interactive mode"));
1589
+ console.error(chalk.red(t("Error: AGENT_FORGE_STARTUP_BENCHMARK only supports interactive mode")));
1553
1590
  process.exit(1);
1554
1591
  }
1555
1592
  // RPC refreshes catalogs here in the background; interactive mode starts its refresh after TUI initialization.