@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
@@ -1,11 +1,13 @@
1
1
  import { getSupportedThinkingLevels } from "@agent-forge/ai";
2
2
  import { Container, getCapabilities, SettingsList, Spacer, Text, } from "@agent-forge/tui";
3
3
  import { formatHttpIdleTimeoutMs, HTTP_IDLE_TIMEOUT_CHOICES } from "../../../core/http-dispatcher.js";
4
+ import { t } from "../../../core/i18n/index.js";
4
5
  import { getSettingsListTheme, parseAutoThemeSetting, theme } from "../theme/theme.js";
5
6
  import { DynamicBorder } from "./dynamic-border.js";
6
7
  import { keyDisplayText } from "./keybinding-hints.js";
7
8
  import { SelectSubmenu, SteppedSubmenu } from "./settings-submenu.js";
8
9
  const MODEL_PICKER_LAYOUT = { minPrimaryColumnWidth: 12, maxPrimaryColumnWidth: 46 };
10
+ // i18n: 以函数查询而非模块级常量,保证语言切换后取到当前词典
9
11
  const THINKING_DESCRIPTIONS = {
10
12
  off: "No reasoning",
11
13
  minimal: "Very brief reasoning (~1k tokens)",
@@ -15,6 +17,9 @@ const THINKING_DESCRIPTIONS = {
15
17
  xhigh: "Extra-high reasoning (~32k tokens)",
16
18
  max: "Maximum reasoning",
17
19
  };
20
+ function thinkingDescription(level) {
21
+ return t(THINKING_DESCRIPTIONS[level]);
22
+ }
18
23
  /**
19
24
  * A submenu component for selecting from a list of options.
20
25
  */
@@ -27,8 +32,8 @@ class WarningSettingsSubmenu extends Container {
27
32
  const items = [
28
33
  {
29
34
  id: "anthropic-extra-usage",
30
- label: "Anthropic extra usage",
31
- description: "Warn when Anthropic subscription auth may use paid extra usage",
35
+ label: t("Anthropic extra usage"),
36
+ description: t("Warn when Anthropic subscription auth may use paid extra usage"),
32
37
  currentValue: (this.state.anthropicExtraUsage ?? true) ? "true" : "false",
33
38
  values: ["true", "false"],
34
39
  },
@@ -57,8 +62,8 @@ function modelDisplayLabel(model) {
57
62
  function modelThinkingOverridesSummary(overrides) {
58
63
  const count = Object.keys(overrides).length;
59
64
  if (count === 0)
60
- return "none";
61
- return `${count} configured`;
65
+ return t("none");
66
+ return t("{count} configured", { count });
62
67
  }
63
68
  function modelItemLabel(model) {
64
69
  return `${model.id} ${theme.fg("muted", `[${model.provider}]`)}`;
@@ -71,8 +76,8 @@ function singleModeThemeItems(availableThemes) {
71
76
  return [
72
77
  {
73
78
  value: AUTOMATIC_THEME_VALUE,
74
- label: "Automatic",
75
- description: "Use separate themes for light and dark terminal appearance",
79
+ label: t("Automatic"),
80
+ description: t("Use separate themes for light and dark terminal appearance"),
76
81
  },
77
82
  ...themeItems(availableThemes),
78
83
  ];
@@ -134,7 +139,7 @@ class ThemeSubmenu extends Container {
134
139
  }
135
140
  showSingleMenu() {
136
141
  this.mode = "single";
137
- const menu = new SelectSubmenu("Theme", "Select a theme, or choose Automatic to follow terminal appearance.", singleModeThemeItems(this.availableThemes), this.singleTheme, (value) => {
142
+ const menu = new SelectSubmenu(t("Theme"), t("Select a theme, or choose Automatic to follow terminal appearance."), singleModeThemeItems(this.availableThemes), this.singleTheme, (value) => {
138
143
  if (value === AUTOMATIC_THEME_VALUE) {
139
144
  this.mode = "automatic";
140
145
  this.callbacks.onThemePreview?.(this.getThemeSetting());
@@ -151,18 +156,18 @@ class ThemeSubmenu extends Container {
151
156
  showAutomaticMenu() {
152
157
  this.mode = "automatic";
153
158
  const content = new Container();
154
- content.addChild(new Text(theme.bold(theme.fg("accent", "Automatic Theme")), 0, 0));
159
+ content.addChild(new Text(theme.bold(theme.fg("accent", t("Automatic Theme"))), 0, 0));
155
160
  content.addChild(new Spacer(1));
156
- content.addChild(new Text(theme.fg("muted", "Choose themes for terminal light and dark appearance."), 0, 0));
157
- content.addChild(new Text(theme.fg("muted", "Light/dark detection requires terminal support."), 0, 0));
161
+ content.addChild(new Text(theme.fg("muted", t("Choose themes for terminal light and dark appearance.")), 0, 0));
162
+ content.addChild(new Text(theme.fg("muted", t("Light/dark detection requires terminal support.")), 0, 0));
158
163
  content.addChild(new Spacer(1));
159
164
  const items = [
160
165
  {
161
166
  id: "light-theme",
162
- label: "Light theme",
163
- description: "Theme to use in automatic mode when the terminal is light",
167
+ label: t("Light theme"),
168
+ description: t("Theme to use in automatic mode when the terminal is light"),
164
169
  currentValue: this.lightTheme,
165
- submenu: (currentValue, done) => this.createThemeSelect("Light Theme", "Select the theme to use for light terminal appearance", currentValue, done, (value) => {
170
+ submenu: (currentValue, done) => this.createThemeSelect(t("Light Theme"), t("Select the theme to use for light terminal appearance"), currentValue, done, (value) => {
166
171
  this.lightTheme = value;
167
172
  this.callbacks.onThemePreview?.(this.getThemeSetting());
168
173
  done(value);
@@ -170,10 +175,10 @@ class ThemeSubmenu extends Container {
170
175
  },
171
176
  {
172
177
  id: "dark-theme",
173
- label: "Dark theme",
174
- description: "Theme to use in automatic mode when the terminal is dark",
178
+ label: t("Dark theme"),
179
+ description: t("Theme to use in automatic mode when the terminal is dark"),
175
180
  currentValue: this.darkTheme,
176
- submenu: (currentValue, done) => this.createThemeSelect("Dark Theme", "Select the theme to use for dark terminal appearance", currentValue, done, (value) => {
181
+ submenu: (currentValue, done) => this.createThemeSelect(t("Dark Theme"), t("Select the theme to use for dark terminal appearance"), currentValue, done, (value) => {
177
182
  this.darkTheme = value;
178
183
  this.callbacks.onThemePreview?.(this.getThemeSetting());
179
184
  done(value);
@@ -181,17 +186,17 @@ class ThemeSubmenu extends Container {
181
186
  },
182
187
  {
183
188
  id: "apply",
184
- label: "Apply",
185
- description: "Save and go back",
186
- currentValue: "save and go back",
187
- values: ["save and go back"],
189
+ label: t("Apply"),
190
+ description: t("Save and go back"),
191
+ currentValue: t("save and go back"),
192
+ values: [t("save and go back")],
188
193
  },
189
194
  {
190
195
  id: "single-mode",
191
- label: "Change mode",
192
- description: "Switch to one theme for light and dark",
193
- currentValue: "switch to single theme",
194
- values: ["switch to single theme"],
196
+ label: t("Change mode"),
197
+ description: t("Switch to one theme for light and dark"),
198
+ currentValue: t("switch to single theme"),
199
+ values: [t("switch to single theme")],
195
200
  },
196
201
  ];
197
202
  const settingsList = new SettingsList(items, Math.min(items.length, 10), getSettingsListTheme(), (id) => {
@@ -249,95 +254,95 @@ export class SettingsSelectorComponent extends Container {
249
254
  const currentDefaultModelKey = defaultModelByValue.has(config.defaultModel) ? config.defaultModel : undefined;
250
255
  const currentModelKey = config.currentModel ? modelSettingKey(config.currentModel) : undefined;
251
256
  const items = [
252
- {
253
- id: "autocompact",
254
- label: "Auto-compact",
255
- description: "Automatically compact context when it gets too large",
256
- currentValue: config.autoCompact ? "true" : "false",
257
- values: ["true", "false"],
258
- },
259
257
  {
260
258
  id: "steering-mode",
261
- label: "Steering mode",
262
- description: "Enter while streaming queues steering messages. 'one-at-a-time': deliver one, wait for response. 'all': deliver all at once.",
259
+ label: t("Steering mode"),
260
+ description: t("Enter while streaming queues steering messages. 'one-at-a-time': deliver one, wait for response. 'all': deliver all at once."),
263
261
  currentValue: config.steeringMode,
264
262
  values: ["one-at-a-time", "all"],
265
263
  },
266
264
  {
267
265
  id: "follow-up-mode",
268
- label: "Follow-up mode",
269
- description: `${followUpKey} queues follow-up messages until agent stops. 'one-at-a-time': deliver one, wait for response. 'all': deliver all at once.`,
266
+ label: t("Follow-up mode"),
267
+ description: t("{key} queues follow-up messages until agent stops. 'one-at-a-time': deliver one, wait for response. 'all': deliver all at once.", { key: followUpKey }),
270
268
  currentValue: config.followUpMode,
271
269
  values: ["one-at-a-time", "all"],
272
270
  },
273
271
  {
274
272
  id: "transport",
275
- label: "Transport",
276
- description: "Preferred transport for providers that support multiple transports",
273
+ label: t("Transport"),
274
+ description: t("Preferred transport for providers that support multiple transports"),
277
275
  currentValue: config.transport,
278
276
  values: ["sse", "websocket", "websocket-cached", "auto"],
279
277
  },
280
278
  {
281
279
  id: "http-idle-timeout",
282
- label: "HTTP idle timeout",
283
- description: "Maximum idle gap while waiting for HTTP headers or body chunks. Disable for local models that pause longer than five minutes.",
280
+ label: t("HTTP idle timeout"),
281
+ description: t("Maximum idle gap while waiting for HTTP headers or body chunks. Disable for local models that pause longer than five minutes."),
284
282
  currentValue: formatHttpIdleTimeoutMs(config.httpIdleTimeoutMs),
285
283
  values: HTTP_IDLE_TIMEOUT_CHOICES.map((choice) => choice.label),
286
284
  },
287
285
  {
288
286
  id: "hide-thinking",
289
- label: "Hide thinking",
290
- description: "Hide thinking blocks in assistant responses",
287
+ label: t("Hide thinking"),
288
+ description: t("Hide thinking blocks in assistant responses"),
291
289
  currentValue: config.hideThinkingBlock ? "true" : "false",
292
290
  values: ["true", "false"],
293
291
  },
294
292
  {
295
293
  id: "mermaid-rendering",
296
- label: "Mermaid diagrams",
297
- description: "Render Mermaid code blocks as Unicode diagrams",
294
+ label: t("Mermaid diagrams"),
295
+ description: t("Render Mermaid code blocks as Unicode diagrams"),
298
296
  currentValue: config.mermaidRenderingMode,
299
297
  values: ["off", "final", "streaming"],
300
298
  },
301
299
  {
302
300
  id: "cache-miss-notices",
303
- label: "Cache miss notices",
304
- description: "Show transcript notices for cache costs and provider recovery diagnostics",
301
+ label: t("Cache miss notices"),
302
+ description: t("Show transcript notices for cache costs and provider recovery diagnostics"),
305
303
  currentValue: config.showCacheMissNotices ? "true" : "false",
306
304
  values: ["true", "false"],
307
305
  },
308
306
  {
309
307
  id: "collapse-changelog",
310
- label: "Collapse changelog",
311
- description: "Show condensed changelog after updates",
308
+ label: t("Collapse changelog"),
309
+ description: t("Show condensed changelog after updates"),
312
310
  currentValue: config.collapseChangelog ? "true" : "false",
313
311
  values: ["true", "false"],
314
312
  },
315
313
  {
316
314
  id: "quiet-startup",
317
- label: "Quiet startup",
318
- description: "Disable verbose printing at startup",
315
+ label: t("Quiet startup"),
316
+ description: t("Disable verbose printing at startup"),
319
317
  currentValue: config.quietStartup ? "true" : "false",
320
318
  values: ["true", "false"],
321
319
  },
322
320
  {
323
321
  id: "double-escape-action",
324
- label: "Double-escape action",
325
- description: "Action when pressing Escape twice with empty editor",
322
+ label: t("Double-escape action"),
323
+ description: t("Action when pressing Escape twice with empty editor"),
326
324
  currentValue: config.doubleEscapeAction,
327
- values: ["tree", "fork", "none"],
325
+ values: ["tree", "none"],
326
+ },
327
+ {
328
+ id: "language",
329
+ label: t("Interface language"),
330
+ description: t("Language for UI text; takes effect immediately"),
331
+ currentValue: config.uiLanguage,
332
+ values: ["zh-CN", "en"],
328
333
  },
329
334
  {
330
335
  id: "tree-filter-mode",
331
- label: "Tree filter mode",
332
- description: "Default filter when opening /tree",
336
+ label: t("Tree filter mode"),
337
+ description: t("Default filter when opening /tree"),
333
338
  currentValue: config.treeFilterMode,
334
339
  values: ["default", "no-tools", "user-only", "labeled-only", "all"],
335
340
  },
336
341
  {
337
342
  id: "warnings",
338
- label: "Warnings",
339
- description: "Enable or disable individual warnings",
340
- currentValue: "configure",
343
+ label: t("Warnings"),
344
+ description: t("Enable or disable individual warnings"),
345
+ currentValue: t("configure"),
341
346
  submenu: (_currentValue, done) => new WarningSettingsSubmenu(currentWarnings, (warnings) => {
342
347
  currentWarnings = warnings;
343
348
  callbacks.onWarningsChange(warnings);
@@ -345,15 +350,17 @@ export class SettingsSelectorComponent extends Container {
345
350
  },
346
351
  {
347
352
  id: "model-thinking",
348
- label: "Default thinking level per model",
349
- description: `Override the default thinking level for specific models. ${cycleThinkingKey} cycles in-session.`,
353
+ label: t("Default thinking level per model"),
354
+ description: t("Override the default thinking level for specific models. {key} cycles in-session.", {
355
+ key: cycleThinkingKey,
356
+ }),
350
357
  currentValue: modelThinkingOverridesSummary(currentModelThinkingLevels),
351
358
  submenu: (_currentValue, done) => {
352
359
  const steps = [
353
360
  {
354
361
  key: "model",
355
- title: "Per-Model Thinking Level",
356
- description: "Select a model to configure",
362
+ title: t("Per-Model Thinking Level"),
363
+ description: t("Select a model to configure"),
357
364
  options: () => {
358
365
  const sorted = [...config.availableDefaultModels].sort((a, b) => {
359
366
  const aKey = modelSettingKey(a);
@@ -380,8 +387,8 @@ export class SettingsSelectorComponent extends Container {
380
387
  if (items.length === 0) {
381
388
  items.push({
382
389
  value: "__none__",
383
- label: "No models available",
384
- description: "Log in to a provider or configure an API key first",
390
+ label: t("No models available"),
391
+ description: t("Log in to a provider or configure an API key first"),
385
392
  });
386
393
  }
387
394
  return items;
@@ -394,9 +401,9 @@ export class SettingsSelectorComponent extends Container {
394
401
  key: "level",
395
402
  title: (ctx) => {
396
403
  const m = defaultModelByValue.get(ctx.model);
397
- return `Thinking Level for ${m ? modelDisplayLabel(m) : ctx.model}`;
404
+ return t("Thinking Level for {model}", { model: m ? modelDisplayLabel(m) : ctx.model });
398
405
  },
399
- description: "Select default thinking level for this model",
406
+ description: t("Select default thinking level for this model"),
400
407
  options: (ctx) => {
401
408
  const model = defaultModelByValue.get(ctx.model);
402
409
  if (!model)
@@ -405,13 +412,13 @@ export class SettingsSelectorComponent extends Container {
405
412
  const items = levels.map((level) => ({
406
413
  value: level,
407
414
  label: level,
408
- description: THINKING_DESCRIPTIONS[level],
415
+ description: thinkingDescription(level),
409
416
  }));
410
417
  if (currentModelThinkingLevels[ctx.model] !== undefined) {
411
418
  items.push({
412
419
  value: CLEAR_OVERRIDE_VALUE,
413
- label: "(clear override)",
414
- description: `Revert to global default (${config.thinkingLevel})`,
420
+ label: t("(clear override)"),
421
+ description: t("Revert to global default ({level})", { level: config.thinkingLevel }),
415
422
  });
416
423
  }
417
424
  return items;
@@ -440,70 +447,70 @@ export class SettingsSelectorComponent extends Container {
440
447
  },
441
448
  {
442
449
  id: "tui-mode",
443
- label: "TUI mode",
444
- description: "Interface layout; fullscreen mode is experimental",
450
+ label: t("TUI mode"),
451
+ description: t("Interface layout; fullscreen mode is experimental"),
445
452
  currentValue: config.tuiMode,
446
453
  values: ["regular", "fullscreen"],
447
454
  },
448
455
  {
449
456
  id: "fullscreen-exit-output",
450
- label: "Fullscreen exit output",
451
- description: "Print the transcript or only a session resume hint when exiting fullscreen mode",
457
+ label: t("Fullscreen exit output"),
458
+ description: t("Print the transcript or only a session resume hint when exiting fullscreen mode"),
452
459
  currentValue: config.fullscreenExitOutput,
453
460
  values: ["transcript", "resume-hint"],
454
461
  },
455
462
  {
456
463
  id: "fullscreen-scrollbar",
457
- label: "Fullscreen scrollbar",
458
- description: "Scrollbar behavior in fullscreen mode; has no effect in regular mode",
464
+ label: t("Fullscreen scrollbar"),
465
+ description: t("Scrollbar behavior in fullscreen mode; has no effect in regular mode"),
459
466
  currentValue: config.fullscreenScrollbar,
460
467
  values: ["auto", "always", "hidden"],
461
468
  },
462
469
  {
463
470
  id: "fullscreen-copy-on-select",
464
- label: "Fullscreen copy on select",
465
- description: "Automatically copy selected text in fullscreen mode; disable to copy selections with Ctrl+X",
471
+ label: t("Fullscreen copy on select"),
472
+ description: t("Automatically copy selected text in fullscreen mode; disable to copy selections with Ctrl+X"),
466
473
  currentValue: config.fullscreenCopyOnSelect ? "true" : "false",
467
474
  values: ["true", "false"],
468
475
  },
469
476
  {
470
477
  id: "fullscreen-wheel-scroll-lines",
471
- label: "Fullscreen wheel scroll lines",
472
- description: "Lines scrolled per wheel event in fullscreen mode; auto accelerates with scroll speed",
478
+ label: t("Fullscreen wheel scroll lines"),
479
+ description: t("Lines scrolled per wheel event in fullscreen mode; auto accelerates with scroll speed"),
473
480
  currentValue: String(config.fullscreenWheelScrollLines),
474
481
  values: ["auto", "1", "2", "3", "5", "10"],
475
482
  },
476
483
  {
477
484
  id: "theme",
478
- label: "Theme",
479
- description: "Color theme for the interface",
485
+ label: t("Theme"),
486
+ description: t("Color theme for the interface"),
480
487
  currentValue: config.currentTheme,
481
488
  submenu: (currentValue, done) => new ThemeSubmenu(currentValue, config.terminalTheme, config.availableThemes, callbacks, done),
482
489
  },
483
490
  ];
484
491
  // Only show image toggle if terminal supports it
485
492
  if (supportsImages) {
486
- // Insert after autocompact
487
- items.splice(1, 0, {
493
+ // Insert at the top of the list
494
+ items.splice(0, 0, {
488
495
  id: "show-images",
489
- label: "Show images",
490
- description: "Render images inline in terminal",
496
+ label: t("Show images"),
497
+ description: t("Render images inline in terminal"),
491
498
  currentValue: config.showImages ? "true" : "false",
492
499
  values: ["true", "false"],
493
500
  });
494
- items.splice(2, 0, {
501
+ items.splice(1, 0, {
495
502
  id: "image-width-cells",
496
- label: "Image width",
497
- description: "Preferred inline image width in terminal cells",
503
+ label: t("Image width"),
504
+ description: t("Preferred inline image width in terminal cells"),
498
505
  currentValue: String(config.imageWidthCells),
499
506
  values: ["60", "80", "120"],
500
507
  });
501
508
  }
502
509
  // Image auto-resize toggle (always available, affects both attached and read images)
503
- items.splice(supportsImages ? 3 : 1, 0, {
510
+ items.splice(supportsImages ? 2 : 0, 0, {
504
511
  id: "auto-resize-images",
505
- label: "Auto-resize images",
506
- description: "Resize large images to 2000x2000 max for better model compatibility",
512
+ label: t("Auto-resize images"),
513
+ description: t("Resize large images to 2000x2000 max for better model compatibility"),
507
514
  currentValue: config.autoResizeImages ? "true" : "false",
508
515
  values: ["true", "false"],
509
516
  });
@@ -511,26 +518,17 @@ export class SettingsSelectorComponent extends Container {
511
518
  const autoResizeIndex = items.findIndex((item) => item.id === "auto-resize-images");
512
519
  items.splice(autoResizeIndex + 1, 0, {
513
520
  id: "block-images",
514
- label: "Block images",
515
- description: "Prevent images from being sent to LLM providers",
521
+ label: t("Block images"),
522
+ description: t("Prevent images from being sent to LLM providers"),
516
523
  currentValue: config.blockImages ? "true" : "false",
517
524
  values: ["true", "false"],
518
525
  });
519
- // Skill commands toggle (insert after block-images)
526
+ // Hardware cursor toggle (insert after block-images)
520
527
  const blockImagesIndex = items.findIndex((item) => item.id === "block-images");
521
528
  items.splice(blockImagesIndex + 1, 0, {
522
- id: "skill-commands",
523
- label: "Skill commands",
524
- description: "Register skills as /skill:name commands",
525
- currentValue: config.enableSkillCommands ? "true" : "false",
526
- values: ["true", "false"],
527
- });
528
- // Hardware cursor toggle (insert after skill-commands)
529
- const skillCommandsIndex = items.findIndex((item) => item.id === "skill-commands");
530
- items.splice(skillCommandsIndex + 1, 0, {
531
529
  id: "show-hardware-cursor",
532
- label: "Show hardware cursor",
533
- description: "Show the terminal cursor while still positioning it for IME support",
530
+ label: t("Show hardware cursor"),
531
+ description: t("Show the terminal cursor while still positioning it for IME support"),
534
532
  currentValue: config.showHardwareCursor ? "true" : "false",
535
533
  values: ["true", "false"],
536
534
  });
@@ -538,8 +536,8 @@ export class SettingsSelectorComponent extends Container {
538
536
  const hardwareCursorIndex = items.findIndex((item) => item.id === "show-hardware-cursor");
539
537
  items.splice(hardwareCursorIndex + 1, 0, {
540
538
  id: "editor-padding",
541
- label: "Editor padding",
542
- description: "Horizontal padding for input editor (0-3)",
539
+ label: t("Editor padding"),
540
+ description: t("Horizontal padding for input editor (0-3)"),
543
541
  currentValue: String(config.editorPaddingX),
544
542
  values: ["0", "1", "2", "3"],
545
543
  });
@@ -547,8 +545,8 @@ export class SettingsSelectorComponent extends Container {
547
545
  const editorPaddingIndex = items.findIndex((item) => item.id === "editor-padding");
548
546
  items.splice(editorPaddingIndex + 1, 0, {
549
547
  id: "output-padding",
550
- label: "Output padding",
551
- description: "Horizontal padding for user messages, assistant messages, and thinking",
548
+ label: t("Output padding"),
549
+ description: t("Horizontal padding for user messages, assistant messages, and thinking"),
552
550
  currentValue: String(config.outputPad),
553
551
  values: ["0", "1"],
554
552
  });
@@ -556,8 +554,8 @@ export class SettingsSelectorComponent extends Container {
556
554
  const outputPaddingIndex = items.findIndex((item) => item.id === "output-padding");
557
555
  items.splice(outputPaddingIndex + 1, 0, {
558
556
  id: "autocomplete-max-visible",
559
- label: "Autocomplete max items",
560
- description: "Max visible items in autocomplete dropdown (3-20)",
557
+ label: t("Autocomplete max items"),
558
+ description: t("Max visible items in autocomplete dropdown (3-20)"),
561
559
  currentValue: String(config.autocompleteMaxVisible),
562
560
  values: ["3", "5", "7", "10", "15", "20"],
563
561
  });
@@ -565,8 +563,8 @@ export class SettingsSelectorComponent extends Container {
565
563
  const autocompleteIndex = items.findIndex((item) => item.id === "autocomplete-max-visible");
566
564
  items.splice(autocompleteIndex + 1, 0, {
567
565
  id: "clear-on-shrink",
568
- label: "Clear on shrink",
569
- description: "Clear empty rows when content shrinks (may cause flicker)",
566
+ label: t("Clear on shrink"),
567
+ description: t("Clear empty rows when content shrinks (may cause flicker)"),
570
568
  currentValue: config.clearOnShrink ? "true" : "false",
571
569
  values: ["true", "false"],
572
570
  });
@@ -574,8 +572,8 @@ export class SettingsSelectorComponent extends Container {
574
572
  const clearOnShrinkIndex = items.findIndex((item) => item.id === "clear-on-shrink");
575
573
  items.splice(clearOnShrinkIndex + 1, 0, {
576
574
  id: "terminal-progress",
577
- label: "Terminal progress",
578
- description: "Show OSC 9;4 progress indicators in the terminal tab bar",
575
+ label: t("Terminal progress"),
576
+ description: t("Show OSC 9;4 progress indicators in the terminal tab bar"),
579
577
  currentValue: config.showTerminalProgress ? "true" : "false",
580
578
  values: ["true", "false"],
581
579
  });
@@ -583,9 +581,6 @@ export class SettingsSelectorComponent extends Container {
583
581
  this.addChild(new DynamicBorder());
584
582
  this.settingsList = new SettingsList(items, 10, getSettingsListTheme(), (id, newValue) => {
585
583
  switch (id) {
586
- case "autocompact":
587
- callbacks.onAutoCompactChange(newValue === "true");
588
- break;
589
584
  case "show-images":
590
585
  callbacks.onShowImagesChange(newValue === "true");
591
586
  break;
@@ -598,9 +593,6 @@ export class SettingsSelectorComponent extends Container {
598
593
  case "block-images":
599
594
  callbacks.onBlockImagesChange(newValue === "true");
600
595
  break;
601
- case "skill-commands":
602
- callbacks.onEnableSkillCommandsChange(newValue === "true");
603
- break;
604
596
  case "steering-mode":
605
597
  callbacks.onSteeringModeChange(newValue);
606
598
  break;
@@ -636,6 +628,9 @@ export class SettingsSelectorComponent extends Container {
636
628
  case "double-escape-action":
637
629
  callbacks.onDoubleEscapeActionChange(newValue);
638
630
  break;
631
+ case "language":
632
+ callbacks.onUiLanguageChange(newValue);
633
+ break;
639
634
  case "tree-filter-mode":
640
635
  callbacks.onTreeFilterModeChange(newValue);
641
636
  break;