@ai-agent-forge/agent-forge 0.86.6 → 0.87.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 (665) hide show
  1. package/CHANGELOG.md +19 -1
  2. package/README.md +8 -9
  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 +410 -371
  7. package/dist/bundle/chunks/{chunk-A7GUOX2H.js → chunk-6ZKDNZHA.js} +5 -1
  8. package/dist/bundle/chunks/chunk-BFC2BDVJ.js +13 -0
  9. package/dist/bundle/chunks/chunk-MOHOLL3F.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 +3 -2
  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 +2 -1
  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.map +1 -1
  54. package/dist/core/agent-session-compaction.js +28 -22
  55. package/dist/core/agent-session-compaction.js.map +1 -1
  56. package/dist/core/agent-session-context.d.ts.map +1 -1
  57. package/dist/core/agent-session-context.js +18 -13
  58. package/dist/core/agent-session-context.js.map +1 -1
  59. package/dist/core/agent-session-model.d.ts.map +1 -1
  60. package/dist/core/agent-session-model.js +2 -1
  61. package/dist/core/agent-session-model.js.map +1 -1
  62. package/dist/core/agent-session-retry.d.ts.map +1 -1
  63. package/dist/core/agent-session-retry.js +3 -2
  64. package/dist/core/agent-session-retry.js.map +1 -1
  65. package/dist/core/agent-session-runtime.d.ts.map +1 -1
  66. package/dist/core/agent-session-runtime.js +7 -6
  67. package/dist/core/agent-session-runtime.js.map +1 -1
  68. package/dist/core/agent-session-services.d.ts +1 -1
  69. package/dist/core/agent-session-services.d.ts.map +1 -1
  70. package/dist/core/agent-session-services.js.map +1 -1
  71. package/dist/core/agent-session-tools.d.ts.map +1 -1
  72. package/dist/core/agent-session-tools.js +3 -2
  73. package/dist/core/agent-session-tools.js.map +1 -1
  74. package/dist/core/agent-session.d.ts +40 -2
  75. package/dist/core/agent-session.d.ts.map +1 -1
  76. package/dist/core/agent-session.js +142 -34
  77. package/dist/core/agent-session.js.map +1 -1
  78. package/dist/core/auth-guidance.d.ts.map +1 -1
  79. package/dist/core/auth-guidance.js +11 -5
  80. package/dist/core/auth-guidance.js.map +1 -1
  81. package/dist/core/auth-storage.d.ts.map +1 -1
  82. package/dist/core/auth-storage.js +9 -6
  83. package/dist/core/auth-storage.js.map +1 -1
  84. package/dist/core/compaction/compaction.d.ts.map +1 -1
  85. package/dist/core/compaction/compaction.js +2 -1
  86. package/dist/core/compaction/compaction.js.map +1 -1
  87. package/dist/core/embedded-sdk.d.ts.map +1 -1
  88. package/dist/core/embedded-sdk.js +10 -6
  89. package/dist/core/embedded-sdk.js.map +1 -1
  90. package/dist/core/export-html/index.d.ts.map +1 -1
  91. package/dist/core/export-html/index.js +9 -4
  92. package/dist/core/export-html/index.js.map +1 -1
  93. package/dist/core/extensions/agent-composition.d.ts.map +1 -1
  94. package/dist/core/extensions/agent-composition.js +26 -19
  95. package/dist/core/extensions/agent-composition.js.map +1 -1
  96. package/dist/core/extensions/bootstrap-agent-loop.d.ts.map +1 -1
  97. package/dist/core/extensions/bootstrap-agent-loop.js +3 -2
  98. package/dist/core/extensions/bootstrap-agent-loop.js.map +1 -1
  99. package/dist/core/extensions/bootstrap-lifecycle.d.ts.map +1 -1
  100. package/dist/core/extensions/bootstrap-lifecycle.js +20 -17
  101. package/dist/core/extensions/bootstrap-lifecycle.js.map +1 -1
  102. package/dist/core/extensions/bootstrap-overflow-policy.d.ts.map +1 -1
  103. package/dist/core/extensions/bootstrap-overflow-policy.js +2 -1
  104. package/dist/core/extensions/bootstrap-overflow-policy.js.map +1 -1
  105. package/dist/core/extensions/bootstrap-retry-policy.d.ts.map +1 -1
  106. package/dist/core/extensions/bootstrap-retry-policy.js +2 -1
  107. package/dist/core/extensions/bootstrap-retry-policy.js.map +1 -1
  108. package/dist/core/extensions/bootstrap-skills.d.ts.map +1 -1
  109. package/dist/core/extensions/bootstrap-skills.js +7 -6
  110. package/dist/core/extensions/bootstrap-skills.js.map +1 -1
  111. package/dist/core/extensions/bootstrap-tools.d.ts.map +1 -1
  112. package/dist/core/extensions/bootstrap-tools.js +2 -1
  113. package/dist/core/extensions/bootstrap-tools.js.map +1 -1
  114. package/dist/core/extensions/capability-plugin.d.ts.map +1 -1
  115. package/dist/core/extensions/capability-plugin.js +37 -13
  116. package/dist/core/extensions/capability-plugin.js.map +1 -1
  117. package/dist/core/extensions/capability-runtime-events.d.ts.map +1 -1
  118. package/dist/core/extensions/capability-runtime-events.js +17 -13
  119. package/dist/core/extensions/capability-runtime-events.js.map +1 -1
  120. package/dist/core/extensions/capability-runtime-guards.d.ts.map +1 -1
  121. package/dist/core/extensions/capability-runtime-guards.js +16 -15
  122. package/dist/core/extensions/capability-runtime-guards.js.map +1 -1
  123. package/dist/core/extensions/capability-runtime-manifest.d.ts.map +1 -1
  124. package/dist/core/extensions/capability-runtime-manifest.js +52 -30
  125. package/dist/core/extensions/capability-runtime-manifest.js.map +1 -1
  126. package/dist/core/extensions/capability-runtime-validation.d.ts.map +1 -1
  127. package/dist/core/extensions/capability-runtime-validation.js +66 -65
  128. package/dist/core/extensions/capability-runtime-validation.js.map +1 -1
  129. package/dist/core/extensions/capability-runtime.d.ts.map +1 -1
  130. package/dist/core/extensions/capability-runtime.js +147 -127
  131. package/dist/core/extensions/capability-runtime.js.map +1 -1
  132. package/dist/core/extensions/compaction-memory-failure-mode.d.ts.map +1 -1
  133. package/dist/core/extensions/compaction-memory-failure-mode.js +3 -2
  134. package/dist/core/extensions/compaction-memory-failure-mode.js.map +1 -1
  135. package/dist/core/extensions/context-strategy-binding.d.ts.map +1 -1
  136. package/dist/core/extensions/context-strategy-binding.js +7 -4
  137. package/dist/core/extensions/context-strategy-binding.js.map +1 -1
  138. package/dist/core/extensions/lifecycle-catalog.d.ts.map +1 -1
  139. package/dist/core/extensions/lifecycle-catalog.js +290 -279
  140. package/dist/core/extensions/lifecycle-catalog.js.map +1 -1
  141. package/dist/core/extensions/lifecycle-delivery-queue.d.ts.map +1 -1
  142. package/dist/core/extensions/lifecycle-delivery-queue.js +3 -2
  143. package/dist/core/extensions/lifecycle-delivery-queue.js.map +1 -1
  144. package/dist/core/facade/coding-agent-facade.d.ts +6 -0
  145. package/dist/core/facade/coding-agent-facade.d.ts.map +1 -1
  146. package/dist/core/facade/coding-agent-facade.js +2 -0
  147. package/dist/core/facade/coding-agent-facade.js.map +1 -1
  148. package/dist/core/http-dispatcher.d.ts.map +1 -1
  149. package/dist/core/http-dispatcher.js +2 -1
  150. package/dist/core/http-dispatcher.js.map +1 -1
  151. package/dist/core/i18n/index.d.ts +14 -0
  152. package/dist/core/i18n/index.d.ts.map +1 -0
  153. package/dist/core/i18n/index.js +67 -0
  154. package/dist/core/i18n/index.js.map +1 -0
  155. package/dist/core/i18n/locales/en/example.d.ts +7 -0
  156. package/dist/core/i18n/locales/en/example.d.ts.map +1 -0
  157. package/dist/core/i18n/locales/en/example.js +7 -0
  158. package/dist/core/i18n/locales/en/example.js.map +1 -0
  159. package/dist/core/i18n/locales/zh-cn/cli.d.ts +8 -0
  160. package/dist/core/i18n/locales/zh-cn/cli.d.ts.map +1 -0
  161. package/dist/core/i18n/locales/zh-cn/cli.js +227 -0
  162. package/dist/core/i18n/locales/zh-cn/cli.js.map +1 -0
  163. package/dist/core/i18n/locales/zh-cn/common.d.ts +6 -0
  164. package/dist/core/i18n/locales/zh-cn/common.d.ts.map +1 -0
  165. package/dist/core/i18n/locales/zh-cn/common.js +6 -0
  166. package/dist/core/i18n/locales/zh-cn/common.js.map +1 -0
  167. package/dist/core/i18n/locales/zh-cn/core-contract-core.d.ts +13 -0
  168. package/dist/core/i18n/locales/zh-cn/core-contract-core.d.ts.map +1 -0
  169. package/dist/core/i18n/locales/zh-cn/core-contract-core.js +173 -0
  170. package/dist/core/i18n/locales/zh-cn/core-contract-core.js.map +1 -0
  171. package/dist/core/i18n/locales/zh-cn/core-contract-extensions.d.ts +12 -0
  172. package/dist/core/i18n/locales/zh-cn/core-contract-extensions.d.ts.map +1 -0
  173. package/dist/core/i18n/locales/zh-cn/core-contract-extensions.js +582 -0
  174. package/dist/core/i18n/locales/zh-cn/core-contract-extensions.js.map +1 -0
  175. package/dist/core/i18n/locales/zh-cn/core-contract-final.d.ts +9 -0
  176. package/dist/core/i18n/locales/zh-cn/core-contract-final.d.ts.map +1 -0
  177. package/dist/core/i18n/locales/zh-cn/core-contract-final.js +55 -0
  178. package/dist/core/i18n/locales/zh-cn/core-contract-final.js.map +1 -0
  179. package/dist/core/i18n/locales/zh-cn/core-contract-plugins.d.ts +11 -0
  180. package/dist/core/i18n/locales/zh-cn/core-contract-plugins.d.ts.map +1 -0
  181. package/dist/core/i18n/locales/zh-cn/core-contract-plugins.js +455 -0
  182. package/dist/core/i18n/locales/zh-cn/core-contract-plugins.js.map +1 -0
  183. package/dist/core/i18n/locales/zh-cn/core-errors.d.ts +9 -0
  184. package/dist/core/i18n/locales/zh-cn/core-errors.d.ts.map +1 -0
  185. package/dist/core/i18n/locales/zh-cn/core-errors.js +191 -0
  186. package/dist/core/i18n/locales/zh-cn/core-errors.js.map +1 -0
  187. package/dist/core/i18n/locales/zh-cn/example.d.ts +7 -0
  188. package/dist/core/i18n/locales/zh-cn/example.d.ts.map +1 -0
  189. package/dist/core/i18n/locales/zh-cn/example.js +10 -0
  190. package/dist/core/i18n/locales/zh-cn/example.js.map +1 -0
  191. package/dist/core/i18n/locales/zh-cn/index.d.ts +2 -0
  192. package/dist/core/i18n/locales/zh-cn/index.d.ts.map +1 -0
  193. package/dist/core/i18n/locales/zh-cn/index.js +41 -0
  194. package/dist/core/i18n/locales/zh-cn/index.js.map +1 -0
  195. package/dist/core/i18n/locales/zh-cn/interactive-mode.d.ts +10 -0
  196. package/dist/core/i18n/locales/zh-cn/interactive-mode.d.ts.map +1 -0
  197. package/dist/core/i18n/locales/zh-cn/interactive-mode.js +265 -0
  198. package/dist/core/i18n/locales/zh-cn/interactive-mode.js.map +1 -0
  199. package/dist/core/i18n/locales/zh-cn/keybindings.d.ts +11 -0
  200. package/dist/core/i18n/locales/zh-cn/keybindings.d.ts.map +1 -0
  201. package/dist/core/i18n/locales/zh-cn/keybindings.js +67 -0
  202. package/dist/core/i18n/locales/zh-cn/keybindings.js.map +1 -0
  203. package/dist/core/i18n/locales/zh-cn/slash-commands.d.ts +7 -0
  204. package/dist/core/i18n/locales/zh-cn/slash-commands.d.ts.map +1 -0
  205. package/dist/core/i18n/locales/zh-cn/slash-commands.js +39 -0
  206. package/dist/core/i18n/locales/zh-cn/slash-commands.js.map +1 -0
  207. package/dist/core/i18n/locales/zh-cn/tui-builtin.d.ts +10 -0
  208. package/dist/core/i18n/locales/zh-cn/tui-builtin.d.ts.map +1 -0
  209. package/dist/core/i18n/locales/zh-cn/tui-builtin.js +15 -0
  210. package/dist/core/i18n/locales/zh-cn/tui-builtin.js.map +1 -0
  211. package/dist/core/i18n/locales/zh-cn/tui-components-misc.d.ts +13 -0
  212. package/dist/core/i18n/locales/zh-cn/tui-components-misc.d.ts.map +1 -0
  213. package/dist/core/i18n/locales/zh-cn/tui-components-misc.js +102 -0
  214. package/dist/core/i18n/locales/zh-cn/tui-components-misc.js.map +1 -0
  215. package/dist/core/i18n/locales/zh-cn/tui-components-selectors.d.ts +12 -0
  216. package/dist/core/i18n/locales/zh-cn/tui-components-selectors.d.ts.map +1 -0
  217. package/dist/core/i18n/locales/zh-cn/tui-components-selectors.js +288 -0
  218. package/dist/core/i18n/locales/zh-cn/tui-components-selectors.js.map +1 -0
  219. package/dist/core/i18n/locales/zh-cn/tui-interactive-misc.d.ts +9 -0
  220. package/dist/core/i18n/locales/zh-cn/tui-interactive-misc.d.ts.map +1 -0
  221. package/dist/core/i18n/locales/zh-cn/tui-interactive-misc.js +79 -0
  222. package/dist/core/i18n/locales/zh-cn/tui-interactive-misc.js.map +1 -0
  223. package/dist/core/i18n/locales/zh-cn/tui-self-owned.d.ts +8 -0
  224. package/dist/core/i18n/locales/zh-cn/tui-self-owned.d.ts.map +1 -0
  225. package/dist/core/i18n/locales/zh-cn/tui-self-owned.js +72 -0
  226. package/dist/core/i18n/locales/zh-cn/tui-self-owned.js.map +1 -0
  227. package/dist/core/keybindings.d.ts +15 -0
  228. package/dist/core/keybindings.d.ts.map +1 -1
  229. package/dist/core/keybindings.js +18 -0
  230. package/dist/core/keybindings.js.map +1 -1
  231. package/dist/core/logger.d.ts.map +1 -1
  232. package/dist/core/logger.js +5 -1
  233. package/dist/core/logger.js.map +1 -1
  234. package/dist/core/model-registry.d.ts.map +1 -1
  235. package/dist/core/model-registry.js +2 -1
  236. package/dist/core/model-registry.js.map +1 -1
  237. package/dist/core/model-runtime.d.ts.map +1 -1
  238. package/dist/core/model-runtime.js +8 -4
  239. package/dist/core/model-runtime.js.map +1 -1
  240. package/dist/core/package-install-host.d.ts.map +1 -1
  241. package/dist/core/package-install-host.js +4 -3
  242. package/dist/core/package-install-host.js.map +1 -1
  243. package/dist/core/package-manager.d.ts.map +1 -1
  244. package/dist/core/package-manager.js +15 -10
  245. package/dist/core/package-manager.js.map +1 -1
  246. package/dist/core/package-resource-collection.d.ts.map +1 -1
  247. package/dist/core/package-resource-collection.js +2 -1
  248. package/dist/core/package-resource-collection.js.map +1 -1
  249. package/dist/core/package-source.d.ts.map +1 -1
  250. package/dist/core/package-source.js +3 -2
  251. package/dist/core/package-source.js.map +1 -1
  252. package/dist/core/provider-composer.d.ts.map +1 -1
  253. package/dist/core/provider-composer.js +22 -13
  254. package/dist/core/provider-composer.js.map +1 -1
  255. package/dist/core/remote-catalog-provider.d.ts.map +1 -1
  256. package/dist/core/remote-catalog-provider.js +6 -2
  257. package/dist/core/remote-catalog-provider.js.map +1 -1
  258. package/dist/core/resolve-config-value.d.ts.map +1 -1
  259. package/dist/core/resolve-config-value.js +15 -5
  260. package/dist/core/resolve-config-value.js.map +1 -1
  261. package/dist/core/sdk.d.ts +19 -5
  262. package/dist/core/sdk.d.ts.map +1 -1
  263. package/dist/core/sdk.js +74 -54
  264. package/dist/core/sdk.js.map +1 -1
  265. package/dist/core/session-cwd.d.ts.map +1 -1
  266. package/dist/core/session-cwd.js +5 -2
  267. package/dist/core/session-cwd.js.map +1 -1
  268. package/dist/core/session-export.d.ts.map +1 -1
  269. package/dist/core/session-export.js +2 -1
  270. package/dist/core/session-export.js.map +1 -1
  271. package/dist/core/session-manager.d.ts.map +1 -1
  272. package/dist/core/session-manager.js +39 -29
  273. package/dist/core/session-manager.js.map +1 -1
  274. package/dist/core/session-storage.d.ts.map +1 -1
  275. package/dist/core/session-storage.js +3 -3
  276. package/dist/core/session-storage.js.map +1 -1
  277. package/dist/core/settings-manager.d.ts +11 -0
  278. package/dist/core/settings-manager.d.ts.map +1 -1
  279. package/dist/core/settings-manager.js +27 -5
  280. package/dist/core/settings-manager.js.map +1 -1
  281. package/dist/core/slash-commands.d.ts.map +1 -1
  282. package/dist/core/slash-commands.js +53 -32
  283. package/dist/core/slash-commands.js.map +1 -1
  284. package/dist/core/system-prompt.d.ts.map +1 -1
  285. package/dist/core/system-prompt.js +25 -2
  286. package/dist/core/system-prompt.js.map +1 -1
  287. package/dist/core/tools/bash.d.ts.map +1 -1
  288. package/dist/core/tools/bash.js +11 -7
  289. package/dist/core/tools/bash.js.map +1 -1
  290. package/dist/core/tools/edit-diff.d.ts.map +1 -1
  291. package/dist/core/tools/edit-diff.js +9 -4
  292. package/dist/core/tools/edit-diff.js.map +1 -1
  293. package/dist/core/tools/edit.d.ts.map +1 -1
  294. package/dist/core/tools/edit.js +4 -3
  295. package/dist/core/tools/edit.js.map +1 -1
  296. package/dist/core/tools/index.d.ts.map +1 -1
  297. package/dist/core/tools/index.js +3 -2
  298. package/dist/core/tools/index.js.map +1 -1
  299. package/dist/core/tools/output-accumulator.d.ts.map +1 -1
  300. package/dist/core/tools/output-accumulator.js +2 -1
  301. package/dist/core/tools/output-accumulator.js.map +1 -1
  302. package/dist/core/tools/read.d.ts.map +1 -1
  303. package/dist/core/tools/read.js +6 -2
  304. package/dist/core/tools/read.js.map +1 -1
  305. package/dist/core/tools/write.d.ts.map +1 -1
  306. package/dist/core/tools/write.js +2 -1
  307. package/dist/core/tools/write.js.map +1 -1
  308. package/dist/durable/durable-service.d.ts.map +1 -1
  309. package/dist/durable/durable-service.js +25 -18
  310. package/dist/durable/durable-service.js.map +1 -1
  311. package/dist/host/checkpoint-commit.d.ts.map +1 -1
  312. package/dist/host/checkpoint-commit.js +2 -1
  313. package/dist/host/checkpoint-commit.js.map +1 -1
  314. package/dist/host/manual-compaction.d.ts.map +1 -1
  315. package/dist/host/manual-compaction.js +2 -1
  316. package/dist/host/manual-compaction.js.map +1 -1
  317. package/dist/host/output-projection.d.ts +0 -13
  318. package/dist/host/output-projection.d.ts.map +1 -1
  319. package/dist/host/output-projection.js +16 -2
  320. package/dist/host/output-projection.js.map +1 -1
  321. package/dist/host/summary-retry.d.ts.map +1 -1
  322. package/dist/host/summary-retry.js +3 -2
  323. package/dist/host/summary-retry.js.map +1 -1
  324. package/dist/main.d.ts.map +1 -1
  325. package/dist/main.js +94 -58
  326. package/dist/main.js.map +1 -1
  327. package/dist/modes/interactive/components/agents-view.d.ts.map +1 -1
  328. package/dist/modes/interactive/components/agents-view.js +18 -15
  329. package/dist/modes/interactive/components/agents-view.js.map +1 -1
  330. package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -1
  331. package/dist/modes/interactive/components/assistant-message.js +6 -5
  332. package/dist/modes/interactive/components/assistant-message.js.map +1 -1
  333. package/dist/modes/interactive/components/bash-execution.d.ts.map +1 -1
  334. package/dist/modes/interactive/components/bash-execution.js +12 -7
  335. package/dist/modes/interactive/components/bash-execution.js.map +1 -1
  336. package/dist/modes/interactive/components/bordered-loader.d.ts.map +1 -1
  337. package/dist/modes/interactive/components/bordered-loader.js +2 -1
  338. package/dist/modes/interactive/components/bordered-loader.js.map +1 -1
  339. package/dist/modes/interactive/components/branch-summary-message.d.ts.map +1 -1
  340. package/dist/modes/interactive/components/branch-summary-message.js +6 -5
  341. package/dist/modes/interactive/components/branch-summary-message.js.map +1 -1
  342. package/dist/modes/interactive/components/compaction-summary-message.d.ts.map +1 -1
  343. package/dist/modes/interactive/components/compaction-summary-message.js +9 -5
  344. package/dist/modes/interactive/components/compaction-summary-message.js.map +1 -1
  345. package/dist/modes/interactive/components/config-selector.d.ts.map +1 -1
  346. package/dist/modes/interactive/components/config-selector.js +18 -15
  347. package/dist/modes/interactive/components/config-selector.js.map +1 -1
  348. package/dist/modes/interactive/components/custom-entry.d.ts.map +1 -1
  349. package/dist/modes/interactive/components/custom-entry.js +2 -1
  350. package/dist/modes/interactive/components/custom-entry.js.map +1 -1
  351. package/dist/modes/interactive/components/dialog-editor.d.ts.map +1 -1
  352. package/dist/modes/interactive/components/dialog-editor.js +5 -4
  353. package/dist/modes/interactive/components/dialog-editor.js.map +1 -1
  354. package/dist/modes/interactive/components/dialog-input.d.ts.map +1 -1
  355. package/dist/modes/interactive/components/dialog-input.js +2 -1
  356. package/dist/modes/interactive/components/dialog-input.js.map +1 -1
  357. package/dist/modes/interactive/components/dialog-selector.d.ts.map +1 -1
  358. package/dist/modes/interactive/components/dialog-selector.js +4 -3
  359. package/dist/modes/interactive/components/dialog-selector.js.map +1 -1
  360. package/dist/modes/interactive/components/first-time-setup.d.ts.map +1 -1
  361. package/dist/modes/interactive/components/first-time-setup.js +11 -10
  362. package/dist/modes/interactive/components/first-time-setup.js.map +1 -1
  363. package/dist/modes/interactive/components/footer.d.ts.map +1 -1
  364. package/dist/modes/interactive/components/footer.js +7 -4
  365. package/dist/modes/interactive/components/footer.js.map +1 -1
  366. package/dist/modes/interactive/components/index.d.ts +1 -0
  367. package/dist/modes/interactive/components/index.d.ts.map +1 -1
  368. package/dist/modes/interactive/components/index.js +1 -0
  369. package/dist/modes/interactive/components/index.js.map +1 -1
  370. package/dist/modes/interactive/components/keybinding-hints.d.ts.map +1 -1
  371. package/dist/modes/interactive/components/keybinding-hints.js +3 -2
  372. package/dist/modes/interactive/components/keybinding-hints.js.map +1 -1
  373. package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -1
  374. package/dist/modes/interactive/components/login-dialog.js +12 -11
  375. package/dist/modes/interactive/components/login-dialog.js.map +1 -1
  376. package/dist/modes/interactive/components/mermaid.d.ts.map +1 -1
  377. package/dist/modes/interactive/components/mermaid.js +6 -2
  378. package/dist/modes/interactive/components/mermaid.js.map +1 -1
  379. package/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
  380. package/dist/modes/interactive/components/model-selector.js +28 -16
  381. package/dist/modes/interactive/components/model-selector.js.map +1 -1
  382. package/dist/modes/interactive/components/oauth-selector.d.ts.map +1 -1
  383. package/dist/modes/interactive/components/oauth-selector.js +10 -9
  384. package/dist/modes/interactive/components/oauth-selector.js.map +1 -1
  385. package/dist/modes/interactive/components/plugin-manager-entry.d.ts.map +1 -1
  386. package/dist/modes/interactive/components/plugin-manager-entry.js +22 -13
  387. package/dist/modes/interactive/components/plugin-manager-entry.js.map +1 -1
  388. package/dist/modes/interactive/components/plugin-selection-entry.d.ts.map +1 -1
  389. package/dist/modes/interactive/components/plugin-selection-entry.js +27 -12
  390. package/dist/modes/interactive/components/plugin-selection-entry.js.map +1 -1
  391. package/dist/modes/interactive/components/queue-manager-selector.d.ts +60 -0
  392. package/dist/modes/interactive/components/queue-manager-selector.d.ts.map +1 -0
  393. package/dist/modes/interactive/components/queue-manager-selector.js +166 -0
  394. package/dist/modes/interactive/components/queue-manager-selector.js.map +1 -0
  395. package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -1
  396. package/dist/modes/interactive/components/scoped-models-selector.js +16 -14
  397. package/dist/modes/interactive/components/scoped-models-selector.js.map +1 -1
  398. package/dist/modes/interactive/components/session-selector.d.ts.map +1 -1
  399. package/dist/modes/interactive/components/session-selector.js +43 -31
  400. package/dist/modes/interactive/components/session-selector.js.map +1 -1
  401. package/dist/modes/interactive/components/settings-selector.d.ts +2 -0
  402. package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
  403. package/dist/modes/interactive/components/settings-selector.js +113 -96
  404. package/dist/modes/interactive/components/settings-selector.js.map +1 -1
  405. package/dist/modes/interactive/components/settings-submenu.d.ts.map +1 -1
  406. package/dist/modes/interactive/components/settings-submenu.js +5 -4
  407. package/dist/modes/interactive/components/settings-submenu.js.map +1 -1
  408. package/dist/modes/interactive/components/show-images-selector.d.ts.map +1 -1
  409. package/dist/modes/interactive/components/show-images-selector.js +3 -2
  410. package/dist/modes/interactive/components/show-images-selector.js.map +1 -1
  411. package/dist/modes/interactive/components/skill-invocation-message.d.ts.map +1 -1
  412. package/dist/modes/interactive/components/skill-invocation-message.js +4 -3
  413. package/dist/modes/interactive/components/skill-invocation-message.js.map +1 -1
  414. package/dist/modes/interactive/components/status-indicator.d.ts.map +1 -1
  415. package/dist/modes/interactive/components/status-indicator.js +14 -5
  416. package/dist/modes/interactive/components/status-indicator.js.map +1 -1
  417. package/dist/modes/interactive/components/theme-selector.d.ts.map +1 -1
  418. package/dist/modes/interactive/components/theme-selector.js +2 -1
  419. package/dist/modes/interactive/components/theme-selector.js.map +1 -1
  420. package/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -1
  421. package/dist/modes/interactive/components/thinking-selector.js +11 -4
  422. package/dist/modes/interactive/components/thinking-selector.js.map +1 -1
  423. package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
  424. package/dist/modes/interactive/components/tool-execution.js +8 -3
  425. package/dist/modes/interactive/components/tool-execution.js.map +1 -1
  426. package/dist/modes/interactive/components/tree-list.d.ts.map +1 -1
  427. package/dist/modes/interactive/components/tree-list.js +7 -6
  428. package/dist/modes/interactive/components/tree-list.js.map +1 -1
  429. package/dist/modes/interactive/components/tree-render.d.ts.map +1 -1
  430. package/dist/modes/interactive/components/tree-render.js +28 -23
  431. package/dist/modes/interactive/components/tree-render.js.map +1 -1
  432. package/dist/modes/interactive/components/tree-selector.d.ts.map +1 -1
  433. package/dist/modes/interactive/components/tree-selector.js +9 -7
  434. package/dist/modes/interactive/components/tree-selector.js.map +1 -1
  435. package/dist/modes/interactive/components/user-message-selector.d.ts.map +1 -1
  436. package/dist/modes/interactive/components/user-message-selector.js +5 -4
  437. package/dist/modes/interactive/components/user-message-selector.js.map +1 -1
  438. package/dist/modes/interactive/components/workflow-view.d.ts.map +1 -1
  439. package/dist/modes/interactive/components/workflow-view.js +36 -21
  440. package/dist/modes/interactive/components/workflow-view.js.map +1 -1
  441. package/dist/modes/interactive/external-editor.d.ts.map +1 -1
  442. package/dist/modes/interactive/external-editor.js +2 -1
  443. package/dist/modes/interactive/external-editor.js.map +1 -1
  444. package/dist/modes/interactive/interactive-auth.d.ts.map +1 -1
  445. package/dist/modes/interactive/interactive-auth.js +71 -40
  446. package/dist/modes/interactive/interactive-auth.js.map +1 -1
  447. package/dist/modes/interactive/interactive-commands.d.ts +1 -0
  448. package/dist/modes/interactive/interactive-commands.d.ts.map +1 -1
  449. package/dist/modes/interactive/interactive-commands.js +3 -0
  450. package/dist/modes/interactive/interactive-commands.js.map +1 -1
  451. package/dist/modes/interactive/interactive-dialog-ui.d.ts.map +1 -1
  452. package/dist/modes/interactive/interactive-dialog-ui.js +5 -5
  453. package/dist/modes/interactive/interactive-dialog-ui.js.map +1 -1
  454. package/dist/modes/interactive/interactive-format.d.ts.map +1 -1
  455. package/dist/modes/interactive/interactive-format.js +34 -18
  456. package/dist/modes/interactive/interactive-format.js.map +1 -1
  457. package/dist/modes/interactive/interactive-helpers.d.ts.map +1 -1
  458. package/dist/modes/interactive/interactive-helpers.js +7 -2
  459. package/dist/modes/interactive/interactive-helpers.js.map +1 -1
  460. package/dist/modes/interactive/interactive-mode.d.ts +4 -1
  461. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  462. package/dist/modes/interactive/interactive-mode.js +327 -243
  463. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  464. package/dist/modes/interactive/interactive-selectors.d.ts +9 -0
  465. package/dist/modes/interactive/interactive-selectors.d.ts.map +1 -1
  466. package/dist/modes/interactive/interactive-selectors.js +79 -25
  467. package/dist/modes/interactive/interactive-selectors.js.map +1 -1
  468. package/dist/modes/interactive/theme/theme-controller.d.ts.map +1 -1
  469. package/dist/modes/interactive/theme/theme-controller.js +5 -1
  470. package/dist/modes/interactive/theme/theme-controller.js.map +1 -1
  471. package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
  472. package/dist/modes/interactive/theme/theme.js +26 -23
  473. package/dist/modes/interactive/theme/theme.js.map +1 -1
  474. package/dist/modes/json-event.d.ts.map +1 -1
  475. package/dist/modes/json-event.js +3 -2
  476. package/dist/modes/json-event.js.map +1 -1
  477. package/dist/modes/print-mode.d.ts.map +1 -1
  478. package/dist/modes/print-mode.js +3 -2
  479. package/dist/modes/print-mode.js.map +1 -1
  480. package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
  481. package/dist/modes/rpc/rpc-client.js +3 -2
  482. package/dist/modes/rpc/rpc-client.js.map +1 -1
  483. package/dist/package-manager-cli.d.ts.map +1 -1
  484. package/dist/package-manager-cli.js +28 -13
  485. package/dist/package-manager-cli.js.map +1 -1
  486. package/dist/plugins/ecosystem/catalog.d.ts.map +1 -1
  487. package/dist/plugins/ecosystem/catalog.js +3 -2
  488. package/dist/plugins/ecosystem/catalog.js.map +1 -1
  489. package/dist/plugins/ecosystem/cli.d.ts.map +1 -1
  490. package/dist/plugins/ecosystem/cli.js +2 -1
  491. package/dist/plugins/ecosystem/cli.js.map +1 -1
  492. package/dist/plugins/ecosystem/default-plugin-market.d.ts.map +1 -1
  493. package/dist/plugins/ecosystem/default-plugin-market.js +3 -2
  494. package/dist/plugins/ecosystem/default-plugin-market.js.map +1 -1
  495. package/dist/plugins/ecosystem/distribution.d.ts.map +1 -1
  496. package/dist/plugins/ecosystem/distribution.js +2 -1
  497. package/dist/plugins/ecosystem/distribution.js.map +1 -1
  498. package/dist/plugins/ecosystem/installer.d.ts.map +1 -1
  499. package/dist/plugins/ecosystem/installer.js +3 -2
  500. package/dist/plugins/ecosystem/installer.js.map +1 -1
  501. package/dist/plugins/ecosystem/node-disk-registry-source.d.ts.map +1 -1
  502. package/dist/plugins/ecosystem/node-disk-registry-source.js +20 -17
  503. package/dist/plugins/ecosystem/node-disk-registry-source.js.map +1 -1
  504. package/dist/plugins/ecosystem/node-distribution-host.d.ts.map +1 -1
  505. package/dist/plugins/ecosystem/node-distribution-host.js +35 -34
  506. package/dist/plugins/ecosystem/node-distribution-host.js.map +1 -1
  507. package/dist/plugins/ecosystem/node-npm-registry-source.d.ts.map +1 -1
  508. package/dist/plugins/ecosystem/node-npm-registry-source.js +35 -34
  509. package/dist/plugins/ecosystem/node-npm-registry-source.js.map +1 -1
  510. package/dist/plugins/ecosystem/node-package-install-host.d.ts.map +1 -1
  511. package/dist/plugins/ecosystem/node-package-install-host.js +9 -8
  512. package/dist/plugins/ecosystem/node-package-install-host.js.map +1 -1
  513. package/dist/plugins/ecosystem/node-package-install-persistence.d.ts.map +1 -1
  514. package/dist/plugins/ecosystem/node-package-install-persistence.js +4 -3
  515. package/dist/plugins/ecosystem/node-package-install-persistence.js.map +1 -1
  516. package/dist/plugins/ecosystem/node-plugin-bootstrap.d.ts.map +1 -1
  517. package/dist/plugins/ecosystem/node-plugin-bootstrap.js +21 -5
  518. package/dist/plugins/ecosystem/node-plugin-bootstrap.js.map +1 -1
  519. package/dist/plugins/ecosystem/node-plugin-trust-root.d.ts.map +1 -1
  520. package/dist/plugins/ecosystem/node-plugin-trust-root.js +10 -9
  521. package/dist/plugins/ecosystem/node-plugin-trust-root.js.map +1 -1
  522. package/dist/plugins/ecosystem/node-registry-source.d.ts.map +1 -1
  523. package/dist/plugins/ecosystem/node-registry-source.js +31 -30
  524. package/dist/plugins/ecosystem/node-registry-source.js.map +1 -1
  525. package/dist/plugins/ecosystem/node-release-package-source.d.ts.map +1 -1
  526. package/dist/plugins/ecosystem/node-release-package-source.js +30 -29
  527. package/dist/plugins/ecosystem/node-release-package-source.js.map +1 -1
  528. package/dist/plugins/ecosystem/node-tar-writer.d.ts.map +1 -1
  529. package/dist/plugins/ecosystem/node-tar-writer.js +11 -10
  530. package/dist/plugins/ecosystem/node-tar-writer.js.map +1 -1
  531. package/dist/plugins/ecosystem/node-url-package-source.d.ts.map +1 -1
  532. package/dist/plugins/ecosystem/node-url-package-source.js +21 -20
  533. package/dist/plugins/ecosystem/node-url-package-source.js.map +1 -1
  534. package/dist/plugins/ecosystem/plugin-acquisition.d.ts.map +1 -1
  535. package/dist/plugins/ecosystem/plugin-acquisition.js +3 -2
  536. package/dist/plugins/ecosystem/plugin-acquisition.js.map +1 -1
  537. package/dist/plugins/ecosystem/registry-cli-adapter.d.ts.map +1 -1
  538. package/dist/plugins/ecosystem/registry-cli-adapter.js +2 -1
  539. package/dist/plugins/ecosystem/registry-cli-adapter.js.map +1 -1
  540. package/dist/plugins/ecosystem/registry.d.ts.map +1 -1
  541. package/dist/plugins/ecosystem/registry.js +35 -32
  542. package/dist/plugins/ecosystem/registry.js.map +1 -1
  543. package/dist/plugins/ecosystem/resolver.d.ts.map +1 -1
  544. package/dist/plugins/ecosystem/resolver.js +3 -2
  545. package/dist/plugins/ecosystem/resolver.js.map +1 -1
  546. package/dist/plugins/ecosystem/selection-store.d.ts.map +1 -1
  547. package/dist/plugins/ecosystem/selection-store.js +11 -10
  548. package/dist/plugins/ecosystem/selection-store.js.map +1 -1
  549. package/dist/plugins/ecosystem/selection.d.ts.map +1 -1
  550. package/dist/plugins/ecosystem/selection.js +8 -7
  551. package/dist/plugins/ecosystem/selection.js.map +1 -1
  552. package/dist/plugins/ecosystem/state.d.ts.map +1 -1
  553. package/dist/plugins/ecosystem/state.js +24 -23
  554. package/dist/plugins/ecosystem/state.js.map +1 -1
  555. package/dist/plugins/ecosystem/updates.d.ts.map +1 -1
  556. package/dist/plugins/ecosystem/updates.js +5 -4
  557. package/dist/plugins/ecosystem/updates.js.map +1 -1
  558. package/dist/plugins/mcp-http.d.ts +0 -17
  559. package/dist/plugins/mcp-http.d.ts.map +1 -1
  560. package/dist/plugins/mcp-http.js +30 -7
  561. package/dist/plugins/mcp-http.js.map +1 -1
  562. package/dist/plugins/plugin-supervisor.d.ts.map +1 -1
  563. package/dist/plugins/plugin-supervisor.js +19 -1
  564. package/dist/plugins/plugin-supervisor.js.map +1 -1
  565. package/dist/profile/first-roles.d.ts.map +1 -1
  566. package/dist/profile/first-roles.js +10 -1
  567. package/dist/profile/first-roles.js.map +1 -1
  568. package/dist/profile/goal-plugin.d.ts.map +1 -1
  569. package/dist/profile/goal-plugin.js +24 -5
  570. package/dist/profile/goal-plugin.js.map +1 -1
  571. package/dist/profile/identity.d.ts.map +1 -1
  572. package/dist/profile/identity.js +7 -6
  573. package/dist/profile/identity.js.map +1 -1
  574. package/dist/profile/lock.d.ts.map +1 -1
  575. package/dist/profile/lock.js +15 -1
  576. package/dist/profile/lock.js.map +1 -1
  577. package/dist/profile/plan-plugin.d.ts.map +1 -1
  578. package/dist/profile/plan-plugin.js +26 -13
  579. package/dist/profile/plan-plugin.js.map +1 -1
  580. package/dist/profile/plugin-profiles.d.ts.map +1 -1
  581. package/dist/profile/plugin-profiles.js +2 -1
  582. package/dist/profile/plugin-profiles.js.map +1 -1
  583. package/dist/profile/policy-manifest.d.ts.map +1 -1
  584. package/dist/profile/policy-manifest.js +5 -4
  585. package/dist/profile/policy-manifest.js.map +1 -1
  586. package/dist/profile/profile-registry.d.ts +0 -12
  587. package/dist/profile/profile-registry.d.ts.map +1 -1
  588. package/dist/profile/profile-registry.js +14 -1
  589. package/dist/profile/profile-registry.js.map +1 -1
  590. package/dist/profile/role-catalog.d.ts +0 -1
  591. package/dist/profile/role-catalog.d.ts.map +1 -1
  592. package/dist/profile/role-catalog.js +17 -15
  593. package/dist/profile/role-catalog.js.map +1 -1
  594. package/dist/profile/role-orchestrator.d.ts.map +1 -1
  595. package/dist/profile/role-orchestrator.js +8 -7
  596. package/dist/profile/role-orchestrator.js.map +1 -1
  597. package/dist/profile/role-runner.d.ts.map +1 -1
  598. package/dist/profile/role-runner.js +3 -2
  599. package/dist/profile/role-runner.js.map +1 -1
  600. package/dist/profile/root-facade.d.ts.map +1 -1
  601. package/dist/profile/root-facade.js +2 -1
  602. package/dist/profile/root-facade.js.map +1 -1
  603. package/dist/profile/skill-discovery-wiring.d.ts.map +1 -1
  604. package/dist/profile/skill-discovery-wiring.js +7 -2
  605. package/dist/profile/skill-discovery-wiring.js.map +1 -1
  606. package/dist/profile/state-store.d.ts.map +1 -1
  607. package/dist/profile/state-store.js +13 -9
  608. package/dist/profile/state-store.js.map +1 -1
  609. package/dist/profile/todo-plugin.d.ts.map +1 -1
  610. package/dist/profile/todo-plugin.js +9 -4
  611. package/dist/profile/todo-plugin.js.map +1 -1
  612. package/dist/profiles/builtin-suites.d.ts +13 -6
  613. package/dist/profiles/builtin-suites.d.ts.map +1 -1
  614. package/dist/profiles/builtin-suites.js +15 -6
  615. package/dist/profiles/builtin-suites.js.map +1 -1
  616. package/dist/profiles/suite-loader.d.ts +25 -1
  617. package/dist/profiles/suite-loader.d.ts.map +1 -1
  618. package/dist/profiles/suite-loader.js +34 -9
  619. package/dist/profiles/suite-loader.js.map +1 -1
  620. package/dist/remote/server-entry.d.ts.map +1 -1
  621. package/dist/remote/server-entry.js +3 -2
  622. package/dist/remote/server-entry.js.map +1 -1
  623. package/dist/remote/session-source.d.ts.map +1 -1
  624. package/dist/remote/session-source.js +8 -4
  625. package/dist/remote/session-source.js.map +1 -1
  626. package/dist/share/session-share.d.ts.map +1 -1
  627. package/dist/share/session-share.js +14 -2
  628. package/dist/share/session-share.js.map +1 -1
  629. package/dist/testing/plugin-testkit.d.ts.map +1 -1
  630. package/dist/testing/plugin-testkit.js +4 -3
  631. package/dist/testing/plugin-testkit.js.map +1 -1
  632. package/dist/testing/runtime-delivery-queue.d.ts.map +1 -1
  633. package/dist/testing/runtime-delivery-queue.js +2 -1
  634. package/dist/testing/runtime-delivery-queue.js.map +1 -1
  635. package/dist/testing/session-plugin-testkit.d.ts.map +1 -1
  636. package/dist/testing/session-plugin-testkit.js +10 -7
  637. package/dist/testing/session-plugin-testkit.js.map +1 -1
  638. package/dist/utils/ansi.d.ts.map +1 -1
  639. package/dist/utils/ansi.js +2 -1
  640. package/dist/utils/ansi.js.map +1 -1
  641. package/dist/utils/clipboard.d.ts.map +1 -1
  642. package/dist/utils/clipboard.js +7 -6
  643. package/dist/utils/clipboard.js.map +1 -1
  644. package/dist/utils/image-resize-worker.d.ts.map +1 -1
  645. package/dist/utils/image-resize-worker.js +3 -2
  646. package/dist/utils/image-resize-worker.js.map +1 -1
  647. package/dist/utils/shell.d.ts.map +1 -1
  648. package/dist/utils/shell.js +9 -8
  649. package/dist/utils/shell.js.map +1 -1
  650. package/dist/utils/tools-manager.d.ts.map +1 -1
  651. package/dist/utils/tools-manager.js +23 -13
  652. package/dist/utils/tools-manager.js.map +1 -1
  653. package/dist/utils/version-check.d.ts.map +1 -1
  654. package/dist/utils/version-check.js +5 -1
  655. package/dist/utils/version-check.js.map +1 -1
  656. package/docs/keybindings.md +3 -0
  657. package/docs/quickstart.md +1 -1
  658. package/docs/settings.md +1 -0
  659. package/docs/terminal-setup.md +2 -3
  660. package/docs/usage.md +6 -5
  661. package/examples/extensions/with-deps/package-lock.json +2 -2
  662. package/examples/extensions/with-deps/package.json +1 -1
  663. package/examples/extensions/with-deps/plugin.json +1 -1
  664. package/package.json +1 -1
  665. package/dist/bundle/chunks/chunk-EALJ5DDX.js +0 -1452
@@ -0,0 +1,14 @@
1
+ /** 支持的语言。en 为源语言(英文原文直通)。 */
2
+ export type I18nLanguage = "zh-CN" | "en";
3
+ /**
4
+ * 注入当前语言(进程内可随时切换)。宿主应在启动时和 settings `ui.language` 变更后
5
+ * 调用本函数刷新;env `AGENT_FORGE_I18N_LANG` 存在且合法时优先于本值。
6
+ */
7
+ export declare function setI18nLanguage(lang: I18nLanguage): void;
8
+ /**
9
+ * 查译。key 先 trim 再查当前语言词典:命中返回词条,未命中返回 key 原文(trim 后
10
+ * 原样,不做任何转换);两种返回都经过占位符插值。en 语言永不查词典,直接返回
11
+ * 插值后的 key。
12
+ */
13
+ export declare function t(key: string, params?: Record<string, string | number>): string;
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/i18n/index.ts"],"names":[],"mappings":"AAUA,mEAA6B;AAC7B,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,IAAI,CAAC;AAmB1C;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,CAExD;AA4BD;;;;GAIG;AACH,wBAAgB,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,MAAM,CAQ/E","sourcesContent":["/**\n * i18n 机制核心(docs/design/国际化与本地化.md):英文原文即词典 key,`t()` 按当前\n * 语言查词典,命中返回词条,未命中回退 key 原文;en 语言直通(永不查词典)。\n *\n * 本模块不 import settings-manager(避免循环依赖):语言由外部经 `setI18nLanguage`\n * 注入(宿主在启动与 settings 变更后刷新);env `AGENT_FORGE_I18N_LANG` 是更高优先\n * 的临时覆盖。模块加载时不解析任何状态,首次 `t()` 调用惰性按默认 zh-CN 解析。\n */\nimport { zhCn } from \"./locales/zh-cn/index.ts\";\n\n/** 支持的语言。en 为源语言(英文原文直通)。 */\nexport type I18nLanguage = \"zh-CN\" | \"en\";\n\n/** 语言解析优先级最高的 env 变量名(临时覆盖,非法值忽略)。 */\nconst LANGUAGE_ENV_VAR = \"AGENT_FORGE_I18N_LANG\";\n\nconst DEFAULT_LANGUAGE: I18nLanguage = \"zh-CN\";\n\n/** 各语言的聚合词典。en 无词典(直通)。 */\nconst dictionaries: Partial<Record<I18nLanguage, Record<string, string>>> = {\n\t\"zh-CN\": zhCn,\n};\n\n/** 外部注入的语言(通常来自 settings `ui.language`);undefined 表示尚未注入。 */\nlet injectedLanguage: I18nLanguage | undefined;\n\nfunction isValidLanguage(value: string | undefined): value is I18nLanguage {\n\treturn value === \"zh-CN\" || value === \"en\";\n}\n\n/**\n * 注入当前语言(进程内可随时切换)。宿主应在启动时和 settings `ui.language` 变更后\n * 调用本函数刷新;env `AGENT_FORGE_I18N_LANG` 存在且合法时优先于本值。\n */\nexport function setI18nLanguage(lang: I18nLanguage): void {\n\tinjectedLanguage = lang;\n}\n\n/**\n * 语言解析优先级:env `AGENT_FORGE_I18N_LANG`(非法值忽略)> `setI18nLanguage`\n * 注入值 > 默认 `\"zh-CN\"`。\n */\nfunction resolveLanguage(): I18nLanguage {\n\tconst envLanguage = process.env[LANGUAGE_ENV_VAR];\n\tif (isValidLanguage(envLanguage)) {\n\t\treturn envLanguage;\n\t}\n\treturn injectedLanguage ?? DEFAULT_LANGUAGE;\n}\n\n/**\n * 占位符插值:`{name}` 由 params 填充(number 转 string);缺少参数时保留 `{name}`\n * 原样(便于发现遗漏),不抛错。\n */\nfunction interpolate(template: string, params?: Record<string, string | number>): string {\n\tif (!params) {\n\t\treturn template;\n\t}\n\treturn template.replace(/\\{([^{}]+)\\}/g, (match, name: string) => {\n\t\tconst value = params[name];\n\t\treturn value === undefined ? match : String(value);\n\t});\n}\n\n/**\n * 查译。key 先 trim 再查当前语言词典:命中返回词条,未命中返回 key 原文(trim 后\n * 原样,不做任何转换);两种返回都经过占位符插值。en 语言永不查词典,直接返回\n * 插值后的 key。\n */\nexport function t(key: string, params?: Record<string, string | number>): string {\n\tconst normalizedKey = key.trim();\n\tconst language = resolveLanguage();\n\tif (language === \"en\") {\n\t\treturn interpolate(normalizedKey, params);\n\t}\n\tconst template = dictionaries[language]?.[normalizedKey] ?? normalizedKey;\n\treturn interpolate(template, params);\n}\n"]}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * i18n 机制核心(docs/design/国际化与本地化.md):英文原文即词典 key,`t()` 按当前
3
+ * 语言查词典,命中返回词条,未命中回退 key 原文;en 语言直通(永不查词典)。
4
+ *
5
+ * 本模块不 import settings-manager(避免循环依赖):语言由外部经 `setI18nLanguage`
6
+ * 注入(宿主在启动与 settings 变更后刷新);env `AGENT_FORGE_I18N_LANG` 是更高优先
7
+ * 的临时覆盖。模块加载时不解析任何状态,首次 `t()` 调用惰性按默认 zh-CN 解析。
8
+ */
9
+ import { zhCn } from "./locales/zh-cn/index.js";
10
+ /** 语言解析优先级最高的 env 变量名(临时覆盖,非法值忽略)。 */
11
+ const LANGUAGE_ENV_VAR = "AGENT_FORGE_I18N_LANG";
12
+ const DEFAULT_LANGUAGE = "zh-CN";
13
+ /** 各语言的聚合词典。en 无词典(直通)。 */
14
+ const dictionaries = {
15
+ "zh-CN": zhCn,
16
+ };
17
+ /** 外部注入的语言(通常来自 settings `ui.language`);undefined 表示尚未注入。 */
18
+ let injectedLanguage;
19
+ function isValidLanguage(value) {
20
+ return value === "zh-CN" || value === "en";
21
+ }
22
+ /**
23
+ * 注入当前语言(进程内可随时切换)。宿主应在启动时和 settings `ui.language` 变更后
24
+ * 调用本函数刷新;env `AGENT_FORGE_I18N_LANG` 存在且合法时优先于本值。
25
+ */
26
+ export function setI18nLanguage(lang) {
27
+ injectedLanguage = lang;
28
+ }
29
+ /**
30
+ * 语言解析优先级:env `AGENT_FORGE_I18N_LANG`(非法值忽略)> `setI18nLanguage`
31
+ * 注入值 > 默认 `"zh-CN"`。
32
+ */
33
+ function resolveLanguage() {
34
+ const envLanguage = process.env[LANGUAGE_ENV_VAR];
35
+ if (isValidLanguage(envLanguage)) {
36
+ return envLanguage;
37
+ }
38
+ return injectedLanguage ?? DEFAULT_LANGUAGE;
39
+ }
40
+ /**
41
+ * 占位符插值:`{name}` 由 params 填充(number 转 string);缺少参数时保留 `{name}`
42
+ * 原样(便于发现遗漏),不抛错。
43
+ */
44
+ function interpolate(template, params) {
45
+ if (!params) {
46
+ return template;
47
+ }
48
+ return template.replace(/\{([^{}]+)\}/g, (match, name) => {
49
+ const value = params[name];
50
+ return value === undefined ? match : String(value);
51
+ });
52
+ }
53
+ /**
54
+ * 查译。key 先 trim 再查当前语言词典:命中返回词条,未命中返回 key 原文(trim 后
55
+ * 原样,不做任何转换);两种返回都经过占位符插值。en 语言永不查词典,直接返回
56
+ * 插值后的 key。
57
+ */
58
+ export function t(key, params) {
59
+ const normalizedKey = key.trim();
60
+ const language = resolveLanguage();
61
+ if (language === "en") {
62
+ return interpolate(normalizedKey, params);
63
+ }
64
+ const template = dictionaries[language]?.[normalizedKey] ?? normalizedKey;
65
+ return interpolate(template, params);
66
+ }
67
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/i18n/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAKhD,0FAAsC;AACtC,MAAM,gBAAgB,GAAG,uBAAuB,CAAC;AAEjD,MAAM,gBAAgB,GAAiB,OAAO,CAAC;AAE/C,6DAA2B;AAC3B,MAAM,YAAY,GAA0D;IAC3E,OAAO,EAAE,IAAI;CACb,CAAC;AAEF,uGAA6D;AAC7D,IAAI,gBAA0C,CAAC;AAE/C,SAAS,eAAe,CAAC,KAAyB,EAAyB;IAC1E,OAAO,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,IAAI,CAAC;AAAA,CAC3C;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,IAAkB,EAAQ;IACzD,gBAAgB,GAAG,IAAI,CAAC;AAAA,CACxB;AAED;;;GAGG;AACH,SAAS,eAAe,GAAiB;IACxC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAClD,IAAI,eAAe,CAAC,WAAW,CAAC,EAAE,CAAC;QAClC,OAAO,WAAW,CAAC;IACpB,CAAC;IACD,OAAO,gBAAgB,IAAI,gBAAgB,CAAC;AAAA,CAC5C;AAED;;;GAGG;AACH,SAAS,WAAW,CAAC,QAAgB,EAAE,MAAwC,EAAU;IACxF,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,OAAO,QAAQ,CAAC;IACjB,CAAC;IACD,OAAO,QAAQ,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE,IAAY,EAAE,EAAE,CAAC;QACjE,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3B,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAAA,CACnD,CAAC,CAAC;AAAA,CACH;AAED;;;;GAIG;AACH,MAAM,UAAU,CAAC,CAAC,GAAW,EAAE,MAAwC,EAAU;IAChF,MAAM,aAAa,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IACjC,MAAM,QAAQ,GAAG,eAAe,EAAE,CAAC;IACnC,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACvB,OAAO,WAAW,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;IACD,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC;IAC1E,OAAO,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAAA,CACrC","sourcesContent":["/**\n * i18n 机制核心(docs/design/国际化与本地化.md):英文原文即词典 key,`t()` 按当前\n * 语言查词典,命中返回词条,未命中回退 key 原文;en 语言直通(永不查词典)。\n *\n * 本模块不 import settings-manager(避免循环依赖):语言由外部经 `setI18nLanguage`\n * 注入(宿主在启动与 settings 变更后刷新);env `AGENT_FORGE_I18N_LANG` 是更高优先\n * 的临时覆盖。模块加载时不解析任何状态,首次 `t()` 调用惰性按默认 zh-CN 解析。\n */\nimport { zhCn } from \"./locales/zh-cn/index.ts\";\n\n/** 支持的语言。en 为源语言(英文原文直通)。 */\nexport type I18nLanguage = \"zh-CN\" | \"en\";\n\n/** 语言解析优先级最高的 env 变量名(临时覆盖,非法值忽略)。 */\nconst LANGUAGE_ENV_VAR = \"AGENT_FORGE_I18N_LANG\";\n\nconst DEFAULT_LANGUAGE: I18nLanguage = \"zh-CN\";\n\n/** 各语言的聚合词典。en 无词典(直通)。 */\nconst dictionaries: Partial<Record<I18nLanguage, Record<string, string>>> = {\n\t\"zh-CN\": zhCn,\n};\n\n/** 外部注入的语言(通常来自 settings `ui.language`);undefined 表示尚未注入。 */\nlet injectedLanguage: I18nLanguage | undefined;\n\nfunction isValidLanguage(value: string | undefined): value is I18nLanguage {\n\treturn value === \"zh-CN\" || value === \"en\";\n}\n\n/**\n * 注入当前语言(进程内可随时切换)。宿主应在启动时和 settings `ui.language` 变更后\n * 调用本函数刷新;env `AGENT_FORGE_I18N_LANG` 存在且合法时优先于本值。\n */\nexport function setI18nLanguage(lang: I18nLanguage): void {\n\tinjectedLanguage = lang;\n}\n\n/**\n * 语言解析优先级:env `AGENT_FORGE_I18N_LANG`(非法值忽略)> `setI18nLanguage`\n * 注入值 > 默认 `\"zh-CN\"`。\n */\nfunction resolveLanguage(): I18nLanguage {\n\tconst envLanguage = process.env[LANGUAGE_ENV_VAR];\n\tif (isValidLanguage(envLanguage)) {\n\t\treturn envLanguage;\n\t}\n\treturn injectedLanguage ?? DEFAULT_LANGUAGE;\n}\n\n/**\n * 占位符插值:`{name}` 由 params 填充(number 转 string);缺少参数时保留 `{name}`\n * 原样(便于发现遗漏),不抛错。\n */\nfunction interpolate(template: string, params?: Record<string, string | number>): string {\n\tif (!params) {\n\t\treturn template;\n\t}\n\treturn template.replace(/\\{([^{}]+)\\}/g, (match, name: string) => {\n\t\tconst value = params[name];\n\t\treturn value === undefined ? match : String(value);\n\t});\n}\n\n/**\n * 查译。key 先 trim 再查当前语言词典:命中返回词条,未命中返回 key 原文(trim 后\n * 原样,不做任何转换);两种返回都经过占位符插值。en 语言永不查词典,直接返回\n * 插值后的 key。\n */\nexport function t(key: string, params?: Record<string, string | number>): string {\n\tconst normalizedKey = key.trim();\n\tconst language = resolveLanguage();\n\tif (language === \"en\") {\n\t\treturn interpolate(normalizedKey, params);\n\t}\n\tconst template = dictionaries[language]?.[normalizedKey] ?? normalizedKey;\n\treturn interpolate(template, params);\n}\n"]}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * en 语言骨架文件:en 是源语言,`t()` 直通返回 key,永不查询词典(设计文档 §机制契约)。
3
+ * 本目录仅保留与 zh-cn 对称的目录结构,供未来确需 en 覆写的场景(如日期/数字格式文案)使用;
4
+ * 当前必须保持为空,运行时不加载本目录。
5
+ */
6
+ export declare const example: Record<string, string>;
7
+ //# sourceMappingURL=example.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"example.d.ts","sourceRoot":"","sources":["../../../../../src/core/i18n/locales/en/example.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,CAAC","sourcesContent":["/**\n * en 语言骨架文件:en 是源语言,`t()` 直通返回 key,永不查询词典(设计文档 §机制契约)。\n * 本目录仅保留与 zh-cn 对称的目录结构,供未来确需 en 覆写的场景(如日期/数字格式文案)使用;\n * 当前必须保持为空,运行时不加载本目录。\n */\nexport const example: Record<string, string> = {};\n"]}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * en 语言骨架文件:en 是源语言,`t()` 直通返回 key,永不查询词典(设计文档 §机制契约)。
3
+ * 本目录仅保留与 zh-cn 对称的目录结构,供未来确需 en 覆写的场景(如日期/数字格式文案)使用;
4
+ * 当前必须保持为空,运行时不加载本目录。
5
+ */
6
+ export const example = {};
7
+ //# sourceMappingURL=example.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"example.js","sourceRoot":"","sources":["../../../../../src/core/i18n/locales/en/example.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,MAAM,OAAO,GAA2B,EAAE,CAAC","sourcesContent":["/**\n * en 语言骨架文件:en 是源语言,`t()` 直通返回 key,永不查询词典(设计文档 §机制契约)。\n * 本目录仅保留与 zh-cn 对称的目录结构,供未来确需 en 覆写的场景(如日期/数字格式文案)使用;\n * 当前必须保持为空,运行时不加载本目录。\n */\nexport const example: Record<string, string> = {};\n"]}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * CLI 输出层域词典(docs/design/国际化与本地化.md §3,批次⑤):覆盖
3
+ * main.ts 启动/错误输出、--help(printHelp)、auth help、--list-models、
4
+ * print-mode 的用户可见文案。key 为英文原文,占位符 `{name}` 原样保留。
5
+ * 命令名、flag、路径、环境变量、suite 等代码标识符不译。
6
+ */
7
+ export declare const cli: Record<string, string>;
8
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../../../../src/core/i18n/locales/zh-cn/cli.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAO,MAAM,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA0QtC,CAAC","sourcesContent":["/**\n * CLI 输出层域词典(docs/design/国际化与本地化.md §3,批次⑤):覆盖\n * main.ts 启动/错误输出、--help(printHelp)、auth help、--list-models、\n * print-mode 的用户可见文案。key 为英文原文,占位符 `{name}` 原样保留。\n * 命令名、flag、路径、环境变量、suite 等代码标识符不译。\n */\nexport const cli: Record<string, string> = {\n\t// --- main.ts:诊断/错误前缀与兜底 ---\n\t\"Error: {message}\": \"错误:{message}\",\n\t\"Warning: {message}\": \"警告:{message}\",\n\t\"Failed to parse auth command\": \"解析 auth 命令失败\",\n\t\"Failed to resolve credential\": \"解析凭证失败\",\n\t\"Failed to export session\": \"导出会话失败\",\n\t\"Exported to: {result}\": \"已导出到:{result}\",\n\n\t// --- main.ts:auth 命令参数错误 ---\n\t'Invalid arguments for \"{command}\".': '\"{command}\" 的参数无效。',\n\t'Use \"{help}\" or \"{usage}\".': '请使用 \"{help}\" 或 \"{usage}\"。',\n\n\t// --- main.ts:suite 生命周期 ---\n\t'Created suite \"{id}\" at {dir}': '已创建 suite \"{id}\",位于 {dir}',\n\t\"Error: --clone-from requires --suite-create\": \"错误:--clone-from 需要与 --suite-create 一起使用\",\n\t'Error: suite \"{id}\" is referenced by {count} existing session(s); deletion refused:':\n\t\t'错误:suite \"{id}\" 被 {count} 个现有会话引用,拒绝删除:',\n\t'Deleting suite \"{id}\": the workspace directory {dir} will be moved to the trash and released.':\n\t\t'正在删除 suite \"{id}\":工作区目录 {dir} 将被移入回收站并释放。',\n\t'Refusing to delete suite \"{id}\" without an interactive confirmation (non-interactive stdin). Re-run in a terminal to confirm.':\n\t\t'拒绝删除 suite \"{id}\":缺少交互式确认(stdin 非交互)。请在终端中重新运行以确认。',\n\t'Delete suite \"{id}\"?': '删除 suite \"{id}\"?',\n\t'Aborted: suite \"{id}\" was not deleted.': '已中止:suite \"{id}\" 未删除。',\n\t'Cleared the {scope} settings \"suite\" key (pointed at \"{id}\").':\n\t\t'已清除 {scope} 设置中的 \"suite\" 键(原指向 \"{id}\")。',\n\t'Deleted suite \"{id}\"; the workspace was moved to {trashPath} and is being released.':\n\t\t'已删除 suite \"{id}\";工作区已移至 {trashPath},正在释放。',\n\t'Suite \"{id}\" is a user suite; only builtin suites can be reset — use --suite-delete instead.':\n\t\t'suite \"{id}\" 是用户 suite;只有内置 suite 可以重置——请改用 --suite-delete。',\n\t'Suite \"{id}\" already matches the factory contents; nothing to reset.': 'suite \"{id}\" 已与出厂内容一致,无需重置。',\n\t'Resetting builtin suite \"{id}\" to the factory contents:': '正在将内置 suite \"{id}\" 重置为出厂内容:',\n\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.':\n\t\t'拒绝重置 suite \"{id}\":缺少交互式确认(stdin 非交互)。请先查看上方 diff,再在终端中重新运行以确认。',\n\t'Apply reset of suite \"{id}\"?': '应用 suite \"{id}\" 的重置?',\n\t'Aborted: suite \"{id}\" was not reset.': '已中止:suite \"{id}\" 未重置。',\n\t'Suite \"{id}\" was reset to the factory contents (profile lock generation {generation}).':\n\t\t'suite \"{id}\" 已重置为出厂内容(profile lock 代数 {generation})。',\n\n\t// --- main.ts:flag 冲突与模式错误 ---\n\t\"Error: --fork cannot be combined with {flags}\": \"错误:--fork 不能与 {flags} 组合使用\",\n\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).\":\n\t\t\"错误:--session-id 不能与 {flags} 组合使用。要恢复该确切会话,请去掉其他 flag,单独使用 --session-id(或使用 --continue 恢复最近会话)。\",\n\t\"Error: --serve cannot be combined with {flags}\": \"错误:--serve 不能与 {flags} 组合使用\",\n\t\"--serve ignores session/model/tool options: {flags}\": \"--serve 会忽略会话/模型/工具选项:{flags}\",\n\t\"Error: @file arguments are not supported in RPC mode\": \"错误:RPC 模式不支持 @file 参数\",\n\t\"Error: --name requires a non-empty value\": \"错误:--name 需要非空值\",\n\t\"Error: AGENT_FORGE_STARTUP_BENCHMARK only supports interactive mode\":\n\t\t\"错误:AGENT_FORGE_STARTUP_BENCHMARK 仅支持交互模式\",\n\n\t// --- main.ts:会话选择/创建 ---\n\t\"Session already exists with id '{sessionId}'\": \"已存在 id 为 '{sessionId}' 的会话\",\n\t\"No session found matching '{arg}'\": \"没有找到匹配 '{arg}' 的会话\",\n\t\"Session found in different project: {cwd}\": \"会话位于其他项目:{cwd}\",\n\t\"Fork this session into current directory?\": \"将该会话 fork 到当前目录?\",\n\t\"Aborted.\": \"已中止。\",\n\t\"No session selected\": \"未选择会话\",\n\t\"Warning: No project session found with id '{sessionId}'; creating a new session with that id.\":\n\t\t\"警告:没有找到 id 为 '{sessionId}' 的项目会话;将创建使用该 id 的新会话。\",\n\n\t// --- main.ts:插件 bootstrap/拒绝 ---\n\t\"Plugin bootstrap {code}: {message}\": \"插件 bootstrap {code}:{message}\",\n\t\"Warning: capability plugin rejected ({code}): {target}: {message}\":\n\t\t\"警告:能力插件被拒绝({code}):{target}:{message}\",\n\n\t// --- args.ts:printHelp 节标题与标题行 ---\n\t\"AI coding assistant with read, bash, edit, write tools\": \"具备 read、bash、edit、write 工具的 AI 编程助手\",\n\t\"Usage:\": \"用法:\",\n\t\"Commands:\": \"命令:\",\n\t\"Options:\": \"选项:\",\n\t\"Examples:\": \"示例:\",\n\t\"Environment Variables:\": \"环境变量:\",\n\t\"Built-in Tool Names:\": \"内置工具名:\",\n\n\t// --- args.ts:printHelp Commands 描述 ---\n\t\"Install extension source and add to settings\": \"安装扩展源并加入设置\",\n\t\"Remove extension source from settings\": \"从设置中移除扩展源\",\n\t\"Alias for remove\": \"remove 的别名\",\n\t\"Update Agent Forge, extensions, or model catalogs\": \"更新 Agent Forge、扩展或模型目录\",\n\t\"List installed extensions from settings\": \"列出设置中已安装的扩展\",\n\t\"Open TUI to enable/disable package resources (Tab switches scope)\": \"打开 TUI 启用/禁用包资源(Tab 切换作用域)\",\n\t\"Print credentials or check provider readiness\": \"打印凭证或检查提供商就绪状态\",\n\t\"Show help for install/remove/uninstall/update/list/config/auth\":\n\t\t\"显示 install/remove/uninstall/update/list/config/auth 的帮助\",\n\n\t// --- args.ts:printHelp Options 描述 ---\n\t\"Provider name (default: google)\": \"提供商名称(默认:google)\",\n\t'Model pattern or ID (supports \"provider/id\" and optional \":<thinking>\")':\n\t\t'模型模式或 ID(支持 \"provider/id\" 与可选的 \":<thinking>\")',\n\t\"API key (defaults to env vars)\": \"API key(默认取自环境变量)\",\n\t\"System prompt (default: coding assistant prompt)\": \"系统提示词(默认:编程助手提示词)\",\n\t\"Append text or file contents to the system prompt (can be used multiple times)\":\n\t\t\"向系统提示词追加文本或文件内容(可多次使用)\",\n\t\"Output mode: text (default), json, or rpc\": \"输出模式:text(默认)、json 或 rpc\",\n\t\"Non-interactive mode: process prompt and exit\": \"非交互模式:处理提示后退出\",\n\t\"Continue previous session\": \"继续上一个会话\",\n\t\"Select a session to resume\": \"选择要恢复的会话\",\n\t\"Use specific session file or partial UUID\": \"使用指定会话文件或部分 UUID\",\n\t\"Use exact project session ID, creating it if missing\": \"使用精确的项目会话 ID,不存在则创建\",\n\t\"Fork specific session file or partial UUID into a new session\": \"将指定会话文件或部分 UUID fork 为新会话\",\n\t\"Directory for session storage and lookup\": \"会话存储与查找目录\",\n\t\"Suite (方案) for this run: coding (default) or assistant; new sessions only\":\n\t\t\"本次运行的 suite(方案):coding(默认)或 assistant;仅对新会话生效\",\n\t\"Create a user suite workspace and exit; add --clone-from <id> to copy one\":\n\t\t\"创建用户 suite 工作区并退出;加 --clone-from <id> 可复制既有 suite\",\n\t\"Delete a user suite workspace (active session references refuse) and exit\":\n\t\t\"删除用户 suite 工作区(存在活动会话引用时拒绝)并退出\",\n\t\"Reset a builtin suite to factory contents (shows a diff) and exit\":\n\t\t\"将内置 suite 重置为出厂内容(显示 diff)并退出\",\n\t\"(Experimental, local trust only) Serve the coding-agent session runtime over the WebSocket gateway (default: 127.0.0.1; HTTP surface: /healthz plus token-protected artifact reads) and exit on SIGINT/SIGTERM\":\n\t\t\"(实验性,仅限本地信任)经 WebSocket 网关提供 coding-agent 会话运行时(默认:127.0.0.1;HTTP 面:/healthz 及受令牌保护的产物读取),SIGINT/SIGTERM 时退出\",\n\t\"Durable journal: <agentDir>/remote-server-journal.jsonl (never the process cwd)\":\n\t\t\"持久日志:<agentDir>/remote-server-journal.jsonl(绝不写入进程 cwd)\",\n\t\"Opt-in --serve boundary: remote creates must run inside one of these roots (repeatable); without it any local directory is allowed\":\n\t\t\"--serve 的可选边界:远程创建必须在这些根目录内运行(可重复);未指定时允许任意本地目录\",\n\t\"(Experimental) Run as a headless subagent runner: serve the subagent-task protocol on stdio for a parent session's runner pool (D-045)\":\n\t\t\"(实验性)作为无头子代理运行器:在 stdio 上为父会话的 runner 池提供 subagent-task 协议(D-045)\",\n\t\"Don't save session (ephemeral)\": \"不保存会话(一次性)\",\n\t\"Set session display name\": \"设置会话显示名称\",\n\t\"Comma-separated model patterns for Ctrl+P cycling\": \"逗号分隔的模型模式,用于 Ctrl+P 轮换\",\n\t\"Supports globs (anthropic/*, *sonnet*) and fuzzy matching\": \"支持 glob(anthropic/*、*sonnet*)与模糊匹配\",\n\t\"Disable all tools by default (built-in and plugin)\": \"默认禁用全部工具(内置与插件)\",\n\t\"Disable built-in tools by default but keep plugin/custom tools enabled\":\n\t\t\"默认禁用内置工具,但保持插件/自定义工具可用\",\n\t\"Comma-separated allowlist of tool names to enable\": \"逗号分隔的工具名白名单\",\n\t\"Applies to built-in, plugin, and custom tools\": \"作用于内置、插件与自定义工具\",\n\t\"Comma-separated denylist of tool names to disable\": \"逗号分隔的工具名黑名单\",\n\t\"Set thinking level: off, minimal, low, medium, high, xhigh, max\":\n\t\t\"设置思考级别:off、minimal、low、medium、high、xhigh、max\",\n\t\"Disable capability plugin discovery (D-028 escape hatch)\": \"禁用能力插件发现(D-028 逃生口)\",\n\t\"Disable session trace collection (no .trace.jsonl file is written)\": \"禁用会话轨迹收集(不写 .trace.jsonl 文件)\",\n\t\"Host log level: debug, info (default), warn, error\": \"宿主日志级别:debug、info(默认)、warn、error\",\n\t\"Select a builtin capability plugin profile for this run\": \"为本次运行选择内置能力插件 profile\",\n\t\"Select a plugin within the profile (repeatable)\": \"在 profile 内选择插件(可重复)\",\n\t\"Disable a plugin within the profile (repeatable)\": \"在 profile 内禁用插件(可重复)\",\n\t\"Read the explicit selection from global or project storage\": \"从全局或项目存储读取显式选择\",\n\t\"List installed/available ecosystem plugins (independent namespace)\": \"列出已安装/可用的生态插件(独立命名空间)\",\n\t\"Load a skill file or directory (can be used multiple times)\": \"加载 skill 文件或目录(可多次使用)\",\n\t\"Disable skills discovery and loading\": \"禁用 skill 发现与加载\",\n\t\"Load a prompt template file or directory (can be used multiple times)\": \"加载提示词模板文件或目录(可多次使用)\",\n\t\"Disable prompt template discovery and loading\": \"禁用提示词模板发现与加载\",\n\t\"Load a theme file or directory (can be used multiple times)\": \"加载主题文件或目录(可多次使用)\",\n\t\"Set the initial interactive theme for this run\": \"设置本次运行的初始交互主题\",\n\t\"Disable theme discovery and loading\": \"禁用主题发现与加载\",\n\t\"Disable AGENTS.md and CLAUDE.md discovery and loading\": \"禁用 AGENTS.md 与 CLAUDE.md 的发现与加载\",\n\t\"Export session file to HTML and exit\": \"将会话文件导出为 HTML 并退出\",\n\t\"View a session trace file as a text timeline and exit; <session> is a session id/prefix or trace/session file path, omit it for the most recent session\":\n\t\t\"以文本时间线查看会话轨迹文件并退出;<session> 为会话 id/前缀或轨迹/会话文件路径,省略则查看最近会话\",\n\t\"With --trace, output the structured trace records as JSON instead of the text timeline\":\n\t\t\"配合 --trace,以 JSON 输出结构化轨迹记录,而非文本时间线\",\n\t\"With --trace, show only records of these kinds (comma-separated); valid kinds: {kinds}\":\n\t\t\"配合 --trace,只显示这些类型的记录(逗号分隔);有效类型:{kinds}\",\n\t\"With --trace, show only the last N records (positive integer)\": \"配合 --trace,只显示最后 N 条记录(正整数)\",\n\t\"List available models (with optional fuzzy search)\": \"列出可用模型(可选模糊搜索)\",\n\t\"Force verbose startup (overrides quietStartup setting)\": \"强制详细启动(覆盖 quietStartup 设置)\",\n\t\"TUI mode: regular (default) or fullscreen\": \"TUI 模式:regular(默认)或 fullscreen\",\n\t\"Disable startup network operations (same as AGENT_FORGE_OFFLINE=1)\":\n\t\t\"禁用启动网络操作(等同 AGENT_FORGE_OFFLINE=1)\",\n\t\"End option parsing; treat remaining arguments as messages/files\": \"结束选项解析;剩余参数视为消息/文件\",\n\t\"Show this help\": \"显示此帮助\",\n\t\"Show version number\": \"显示版本号\",\n\n\t// --- args.ts:printHelp Examples 注释 ---\n\t\"Print a provider API key for an external client\": \"为外部客户端打印提供商 API key\",\n\t\"Print an OAuth bearer token for an external client (refreshes if expired)\":\n\t\t\"为外部客户端打印 OAuth bearer token(过期则刷新)\",\n\t\"Interactive mode\": \"交互模式\",\n\t\"Interactive mode with initial prompt\": \"带初始提示的交互模式\",\n\t\"Include files in initial message\": \"在初始消息中包含文件\",\n\t\"Non-interactive mode (process and exit)\": \"非交互模式(处理后退出)\",\n\t\"Prompt beginning with a dash\": \"以连字符开头的提示\",\n\t\"Multiple messages (interactive)\": \"多条消息(交互)\",\n\t\"Start a named session\": \"启动命名会话\",\n\t\"Use different model\": \"使用不同模型\",\n\t\"Use model with provider prefix (no --provider needed)\": \"使用带提供商前缀的模型(无需 --provider)\",\n\t\"Use model with thinking level shorthand\": \"使用思考级别简写形式的模型\",\n\t\"Limit model cycling to specific models\": \"将模型轮换限定为指定模型\",\n\t\"Limit to a specific provider with glob pattern\": \"用 glob 模式限定到指定提供商\",\n\t\"Cycle models with fixed thinking levels\": \"以固定思考级别轮换模型\",\n\t\"Start with a specific thinking level\": \"以指定思考级别启动\",\n\t\"Read-only mode (no file modifications possible)\": \"只读模式(不能修改文件)\",\n\t\"Disable one tool while keeping the rest available\": \"禁用单个工具,其余保持可用\",\n\t\"Export a session file to HTML\": \"导出会话文件为 HTML\",\n\n\t// --- args.ts:printHelp 环境变量描述 ---\n\t\"Anthropic bearer auth token\": \"Anthropic bearer 认证令牌\",\n\t\"Anthropic Claude API key\": \"Anthropic Claude API key\",\n\t\"Anthropic OAuth token (alternative to API key)\": \"Anthropic OAuth 令牌(API key 的替代)\",\n\t\"Ant Ling API key\": \"Ant Ling API key\",\n\t\"OpenAI GPT API key\": \"OpenAI GPT API key\",\n\t\"Azure OpenAI API key\": \"Azure OpenAI API key\",\n\t\"Azure OpenAI/Cognitive Services base URL (e.g. https://{resource}.openai.azure.com)\":\n\t\t\"Azure OpenAI/Cognitive Services base URL(如 https://{resource}.openai.azure.com)\",\n\t\"Azure OpenAI resource name (alternative to base URL)\": \"Azure OpenAI 资源名(base URL 的替代)\",\n\t\"Azure OpenAI API version (default: v1)\": \"Azure OpenAI API 版本(默认:v1)\",\n\t\"Azure OpenAI model=deployment map (comma-separated)\": \"Azure OpenAI 模型=部署映射(逗号分隔)\",\n\t\"DeepSeek API key\": \"DeepSeek API key\",\n\t\"NVIDIA NIM API key\": \"NVIDIA NIM API key\",\n\t\"Google Gemini API key\": \"Google Gemini API key\",\n\t\"Groq API key\": \"Groq API key\",\n\t\"Cerebras API key\": \"Cerebras API key\",\n\t\"xAI Grok API key\": \"xAI Grok API key\",\n\t\"Fireworks API key\": \"Fireworks API key\",\n\t\"Together AI API key\": \"Together AI API key\",\n\t\"Baseten API key\": \"Baseten API key\",\n\t\"OpenRouter API key\": \"OpenRouter API key\",\n\t\"Vercel AI Gateway API key\": \"Vercel AI Gateway API key\",\n\t\"ZAI Coding Plan API key (Global)\": \"ZAI Coding Plan API key(全球区)\",\n\t\"ZAI Coding Plan API key (China)\": \"ZAI Coding Plan API key(中国区)\",\n\t\"Mistral API key\": \"Mistral API key\",\n\t\"MiniMax API key\": \"MiniMax API key\",\n\t\"Moonshot AI API key\": \"Moonshot AI API key\",\n\t\"OpenCode Zen/OpenCode Go API key\": \"OpenCode Zen/OpenCode Go API key\",\n\t\"Kimi For Coding API key\": \"Kimi For Coding API key\",\n\t\"Cloudflare API token (Workers AI and AI Gateway)\": \"Cloudflare API 令牌(Workers AI 与 AI Gateway)\",\n\t\"Cloudflare account id (required for both)\": \"Cloudflare 账户 id(两者均需要)\",\n\t\"Cloudflare AI Gateway slug (required for AI Gateway)\": \"Cloudflare AI Gateway slug(AI Gateway 需要)\",\n\t\"Qwen Token Plan API key (international region)\": \"Qwen Token Plan API key(国际区)\",\n\t\"Qwen Token Plan API key (China region)\": \"Qwen Token Plan API key(中国区)\",\n\t\"Xiaomi MiMo API key (api.xiaomimimo.com billing)\": \"Xiaomi MiMo API key(按 api.xiaomimimo.com 计费)\",\n\t\"Xiaomi MiMo Token Plan API key (China region)\": \"Xiaomi MiMo Token Plan API key(中国区)\",\n\t\"Xiaomi MiMo Token Plan API key (Amsterdam region)\": \"Xiaomi MiMo Token Plan API key(阿姆斯特丹区)\",\n\t\"Xiaomi MiMo Token Plan API key (Singapore region)\": \"Xiaomi MiMo Token Plan API key(新加坡区)\",\n\t\"AWS profile for Amazon Bedrock\": \"Amazon Bedrock 的 AWS profile\",\n\t\"AWS access key for Amazon Bedrock\": \"Amazon Bedrock 的 AWS access key\",\n\t\"AWS secret key for Amazon Bedrock\": \"Amazon Bedrock 的 AWS secret key\",\n\t\"Bedrock API key (bearer token)\": \"Bedrock API key(bearer token)\",\n\t\"AWS region for Amazon Bedrock (e.g., us-east-1)\": \"Amazon Bedrock 的 AWS 区域(如 us-east-1)\",\n\t\"Config directory (default: ~/{configDir}/agent)\": \"配置目录(默认:~/{configDir}/agent)\",\n\t\"Session storage directory (overridden by --session-dir)\": \"会话存储目录(--session-dir 可覆盖)\",\n\t\"Override package directory (for Nix/Guix store paths)\": \"覆盖包目录(用于 Nix/Guix store 路径)\",\n\t\"Disable startup network operations when set to 1/true/yes\": \"设为 1/true/yes 时禁用启动网络操作\",\n\n\t// --- args.ts:printHelp 内置工具描述 ---\n\t\"Read file contents\": \"读取文件内容\",\n\t\"Execute bash commands\": \"执行 bash 命令\",\n\t\"Execute PowerShell commands on Windows\": \"在 Windows 上执行 PowerShell 命令\",\n\t\"Edit files with find/replace\": \"以查找/替换方式编辑文件\",\n\t\"Write files (creates/overwrites)\": \"写文件(创建/覆盖)\",\n\t\"Search file contents (read-only, off by default)\": \"搜索文件内容(只读,默认关闭)\",\n\t\"Find files by glob pattern (read-only, off by default)\": \"按 glob 模式查找文件(只读,默认关闭)\",\n\t\"List directory contents (read-only, off by default)\": \"列出目录内容(只读,默认关闭)\",\n\n\t// --- auth-command.ts:printAuthCommandHelp ---\n\t\"Auth commands require at least one of --provider or --model. Checks refresh expired OAuth credentials by default; --no-refresh prevents this. --credentials emits the credential, or includes it in JSON output.\":\n\t\t\"auth 命令需要 --provider 或 --model 至少其一。check 默认刷新已过期的 OAuth 凭证;--no-refresh 可阻止。--credentials 输出凭证,或将其包含在 JSON 输出中。\",\n\n\t// --- list-models.ts ---\n\t\"Warning: errors loading models.json:\\n{loadError}\": \"警告:加载 models.json 出错:\\n{loadError}\",\n\t'No models matching \"{searchPattern}\"': '没有匹配 \"{searchPattern}\" 的模型',\n\tprovider: \"提供商\",\n\tmodel: \"模型\",\n\tcontext: \"上下文\",\n\t\"max-out\": \"最大输出\",\n\tthinking: \"思考\",\n\timages: \"图像\",\n\n\t// --- print-mode.ts ---\n\t\"{label}: {url}\": \"{label}:{url}\",\n\t\"Request {stopReason}\": \"请求 {stopReason}\",\n\n\t// --- serve.ts ---\n\t\"remote-server error: {error}\": \"remote-server 错误:{error}\",\n\t\"Port {port} is already in use\": \"端口 {port} 已被占用\",\n\t\"Remote server shutdown failed: {error}\": \"远程服务器关闭失败:{error}\",\n\t\"Remote server listening on {addresses}\": \"远程服务器监听于 {addresses}\",\n};\n"]}
@@ -0,0 +1,227 @@
1
+ /**
2
+ * CLI 输出层域词典(docs/design/国际化与本地化.md §3,批次⑤):覆盖
3
+ * main.ts 启动/错误输出、--help(printHelp)、auth help、--list-models、
4
+ * print-mode 的用户可见文案。key 为英文原文,占位符 `{name}` 原样保留。
5
+ * 命令名、flag、路径、环境变量、suite 等代码标识符不译。
6
+ */
7
+ export const cli = {
8
+ // --- main.ts:诊断/错误前缀与兜底 ---
9
+ "Error: {message}": "错误:{message}",
10
+ "Warning: {message}": "警告:{message}",
11
+ "Failed to parse auth command": "解析 auth 命令失败",
12
+ "Failed to resolve credential": "解析凭证失败",
13
+ "Failed to export session": "导出会话失败",
14
+ "Exported to: {result}": "已导出到:{result}",
15
+ // --- main.ts:auth 命令参数错误 ---
16
+ 'Invalid arguments for "{command}".': '"{command}" 的参数无效。',
17
+ 'Use "{help}" or "{usage}".': '请使用 "{help}" 或 "{usage}"。',
18
+ // --- main.ts:suite 生命周期 ---
19
+ 'Created suite "{id}" at {dir}': '已创建 suite "{id}",位于 {dir}',
20
+ "Error: --clone-from requires --suite-create": "错误:--clone-from 需要与 --suite-create 一起使用",
21
+ 'Error: suite "{id}" is referenced by {count} existing session(s); deletion refused:': '错误:suite "{id}" 被 {count} 个现有会话引用,拒绝删除:',
22
+ 'Deleting suite "{id}": the workspace directory {dir} will be moved to the trash and released.': '正在删除 suite "{id}":工作区目录 {dir} 将被移入回收站并释放。',
23
+ 'Refusing to delete suite "{id}" without an interactive confirmation (non-interactive stdin). Re-run in a terminal to confirm.': '拒绝删除 suite "{id}":缺少交互式确认(stdin 非交互)。请在终端中重新运行以确认。',
24
+ 'Delete suite "{id}"?': '删除 suite "{id}"?',
25
+ 'Aborted: suite "{id}" was not deleted.': '已中止:suite "{id}" 未删除。',
26
+ 'Cleared the {scope} settings "suite" key (pointed at "{id}").': '已清除 {scope} 设置中的 "suite" 键(原指向 "{id}")。',
27
+ 'Deleted suite "{id}"; the workspace was moved to {trashPath} and is being released.': '已删除 suite "{id}";工作区已移至 {trashPath},正在释放。',
28
+ 'Suite "{id}" is a user suite; only builtin suites can be reset — use --suite-delete instead.': 'suite "{id}" 是用户 suite;只有内置 suite 可以重置——请改用 --suite-delete。',
29
+ 'Suite "{id}" already matches the factory contents; nothing to reset.': 'suite "{id}" 已与出厂内容一致,无需重置。',
30
+ 'Resetting builtin suite "{id}" to the factory contents:': '正在将内置 suite "{id}" 重置为出厂内容:',
31
+ 'Refusing to reset suite "{id}" without an interactive confirmation (non-interactive stdin). Review the diff above and re-run in a terminal to confirm.': '拒绝重置 suite "{id}":缺少交互式确认(stdin 非交互)。请先查看上方 diff,再在终端中重新运行以确认。',
32
+ 'Apply reset of suite "{id}"?': '应用 suite "{id}" 的重置?',
33
+ 'Aborted: suite "{id}" was not reset.': '已中止:suite "{id}" 未重置。',
34
+ 'Suite "{id}" was reset to the factory contents (profile lock generation {generation}).': 'suite "{id}" 已重置为出厂内容(profile lock 代数 {generation})。',
35
+ // --- main.ts:flag 冲突与模式错误 ---
36
+ "Error: --fork cannot be combined with {flags}": "错误:--fork 不能与 {flags} 组合使用",
37
+ "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).": "错误:--session-id 不能与 {flags} 组合使用。要恢复该确切会话,请去掉其他 flag,单独使用 --session-id(或使用 --continue 恢复最近会话)。",
38
+ "Error: --serve cannot be combined with {flags}": "错误:--serve 不能与 {flags} 组合使用",
39
+ "--serve ignores session/model/tool options: {flags}": "--serve 会忽略会话/模型/工具选项:{flags}",
40
+ "Error: @file arguments are not supported in RPC mode": "错误:RPC 模式不支持 @file 参数",
41
+ "Error: --name requires a non-empty value": "错误:--name 需要非空值",
42
+ "Error: AGENT_FORGE_STARTUP_BENCHMARK only supports interactive mode": "错误:AGENT_FORGE_STARTUP_BENCHMARK 仅支持交互模式",
43
+ // --- main.ts:会话选择/创建 ---
44
+ "Session already exists with id '{sessionId}'": "已存在 id 为 '{sessionId}' 的会话",
45
+ "No session found matching '{arg}'": "没有找到匹配 '{arg}' 的会话",
46
+ "Session found in different project: {cwd}": "会话位于其他项目:{cwd}",
47
+ "Fork this session into current directory?": "将该会话 fork 到当前目录?",
48
+ "Aborted.": "已中止。",
49
+ "No session selected": "未选择会话",
50
+ "Warning: No project session found with id '{sessionId}'; creating a new session with that id.": "警告:没有找到 id 为 '{sessionId}' 的项目会话;将创建使用该 id 的新会话。",
51
+ // --- main.ts:插件 bootstrap/拒绝 ---
52
+ "Plugin bootstrap {code}: {message}": "插件 bootstrap {code}:{message}",
53
+ "Warning: capability plugin rejected ({code}): {target}: {message}": "警告:能力插件被拒绝({code}):{target}:{message}",
54
+ // --- args.ts:printHelp 节标题与标题行 ---
55
+ "AI coding assistant with read, bash, edit, write tools": "具备 read、bash、edit、write 工具的 AI 编程助手",
56
+ "Usage:": "用法:",
57
+ "Commands:": "命令:",
58
+ "Options:": "选项:",
59
+ "Examples:": "示例:",
60
+ "Environment Variables:": "环境变量:",
61
+ "Built-in Tool Names:": "内置工具名:",
62
+ // --- args.ts:printHelp Commands 描述 ---
63
+ "Install extension source and add to settings": "安装扩展源并加入设置",
64
+ "Remove extension source from settings": "从设置中移除扩展源",
65
+ "Alias for remove": "remove 的别名",
66
+ "Update Agent Forge, extensions, or model catalogs": "更新 Agent Forge、扩展或模型目录",
67
+ "List installed extensions from settings": "列出设置中已安装的扩展",
68
+ "Open TUI to enable/disable package resources (Tab switches scope)": "打开 TUI 启用/禁用包资源(Tab 切换作用域)",
69
+ "Print credentials or check provider readiness": "打印凭证或检查提供商就绪状态",
70
+ "Show help for install/remove/uninstall/update/list/config/auth": "显示 install/remove/uninstall/update/list/config/auth 的帮助",
71
+ // --- args.ts:printHelp Options 描述 ---
72
+ "Provider name (default: google)": "提供商名称(默认:google)",
73
+ 'Model pattern or ID (supports "provider/id" and optional ":<thinking>")': '模型模式或 ID(支持 "provider/id" 与可选的 ":<thinking>")',
74
+ "API key (defaults to env vars)": "API key(默认取自环境变量)",
75
+ "System prompt (default: coding assistant prompt)": "系统提示词(默认:编程助手提示词)",
76
+ "Append text or file contents to the system prompt (can be used multiple times)": "向系统提示词追加文本或文件内容(可多次使用)",
77
+ "Output mode: text (default), json, or rpc": "输出模式:text(默认)、json 或 rpc",
78
+ "Non-interactive mode: process prompt and exit": "非交互模式:处理提示后退出",
79
+ "Continue previous session": "继续上一个会话",
80
+ "Select a session to resume": "选择要恢复的会话",
81
+ "Use specific session file or partial UUID": "使用指定会话文件或部分 UUID",
82
+ "Use exact project session ID, creating it if missing": "使用精确的项目会话 ID,不存在则创建",
83
+ "Fork specific session file or partial UUID into a new session": "将指定会话文件或部分 UUID fork 为新会话",
84
+ "Directory for session storage and lookup": "会话存储与查找目录",
85
+ "Suite (方案) for this run: coding (default) or assistant; new sessions only": "本次运行的 suite(方案):coding(默认)或 assistant;仅对新会话生效",
86
+ "Create a user suite workspace and exit; add --clone-from <id> to copy one": "创建用户 suite 工作区并退出;加 --clone-from <id> 可复制既有 suite",
87
+ "Delete a user suite workspace (active session references refuse) and exit": "删除用户 suite 工作区(存在活动会话引用时拒绝)并退出",
88
+ "Reset a builtin suite to factory contents (shows a diff) and exit": "将内置 suite 重置为出厂内容(显示 diff)并退出",
89
+ "(Experimental, local trust only) Serve the coding-agent session runtime over the WebSocket gateway (default: 127.0.0.1; HTTP surface: /healthz plus token-protected artifact reads) and exit on SIGINT/SIGTERM": "(实验性,仅限本地信任)经 WebSocket 网关提供 coding-agent 会话运行时(默认:127.0.0.1;HTTP 面:/healthz 及受令牌保护的产物读取),SIGINT/SIGTERM 时退出",
90
+ "Durable journal: <agentDir>/remote-server-journal.jsonl (never the process cwd)": "持久日志:<agentDir>/remote-server-journal.jsonl(绝不写入进程 cwd)",
91
+ "Opt-in --serve boundary: remote creates must run inside one of these roots (repeatable); without it any local directory is allowed": "--serve 的可选边界:远程创建必须在这些根目录内运行(可重复);未指定时允许任意本地目录",
92
+ "(Experimental) Run as a headless subagent runner: serve the subagent-task protocol on stdio for a parent session's runner pool (D-045)": "(实验性)作为无头子代理运行器:在 stdio 上为父会话的 runner 池提供 subagent-task 协议(D-045)",
93
+ "Don't save session (ephemeral)": "不保存会话(一次性)",
94
+ "Set session display name": "设置会话显示名称",
95
+ "Comma-separated model patterns for Ctrl+P cycling": "逗号分隔的模型模式,用于 Ctrl+P 轮换",
96
+ "Supports globs (anthropic/*, *sonnet*) and fuzzy matching": "支持 glob(anthropic/*、*sonnet*)与模糊匹配",
97
+ "Disable all tools by default (built-in and plugin)": "默认禁用全部工具(内置与插件)",
98
+ "Disable built-in tools by default but keep plugin/custom tools enabled": "默认禁用内置工具,但保持插件/自定义工具可用",
99
+ "Comma-separated allowlist of tool names to enable": "逗号分隔的工具名白名单",
100
+ "Applies to built-in, plugin, and custom tools": "作用于内置、插件与自定义工具",
101
+ "Comma-separated denylist of tool names to disable": "逗号分隔的工具名黑名单",
102
+ "Set thinking level: off, minimal, low, medium, high, xhigh, max": "设置思考级别:off、minimal、low、medium、high、xhigh、max",
103
+ "Disable capability plugin discovery (D-028 escape hatch)": "禁用能力插件发现(D-028 逃生口)",
104
+ "Disable session trace collection (no .trace.jsonl file is written)": "禁用会话轨迹收集(不写 .trace.jsonl 文件)",
105
+ "Host log level: debug, info (default), warn, error": "宿主日志级别:debug、info(默认)、warn、error",
106
+ "Select a builtin capability plugin profile for this run": "为本次运行选择内置能力插件 profile",
107
+ "Select a plugin within the profile (repeatable)": "在 profile 内选择插件(可重复)",
108
+ "Disable a plugin within the profile (repeatable)": "在 profile 内禁用插件(可重复)",
109
+ "Read the explicit selection from global or project storage": "从全局或项目存储读取显式选择",
110
+ "List installed/available ecosystem plugins (independent namespace)": "列出已安装/可用的生态插件(独立命名空间)",
111
+ "Load a skill file or directory (can be used multiple times)": "加载 skill 文件或目录(可多次使用)",
112
+ "Disable skills discovery and loading": "禁用 skill 发现与加载",
113
+ "Load a prompt template file or directory (can be used multiple times)": "加载提示词模板文件或目录(可多次使用)",
114
+ "Disable prompt template discovery and loading": "禁用提示词模板发现与加载",
115
+ "Load a theme file or directory (can be used multiple times)": "加载主题文件或目录(可多次使用)",
116
+ "Set the initial interactive theme for this run": "设置本次运行的初始交互主题",
117
+ "Disable theme discovery and loading": "禁用主题发现与加载",
118
+ "Disable AGENTS.md and CLAUDE.md discovery and loading": "禁用 AGENTS.md 与 CLAUDE.md 的发现与加载",
119
+ "Export session file to HTML and exit": "将会话文件导出为 HTML 并退出",
120
+ "View a session trace file as a text timeline and exit; <session> is a session id/prefix or trace/session file path, omit it for the most recent session": "以文本时间线查看会话轨迹文件并退出;<session> 为会话 id/前缀或轨迹/会话文件路径,省略则查看最近会话",
121
+ "With --trace, output the structured trace records as JSON instead of the text timeline": "配合 --trace,以 JSON 输出结构化轨迹记录,而非文本时间线",
122
+ "With --trace, show only records of these kinds (comma-separated); valid kinds: {kinds}": "配合 --trace,只显示这些类型的记录(逗号分隔);有效类型:{kinds}",
123
+ "With --trace, show only the last N records (positive integer)": "配合 --trace,只显示最后 N 条记录(正整数)",
124
+ "List available models (with optional fuzzy search)": "列出可用模型(可选模糊搜索)",
125
+ "Force verbose startup (overrides quietStartup setting)": "强制详细启动(覆盖 quietStartup 设置)",
126
+ "TUI mode: regular (default) or fullscreen": "TUI 模式:regular(默认)或 fullscreen",
127
+ "Disable startup network operations (same as AGENT_FORGE_OFFLINE=1)": "禁用启动网络操作(等同 AGENT_FORGE_OFFLINE=1)",
128
+ "End option parsing; treat remaining arguments as messages/files": "结束选项解析;剩余参数视为消息/文件",
129
+ "Show this help": "显示此帮助",
130
+ "Show version number": "显示版本号",
131
+ // --- args.ts:printHelp Examples 注释 ---
132
+ "Print a provider API key for an external client": "为外部客户端打印提供商 API key",
133
+ "Print an OAuth bearer token for an external client (refreshes if expired)": "为外部客户端打印 OAuth bearer token(过期则刷新)",
134
+ "Interactive mode": "交互模式",
135
+ "Interactive mode with initial prompt": "带初始提示的交互模式",
136
+ "Include files in initial message": "在初始消息中包含文件",
137
+ "Non-interactive mode (process and exit)": "非交互模式(处理后退出)",
138
+ "Prompt beginning with a dash": "以连字符开头的提示",
139
+ "Multiple messages (interactive)": "多条消息(交互)",
140
+ "Start a named session": "启动命名会话",
141
+ "Use different model": "使用不同模型",
142
+ "Use model with provider prefix (no --provider needed)": "使用带提供商前缀的模型(无需 --provider)",
143
+ "Use model with thinking level shorthand": "使用思考级别简写形式的模型",
144
+ "Limit model cycling to specific models": "将模型轮换限定为指定模型",
145
+ "Limit to a specific provider with glob pattern": "用 glob 模式限定到指定提供商",
146
+ "Cycle models with fixed thinking levels": "以固定思考级别轮换模型",
147
+ "Start with a specific thinking level": "以指定思考级别启动",
148
+ "Read-only mode (no file modifications possible)": "只读模式(不能修改文件)",
149
+ "Disable one tool while keeping the rest available": "禁用单个工具,其余保持可用",
150
+ "Export a session file to HTML": "导出会话文件为 HTML",
151
+ // --- args.ts:printHelp 环境变量描述 ---
152
+ "Anthropic bearer auth token": "Anthropic bearer 认证令牌",
153
+ "Anthropic Claude API key": "Anthropic Claude API key",
154
+ "Anthropic OAuth token (alternative to API key)": "Anthropic OAuth 令牌(API key 的替代)",
155
+ "Ant Ling API key": "Ant Ling API key",
156
+ "OpenAI GPT API key": "OpenAI GPT API key",
157
+ "Azure OpenAI API key": "Azure OpenAI API key",
158
+ "Azure OpenAI/Cognitive Services base URL (e.g. https://{resource}.openai.azure.com)": "Azure OpenAI/Cognitive Services base URL(如 https://{resource}.openai.azure.com)",
159
+ "Azure OpenAI resource name (alternative to base URL)": "Azure OpenAI 资源名(base URL 的替代)",
160
+ "Azure OpenAI API version (default: v1)": "Azure OpenAI API 版本(默认:v1)",
161
+ "Azure OpenAI model=deployment map (comma-separated)": "Azure OpenAI 模型=部署映射(逗号分隔)",
162
+ "DeepSeek API key": "DeepSeek API key",
163
+ "NVIDIA NIM API key": "NVIDIA NIM API key",
164
+ "Google Gemini API key": "Google Gemini API key",
165
+ "Groq API key": "Groq API key",
166
+ "Cerebras API key": "Cerebras API key",
167
+ "xAI Grok API key": "xAI Grok API key",
168
+ "Fireworks API key": "Fireworks API key",
169
+ "Together AI API key": "Together AI API key",
170
+ "Baseten API key": "Baseten API key",
171
+ "OpenRouter API key": "OpenRouter API key",
172
+ "Vercel AI Gateway API key": "Vercel AI Gateway API key",
173
+ "ZAI Coding Plan API key (Global)": "ZAI Coding Plan API key(全球区)",
174
+ "ZAI Coding Plan API key (China)": "ZAI Coding Plan API key(中国区)",
175
+ "Mistral API key": "Mistral API key",
176
+ "MiniMax API key": "MiniMax API key",
177
+ "Moonshot AI API key": "Moonshot AI API key",
178
+ "OpenCode Zen/OpenCode Go API key": "OpenCode Zen/OpenCode Go API key",
179
+ "Kimi For Coding API key": "Kimi For Coding API key",
180
+ "Cloudflare API token (Workers AI and AI Gateway)": "Cloudflare API 令牌(Workers AI 与 AI Gateway)",
181
+ "Cloudflare account id (required for both)": "Cloudflare 账户 id(两者均需要)",
182
+ "Cloudflare AI Gateway slug (required for AI Gateway)": "Cloudflare AI Gateway slug(AI Gateway 需要)",
183
+ "Qwen Token Plan API key (international region)": "Qwen Token Plan API key(国际区)",
184
+ "Qwen Token Plan API key (China region)": "Qwen Token Plan API key(中国区)",
185
+ "Xiaomi MiMo API key (api.xiaomimimo.com billing)": "Xiaomi MiMo API key(按 api.xiaomimimo.com 计费)",
186
+ "Xiaomi MiMo Token Plan API key (China region)": "Xiaomi MiMo Token Plan API key(中国区)",
187
+ "Xiaomi MiMo Token Plan API key (Amsterdam region)": "Xiaomi MiMo Token Plan API key(阿姆斯特丹区)",
188
+ "Xiaomi MiMo Token Plan API key (Singapore region)": "Xiaomi MiMo Token Plan API key(新加坡区)",
189
+ "AWS profile for Amazon Bedrock": "Amazon Bedrock 的 AWS profile",
190
+ "AWS access key for Amazon Bedrock": "Amazon Bedrock 的 AWS access key",
191
+ "AWS secret key for Amazon Bedrock": "Amazon Bedrock 的 AWS secret key",
192
+ "Bedrock API key (bearer token)": "Bedrock API key(bearer token)",
193
+ "AWS region for Amazon Bedrock (e.g., us-east-1)": "Amazon Bedrock 的 AWS 区域(如 us-east-1)",
194
+ "Config directory (default: ~/{configDir}/agent)": "配置目录(默认:~/{configDir}/agent)",
195
+ "Session storage directory (overridden by --session-dir)": "会话存储目录(--session-dir 可覆盖)",
196
+ "Override package directory (for Nix/Guix store paths)": "覆盖包目录(用于 Nix/Guix store 路径)",
197
+ "Disable startup network operations when set to 1/true/yes": "设为 1/true/yes 时禁用启动网络操作",
198
+ // --- args.ts:printHelp 内置工具描述 ---
199
+ "Read file contents": "读取文件内容",
200
+ "Execute bash commands": "执行 bash 命令",
201
+ "Execute PowerShell commands on Windows": "在 Windows 上执行 PowerShell 命令",
202
+ "Edit files with find/replace": "以查找/替换方式编辑文件",
203
+ "Write files (creates/overwrites)": "写文件(创建/覆盖)",
204
+ "Search file contents (read-only, off by default)": "搜索文件内容(只读,默认关闭)",
205
+ "Find files by glob pattern (read-only, off by default)": "按 glob 模式查找文件(只读,默认关闭)",
206
+ "List directory contents (read-only, off by default)": "列出目录内容(只读,默认关闭)",
207
+ // --- auth-command.ts:printAuthCommandHelp ---
208
+ "Auth commands require at least one of --provider or --model. Checks refresh expired OAuth credentials by default; --no-refresh prevents this. --credentials emits the credential, or includes it in JSON output.": "auth 命令需要 --provider 或 --model 至少其一。check 默认刷新已过期的 OAuth 凭证;--no-refresh 可阻止。--credentials 输出凭证,或将其包含在 JSON 输出中。",
209
+ // --- list-models.ts ---
210
+ "Warning: errors loading models.json:\n{loadError}": "警告:加载 models.json 出错:\n{loadError}",
211
+ 'No models matching "{searchPattern}"': '没有匹配 "{searchPattern}" 的模型',
212
+ provider: "提供商",
213
+ model: "模型",
214
+ context: "上下文",
215
+ "max-out": "最大输出",
216
+ thinking: "思考",
217
+ images: "图像",
218
+ // --- print-mode.ts ---
219
+ "{label}: {url}": "{label}:{url}",
220
+ "Request {stopReason}": "请求 {stopReason}",
221
+ // --- serve.ts ---
222
+ "remote-server error: {error}": "remote-server 错误:{error}",
223
+ "Port {port} is already in use": "端口 {port} 已被占用",
224
+ "Remote server shutdown failed: {error}": "远程服务器关闭失败:{error}",
225
+ "Remote server listening on {addresses}": "远程服务器监听于 {addresses}",
226
+ };
227
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../../../src/core/i18n/locales/zh-cn/cli.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * CLI 输出层域词典(docs/design/国际化与本地化.md §3,批次⑤):覆盖\n * main.ts 启动/错误输出、--help(printHelp)、auth help、--list-models、\n * print-mode 的用户可见文案。key 为英文原文,占位符 `{name}` 原样保留。\n * 命令名、flag、路径、环境变量、suite 等代码标识符不译。\n */\nexport const cli: Record<string, string> = {\n\t// --- main.ts:诊断/错误前缀与兜底 ---\n\t\"Error: {message}\": \"错误:{message}\",\n\t\"Warning: {message}\": \"警告:{message}\",\n\t\"Failed to parse auth command\": \"解析 auth 命令失败\",\n\t\"Failed to resolve credential\": \"解析凭证失败\",\n\t\"Failed to export session\": \"导出会话失败\",\n\t\"Exported to: {result}\": \"已导出到:{result}\",\n\n\t// --- main.ts:auth 命令参数错误 ---\n\t'Invalid arguments for \"{command}\".': '\"{command}\" 的参数无效。',\n\t'Use \"{help}\" or \"{usage}\".': '请使用 \"{help}\" 或 \"{usage}\"。',\n\n\t// --- main.ts:suite 生命周期 ---\n\t'Created suite \"{id}\" at {dir}': '已创建 suite \"{id}\",位于 {dir}',\n\t\"Error: --clone-from requires --suite-create\": \"错误:--clone-from 需要与 --suite-create 一起使用\",\n\t'Error: suite \"{id}\" is referenced by {count} existing session(s); deletion refused:':\n\t\t'错误:suite \"{id}\" 被 {count} 个现有会话引用,拒绝删除:',\n\t'Deleting suite \"{id}\": the workspace directory {dir} will be moved to the trash and released.':\n\t\t'正在删除 suite \"{id}\":工作区目录 {dir} 将被移入回收站并释放。',\n\t'Refusing to delete suite \"{id}\" without an interactive confirmation (non-interactive stdin). Re-run in a terminal to confirm.':\n\t\t'拒绝删除 suite \"{id}\":缺少交互式确认(stdin 非交互)。请在终端中重新运行以确认。',\n\t'Delete suite \"{id}\"?': '删除 suite \"{id}\"?',\n\t'Aborted: suite \"{id}\" was not deleted.': '已中止:suite \"{id}\" 未删除。',\n\t'Cleared the {scope} settings \"suite\" key (pointed at \"{id}\").':\n\t\t'已清除 {scope} 设置中的 \"suite\" 键(原指向 \"{id}\")。',\n\t'Deleted suite \"{id}\"; the workspace was moved to {trashPath} and is being released.':\n\t\t'已删除 suite \"{id}\";工作区已移至 {trashPath},正在释放。',\n\t'Suite \"{id}\" is a user suite; only builtin suites can be reset — use --suite-delete instead.':\n\t\t'suite \"{id}\" 是用户 suite;只有内置 suite 可以重置——请改用 --suite-delete。',\n\t'Suite \"{id}\" already matches the factory contents; nothing to reset.': 'suite \"{id}\" 已与出厂内容一致,无需重置。',\n\t'Resetting builtin suite \"{id}\" to the factory contents:': '正在将内置 suite \"{id}\" 重置为出厂内容:',\n\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.':\n\t\t'拒绝重置 suite \"{id}\":缺少交互式确认(stdin 非交互)。请先查看上方 diff,再在终端中重新运行以确认。',\n\t'Apply reset of suite \"{id}\"?': '应用 suite \"{id}\" 的重置?',\n\t'Aborted: suite \"{id}\" was not reset.': '已中止:suite \"{id}\" 未重置。',\n\t'Suite \"{id}\" was reset to the factory contents (profile lock generation {generation}).':\n\t\t'suite \"{id}\" 已重置为出厂内容(profile lock 代数 {generation})。',\n\n\t// --- main.ts:flag 冲突与模式错误 ---\n\t\"Error: --fork cannot be combined with {flags}\": \"错误:--fork 不能与 {flags} 组合使用\",\n\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).\":\n\t\t\"错误:--session-id 不能与 {flags} 组合使用。要恢复该确切会话,请去掉其他 flag,单独使用 --session-id(或使用 --continue 恢复最近会话)。\",\n\t\"Error: --serve cannot be combined with {flags}\": \"错误:--serve 不能与 {flags} 组合使用\",\n\t\"--serve ignores session/model/tool options: {flags}\": \"--serve 会忽略会话/模型/工具选项:{flags}\",\n\t\"Error: @file arguments are not supported in RPC mode\": \"错误:RPC 模式不支持 @file 参数\",\n\t\"Error: --name requires a non-empty value\": \"错误:--name 需要非空值\",\n\t\"Error: AGENT_FORGE_STARTUP_BENCHMARK only supports interactive mode\":\n\t\t\"错误:AGENT_FORGE_STARTUP_BENCHMARK 仅支持交互模式\",\n\n\t// --- main.ts:会话选择/创建 ---\n\t\"Session already exists with id '{sessionId}'\": \"已存在 id 为 '{sessionId}' 的会话\",\n\t\"No session found matching '{arg}'\": \"没有找到匹配 '{arg}' 的会话\",\n\t\"Session found in different project: {cwd}\": \"会话位于其他项目:{cwd}\",\n\t\"Fork this session into current directory?\": \"将该会话 fork 到当前目录?\",\n\t\"Aborted.\": \"已中止。\",\n\t\"No session selected\": \"未选择会话\",\n\t\"Warning: No project session found with id '{sessionId}'; creating a new session with that id.\":\n\t\t\"警告:没有找到 id 为 '{sessionId}' 的项目会话;将创建使用该 id 的新会话。\",\n\n\t// --- main.ts:插件 bootstrap/拒绝 ---\n\t\"Plugin bootstrap {code}: {message}\": \"插件 bootstrap {code}:{message}\",\n\t\"Warning: capability plugin rejected ({code}): {target}: {message}\":\n\t\t\"警告:能力插件被拒绝({code}):{target}:{message}\",\n\n\t// --- args.ts:printHelp 节标题与标题行 ---\n\t\"AI coding assistant with read, bash, edit, write tools\": \"具备 read、bash、edit、write 工具的 AI 编程助手\",\n\t\"Usage:\": \"用法:\",\n\t\"Commands:\": \"命令:\",\n\t\"Options:\": \"选项:\",\n\t\"Examples:\": \"示例:\",\n\t\"Environment Variables:\": \"环境变量:\",\n\t\"Built-in Tool Names:\": \"内置工具名:\",\n\n\t// --- args.ts:printHelp Commands 描述 ---\n\t\"Install extension source and add to settings\": \"安装扩展源并加入设置\",\n\t\"Remove extension source from settings\": \"从设置中移除扩展源\",\n\t\"Alias for remove\": \"remove 的别名\",\n\t\"Update Agent Forge, extensions, or model catalogs\": \"更新 Agent Forge、扩展或模型目录\",\n\t\"List installed extensions from settings\": \"列出设置中已安装的扩展\",\n\t\"Open TUI to enable/disable package resources (Tab switches scope)\": \"打开 TUI 启用/禁用包资源(Tab 切换作用域)\",\n\t\"Print credentials or check provider readiness\": \"打印凭证或检查提供商就绪状态\",\n\t\"Show help for install/remove/uninstall/update/list/config/auth\":\n\t\t\"显示 install/remove/uninstall/update/list/config/auth 的帮助\",\n\n\t// --- args.ts:printHelp Options 描述 ---\n\t\"Provider name (default: google)\": \"提供商名称(默认:google)\",\n\t'Model pattern or ID (supports \"provider/id\" and optional \":<thinking>\")':\n\t\t'模型模式或 ID(支持 \"provider/id\" 与可选的 \":<thinking>\")',\n\t\"API key (defaults to env vars)\": \"API key(默认取自环境变量)\",\n\t\"System prompt (default: coding assistant prompt)\": \"系统提示词(默认:编程助手提示词)\",\n\t\"Append text or file contents to the system prompt (can be used multiple times)\":\n\t\t\"向系统提示词追加文本或文件内容(可多次使用)\",\n\t\"Output mode: text (default), json, or rpc\": \"输出模式:text(默认)、json 或 rpc\",\n\t\"Non-interactive mode: process prompt and exit\": \"非交互模式:处理提示后退出\",\n\t\"Continue previous session\": \"继续上一个会话\",\n\t\"Select a session to resume\": \"选择要恢复的会话\",\n\t\"Use specific session file or partial UUID\": \"使用指定会话文件或部分 UUID\",\n\t\"Use exact project session ID, creating it if missing\": \"使用精确的项目会话 ID,不存在则创建\",\n\t\"Fork specific session file or partial UUID into a new session\": \"将指定会话文件或部分 UUID fork 为新会话\",\n\t\"Directory for session storage and lookup\": \"会话存储与查找目录\",\n\t\"Suite (方案) for this run: coding (default) or assistant; new sessions only\":\n\t\t\"本次运行的 suite(方案):coding(默认)或 assistant;仅对新会话生效\",\n\t\"Create a user suite workspace and exit; add --clone-from <id> to copy one\":\n\t\t\"创建用户 suite 工作区并退出;加 --clone-from <id> 可复制既有 suite\",\n\t\"Delete a user suite workspace (active session references refuse) and exit\":\n\t\t\"删除用户 suite 工作区(存在活动会话引用时拒绝)并退出\",\n\t\"Reset a builtin suite to factory contents (shows a diff) and exit\":\n\t\t\"将内置 suite 重置为出厂内容(显示 diff)并退出\",\n\t\"(Experimental, local trust only) Serve the coding-agent session runtime over the WebSocket gateway (default: 127.0.0.1; HTTP surface: /healthz plus token-protected artifact reads) and exit on SIGINT/SIGTERM\":\n\t\t\"(实验性,仅限本地信任)经 WebSocket 网关提供 coding-agent 会话运行时(默认:127.0.0.1;HTTP 面:/healthz 及受令牌保护的产物读取),SIGINT/SIGTERM 时退出\",\n\t\"Durable journal: <agentDir>/remote-server-journal.jsonl (never the process cwd)\":\n\t\t\"持久日志:<agentDir>/remote-server-journal.jsonl(绝不写入进程 cwd)\",\n\t\"Opt-in --serve boundary: remote creates must run inside one of these roots (repeatable); without it any local directory is allowed\":\n\t\t\"--serve 的可选边界:远程创建必须在这些根目录内运行(可重复);未指定时允许任意本地目录\",\n\t\"(Experimental) Run as a headless subagent runner: serve the subagent-task protocol on stdio for a parent session's runner pool (D-045)\":\n\t\t\"(实验性)作为无头子代理运行器:在 stdio 上为父会话的 runner 池提供 subagent-task 协议(D-045)\",\n\t\"Don't save session (ephemeral)\": \"不保存会话(一次性)\",\n\t\"Set session display name\": \"设置会话显示名称\",\n\t\"Comma-separated model patterns for Ctrl+P cycling\": \"逗号分隔的模型模式,用于 Ctrl+P 轮换\",\n\t\"Supports globs (anthropic/*, *sonnet*) and fuzzy matching\": \"支持 glob(anthropic/*、*sonnet*)与模糊匹配\",\n\t\"Disable all tools by default (built-in and plugin)\": \"默认禁用全部工具(内置与插件)\",\n\t\"Disable built-in tools by default but keep plugin/custom tools enabled\":\n\t\t\"默认禁用内置工具,但保持插件/自定义工具可用\",\n\t\"Comma-separated allowlist of tool names to enable\": \"逗号分隔的工具名白名单\",\n\t\"Applies to built-in, plugin, and custom tools\": \"作用于内置、插件与自定义工具\",\n\t\"Comma-separated denylist of tool names to disable\": \"逗号分隔的工具名黑名单\",\n\t\"Set thinking level: off, minimal, low, medium, high, xhigh, max\":\n\t\t\"设置思考级别:off、minimal、low、medium、high、xhigh、max\",\n\t\"Disable capability plugin discovery (D-028 escape hatch)\": \"禁用能力插件发现(D-028 逃生口)\",\n\t\"Disable session trace collection (no .trace.jsonl file is written)\": \"禁用会话轨迹收集(不写 .trace.jsonl 文件)\",\n\t\"Host log level: debug, info (default), warn, error\": \"宿主日志级别:debug、info(默认)、warn、error\",\n\t\"Select a builtin capability plugin profile for this run\": \"为本次运行选择内置能力插件 profile\",\n\t\"Select a plugin within the profile (repeatable)\": \"在 profile 内选择插件(可重复)\",\n\t\"Disable a plugin within the profile (repeatable)\": \"在 profile 内禁用插件(可重复)\",\n\t\"Read the explicit selection from global or project storage\": \"从全局或项目存储读取显式选择\",\n\t\"List installed/available ecosystem plugins (independent namespace)\": \"列出已安装/可用的生态插件(独立命名空间)\",\n\t\"Load a skill file or directory (can be used multiple times)\": \"加载 skill 文件或目录(可多次使用)\",\n\t\"Disable skills discovery and loading\": \"禁用 skill 发现与加载\",\n\t\"Load a prompt template file or directory (can be used multiple times)\": \"加载提示词模板文件或目录(可多次使用)\",\n\t\"Disable prompt template discovery and loading\": \"禁用提示词模板发现与加载\",\n\t\"Load a theme file or directory (can be used multiple times)\": \"加载主题文件或目录(可多次使用)\",\n\t\"Set the initial interactive theme for this run\": \"设置本次运行的初始交互主题\",\n\t\"Disable theme discovery and loading\": \"禁用主题发现与加载\",\n\t\"Disable AGENTS.md and CLAUDE.md discovery and loading\": \"禁用 AGENTS.md 与 CLAUDE.md 的发现与加载\",\n\t\"Export session file to HTML and exit\": \"将会话文件导出为 HTML 并退出\",\n\t\"View a session trace file as a text timeline and exit; <session> is a session id/prefix or trace/session file path, omit it for the most recent session\":\n\t\t\"以文本时间线查看会话轨迹文件并退出;<session> 为会话 id/前缀或轨迹/会话文件路径,省略则查看最近会话\",\n\t\"With --trace, output the structured trace records as JSON instead of the text timeline\":\n\t\t\"配合 --trace,以 JSON 输出结构化轨迹记录,而非文本时间线\",\n\t\"With --trace, show only records of these kinds (comma-separated); valid kinds: {kinds}\":\n\t\t\"配合 --trace,只显示这些类型的记录(逗号分隔);有效类型:{kinds}\",\n\t\"With --trace, show only the last N records (positive integer)\": \"配合 --trace,只显示最后 N 条记录(正整数)\",\n\t\"List available models (with optional fuzzy search)\": \"列出可用模型(可选模糊搜索)\",\n\t\"Force verbose startup (overrides quietStartup setting)\": \"强制详细启动(覆盖 quietStartup 设置)\",\n\t\"TUI mode: regular (default) or fullscreen\": \"TUI 模式:regular(默认)或 fullscreen\",\n\t\"Disable startup network operations (same as AGENT_FORGE_OFFLINE=1)\":\n\t\t\"禁用启动网络操作(等同 AGENT_FORGE_OFFLINE=1)\",\n\t\"End option parsing; treat remaining arguments as messages/files\": \"结束选项解析;剩余参数视为消息/文件\",\n\t\"Show this help\": \"显示此帮助\",\n\t\"Show version number\": \"显示版本号\",\n\n\t// --- args.ts:printHelp Examples 注释 ---\n\t\"Print a provider API key for an external client\": \"为外部客户端打印提供商 API key\",\n\t\"Print an OAuth bearer token for an external client (refreshes if expired)\":\n\t\t\"为外部客户端打印 OAuth bearer token(过期则刷新)\",\n\t\"Interactive mode\": \"交互模式\",\n\t\"Interactive mode with initial prompt\": \"带初始提示的交互模式\",\n\t\"Include files in initial message\": \"在初始消息中包含文件\",\n\t\"Non-interactive mode (process and exit)\": \"非交互模式(处理后退出)\",\n\t\"Prompt beginning with a dash\": \"以连字符开头的提示\",\n\t\"Multiple messages (interactive)\": \"多条消息(交互)\",\n\t\"Start a named session\": \"启动命名会话\",\n\t\"Use different model\": \"使用不同模型\",\n\t\"Use model with provider prefix (no --provider needed)\": \"使用带提供商前缀的模型(无需 --provider)\",\n\t\"Use model with thinking level shorthand\": \"使用思考级别简写形式的模型\",\n\t\"Limit model cycling to specific models\": \"将模型轮换限定为指定模型\",\n\t\"Limit to a specific provider with glob pattern\": \"用 glob 模式限定到指定提供商\",\n\t\"Cycle models with fixed thinking levels\": \"以固定思考级别轮换模型\",\n\t\"Start with a specific thinking level\": \"以指定思考级别启动\",\n\t\"Read-only mode (no file modifications possible)\": \"只读模式(不能修改文件)\",\n\t\"Disable one tool while keeping the rest available\": \"禁用单个工具,其余保持可用\",\n\t\"Export a session file to HTML\": \"导出会话文件为 HTML\",\n\n\t// --- args.ts:printHelp 环境变量描述 ---\n\t\"Anthropic bearer auth token\": \"Anthropic bearer 认证令牌\",\n\t\"Anthropic Claude API key\": \"Anthropic Claude API key\",\n\t\"Anthropic OAuth token (alternative to API key)\": \"Anthropic OAuth 令牌(API key 的替代)\",\n\t\"Ant Ling API key\": \"Ant Ling API key\",\n\t\"OpenAI GPT API key\": \"OpenAI GPT API key\",\n\t\"Azure OpenAI API key\": \"Azure OpenAI API key\",\n\t\"Azure OpenAI/Cognitive Services base URL (e.g. https://{resource}.openai.azure.com)\":\n\t\t\"Azure OpenAI/Cognitive Services base URL(如 https://{resource}.openai.azure.com)\",\n\t\"Azure OpenAI resource name (alternative to base URL)\": \"Azure OpenAI 资源名(base URL 的替代)\",\n\t\"Azure OpenAI API version (default: v1)\": \"Azure OpenAI API 版本(默认:v1)\",\n\t\"Azure OpenAI model=deployment map (comma-separated)\": \"Azure OpenAI 模型=部署映射(逗号分隔)\",\n\t\"DeepSeek API key\": \"DeepSeek API key\",\n\t\"NVIDIA NIM API key\": \"NVIDIA NIM API key\",\n\t\"Google Gemini API key\": \"Google Gemini API key\",\n\t\"Groq API key\": \"Groq API key\",\n\t\"Cerebras API key\": \"Cerebras API key\",\n\t\"xAI Grok API key\": \"xAI Grok API key\",\n\t\"Fireworks API key\": \"Fireworks API key\",\n\t\"Together AI API key\": \"Together AI API key\",\n\t\"Baseten API key\": \"Baseten API key\",\n\t\"OpenRouter API key\": \"OpenRouter API key\",\n\t\"Vercel AI Gateway API key\": \"Vercel AI Gateway API key\",\n\t\"ZAI Coding Plan API key (Global)\": \"ZAI Coding Plan API key(全球区)\",\n\t\"ZAI Coding Plan API key (China)\": \"ZAI Coding Plan API key(中国区)\",\n\t\"Mistral API key\": \"Mistral API key\",\n\t\"MiniMax API key\": \"MiniMax API key\",\n\t\"Moonshot AI API key\": \"Moonshot AI API key\",\n\t\"OpenCode Zen/OpenCode Go API key\": \"OpenCode Zen/OpenCode Go API key\",\n\t\"Kimi For Coding API key\": \"Kimi For Coding API key\",\n\t\"Cloudflare API token (Workers AI and AI Gateway)\": \"Cloudflare API 令牌(Workers AI 与 AI Gateway)\",\n\t\"Cloudflare account id (required for both)\": \"Cloudflare 账户 id(两者均需要)\",\n\t\"Cloudflare AI Gateway slug (required for AI Gateway)\": \"Cloudflare AI Gateway slug(AI Gateway 需要)\",\n\t\"Qwen Token Plan API key (international region)\": \"Qwen Token Plan API key(国际区)\",\n\t\"Qwen Token Plan API key (China region)\": \"Qwen Token Plan API key(中国区)\",\n\t\"Xiaomi MiMo API key (api.xiaomimimo.com billing)\": \"Xiaomi MiMo API key(按 api.xiaomimimo.com 计费)\",\n\t\"Xiaomi MiMo Token Plan API key (China region)\": \"Xiaomi MiMo Token Plan API key(中国区)\",\n\t\"Xiaomi MiMo Token Plan API key (Amsterdam region)\": \"Xiaomi MiMo Token Plan API key(阿姆斯特丹区)\",\n\t\"Xiaomi MiMo Token Plan API key (Singapore region)\": \"Xiaomi MiMo Token Plan API key(新加坡区)\",\n\t\"AWS profile for Amazon Bedrock\": \"Amazon Bedrock 的 AWS profile\",\n\t\"AWS access key for Amazon Bedrock\": \"Amazon Bedrock 的 AWS access key\",\n\t\"AWS secret key for Amazon Bedrock\": \"Amazon Bedrock 的 AWS secret key\",\n\t\"Bedrock API key (bearer token)\": \"Bedrock API key(bearer token)\",\n\t\"AWS region for Amazon Bedrock (e.g., us-east-1)\": \"Amazon Bedrock 的 AWS 区域(如 us-east-1)\",\n\t\"Config directory (default: ~/{configDir}/agent)\": \"配置目录(默认:~/{configDir}/agent)\",\n\t\"Session storage directory (overridden by --session-dir)\": \"会话存储目录(--session-dir 可覆盖)\",\n\t\"Override package directory (for Nix/Guix store paths)\": \"覆盖包目录(用于 Nix/Guix store 路径)\",\n\t\"Disable startup network operations when set to 1/true/yes\": \"设为 1/true/yes 时禁用启动网络操作\",\n\n\t// --- args.ts:printHelp 内置工具描述 ---\n\t\"Read file contents\": \"读取文件内容\",\n\t\"Execute bash commands\": \"执行 bash 命令\",\n\t\"Execute PowerShell commands on Windows\": \"在 Windows 上执行 PowerShell 命令\",\n\t\"Edit files with find/replace\": \"以查找/替换方式编辑文件\",\n\t\"Write files (creates/overwrites)\": \"写文件(创建/覆盖)\",\n\t\"Search file contents (read-only, off by default)\": \"搜索文件内容(只读,默认关闭)\",\n\t\"Find files by glob pattern (read-only, off by default)\": \"按 glob 模式查找文件(只读,默认关闭)\",\n\t\"List directory contents (read-only, off by default)\": \"列出目录内容(只读,默认关闭)\",\n\n\t// --- auth-command.ts:printAuthCommandHelp ---\n\t\"Auth commands require at least one of --provider or --model. Checks refresh expired OAuth credentials by default; --no-refresh prevents this. --credentials emits the credential, or includes it in JSON output.\":\n\t\t\"auth 命令需要 --provider 或 --model 至少其一。check 默认刷新已过期的 OAuth 凭证;--no-refresh 可阻止。--credentials 输出凭证,或将其包含在 JSON 输出中。\",\n\n\t// --- list-models.ts ---\n\t\"Warning: errors loading models.json:\\n{loadError}\": \"警告:加载 models.json 出错:\\n{loadError}\",\n\t'No models matching \"{searchPattern}\"': '没有匹配 \"{searchPattern}\" 的模型',\n\tprovider: \"提供商\",\n\tmodel: \"模型\",\n\tcontext: \"上下文\",\n\t\"max-out\": \"最大输出\",\n\tthinking: \"思考\",\n\timages: \"图像\",\n\n\t// --- print-mode.ts ---\n\t\"{label}: {url}\": \"{label}:{url}\",\n\t\"Request {stopReason}\": \"请求 {stopReason}\",\n\n\t// --- serve.ts ---\n\t\"remote-server error: {error}\": \"remote-server 错误:{error}\",\n\t\"Port {port} is already in use\": \"端口 {port} 已被占用\",\n\t\"Remote server shutdown failed: {error}\": \"远程服务器关闭失败:{error}\",\n\t\"Remote server listening on {addresses}\": \"远程服务器监听于 {addresses}\",\n};\n"]}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * 通用域词典骨架:跨组件通用文案的预留位。允许空对象导出(无词条时对聚合零贡献),
3
+ * 由 coverage-i18n 测试冻结该行为。后续批次填充。
4
+ */
5
+ export declare const common: Record<string, string>;
6
+ //# sourceMappingURL=common.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../../src/core/i18n/locales/zh-cn/common.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,CAAC","sourcesContent":["/**\n * 通用域词典骨架:跨组件通用文案的预留位。允许空对象导出(无词条时对聚合零贡献),\n * 由 coverage-i18n 测试冻结该行为。后续批次填充。\n */\nexport const common: Record<string, string> = {};\n"]}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * 通用域词典骨架:跨组件通用文案的预留位。允许空对象导出(无词条时对聚合零贡献),
3
+ * 由 coverage-i18n 测试冻结该行为。后续批次填充。
4
+ */
5
+ export const common = {};
6
+ //# sourceMappingURL=common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../../src/core/i18n/locales/zh-cn/common.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,MAAM,GAA2B,EAAE,CAAC","sourcesContent":["/**\n * 通用域词典骨架:跨组件通用文案的预留位。允许空对象导出(无词条时对聚合零贡献),\n * 由 coverage-i18n 测试冻结该行为。后续批次填充。\n */\nexport const common: Record<string, string> = {};\n"]}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * core-contract-core 域词典(批次⑨b):core 根层(不含 extensions/)与
3
+ * agent-capability-contract 的 throw 契约错误文案。覆盖范围:能力契约 V1
4
+ * 校验(agent-capability-contract.ts)、会话管理与压缩提交协议(session-manager.ts)、
5
+ * 会话运行时守卫(agent-session*.ts)、embedded SDK 绑定(embedded-sdk.ts)、
6
+ * 模型提供商装配(provider-composer.ts / model-*.ts)、内置工具校验(tools/)、
7
+ * 包安装宿主与导出(package-*.ts / session-export.ts)。
8
+ * key 为英文原文(与调用点逐字一致),占位符 `{name}` 原样保留。
9
+ * 机器匹配串不在此域:"aborted"、`timeout:` 前缀(tools/bash.ts 精确消费)、
10
+ * "authHeader requires a resolved API key"(cause.message 精确匹配,保护清单)。
11
+ */
12
+ export declare const coreContractCore: Record<string, string>;
13
+ //# sourceMappingURL=core-contract-core.d.ts.map