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

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 (451) hide show
  1. package/CHANGELOG.md +56 -0
  2. package/README.md +2 -2
  3. package/bundled-plugins/agent-loop-policy/agent-forge.json +19 -0
  4. package/bundled-plugins/agent-loop-policy/dist/entry.d.ts +28 -0
  5. package/bundled-plugins/agent-loop-policy/dist/entry.d.ts.map +1 -0
  6. package/bundled-plugins/agent-loop-policy/dist/entry.js +69 -0
  7. package/bundled-plugins/agent-loop-policy/dist/entry.js.map +1 -0
  8. package/bundled-plugins/agent-loop-policy/dist/loop-guard.d.ts +199 -0
  9. package/bundled-plugins/agent-loop-policy/dist/loop-guard.d.ts.map +1 -0
  10. package/bundled-plugins/agent-loop-policy/dist/loop-guard.js +208 -0
  11. package/bundled-plugins/agent-loop-policy/dist/loop-guard.js.map +1 -0
  12. package/bundled-plugins/agent-loop-policy/dist/run-loop-strategy.d.ts +17 -0
  13. package/bundled-plugins/agent-loop-policy/dist/run-loop-strategy.d.ts.map +1 -0
  14. package/bundled-plugins/agent-loop-policy/dist/run-loop-strategy.js +18 -0
  15. package/bundled-plugins/agent-loop-policy/dist/run-loop-strategy.js.map +1 -0
  16. package/bundled-plugins/agent-loop-policy/plugin.json +7 -0
  17. package/bundled-plugins/coding-tools/agent-forge.json +19 -0
  18. package/{dist/core/tools → bundled-plugins/coding-tools/dist}/bash.d.ts +5 -44
  19. package/bundled-plugins/coding-tools/dist/bash.d.ts.map +1 -0
  20. package/{dist/core/tools → bundled-plugins/coding-tools/dist}/bash.js +15 -119
  21. package/bundled-plugins/coding-tools/dist/bash.js.map +1 -0
  22. package/bundled-plugins/coding-tools/dist/capability.d.ts +25 -0
  23. package/bundled-plugins/coding-tools/dist/capability.d.ts.map +1 -0
  24. package/bundled-plugins/coding-tools/dist/capability.js +98 -0
  25. package/bundled-plugins/coding-tools/dist/capability.js.map +1 -0
  26. package/bundled-plugins/coding-tools/dist/config.d.ts +8 -0
  27. package/bundled-plugins/coding-tools/dist/config.d.ts.map +1 -0
  28. package/bundled-plugins/coding-tools/dist/config.js +8 -0
  29. package/bundled-plugins/coding-tools/dist/config.js.map +1 -0
  30. package/{dist/core/tools → bundled-plugins/coding-tools/dist}/edit.d.ts +3 -3
  31. package/bundled-plugins/coding-tools/dist/edit.d.ts.map +1 -0
  32. package/{dist/core/tools → bundled-plugins/coding-tools/dist}/edit.js +12 -10
  33. package/bundled-plugins/coding-tools/dist/edit.js.map +1 -0
  34. package/bundled-plugins/coding-tools/dist/entry.d.ts +14 -0
  35. package/bundled-plugins/coding-tools/dist/entry.d.ts.map +1 -0
  36. package/bundled-plugins/coding-tools/dist/entry.js +23 -0
  37. package/bundled-plugins/coding-tools/dist/entry.js.map +1 -0
  38. package/{dist/core/tools → bundled-plugins/coding-tools/dist}/find.d.ts +4 -4
  39. package/bundled-plugins/coding-tools/dist/find.d.ts.map +1 -0
  40. package/{dist/core/tools → bundled-plugins/coding-tools/dist}/find.js +10 -8
  41. package/bundled-plugins/coding-tools/dist/find.js.map +1 -0
  42. package/{dist/core/tools → bundled-plugins/coding-tools/dist}/grep.d.ts +3 -3
  43. package/bundled-plugins/coding-tools/dist/grep.d.ts.map +1 -0
  44. package/{dist/core/tools → bundled-plugins/coding-tools/dist}/grep.js +10 -8
  45. package/bundled-plugins/coding-tools/dist/grep.js.map +1 -0
  46. package/bundled-plugins/coding-tools/dist/index.d.ts +17 -0
  47. package/bundled-plugins/coding-tools/dist/index.d.ts.map +1 -0
  48. package/bundled-plugins/coding-tools/dist/index.js +17 -0
  49. package/bundled-plugins/coding-tools/dist/index.js.map +1 -0
  50. package/{dist/core/tools → bundled-plugins/coding-tools/dist}/ls.d.ts +3 -3
  51. package/bundled-plugins/coding-tools/dist/ls.d.ts.map +1 -0
  52. package/{dist/core/tools → bundled-plugins/coding-tools/dist}/ls.js +8 -6
  53. package/{dist/core/tools → bundled-plugins/coding-tools/dist}/ls.js.map +1 -1
  54. package/{dist/core/tools → bundled-plugins/coding-tools/dist}/powershell.d.ts +2 -1
  55. package/bundled-plugins/coding-tools/dist/powershell.d.ts.map +1 -0
  56. package/{dist/core/tools → bundled-plugins/coding-tools/dist}/powershell.js +6 -3
  57. package/bundled-plugins/coding-tools/dist/powershell.js.map +1 -0
  58. package/{dist/core/tools → bundled-plugins/coding-tools/dist}/read.d.ts +3 -3
  59. package/bundled-plugins/coding-tools/dist/read.d.ts.map +1 -0
  60. package/{dist/core/tools → bundled-plugins/coding-tools/dist}/read.js +15 -13
  61. package/bundled-plugins/coding-tools/dist/read.js.map +1 -0
  62. package/bundled-plugins/coding-tools/dist/types.d.ts +74 -0
  63. package/bundled-plugins/coding-tools/dist/types.d.ts.map +1 -0
  64. package/bundled-plugins/coding-tools/dist/types.js +28 -0
  65. package/bundled-plugins/coding-tools/dist/types.js.map +1 -0
  66. package/{dist/core/tools → bundled-plugins/coding-tools/dist}/write.d.ts +2 -2
  67. package/bundled-plugins/coding-tools/dist/write.d.ts.map +1 -0
  68. package/{dist/core/tools → bundled-plugins/coding-tools/dist}/write.js +11 -9
  69. package/bundled-plugins/coding-tools/dist/write.js.map +1 -0
  70. package/bundled-plugins/coding-tools/plugin.json +10 -0
  71. package/bundled-plugins/compaction-policy/agent-forge.json +19 -0
  72. package/bundled-plugins/compaction-policy/dist/branch-summary-policy.d.ts +6 -0
  73. package/bundled-plugins/compaction-policy/dist/branch-summary-policy.d.ts.map +1 -0
  74. package/bundled-plugins/compaction-policy/dist/branch-summary-policy.js +19 -0
  75. package/bundled-plugins/compaction-policy/dist/branch-summary-policy.js.map +1 -0
  76. package/bundled-plugins/compaction-policy/dist/compaction-policy.d.ts +6 -0
  77. package/bundled-plugins/compaction-policy/dist/compaction-policy.d.ts.map +1 -0
  78. package/bundled-plugins/compaction-policy/dist/compaction-policy.js +38 -0
  79. package/bundled-plugins/compaction-policy/dist/compaction-policy.js.map +1 -0
  80. package/bundled-plugins/compaction-policy/dist/entry.d.ts +13 -0
  81. package/bundled-plugins/compaction-policy/dist/entry.d.ts.map +1 -0
  82. package/bundled-plugins/compaction-policy/dist/entry.js +23 -0
  83. package/bundled-plugins/compaction-policy/dist/entry.js.map +1 -0
  84. package/bundled-plugins/compaction-policy/plugin.json +10 -0
  85. package/bundled-plugins/mcp-http/dist/index.d.ts +8 -0
  86. package/bundled-plugins/mcp-http/dist/index.d.ts.map +1 -0
  87. package/bundled-plugins/mcp-http/dist/index.js +8 -0
  88. package/bundled-plugins/mcp-http/dist/index.js.map +1 -0
  89. package/bundled-plugins/mcp-http/dist/mcp-http.d.ts.map +1 -0
  90. package/{dist/plugins → bundled-plugins/mcp-http/dist}/mcp-http.js +1 -1
  91. package/bundled-plugins/mcp-http/dist/mcp-http.js.map +1 -0
  92. package/bundled-plugins/overflow-policy/agent-forge.json +19 -0
  93. package/bundled-plugins/overflow-policy/dist/entry.d.ts +16 -0
  94. package/bundled-plugins/overflow-policy/dist/entry.d.ts.map +1 -0
  95. package/bundled-plugins/overflow-policy/dist/entry.js +35 -0
  96. package/bundled-plugins/overflow-policy/dist/entry.js.map +1 -0
  97. package/bundled-plugins/overflow-policy/plugin.json +10 -0
  98. package/bundled-plugins/provider-failover/agent-forge.json +19 -0
  99. package/bundled-plugins/provider-failover/dist/entry.d.ts +8 -0
  100. package/bundled-plugins/provider-failover/dist/entry.d.ts.map +1 -0
  101. package/bundled-plugins/provider-failover/dist/entry.js +8 -0
  102. package/bundled-plugins/provider-failover/dist/entry.js.map +1 -0
  103. package/bundled-plugins/provider-failover/dist/provider-failover.d.ts +122 -0
  104. package/bundled-plugins/provider-failover/dist/provider-failover.d.ts.map +1 -0
  105. package/{dist/core/extensions → bundled-plugins/provider-failover/dist}/provider-failover.js +149 -61
  106. package/bundled-plugins/provider-failover/dist/provider-failover.js.map +1 -0
  107. package/bundled-plugins/provider-failover/plugin.json +7 -0
  108. package/bundled-plugins/retry-policy/agent-forge.json +19 -0
  109. package/bundled-plugins/retry-policy/dist/entry.d.ts +16 -0
  110. package/bundled-plugins/retry-policy/dist/entry.d.ts.map +1 -0
  111. package/bundled-plugins/retry-policy/dist/entry.js +34 -0
  112. package/bundled-plugins/retry-policy/dist/entry.js.map +1 -0
  113. package/bundled-plugins/retry-policy/plugin.json +10 -0
  114. package/dist/bundle/.build-manifest.json +105 -183
  115. package/dist/bundle/chunks/{anthropic-messages-ALDZBUKI.js → anthropic-messages-PLAKXR73.js} +1 -1
  116. package/dist/bundle/chunks/{azure-openai-responses-A2WJWZFB.js → azure-openai-responses-OUWQ2AZD.js} +1 -1
  117. package/dist/bundle/chunks/{chunk-CIX3FSBK.js → chunk-A3JYRWB6.js} +1 -1
  118. package/dist/bundle/chunks/{chunk-SQFG22WN.js → chunk-AC2FIS4G.js} +1 -1
  119. package/dist/bundle/chunks/chunk-AQLNTW2B.js +664 -0
  120. package/dist/bundle/chunks/chunk-D3ARGZFR.js +13 -0
  121. package/dist/bundle/chunks/{chunk-YJCQVXW5.js → chunk-HTEVUY7F.js} +1 -1
  122. package/dist/bundle/chunks/{chunk-Y7HXTASS.js → chunk-HV64ASMT.js} +1 -1
  123. package/dist/bundle/chunks/chunk-LZOEQITZ.js +855 -0
  124. package/dist/bundle/chunks/{chunk-7ZY7IXZD.js → chunk-TRDNDS6A.js} +1 -1
  125. package/dist/bundle/chunks/chunk-Z72JWUZ4.js +4 -0
  126. package/dist/bundle/chunks/{google-generative-ai-NIB4WONV.js → google-generative-ai-DLII6DAT.js} +1 -1
  127. package/dist/bundle/chunks/{google-vertex-DCPYUEUO.js → google-vertex-G7BZL7GM.js} +1 -1
  128. package/dist/bundle/chunks/image-resize-worker.js +3 -3
  129. package/dist/bundle/chunks/{mistral-conversations-OC6LA5XL.js → mistral-conversations-JXUK24ID.js} +1 -1
  130. package/dist/bundle/chunks/{openai-codex-responses-IO2X4Y7L.js → openai-codex-responses-5GSGFIPG.js} +1 -1
  131. package/dist/bundle/chunks/{openai-completions-XYQQHETU.js → openai-completions-EI2I6DTG.js} +1 -1
  132. package/dist/bundle/chunks/{openai-responses-DLIRN3CI.js → openai-responses-AUJQ3NWT.js} +1 -1
  133. package/dist/bundle/chunks/{pi-messages-E6RRYBO7.js → pi-messages-PWU2VJMR.js} +1 -1
  134. package/dist/bundle/chunks/virtual-modules-WF6WRHP7.js +5 -0
  135. package/dist/bundle/cli.js +1 -1
  136. package/dist/bundle/client.js +1 -1
  137. package/dist/bundle/index.js +3 -3
  138. package/dist/bundle/rpc-entry.js +1 -1
  139. package/dist/capabilities/builtin.d.ts +1 -1
  140. package/dist/capabilities/builtin.d.ts.map +1 -1
  141. package/dist/capabilities/builtin.js +5 -0
  142. package/dist/capabilities/builtin.js.map +1 -1
  143. package/dist/cli/auth-check.d.ts.map +1 -1
  144. package/dist/cli/auth-check.js +14 -2
  145. package/dist/cli/auth-check.js.map +1 -1
  146. package/dist/cli/auth-command.d.ts.map +1 -1
  147. package/dist/cli/auth-command.js +1 -1
  148. package/dist/cli/auth-command.js.map +1 -1
  149. package/dist/cli/plugin-command.d.ts.map +1 -1
  150. package/dist/cli/plugin-command.js +17 -1
  151. package/dist/cli/plugin-command.js.map +1 -1
  152. package/dist/config.d.ts +2 -3
  153. package/dist/config.d.ts.map +1 -1
  154. package/dist/config.js +5 -6
  155. package/dist/config.js.map +1 -1
  156. package/dist/core/agent-session-bash.d.ts +1 -1
  157. package/dist/core/agent-session-bash.d.ts.map +1 -1
  158. package/dist/core/agent-session-bash.js +1 -1
  159. package/dist/core/agent-session-bash.js.map +1 -1
  160. package/dist/core/agent-session-compaction.d.ts +6 -10
  161. package/dist/core/agent-session-compaction.d.ts.map +1 -1
  162. package/dist/core/agent-session-compaction.js +21 -112
  163. package/dist/core/agent-session-compaction.js.map +1 -1
  164. package/dist/core/agent-session-internal.d.ts +1 -7
  165. package/dist/core/agent-session-internal.d.ts.map +1 -1
  166. package/dist/core/agent-session-internal.js.map +1 -1
  167. package/dist/core/agent-session-loop.d.ts +4 -3
  168. package/dist/core/agent-session-loop.d.ts.map +1 -1
  169. package/dist/core/agent-session-loop.js +9 -6
  170. package/dist/core/agent-session-loop.js.map +1 -1
  171. package/dist/core/agent-session-retry.d.ts +1 -1
  172. package/dist/core/agent-session-retry.d.ts.map +1 -1
  173. package/dist/core/agent-session-retry.js +32 -4
  174. package/dist/core/agent-session-retry.js.map +1 -1
  175. package/dist/core/agent-session-services.d.ts.map +1 -1
  176. package/dist/core/agent-session-services.js +30 -9
  177. package/dist/core/agent-session-services.js.map +1 -1
  178. package/dist/core/agent-session-tools.d.ts.map +1 -1
  179. package/dist/core/agent-session-tools.js +5 -1
  180. package/dist/core/agent-session-tools.js.map +1 -1
  181. package/dist/core/agent-session.d.ts +12 -33
  182. package/dist/core/agent-session.d.ts.map +1 -1
  183. package/dist/core/agent-session.js +61 -67
  184. package/dist/core/agent-session.js.map +1 -1
  185. package/dist/core/bash-executor.d.ts +1 -1
  186. package/dist/core/bash-executor.d.ts.map +1 -1
  187. package/dist/core/bash-executor.js.map +1 -1
  188. package/dist/core/extensions/bootstrap-agent-loop.d.ts +23 -151
  189. package/dist/core/extensions/bootstrap-agent-loop.d.ts.map +1 -1
  190. package/dist/core/extensions/bootstrap-agent-loop.js +28 -290
  191. package/dist/core/extensions/bootstrap-agent-loop.js.map +1 -1
  192. package/dist/core/extensions/capability-runtime-types.d.ts +5 -3
  193. package/dist/core/extensions/capability-runtime-types.d.ts.map +1 -1
  194. package/dist/core/extensions/capability-runtime-types.js.map +1 -1
  195. package/dist/core/extensions/capability-runtime.d.ts.map +1 -1
  196. package/dist/core/extensions/capability-runtime.js +42 -6
  197. package/dist/core/extensions/capability-runtime.js.map +1 -1
  198. package/dist/core/extensions/index.d.ts +12 -5
  199. package/dist/core/extensions/index.d.ts.map +1 -1
  200. package/dist/core/extensions/index.js +12 -5
  201. package/dist/core/extensions/index.js.map +1 -1
  202. package/dist/core/extensions/virtual-modules.d.ts.map +1 -1
  203. package/dist/core/extensions/virtual-modules.js +65 -0
  204. package/dist/core/extensions/virtual-modules.js.map +1 -1
  205. package/dist/core/facade/coding-agent-facade.d.ts +1 -7
  206. package/dist/core/facade/coding-agent-facade.d.ts.map +1 -1
  207. package/dist/core/facade/coding-agent-facade.js +0 -3
  208. package/dist/core/facade/coding-agent-facade.js.map +1 -1
  209. package/dist/core/i18n/locales/zh-cn/cli.d.ts.map +1 -1
  210. package/dist/core/i18n/locales/zh-cn/cli.js +3 -1
  211. package/dist/core/i18n/locales/zh-cn/cli.js.map +1 -1
  212. package/dist/core/i18n/locales/zh-cn/core-contract-core.d.ts +1 -1
  213. package/dist/core/i18n/locales/zh-cn/core-contract-core.d.ts.map +1 -1
  214. package/dist/core/i18n/locales/zh-cn/core-contract-core.js +1 -1
  215. package/dist/core/i18n/locales/zh-cn/core-contract-core.js.map +1 -1
  216. package/dist/core/i18n/locales/zh-cn/core-contract-extensions.d.ts.map +1 -1
  217. package/dist/core/i18n/locales/zh-cn/core-contract-extensions.js +2 -4
  218. package/dist/core/i18n/locales/zh-cn/core-contract-extensions.js.map +1 -1
  219. package/dist/core/i18n/locales/zh-cn/core-errors.d.ts.map +1 -1
  220. package/dist/core/i18n/locales/zh-cn/core-errors.js +3 -1
  221. package/dist/core/i18n/locales/zh-cn/core-errors.js.map +1 -1
  222. package/dist/core/i18n/locales/zh-cn/interactive-mode.d.ts.map +1 -1
  223. package/dist/core/i18n/locales/zh-cn/interactive-mode.js +2 -0
  224. package/dist/core/i18n/locales/zh-cn/interactive-mode.js.map +1 -1
  225. package/dist/core/i18n/locales/zh-cn/tui-components-selectors.d.ts.map +1 -1
  226. package/dist/core/i18n/locales/zh-cn/tui-components-selectors.js +0 -2
  227. package/dist/core/i18n/locales/zh-cn/tui-components-selectors.js.map +1 -1
  228. package/dist/core/model-config.d.ts +0 -1
  229. package/dist/core/model-config.d.ts.map +1 -1
  230. package/dist/core/model-config.js +9 -1
  231. package/dist/core/model-config.js.map +1 -1
  232. package/dist/core/model-runtime.d.ts.map +1 -1
  233. package/dist/core/model-runtime.js +3 -3
  234. package/dist/core/model-runtime.js.map +1 -1
  235. package/dist/core/provider-composer.d.ts +2 -2
  236. package/dist/core/provider-composer.d.ts.map +1 -1
  237. package/dist/core/provider-composer.js +7 -8
  238. package/dist/core/provider-composer.js.map +1 -1
  239. package/dist/core/sdk.d.ts +18 -3
  240. package/dist/core/sdk.d.ts.map +1 -1
  241. package/dist/core/sdk.js +267 -76
  242. package/dist/core/sdk.js.map +1 -1
  243. package/dist/core/settings-manager.d.ts +9 -20
  244. package/dist/core/settings-manager.d.ts.map +1 -1
  245. package/dist/core/settings-manager.js +20 -54
  246. package/dist/core/settings-manager.js.map +1 -1
  247. package/dist/core/tools/bash-operations.d.ts +41 -0
  248. package/dist/core/tools/bash-operations.d.ts.map +1 -0
  249. package/dist/core/tools/bash-operations.js +113 -0
  250. package/dist/core/tools/bash-operations.js.map +1 -0
  251. package/dist/core/tools/index.d.ts +12 -36
  252. package/dist/core/tools/index.d.ts.map +1 -1
  253. package/dist/core/tools/index.js +1 -117
  254. package/dist/core/tools/index.js.map +1 -1
  255. package/dist/core/tools/readme-path.d.ts +3 -0
  256. package/dist/core/tools/readme-path.d.ts.map +1 -0
  257. package/dist/core/tools/readme-path.js +15 -0
  258. package/dist/core/tools/readme-path.js.map +1 -0
  259. package/dist/index.d.ts +3 -19
  260. package/dist/index.d.ts.map +1 -1
  261. package/dist/index.js +6 -39
  262. package/dist/index.js.map +1 -1
  263. package/dist/main.d.ts.map +1 -1
  264. package/dist/main.js +3 -2
  265. package/dist/main.js.map +1 -1
  266. package/dist/modes/interactive/components/footer.d.ts +0 -2
  267. package/dist/modes/interactive/components/footer.d.ts.map +1 -1
  268. package/dist/modes/interactive/components/footer.js +2 -7
  269. package/dist/modes/interactive/components/footer.js.map +1 -1
  270. package/dist/modes/interactive/components/settings-selector.d.ts +2 -6
  271. package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
  272. package/dist/modes/interactive/components/settings-selector.js +6 -28
  273. package/dist/modes/interactive/components/settings-selector.js.map +1 -1
  274. package/dist/modes/interactive/components/tool-execution.d.ts +0 -1
  275. package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
  276. package/dist/modes/interactive/components/tool-execution.js +9 -25
  277. package/dist/modes/interactive/components/tool-execution.js.map +1 -1
  278. package/dist/modes/interactive/interactive-mode.d.ts +0 -1
  279. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  280. package/dist/modes/interactive/interactive-mode.js +23 -36
  281. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  282. package/dist/modes/rpc/rpc-client.d.ts +0 -8
  283. package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
  284. package/dist/modes/rpc/rpc-client.js +0 -12
  285. package/dist/modes/rpc/rpc-client.js.map +1 -1
  286. package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
  287. package/dist/modes/rpc/rpc-mode.js +0 -9
  288. package/dist/modes/rpc/rpc-mode.js.map +1 -1
  289. package/dist/modes/rpc/rpc-types.d.ts +0 -19
  290. package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
  291. package/dist/modes/rpc/rpc-types.js.map +1 -1
  292. package/dist/plugins/ecosystem/cli.d.ts.map +1 -1
  293. package/dist/plugins/ecosystem/cli.js +14 -2
  294. package/dist/plugins/ecosystem/cli.js.map +1 -1
  295. package/dist/plugins/ecosystem/node-npm-registry-source.d.ts +7 -2
  296. package/dist/plugins/ecosystem/node-npm-registry-source.d.ts.map +1 -1
  297. package/dist/plugins/ecosystem/node-npm-registry-source.js +64 -9
  298. package/dist/plugins/ecosystem/node-npm-registry-source.js.map +1 -1
  299. package/dist/plugins/ecosystem/node-plugin-acquisition-host.d.ts.map +1 -1
  300. package/dist/plugins/ecosystem/node-plugin-acquisition-host.js +6 -0
  301. package/dist/plugins/ecosystem/node-plugin-acquisition-host.js.map +1 -1
  302. package/dist/plugins/ecosystem/node-plugin-bootstrap.d.ts +9 -2
  303. package/dist/plugins/ecosystem/node-plugin-bootstrap.d.ts.map +1 -1
  304. package/dist/plugins/ecosystem/node-plugin-bootstrap.js +23 -0
  305. package/dist/plugins/ecosystem/node-plugin-bootstrap.js.map +1 -1
  306. package/dist/plugins/ecosystem/plugin-bootstrap.d.ts +9 -1
  307. package/dist/plugins/ecosystem/plugin-bootstrap.d.ts.map +1 -1
  308. package/dist/plugins/ecosystem/plugin-bootstrap.js +5 -0
  309. package/dist/plugins/ecosystem/plugin-bootstrap.js.map +1 -1
  310. package/dist/profiles/builtin-suites.d.ts +5 -1
  311. package/dist/profiles/builtin-suites.d.ts.map +1 -1
  312. package/dist/profiles/builtin-suites.js +6 -1
  313. package/dist/profiles/builtin-suites.js.map +1 -1
  314. package/dist/utils/photon.d.ts +2 -2
  315. package/dist/utils/photon.d.ts.map +1 -1
  316. package/dist/utils/photon.js +2 -2
  317. package/dist/utils/photon.js.map +1 -1
  318. package/docs/compaction.md +1 -3
  319. package/docs/docs.json +4 -0
  320. package/docs/index.md +1 -0
  321. package/docs/mcp.md +103 -0
  322. package/docs/models.md +14 -22
  323. package/docs/providers.md +0 -1
  324. package/docs/rpc.md +1 -26
  325. package/docs/sdk.md +4 -6
  326. package/docs/settings.md +9 -12
  327. package/docs/skills.md +1 -9
  328. package/docs/usage.md +1 -1
  329. package/examples/extensions/bash-spawn-hook/index.ts +7 -2
  330. package/examples/extensions/built-in-tool-renderer/index.ts +4 -2
  331. package/examples/extensions/minimal-mode/index.ts +2 -2
  332. package/examples/extensions/truncated-tool/index.ts +1 -1
  333. package/examples/extensions/with-deps/package-lock.json +2 -2
  334. package/examples/extensions/with-deps/package.json +1 -1
  335. package/examples/extensions/with-deps/plugin.json +1 -1
  336. package/examples/sdk/10-settings.ts +2 -4
  337. package/examples/sdk/12-full-control.ts +1 -2
  338. package/package.json +3 -4
  339. package/dist/bundle/chunks/chunk-6ZKDNZHA.js +0 -145
  340. package/dist/bundle/chunks/chunk-BFC2BDVJ.js +0 -13
  341. package/dist/bundle/chunks/chunk-MOHOLL3F.js +0 -1456
  342. package/dist/bundle/chunks/virtual-modules-KZ5DRH7Q.js +0 -2
  343. package/dist/core/extensions/bootstrap-branch-summary-policy.d.ts +0 -7
  344. package/dist/core/extensions/bootstrap-branch-summary-policy.d.ts.map +0 -1
  345. package/dist/core/extensions/bootstrap-branch-summary-policy.js +0 -28
  346. package/dist/core/extensions/bootstrap-branch-summary-policy.js.map +0 -1
  347. package/dist/core/extensions/bootstrap-compaction-policy.d.ts +0 -7
  348. package/dist/core/extensions/bootstrap-compaction-policy.d.ts.map +0 -1
  349. package/dist/core/extensions/bootstrap-compaction-policy.js +0 -82
  350. package/dist/core/extensions/bootstrap-compaction-policy.js.map +0 -1
  351. package/dist/core/extensions/bootstrap-overflow-policy.d.ts +0 -7
  352. package/dist/core/extensions/bootstrap-overflow-policy.d.ts.map +0 -1
  353. package/dist/core/extensions/bootstrap-overflow-policy.js +0 -30
  354. package/dist/core/extensions/bootstrap-overflow-policy.js.map +0 -1
  355. package/dist/core/extensions/bootstrap-retry-policy.d.ts +0 -7
  356. package/dist/core/extensions/bootstrap-retry-policy.d.ts.map +0 -1
  357. package/dist/core/extensions/bootstrap-retry-policy.js +0 -29
  358. package/dist/core/extensions/bootstrap-retry-policy.js.map +0 -1
  359. package/dist/core/extensions/bootstrap-tools.d.ts +0 -20
  360. package/dist/core/extensions/bootstrap-tools.d.ts.map +0 -1
  361. package/dist/core/extensions/bootstrap-tools.js +0 -36
  362. package/dist/core/extensions/bootstrap-tools.js.map +0 -1
  363. package/dist/core/extensions/microcompact.d.ts +0 -80
  364. package/dist/core/extensions/microcompact.d.ts.map +0 -1
  365. package/dist/core/extensions/microcompact.js +0 -134
  366. package/dist/core/extensions/microcompact.js.map +0 -1
  367. package/dist/core/extensions/provider-failover.d.ts +0 -106
  368. package/dist/core/extensions/provider-failover.d.ts.map +0 -1
  369. package/dist/core/extensions/provider-failover.js.map +0 -1
  370. package/dist/core/tools/bash.d.ts.map +0 -1
  371. package/dist/core/tools/bash.js.map +0 -1
  372. package/dist/core/tools/edit.d.ts.map +0 -1
  373. package/dist/core/tools/edit.js.map +0 -1
  374. package/dist/core/tools/find.d.ts.map +0 -1
  375. package/dist/core/tools/find.js.map +0 -1
  376. package/dist/core/tools/grep.d.ts.map +0 -1
  377. package/dist/core/tools/grep.js.map +0 -1
  378. package/dist/core/tools/ls.d.ts.map +0 -1
  379. package/dist/core/tools/powershell.d.ts.map +0 -1
  380. package/dist/core/tools/powershell.js.map +0 -1
  381. package/dist/core/tools/read.d.ts.map +0 -1
  382. package/dist/core/tools/read.js.map +0 -1
  383. package/dist/core/tools/write.d.ts.map +0 -1
  384. package/dist/core/tools/write.js.map +0 -1
  385. package/dist/plugins/mcp-http.d.ts.map +0 -1
  386. package/dist/plugins/mcp-http.js.map +0 -1
  387. package/dist/profile/child-facade.d.ts +0 -44
  388. package/dist/profile/child-facade.d.ts.map +0 -1
  389. package/dist/profile/child-facade.js +0 -56
  390. package/dist/profile/child-facade.js.map +0 -1
  391. package/dist/profile/dependency-wiring.d.ts +0 -48
  392. package/dist/profile/dependency-wiring.d.ts.map +0 -1
  393. package/dist/profile/dependency-wiring.js +0 -56
  394. package/dist/profile/dependency-wiring.js.map +0 -1
  395. package/dist/profile/domain-recovery.d.ts +0 -60
  396. package/dist/profile/domain-recovery.d.ts.map +0 -1
  397. package/dist/profile/domain-recovery.js +0 -94
  398. package/dist/profile/domain-recovery.js.map +0 -1
  399. package/dist/profile/first-roles.d.ts +0 -30
  400. package/dist/profile/first-roles.d.ts.map +0 -1
  401. package/dist/profile/first-roles.js +0 -83
  402. package/dist/profile/first-roles.js.map +0 -1
  403. package/dist/profile/goal-plugin.d.ts +0 -38
  404. package/dist/profile/goal-plugin.d.ts.map +0 -1
  405. package/dist/profile/goal-plugin.js +0 -132
  406. package/dist/profile/goal-plugin.js.map +0 -1
  407. package/dist/profile/plan-plugin.d.ts +0 -44
  408. package/dist/profile/plan-plugin.d.ts.map +0 -1
  409. package/dist/profile/plan-plugin.js +0 -157
  410. package/dist/profile/plan-plugin.js.map +0 -1
  411. package/dist/profile/policy-manifest.d.ts +0 -53
  412. package/dist/profile/policy-manifest.d.ts.map +0 -1
  413. package/dist/profile/policy-manifest.js +0 -53
  414. package/dist/profile/policy-manifest.js.map +0 -1
  415. package/dist/profile/role-assembly.d.ts +0 -47
  416. package/dist/profile/role-assembly.d.ts.map +0 -1
  417. package/dist/profile/role-assembly.js +0 -31
  418. package/dist/profile/role-assembly.js.map +0 -1
  419. package/dist/profile/role-catalog.d.ts +0 -43
  420. package/dist/profile/role-catalog.d.ts.map +0 -1
  421. package/dist/profile/role-catalog.js +0 -132
  422. package/dist/profile/role-catalog.js.map +0 -1
  423. package/dist/profile/role-orchestrator.d.ts +0 -123
  424. package/dist/profile/role-orchestrator.d.ts.map +0 -1
  425. package/dist/profile/role-orchestrator.js +0 -195
  426. package/dist/profile/role-orchestrator.js.map +0 -1
  427. package/dist/profile/role-runner.d.ts +0 -99
  428. package/dist/profile/role-runner.d.ts.map +0 -1
  429. package/dist/profile/role-runner.js +0 -79
  430. package/dist/profile/role-runner.js.map +0 -1
  431. package/dist/profile/root-facade.d.ts +0 -36
  432. package/dist/profile/root-facade.d.ts.map +0 -1
  433. package/dist/profile/root-facade.js +0 -49
  434. package/dist/profile/root-facade.js.map +0 -1
  435. package/dist/profile/skill-discovery-wiring.d.ts +0 -58
  436. package/dist/profile/skill-discovery-wiring.d.ts.map +0 -1
  437. package/dist/profile/skill-discovery-wiring.js +0 -80
  438. package/dist/profile/skill-discovery-wiring.js.map +0 -1
  439. package/dist/profile/state-store.d.ts +0 -62
  440. package/dist/profile/state-store.d.ts.map +0 -1
  441. package/dist/profile/state-store.js +0 -144
  442. package/dist/profile/state-store.js.map +0 -1
  443. package/dist/profile/todo-plugin.d.ts +0 -37
  444. package/dist/profile/todo-plugin.d.ts.map +0 -1
  445. package/dist/profile/todo-plugin.js +0 -137
  446. package/dist/profile/todo-plugin.js.map +0 -1
  447. package/dist/server/create-harness.d.ts +0 -26
  448. package/dist/server/create-harness.d.ts.map +0 -1
  449. package/dist/server/create-harness.js +0 -106
  450. package/dist/server/create-harness.js.map +0 -1
  451. /package/{dist/plugins → bundled-plugins/mcp-http/dist}/mcp-http.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"core-errors.js","sourceRoot":"","sources":["../../../../../src/core/i18n/locales/zh-cn/core-errors.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * core-errors 域词典(批次⑥):core/plugins 层终端用户可见的 throw 错误消息。\n * 覆盖范围见 docs/design/国际化与本地化.md 与批次⑥登记:配置错误、认证与 API key\n * 失败、网络/超时/HTTP 失败、文件 IO、会话文件损坏、资源缺失、环境限制,以及\n * 插件生态的安装/下载失败。插件开发者契约校验(D 类)不在此域,归批次⑨。\n * key 为英文原文(与调用点逐字一致),占位符 `{name}` 原样保留。\n */\nexport const coreErrors: Record<string, string> = {\n\t// ---- 认证与模型引导(auth-guidance.ts 及其 throw 调用点)----\n\t\"Use /login to log into a provider via OAuth or API key. See:\":\n\t\t\"使用 /login 通过 OAuth 或 API key 登录提供商。参见:\",\n\t\"No models available. {help}\": \"没有可用模型。{help}\",\n\t\"No model selected.\\n\\n{help}\\n\\nThen use /model to select a model.\":\n\t\t\"未选择模型。\\n\\n{help}\\n\\n然后使用 /model 选择模型。\",\n\t\"No API key found for {provider}.\\n\\n{help}\": \"未找到 {provider} 的 API key。\\n\\n{help}\",\n\t\"the selected model\": \"所选模型\",\n\n\t// ---- 会话管理(session-manager.ts / session-storage.ts)----\n\t\"Session id must be non-empty, contain only alphanumeric characters, '-', '_', and '.', and start and end with an alphanumeric character\":\n\t\t\"会话 id 不能为空,只能包含字母数字字符、'-'、'_' 和 '.',且首尾必须是字母数字字符\",\n\t\"Session file is not a valid {appName} session: {path}\": \"会话文件不是有效的 {appName} 会话:{path}\",\n\t\"Invalid compaction operationId in session entry: {operationId}\": \"会话条目中的压缩 operationId 无效:{operationId}\",\n\t\"Duplicate compaction operationId in session: {operationId}\": \"会话中存在重复的压缩 operationId:{operationId}\",\n\t\"Session append failed and rollback failed\": \"会话追加失败且回滚失败\",\n\t\"Cannot fork: source session file is empty or invalid: {path}\": \"无法分叉:源会话文件为空或无效:{path}\",\n\t\"Cannot fork: source session has no header: {path}\": \"无法分叉:源会话缺少头信息:{path}\",\n\t\"session guard lock timeout after {timeoutMs} ms: {lockPath}\": \"会话守护锁在 {timeoutMs} 毫秒后超时:{lockPath}\",\n\t\"Session file is owned by another live process (pid {pid}): {sessionFile}. Close that process first; concurrent writers would silently fork the session history.\":\n\t\t\"会话文件被另一个存活进程占用(pid {pid}):{sessionFile}。请先关闭该进程;并发写入会导致会话历史静默分叉。\",\n\t\"Session file: {sessionFile}\": \"会话文件:{sessionFile}\",\n\t\"Stored session working directory does not exist: {sessionCwd}{sessionFile}\\nCurrent working directory: {fallbackCwd}\":\n\t\t\"会话中记录的工作目录不存在:{sessionCwd}{sessionFile}\\n当前工作目录:{fallbackCwd}\",\n\n\t// ---- 会话运行时状态与操作守卫(agent-session*.ts)----\n\t\"Input rejected by an input gate\": \"输入被输入门拒绝\",\n\t\"Input rejected by an input gate: {reason}\": \"输入被输入门拒绝:{reason}\",\n\t\"Session reload in progress; prompts are unavailable\": \"会话重载进行中;暂无法提交提示\",\n\t\"Session reload in progress; compaction is unavailable\": \"会话重载进行中;暂无法压缩\",\n\t\"Session reload in progress; compaction was not started\": \"会话重载进行中;压缩未启动\",\n\t\"Session reload in progress; tree navigation is unavailable\": \"会话重载进行中;暂无法导航会话树\",\n\t\"Session reload in progress; bash execution is unavailable\": \"会话重载进行中;暂无法执行 bash\",\n\t\"Session reload in progress; bash results cannot be recorded\": \"会话重载进行中;无法记录 bash 结果\",\n\t\"Cannot submit a prompt while compaction is in progress. Wait for compaction to finish and retry.\":\n\t\t\"压缩进行中无法提交提示。请等待压缩完成后再重试。\",\n\t\"Authentication failed for \\\"{provider}\\\". Credentials may have expired or network is unavailable. Run '/login {provider}' to re-authenticate.\":\n\t\t\"“{provider}”认证失败。凭证可能已过期或网络不可用。请运行 '/login {provider}' 重新认证。\",\n\t\"No model is set on this session's agent\": \"本会话的 agent 未设置模型\",\n\t\"No API key for {provider}/{model}\": \"没有 {provider}/{model} 的 API key\",\n\t\"Already compacted\": \"已压缩过\",\n\t\"Nothing to compact (session too small)\": \"没有可压缩的内容(会话太小)\",\n\t\"Wait for the current response to finish before navigating the session tree.\": \"请等待当前响应结束再导航会话树。\",\n\t\"Wait for the current compaction or tree navigation to finish before navigating the session tree.\":\n\t\t\"请等待当前压缩或树导航结束再导航会话树。\",\n\t\"No model available for summarization\": \"没有可用于生成摘要的模型\",\n\t\"Branch navigation is already in progress\": \"分支导航已在进行中\",\n\t\"Branch summary policy is not registered: {name}\": \"分支摘要策略未注册:{name}\",\n\t\"Configured context strategy is not registered: {name}\": \"已配置的上下文策略未注册:{name}\",\n\t\"Configured context strategy is not registered after reload: {name}\": \"重载后已配置的上下文策略未注册:{name}\",\n\t\"This session has not been saved yet. Send a message before cloning or forking it.\":\n\t\t\"本会话尚未保存。请先发送消息再克隆或分叉。\",\n\t\"Failed to create forked session\": \"创建分叉会话失败\",\n\t\"File not found: {path}\": \"文件不存在:{path}\",\n\t\"Skill is duplicated in resources: {name}\": \"技能在资源中重复:{name}\",\n\t\"Skill conflicts with a resource skill: {name}\": \"技能与资源技能冲突:{name}\",\n\n\t// ---- 模型与提供商配置(model-runtime.ts / provider-composer.ts)----\n\t\"Credential {operation} committed for {providerId}, but local synchronization failed\":\n\t\t\"提供商 {providerId} 的凭证 {operation} 已提交,但本地同步失败\",\n\t\"Unknown provider: {provider}\": \"未知提供商:{provider}\",\n\t\"Provider is not configured: {provider}\": \"提供商未配置:{provider}\",\n\t'Provider {providerId}, model {modelId}: no \"api\" specified. Set at provider or model level.':\n\t\t'提供商 {providerId},模型 {modelId}:未指定 \"api\"。请在提供商或模型级别设置。',\n\t'Provider {providerId}: \"baseUrl\" is required when defining custom models.':\n\t\t'提供商 {providerId}:定义自定义模型时必须提供 \"baseUrl\"。',\n\t\"Provider {providerId}, model {modelId}: invalid contextWindow\":\n\t\t\"提供商 {providerId},模型 {modelId}:contextWindow 无效\",\n\t\"Provider {providerId}, model {modelId}: invalid maxTokens\": \"提供商 {providerId},模型 {modelId}:maxTokens 无效\",\n\t'Provider {providerId}: \"baseUrl\" is required when \"oauth\" is set.':\n\t\t'提供商 {providerId}:设置 \"oauth\" 时必须提供 \"baseUrl\"。',\n\t'Provider {providerId}: must specify \"baseUrl\", \"headers\", \"compat\", \"modelOverrides\", or \"models\".':\n\t\t'提供商 {providerId}:必须指定 \"baseUrl\"、\"headers\"、\"compat\"、\"modelOverrides\" 或 \"models\" 之一。',\n\t\"Provider {providerId}: no authentication method configured.\": \"提供商 {providerId}:未配置任何认证方式。\",\n\t'API key for provider \"{providerId}\"': '提供商 \"{providerId}\" 的 API key',\n\n\t// ---- 配置值解析(resolve-config-value.ts)----\n\t\"Failed to resolve {description} from shell command: {command}\": \"无法从 shell 命令解析{description}:{command}\",\n\t\"Failed to resolve {description} from environment variable: {envVar}\": \"无法从环境变量解析{description}:{envVar}\",\n\t\"Failed to resolve {description} from environment variables: {envVars}\":\n\t\t\"无法从环境变量解析{description}:{envVars}\",\n\t\"Failed to resolve {description}\": \"无法解析{description}\",\n\t'{description} header \"{key}\"': '{description}的 header \"{key}\"',\n\n\t// ---- settings 校验(settings-manager.ts / http-dispatcher.ts)----\n\t\"Invalid {settingName} setting: {value}\": \"无效的 {settingName} 设置:{value}\",\n\t\"Invalid compaction.{field} setting: {value}. Expected a non-negative safe integer.\":\n\t\t\"无效的 compaction.{field} 设置:{value}。应为非负安全整数。\",\n\t'Invalid compaction.modelOverrides[\"{modelKey}\"] setting: {value}. Expected an object.':\n\t\t'无效的 compaction.modelOverrides[\"{modelKey}\"] 设置:{value}。应为对象。',\n\t'Invalid compaction.modelOverrides[\"{modelKey}\"].{field} setting: {value}. Expected a non-negative safe integer.':\n\t\t'无效的 compaction.modelOverrides[\"{modelKey}\"].{field} 设置:{value}。应为非负安全整数。',\n\t\"Invalid httpIdleTimeoutMs setting: {value}\": \"无效的 httpIdleTimeoutMs 设置:{value}\",\n\t\"Invalid HTTP idle timeout: {value}\": \"无效的 HTTP 空闲超时:{value}\",\n\n\t// ---- 凭证存储(auth-storage.ts)----\n\t\"Failed to read auth.json: {reason}\": \"读取 auth.json 失败:{reason}\",\n\t\"Invalid auth.json: expected an object\": \"auth.json 无效:应为对象\",\n\t'Invalid auth.json credential for provider \"{providerId}\"': '提供商 \"{providerId}\" 的 auth.json 凭证无效',\n\t\"Read-only credential storage cannot modify auth.json\": \"只读凭证存储无法修改 auth.json\",\n\n\t// ---- 模型目录与压缩(remote-catalog-provider.ts / compaction.ts)----\n\t'Invalid model catalog for provider \"{providerId}\"': '提供商 \"{providerId}\" 的模型目录无效',\n\t\"Model catalog request failed for {providerId}: {status}\": \"提供商 {providerId} 的模型目录请求失败:{status}\",\n\t\"First kept entry has no UUID - session may need migration\": \"首个保留条目没有 UUID——会话可能需要迁移\",\n\n\t// ---- 导出(export-html/index.ts)----\n\t\"Cannot export in-memory session to HTML\": \"无法将内存中的会话导出为 HTML\",\n\t\"Nothing to export yet - start a conversation first\": \"暂无可导出内容——请先开始对话\",\n\n\t// ---- SDK 会话创建与插件装载(sdk.ts / capability-plugin.ts / capability-runtime.ts)----\n\t\"Failed to read capability plugin manifest {path}: {reason}\": \"读取能力插件 manifest 失败 {path}:{reason}\",\n\t\"Failed to inspect capability plugin directory {directory}: {reason}\": \"检查能力插件目录失败 {directory}:{reason}\",\n\t\"Capability plugin path must be a directory: {directory}\": \"能力插件路径必须是目录:{directory}\",\n\t\"Failed to resolve capability plugin directory {directory}: {reason}\": \"解析能力插件目录失败 {directory}:{reason}\",\n\t\"Failed to read capability plugin directory {directory}: {reason}\": \"读取能力插件目录失败 {directory}:{reason}\",\n\t\"Failed to resolve capability plugin manifest {path}: {reason}\": \"解析能力插件 manifest 失败 {path}:{reason}\",\n\t\"Failed to import capability plugin entry {path}: {reason}\": \"导入能力插件入口失败 {path}:{reason}\",\n\t\"Plugin capability is required but unavailable: {capabilityId}@{version} ({pluginId})\":\n\t\t\"必需的插件能力不可用:{capabilityId}@{version}({pluginId})\",\n\t'Session is bound to suite \"{boundSuiteId}\" and cannot resume with \"{suiteId}\"; rerun with --rebind-suite to adopt the new suite, or create a new session':\n\t\t'会话已绑定 suite \"{boundSuiteId}\",无法以 \"{suiteId}\" 恢复;请加 --rebind-suite 重新运行以切换到新 suite,或创建新会话',\n\t\"Session Profile identity drift detected (the active plugin set changed since the conversation started); rerun with --rebind-suite to adopt the new plugin set, or create a new session\":\n\t\t\"检测到会话 Profile 身份漂移(对话开始后生效的插件集发生了变化);请加 --rebind-suite 重新运行以采用新插件集,或创建新会话\",\n\n\t// ---- 包管理与命令执行(package-manager.ts / package-source.ts / package-install-host.ts / config.ts)----\n\t\"Path does not exist: {path}\": \"路径不存在:{path}\",\n\t\"Unsupported install source: {source}\": \"不支持的安装源:{source}\",\n\t\"Unsupported remove source: {source}\": \"不支持的移除源:{source}\",\n\t\"Missing source: {source}\": \"源缺失:{source}\",\n\t\"Empty response from npm view\": \"npm view 返回空响应\",\n\t\"Unexpected response from npm view\": \"npm view 返回意外响应\",\n\t\"Failed to determine remote HEAD\": \"无法确定远端 HEAD\",\n\t\"Unsupported upstream remote: {upstream}\": \"不支持的 upstream 远端:{upstream}\",\n\t\"Missing upstream branch name\": \"缺少 upstream 分支名\",\n\t\"Failed to run {command} {args}: {reason}\": \"执行 {command} {args} 失败:{reason}\",\n\t\"Failed to run {command}: {reason}\": \"执行 {command} 失败:{reason}\",\n\t\"No matching package found for {source}\": \"未找到与 {source} 匹配的包\",\n\t\"No matching package found for {source}. Did you mean {suggestion}?\":\n\t\t\"未找到与 {source} 匹配的包。你是想找 {suggestion} 吗?\",\n\t\"Invalid npmCommand: first array entry must be a non-empty command\": \"无效的 npmCommand:数组第一项必须是非空命令\",\n\n\t// ---- MCP(mcp-http.ts / agent-session-services.ts)----\n\t\"MCP HTTP transport error: {reason}\": \"MCP HTTP 传输错误:{reason}\",\n\t\"MCP HTTP transport is closed\": \"MCP HTTP 传输已关闭\",\n\t\"MCP HTTP transport returned HTTP {status}\": \"MCP HTTP 传输返回 HTTP {status}\",\n\t\"MCP HTTP transport returned non-JSON body: {reason}\": \"MCP HTTP 传输返回了非 JSON 响应体:{reason}\",\n\t\"MCP error {code}: {message}\": \"MCP 错误 {code}:{message}\",\n\t\"unknown error\": \"未知错误\",\n\t\"MCP tools/list result must contain tools[]\": \"MCP tools/list 结果必须包含 tools[]\",\n\t\"MCP tool requires a non-empty name\": \"MCP 工具必须具有非空名称\",\n\n\t// ---- 插件生态:获取与分发失败表(plugin-acquisition.ts / distribution.ts)----\n\t\"Plugin ref is invalid\": \"插件 ref 无效\",\n\t\"Local plugin ref exists but is neither a directory nor a .zip/.tgz file\":\n\t\t\"本地插件 ref 存在,但既不是目录也不是 .zip/.tgz 文件\",\n\t\"Plugin ref URL scheme is not supported\": \"不支持插件 ref 的 URL 协议\",\n\t\"Plugin ref #sha256 digest fragment is invalid\": \"插件 ref 的 #sha256 摘要片段无效\",\n\t\"Plugin npm package ref is invalid\": \"插件 npm 包 ref 无效\",\n\t\"Plugin package acquisition was cancelled\": \"插件包获取已取消\",\n\t\"Plugin package download failed\": \"插件包下载失败\",\n\t\"Plugin npm package was not found on the registry\": \"注册表中未找到该插件 npm 包\",\n\t\"No npm package version matches the requested range\": \"没有匹配所请求范围的 npm 包版本\",\n\t\"Plugin package bytes do not match the expected digest\": \"插件包字节与预期摘要不匹配\",\n\t\"Plugin package bytes are neither a zip nor a tgz\": \"插件包字节既不是 zip 也不是 tgz\",\n\t\"Plugin package contents are invalid\": \"插件包内容无效\",\n\t\"Plugin package exceeds the configured size budget\": \"插件包超出配置的大小预算\",\n\t\"Plugin release was not found\": \"未找到插件 release\",\n\t\"Plugin release has no .zip/.tgz asset\": \"插件 release 没有 .zip/.tgz 资产\",\n\t\"Plugin release has multiple .zip/.tgz assets\": \"插件 release 有多个 .zip/.tgz 资产\",\n\t\"Plugin release API rate limit was exceeded\": \"插件 release API 超出速率限制\",\n\t\"Plugin distribution is unsupported on this host\": \"此宿主不支持插件分发\",\n\t\"Plugin distribution operation was cancelled\": \"插件分发操作已取消\",\n\t\"Plugin distribution descriptor is invalid\": \"插件分发描述符无效\",\n\t\"Plugin distribution metadata is invalid\": \"插件分发元数据无效\",\n\t\"Plugin distribution artifact handle is invalid\": \"插件分发产物句柄无效\",\n\t\"Plugin distribution source does not match the descriptor\": \"插件分发来源与描述符不匹配\",\n\t\"Plugin distribution plugin identity does not match the descriptor\": \"插件分发的插件身份与描述符不匹配\",\n\t\"Plugin distribution digest does not match the descriptor\": \"插件分发摘要与描述符不匹配\",\n\t\"Plugin distribution signature was rejected\": \"插件分发签名被拒绝\",\n\t\"Plugin distribution descriptor has expired\": \"插件分发描述符已过期\",\n\t\"Plugin distribution size does not match the descriptor\": \"插件分发大小与描述符不匹配\",\n\t\"Plugin distribution media type does not match the descriptor\": \"插件分发媒体类型与描述符不匹配\",\n\t\"Plugin distribution host operation failed\": \"插件分发宿主操作失败\",\n\t\"Plugin distribution artifact release failed\": \"插件分发产物释放失败\",\n\n\t// ---- 插件生态:网络下载与安装店 IO(node-*-source.ts / registry.ts)----\n\t\"npm registry request timed out\": \"npm registry 请求超时\",\n\t\"npm registry request was cancelled\": \"npm registry 请求已取消\",\n\t\"npm registry request failed\": \"npm registry 请求失败\",\n\t\"npm registry redirect limit exceeded\": \"超出 npm registry 重定向次数上限\",\n\t\"npm package was not found on the registry\": \"注册表中未找到该 npm 包\",\n\t\"npm registry request did not succeed\": \"npm registry 请求未成功\",\n\t\"npm tarball download was cancelled\": \"npm tarball 下载已取消\",\n\t\"npm tarball download did not succeed\": \"npm tarball 下载未成功\",\n\t\"plugin package download was cancelled\": \"插件包下载已取消\",\n\t\"plugin package download timed out\": \"插件包下载超时\",\n\t\"plugin package download failed\": \"插件包下载失败\",\n\t\"plugin package redirect limit exceeded\": \"超出插件包重定向次数上限\",\n\t\"plugin package download did not succeed\": \"插件包下载未成功\",\n\t\"plugin package response has no body\": \"插件包响应没有响应体\",\n\t\"release API request timed out\": \"release API 请求超时\",\n\t\"release API request was cancelled\": \"release API 请求已取消\",\n\t\"release API request failed\": \"release API 请求失败\",\n\t\"repo or release was not found\": \"未找到仓库或 release\",\n\t\"release API request did not succeed\": \"release API 请求未成功\",\n\t\"release API redirect limit exceeded\": \"超出 release API 重定向次数上限\",\n\t\"release asset download was cancelled\": \"release 资产下载已取消\",\n\t\"repo has no published release\": \"仓库没有已发布的 release\",\n\t\"Plugin registry request failed\": \"插件注册表请求失败\",\n\t\"Plugin registry request was cancelled\": \"插件注册表请求已取消\",\n\t\"Plugin registry request timed out\": \"插件注册表请求超时\",\n\t\"Disk registry source read was cancelled\": \"磁盘注册表源读取已取消\",\n\t\"Install store index could not be read\": \"无法读取安装店索引\",\n\t\"Installed plugin manifest could not be read\": \"无法读取已安装插件的 manifest\",\n\t\"Plugin registry operation was cancelled\": \"插件注册表操作已取消\",\n\n\t// --- provider-composer.ts OAuth 手动输码 ---\n\t\"Paste the authorization code\": \"请粘贴授权码\",\n};\n"]}
1
+ {"version":3,"file":"core-errors.js","sourceRoot":"","sources":["../../../../../src/core/i18n/locales/zh-cn/core-errors.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * core-errors 域词典(批次⑥):core/plugins 层终端用户可见的 throw 错误消息。\n * 覆盖范围见 docs/design/国际化与本地化.md 与批次⑥登记:配置错误、认证与 API key\n * 失败、网络/超时/HTTP 失败、文件 IO、会话文件损坏、资源缺失、环境限制,以及\n * 插件生态的安装/下载失败。插件开发者契约校验(D 类)不在此域,归批次⑨。\n * key 为英文原文(与调用点逐字一致),占位符 `{name}` 原样保留。\n */\nexport const coreErrors: Record<string, string> = {\n\t// ---- 认证与模型引导(auth-guidance.ts 及其 throw 调用点)----\n\t\"Use /login to log into a provider via OAuth or API key. See:\":\n\t\t\"使用 /login 通过 OAuth 或 API key 登录提供商。参见:\",\n\t\"No models available. {help}\": \"没有可用模型。{help}\",\n\t\"No model selected.\\n\\n{help}\\n\\nThen use /model to select a model.\":\n\t\t\"未选择模型。\\n\\n{help}\\n\\n然后使用 /model 选择模型。\",\n\t\"No API key found for {provider}.\\n\\n{help}\": \"未找到 {provider} 的 API key。\\n\\n{help}\",\n\t\"the selected model\": \"所选模型\",\n\n\t// ---- 会话管理(session-manager.ts / session-storage.ts)----\n\t\"Session id must be non-empty, contain only alphanumeric characters, '-', '_', and '.', and start and end with an alphanumeric character\":\n\t\t\"会话 id 不能为空,只能包含字母数字字符、'-'、'_' 和 '.',且首尾必须是字母数字字符\",\n\t\"Session file is not a valid {appName} session: {path}\": \"会话文件不是有效的 {appName} 会话:{path}\",\n\t\"Invalid compaction operationId in session entry: {operationId}\": \"会话条目中的压缩 operationId 无效:{operationId}\",\n\t\"Duplicate compaction operationId in session: {operationId}\": \"会话中存在重复的压缩 operationId:{operationId}\",\n\t\"Session append failed and rollback failed\": \"会话追加失败且回滚失败\",\n\t\"Cannot fork: source session file is empty or invalid: {path}\": \"无法分叉:源会话文件为空或无效:{path}\",\n\t\"Cannot fork: source session has no header: {path}\": \"无法分叉:源会话缺少头信息:{path}\",\n\t\"session guard lock timeout after {timeoutMs} ms: {lockPath}\": \"会话守护锁在 {timeoutMs} 毫秒后超时:{lockPath}\",\n\t\"Session file is owned by another live process (pid {pid}): {sessionFile}. Close that process first; concurrent writers would silently fork the session history.\":\n\t\t\"会话文件被另一个存活进程占用(pid {pid}):{sessionFile}。请先关闭该进程;并发写入会导致会话历史静默分叉。\",\n\t\"Session file: {sessionFile}\": \"会话文件:{sessionFile}\",\n\t\"Stored session working directory does not exist: {sessionCwd}{sessionFile}\\nCurrent working directory: {fallbackCwd}\":\n\t\t\"会话中记录的工作目录不存在:{sessionCwd}{sessionFile}\\n当前工作目录:{fallbackCwd}\",\n\n\t// ---- 会话运行时状态与操作守卫(agent-session*.ts)----\n\t\"Input rejected by an input gate\": \"输入被输入门拒绝\",\n\t\"Input rejected by an input gate: {reason}\": \"输入被输入门拒绝:{reason}\",\n\t\"Session reload in progress; prompts are unavailable\": \"会话重载进行中;暂无法提交提示\",\n\t\"Session reload in progress; compaction is unavailable\": \"会话重载进行中;暂无法压缩\",\n\t\"Session reload in progress; compaction was not started\": \"会话重载进行中;压缩未启动\",\n\t\"Session reload in progress; tree navigation is unavailable\": \"会话重载进行中;暂无法导航会话树\",\n\t\"Session reload in progress; bash execution is unavailable\": \"会话重载进行中;暂无法执行 bash\",\n\t\"Session reload in progress; bash results cannot be recorded\": \"会话重载进行中;无法记录 bash 结果\",\n\t\"Cannot submit a prompt while compaction is in progress. Wait for compaction to finish and retry.\":\n\t\t\"压缩进行中无法提交提示。请等待压缩完成后再重试。\",\n\t\"Authentication failed for \\\"{provider}\\\". Credentials may have expired or network is unavailable. Run '/login {provider}' to re-authenticate.\":\n\t\t\"“{provider}”认证失败。凭证可能已过期或网络不可用。请运行 '/login {provider}' 重新认证。\",\n\t\"No model is set on this session's agent\": \"本会话的 agent 未设置模型\",\n\t\"No API key for {provider}/{model}\": \"没有 {provider}/{model} 的 API key\",\n\t\"Already compacted\": \"已压缩过\",\n\t\"Nothing to compact (session too small)\": \"没有可压缩的内容(会话太小)\",\n\t\"Wait for the current response to finish before navigating the session tree.\": \"请等待当前响应结束再导航会话树。\",\n\t\"Wait for the current compaction or tree navigation to finish before navigating the session tree.\":\n\t\t\"请等待当前压缩或树导航结束再导航会话树。\",\n\t\"No model available for summarization\": \"没有可用于生成摘要的模型\",\n\t\"Branch navigation is already in progress\": \"分支导航已在进行中\",\n\t\"Branch summary policy is not registered: {name}\": \"分支摘要策略未注册:{name}\",\n\t\"Configured context strategy is not registered: {name}\": \"已配置的上下文策略未注册:{name}\",\n\t\"Configured context strategy is not registered after reload: {name}\": \"重载后已配置的上下文策略未注册:{name}\",\n\t\"This session has not been saved yet. Send a message before cloning or forking it.\":\n\t\t\"本会话尚未保存。请先发送消息再克隆或分叉。\",\n\t\"Failed to create forked session\": \"创建分叉会话失败\",\n\t\"File not found: {path}\": \"文件不存在:{path}\",\n\t\"Skill is duplicated in resources: {name}\": \"技能在资源中重复:{name}\",\n\t\"Skill conflicts with a resource skill: {name}\": \"技能与资源技能冲突:{name}\",\n\n\t// ---- 模型与提供商配置(model-runtime.ts / provider-composer.ts)----\n\t\"Credential {operation} committed for {providerId}, but local synchronization failed\":\n\t\t\"提供商 {providerId} 的凭证 {operation} 已提交,但本地同步失败\",\n\t\"Unknown provider: {provider}\": \"未知提供商:{provider}\",\n\t\"Provider is not configured: {provider}\": \"提供商未配置:{provider}\",\n\t'Provider {providerId}, model {modelId}: no \"api\" specified. Set at provider or model level.':\n\t\t'提供商 {providerId},模型 {modelId}:未指定 \"api\"。请在提供商或模型级别设置。',\n\t'Provider {providerId}: \"baseUrl\" is required when defining custom models.':\n\t\t'提供商 {providerId}:定义自定义模型时必须提供 \"baseUrl\"。',\n\t\"Provider {providerId}, model {modelId}: invalid contextWindow\":\n\t\t\"提供商 {providerId},模型 {modelId}:contextWindow 无效\",\n\t\"Provider {providerId}, model {modelId}: invalid maxTokens\": \"提供商 {providerId},模型 {modelId}:maxTokens 无效\",\n\t'Provider {providerId}: \"baseUrl\" is required when \"oauth\" is set.':\n\t\t'提供商 {providerId}:设置 \"oauth\" 时必须提供 \"baseUrl\"。',\n\t'Provider {providerId}: must specify \"baseUrl\", \"headers\", \"compat\", \"modelOverrides\", or \"models\".':\n\t\t'提供商 {providerId}:必须指定 \"baseUrl\"、\"headers\"、\"compat\"、\"modelOverrides\" 或 \"models\" 之一。',\n\t\"Provider {providerId}: no authentication method configured.\": \"提供商 {providerId}:未配置任何认证方式。\",\n\t'API key for provider \"{providerId}\"': '提供商 \"{providerId}\" 的 API key',\n\n\t// ---- 配置值解析(resolve-config-value.ts)----\n\t\"Failed to resolve {description} from shell command: {command}\": \"无法从 shell 命令解析{description}:{command}\",\n\t\"Failed to resolve {description} from environment variable: {envVar}\": \"无法从环境变量解析{description}:{envVar}\",\n\t\"Failed to resolve {description} from environment variables: {envVars}\":\n\t\t\"无法从环境变量解析{description}:{envVars}\",\n\t\"Failed to resolve {description}\": \"无法解析{description}\",\n\t'{description} header \"{key}\"': '{description}的 header \"{key}\"',\n\n\t// ---- settings 校验(settings-manager.ts / http-dispatcher.ts)----\n\t\"Invalid {settingName} setting: {value}\": \"无效的 {settingName} 设置:{value}\",\n\t\"Invalid compaction.{field} setting: {value}. Expected a non-negative safe integer.\":\n\t\t\"无效的 compaction.{field} 设置:{value}。应为非负安全整数。\",\n\t'Invalid compaction.modelOverrides[\"{modelKey}\"] setting: {value}. Expected an object.':\n\t\t'无效的 compaction.modelOverrides[\"{modelKey}\"] 设置:{value}。应为对象。',\n\t'Invalid compaction.modelOverrides[\"{modelKey}\"].{field} setting: {value}. Expected a non-negative safe integer.':\n\t\t'无效的 compaction.modelOverrides[\"{modelKey}\"].{field} 设置:{value}。应为非负安全整数。',\n\t\"Invalid httpIdleTimeoutMs setting: {value}\": \"无效的 httpIdleTimeoutMs 设置:{value}\",\n\t\"Invalid HTTP idle timeout: {value}\": \"无效的 HTTP 空闲超时:{value}\",\n\n\t// ---- 凭证存储(auth-storage.ts)----\n\t\"Failed to read auth.json: {reason}\": \"读取 auth.json 失败:{reason}\",\n\t\"Invalid auth.json: expected an object\": \"auth.json 无效:应为对象\",\n\t'Invalid auth.json credential for provider \"{providerId}\"': '提供商 \"{providerId}\" 的 auth.json 凭证无效',\n\t\"Read-only credential storage cannot modify auth.json\": \"只读凭证存储无法修改 auth.json\",\n\n\t// ---- 模型目录与压缩(remote-catalog-provider.ts / compaction.ts)----\n\t'Invalid model catalog for provider \"{providerId}\"': '提供商 \"{providerId}\" 的模型目录无效',\n\t\"Model catalog request failed for {providerId}: {status}\": \"提供商 {providerId} 的模型目录请求失败:{status}\",\n\t\"First kept entry has no UUID - session may need migration\": \"首个保留条目没有 UUID——会话可能需要迁移\",\n\n\t// ---- 导出(export-html/index.ts)----\n\t\"Cannot export in-memory session to HTML\": \"无法将内存中的会话导出为 HTML\",\n\t\"Nothing to export yet - start a conversation first\": \"暂无可导出内容——请先开始对话\",\n\n\t// ---- SDK 会话创建与插件装载(sdk.ts / capability-plugin.ts / capability-runtime.ts)----\n\t\"Failed to read capability plugin manifest {path}: {reason}\": \"读取能力插件 manifest 失败 {path}:{reason}\",\n\t\"Failed to inspect capability plugin directory {directory}: {reason}\": \"检查能力插件目录失败 {directory}:{reason}\",\n\t\"Capability plugin path must be a directory: {directory}\": \"能力插件路径必须是目录:{directory}\",\n\t\"Failed to resolve capability plugin directory {directory}: {reason}\": \"解析能力插件目录失败 {directory}:{reason}\",\n\t\"Failed to read capability plugin directory {directory}: {reason}\": \"读取能力插件目录失败 {directory}:{reason}\",\n\t\"Failed to resolve capability plugin manifest {path}: {reason}\": \"解析能力插件 manifest 失败 {path}:{reason}\",\n\t\"Failed to import capability plugin entry {path}: {reason}\": \"导入能力插件入口失败 {path}:{reason}\",\n\t\"Plugin capability is required but unavailable: {capabilityId}@{version} ({pluginId})\":\n\t\t\"必需的插件能力不可用:{capabilityId}@{version}({pluginId})\",\n\t'Session is bound to suite \"{boundSuiteId}\" and cannot resume with \"{suiteId}\"; rerun with --rebind-suite to adopt the new suite, or create a new session':\n\t\t'会话已绑定 suite \"{boundSuiteId}\",无法以 \"{suiteId}\" 恢复;请加 --rebind-suite 重新运行以切换到新 suite,或创建新会话',\n\t\"Session Profile identity drift detected (the active plugin set changed since the conversation started); rerun with --rebind-suite to adopt the new plugin set, or create a new session\":\n\t\t\"检测到会话 Profile 身份漂移(对话开始后生效的插件集发生了变化);请加 --rebind-suite 重新运行以采用新插件集,或创建新会话\",\n\n\t// ---- 包管理与命令执行(package-manager.ts / package-source.ts / package-install-host.ts / config.ts)----\n\t\"Path does not exist: {path}\": \"路径不存在:{path}\",\n\t\"Unsupported install source: {source}\": \"不支持的安装源:{source}\",\n\t\"Unsupported remove source: {source}\": \"不支持的移除源:{source}\",\n\t\"Missing source: {source}\": \"源缺失:{source}\",\n\t\"Empty response from npm view\": \"npm view 返回空响应\",\n\t\"Unexpected response from npm view\": \"npm view 返回意外响应\",\n\t\"Failed to determine remote HEAD\": \"无法确定远端 HEAD\",\n\t\"Unsupported upstream remote: {upstream}\": \"不支持的 upstream 远端:{upstream}\",\n\t\"Missing upstream branch name\": \"缺少 upstream 分支名\",\n\t\"Failed to run {command} {args}: {reason}\": \"执行 {command} {args} 失败:{reason}\",\n\t\"Failed to run {command}: {reason}\": \"执行 {command} 失败:{reason}\",\n\t\"No matching package found for {source}\": \"未找到与 {source} 匹配的包\",\n\t\"No matching package found for {source}. Did you mean {suggestion}?\":\n\t\t\"未找到与 {source} 匹配的包。你是想找 {suggestion} 吗?\",\n\t\"Invalid npmCommand: first array entry must be a non-empty command\": \"无效的 npmCommand:数组第一项必须是非空命令\",\n\n\t// ---- MCP(plugins/mcp-http / agent-session-services.ts)----\n\t\"MCP HTTP transport error: {reason}\": \"MCP HTTP 传输错误:{reason}\",\n\t\"MCP HTTP transport is closed\": \"MCP HTTP 传输已关闭\",\n\t\"MCP HTTP transport returned HTTP {status}\": \"MCP HTTP 传输返回 HTTP {status}\",\n\t\"MCP HTTP transport returned non-JSON body: {reason}\": \"MCP HTTP 传输返回了非 JSON 响应体:{reason}\",\n\t\"MCP error {code}: {message}\": \"MCP 错误 {code}:{message}\",\n\t\"unknown error\": \"未知错误\",\n\t\"MCP tools/list result must contain tools[]\": \"MCP tools/list 结果必须包含 tools[]\",\n\t\"MCP tool requires a non-empty name\": \"MCP 工具必须具有非空名称\",\n\n\t// ---- 插件生态:获取与分发失败表(plugin-acquisition.ts / distribution.ts)----\n\t\"Plugin ref is invalid\": \"插件 ref 无效\",\n\t\"Local plugin ref exists but is neither a directory nor a .zip/.tgz file\":\n\t\t\"本地插件 ref 存在,但既不是目录也不是 .zip/.tgz 文件\",\n\t\"Plugin ref URL scheme is not supported\": \"不支持插件 ref 的 URL 协议\",\n\t\"Plugin ref #sha256 digest fragment is invalid\": \"插件 ref 的 #sha256 摘要片段无效\",\n\t\"Plugin npm package ref is invalid\": \"插件 npm 包 ref 无效\",\n\t\"Plugin package acquisition was cancelled\": \"插件包获取已取消\",\n\t\"Plugin package download failed\": \"插件包下载失败\",\n\t\"Plugin npm package was not found on the registry\": \"注册表中未找到该插件 npm 包\",\n\t\"No npm package version matches the requested range\": \"没有匹配所请求范围的 npm 包版本\",\n\t\"Plugin package bytes do not match the expected digest\": \"插件包字节与预期摘要不匹配\",\n\t\"Plugin package bytes are neither a zip nor a tgz\": \"插件包字节既不是 zip 也不是 tgz\",\n\t\"Plugin package contents are invalid\": \"插件包内容无效\",\n\t\"Plugin package exceeds the configured size budget\": \"插件包超出配置的大小预算\",\n\t\"Plugin release was not found\": \"未找到插件 release\",\n\t\"Plugin release has no .zip/.tgz asset\": \"插件 release 没有 .zip/.tgz 资产\",\n\t\"Plugin release has multiple .zip/.tgz assets\": \"插件 release 有多个 .zip/.tgz 资产\",\n\t\"Plugin release API rate limit was exceeded\": \"插件 release API 超出速率限制\",\n\t\"Plugin distribution is unsupported on this host\": \"此宿主不支持插件分发\",\n\t\"Plugin distribution operation was cancelled\": \"插件分发操作已取消\",\n\t\"Plugin distribution descriptor is invalid\": \"插件分发描述符无效\",\n\t\"Plugin distribution metadata is invalid\": \"插件分发元数据无效\",\n\t\"Plugin distribution artifact handle is invalid\": \"插件分发产物句柄无效\",\n\t\"Plugin distribution source does not match the descriptor\": \"插件分发来源与描述符不匹配\",\n\t\"Plugin distribution plugin identity does not match the descriptor\": \"插件分发的插件身份与描述符不匹配\",\n\t\"Plugin distribution digest does not match the descriptor\": \"插件分发摘要与描述符不匹配\",\n\t\"Plugin distribution signature was rejected\": \"插件分发签名被拒绝\",\n\t\"Plugin distribution descriptor has expired\": \"插件分发描述符已过期\",\n\t\"Plugin distribution size does not match the descriptor\": \"插件分发大小与描述符不匹配\",\n\t\"Plugin distribution media type does not match the descriptor\": \"插件分发媒体类型与描述符不匹配\",\n\t\"Plugin distribution host operation failed\": \"插件分发宿主操作失败\",\n\t\"Plugin distribution artifact release failed\": \"插件分发产物释放失败\",\n\n\t// ---- 插件生态:网络下载与安装店 IO(node-*-source.ts / registry.ts)----\n\t\"npm registry request timed out\": \"npm registry 请求超时\",\n\t\"npm registry request was cancelled\": \"npm registry 请求已取消\",\n\t\"npm registry request failed\": \"npm registry 请求失败\",\n\t\"npm registry rate limit was exceeded\": \"npm registry 速率限制已触发\",\n\t\"npm registry redirect limit exceeded\": \"超出 npm registry 重定向次数上限\",\n\t\"npm package was not found on the registry\": \"注册表中未找到该 npm 包\",\n\t\"npm registry request did not succeed\": \"npm registry 请求未成功\",\n\t\"npm tarball download was cancelled\": \"npm tarball 下载已取消\",\n\t\"npm tarball download did not succeed\": \"npm tarball 下载未成功\",\n\t\"plugin package download was cancelled\": \"插件包下载已取消\",\n\t\"plugin package download timed out\": \"插件包下载超时\",\n\t\"plugin package download failed\": \"插件包下载失败\",\n\t\"plugin package redirect limit exceeded\": \"超出插件包重定向次数上限\",\n\t\"plugin package download did not succeed\": \"插件包下载未成功\",\n\t\"plugin package response has no body\": \"插件包响应没有响应体\",\n\t\"release API request timed out\": \"release API 请求超时\",\n\t\"release API request was cancelled\": \"release API 请求已取消\",\n\t\"release API request failed\": \"release API 请求失败\",\n\t\"repo or release was not found\": \"未找到仓库或 release\",\n\t\"release API request did not succeed\": \"release API 请求未成功\",\n\t\"release API redirect limit exceeded\": \"超出 release API 重定向次数上限\",\n\t\"release asset download was cancelled\": \"release 资产下载已取消\",\n\t\"repo has no published release\": \"仓库没有已发布的 release\",\n\t\"Plugin registry request failed\": \"插件注册表请求失败\",\n\t\"Plugin registry request was cancelled\": \"插件注册表请求已取消\",\n\t\"Plugin registry request timed out\": \"插件注册表请求超时\",\n\t\"Disk registry source read was cancelled\": \"磁盘注册表源读取已取消\",\n\t\"Install store index could not be read\": \"无法读取安装店索引\",\n\t\"Installed plugin manifest could not be read\": \"无法读取已安装插件的 manifest\",\n\t\"Plugin registry operation was cancelled\": \"插件注册表操作已取消\",\n\t\"only toggles the enabled flag; the record lifecycle is {lifecycle} and the runtime will not load it\":\n\t\t\"仅切换 enabled 标志;该记录 lifecycle 为 {lifecycle},运行时不会加载\",\n\n\t// --- provider-composer.ts OAuth 手动输码 ---\n\t\"Paste the authorization code\": \"请粘贴授权码\",\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"interactive-mode.d.ts","sourceRoot":"","sources":["../../../../../src/core/i18n/locales/zh-cn/interactive-mode.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA+RlD,CAAC","sourcesContent":["/**\n * interactive-mode 域词典(批次③):key 为\n * src/modes/interactive/interactive-mode.ts 中 `t()` 调用点的英文原文,\n * value 为 zh-CN 译文。占位符 `{name}` 原样保留(coverage-i18n 测试校验\n * key 与译文占位符集合一致)。命令名/路径/键名/品牌(/suite、models.json、\n * bash、tmux 指令、Agent Forge)不译;suite 保留原文;token 按语境译作\n * token(计量单位)。\n */\nexport const interactiveMode: Record<string, string> = {\n\t// ---- 默认状态指示器 ----\n\t\"Working...\": \"处理中…\",\n\t\"Thinking...\": \"思考中...\",\n\t\"({key} to interrupt)\": \"({key} 中断)\",\n\t\"({key} to cycle)\": \"({key} 切换)\",\n\t\"(thinking: {level})\": \"(思考:{level})\",\n\n\t// ---- 启动 banner / 模型范围 ----\n\t\"to interrupt\": \"中断\",\n\t\"to clear\": \"清空\",\n\t\"{key} twice\": \"{key} 两次\",\n\t\"to exit\": \"退出\",\n\t\"to exit (empty)\": \"退出(编辑器为空时)\",\n\t\"to suspend\": \"挂起\",\n\t\"to delete to end\": \"删除到行尾\",\n\t\"to expand tools\": \"展开工具输出\",\n\t\"to expand thinking\": \"展开思考\",\n\t\"for external editor\": \"打开外部编辑器\",\n\t\"for commands\": \"命令\",\n\t\"to run bash\": \"运行 bash\",\n\t\"to run bash (no context)\": \"运行 bash(不进上下文)\",\n\t\"to paste image (with text fallback)\": \"粘贴图片(无图则退回文本)\",\n\t\"to attach\": \"附加文件\",\n\tinterrupt: \"中断\",\n\t\"clear/exit\": \"清空/退出\",\n\tcommands: \"命令\",\n\tbash: \"bash\",\n\tmore: \"更多\",\n\t\"Press {key} to show full startup help and loaded resources.\": \"按 {key} 展示完整启动帮助与已加载资源。\",\n\t\"Agent Forge can explain its own features and look up its docs. Ask it how to use or extend Agent Forge.\":\n\t\t\"Agent Forge 能解释自身功能并查阅自己的文档。可以直接问它如何使用或扩展 Agent Forge。\",\n\t\"Model scope: {models}{hint}\": \"模型范围:{models}{hint}\",\n\n\t// ---- 更新与 changelog ----\n\t\"Updated to v{version}. Use {command} to view full changelog.\":\n\t\t\"已更新到 v{version}。使用 {command} 查看完整变更日志。\",\n\t\"What's New\": \"新特性\",\n\t\"No changelog entries found.\": \"未找到变更日志条目。\",\n\t\"New version {version} is available. Run\": \"新版本 {version} 可用。请运行\",\n\t\"Changelog:\": \"变更日志:\",\n\t\"Changelog URL is not configured.\": \"未配置变更日志 URL。\",\n\t\"Update Available\": \"有可用更新\",\n\t\"Package updates are available. Run\": \"有可用的包更新。请运行\",\n\t\"Package Updates Available\": \"有可用的包更新\",\n\t\"Packages:\": \"包:\",\n\n\t// ---- 启动警告 ----\n\t\"Migrated credentials to auth.json: {providers}\": \"已迁移凭据到 auth.json:{providers}\",\n\t\"models.json error: {error}\": \"models.json 错误:{error}\",\n\t\"tmux extended-keys is off. Modified Enter keys may not work. Add `set -g extended-keys on` to ~/.tmux.conf and restart tmux.\":\n\t\t\"tmux extended-keys 已关闭,修饰 Enter 键可能失效。请在 ~/.tmux.conf 中加入 `set -g extended-keys on` 并重启 tmux。\",\n\t\"tmux extended-keys-format is xterm. Agent Forge works best with csi-u. Add `set -g extended-keys-format csi-u` to ~/.tmux.conf and restart tmux.\":\n\t\t\"tmux extended-keys-format 为 xterm,Agent Forge 在 csi-u 下工作最佳。请在 ~/.tmux.conf 中加入 `set -g extended-keys-format csi-u` 并重启 tmux。\",\n\t\"Anthropic subscription auth is active. Third-party harness usage draws from extra usage and is billed per token, not your Claude plan limits. Manage extra usage at https://claude.ai/settings/usage. Disable this warning in /settings.\":\n\t\t\"Anthropic 订阅认证处于活跃状态。第三方 harness 用量计入 extra usage 并按 token 计费,不占用 Claude 计划额度。可在 https://claude.ai/settings/usage 管理 extra usage。在 /settings 中可关闭此警告。\",\n\n\t// ---- 已加载资源区块 ----\n\tContext: \"上下文\",\n\tSkills: \"技能\",\n\tPrompts: \"提示词\",\n\tThemes: \"主题\",\n\t\"[Skill conflicts]\": \"[技能冲突]\",\n\t\"[Prompt conflicts]\": \"[提示词模板冲突]\",\n\t\"[Theme conflicts]\": \"[主题冲突]\",\n\n\t// ---- 输入 / 消息队列 ----\n\t\"Startup in progress — input queued and will run when startup completes\": \"启动进行中——输入已排队,启动完成后执行\",\n\t\"A bash command is already running. Press Esc to cancel it first.\": \"已有 bash 命令在运行。请先按 Esc 取消。\",\n\t\"No queued messages to restore\": \"没有可恢复的排队消息\",\n\t\"No queued messages to manage\": \"没有可管理的排队消息\",\n\t\"Restored {count} queued message to editor\": \"已恢复 {count} 条排队消息到编辑器\",\n\t\"Restored {count} queued messages to editor\": \"已恢复 {count} 条排队消息到编辑器\",\n\t\"Usage: /queue <text>\": \"用法:/queue <文本>\",\n\t\"Queued message for after compaction\": \"消息已排队,压缩后发送\",\n\t\"Failed to send queued message: {error}\": \"发送排队消息失败:{error}\",\n\t\"Failed to send queued messages: {error}\": \"发送排队消息失败:{error}\",\n\t\"Steering: {message}\": \"转向:{message}\",\n\t\"Follow-up: {message}\": \"后续:{message}\",\n\t\"↳ {key} to edit all queued messages\": \"↳ {key} 编辑全部排队消息\",\n\n\t// ---- 事件 / 中止 / 压缩 / 重试 ----\n\t\"Aborted after {count} retry attempt\": \"已中止,此前重试 {count} 次\",\n\t\"Aborted after {count} retry attempts\": \"已中止,此前重试 {count} 次\",\n\t\"Operation aborted\": \"操作已中止\",\n\t\"Compaction cancelled\": \"已取消压缩\",\n\t\"Auto-compaction cancelled\": \"已取消自动压缩\",\n\t\"Auto-compaction skipped: nothing to compact\": \"自动压缩已跳过:没有可压缩内容\",\n\t\"Retry failed after {count} attempts: {error}\": \"重试 {count} 次后失败:{error}\",\n\t\"Previous reply was empty, retrying...\": \"上一条回复为空,正在重试…\",\n\n\t// ---- 计费 / 缓存通知 ----\n\tCompaction: \"压缩\",\n\t\"Branch summary\": \"分支摘要\",\n\t\"{tokens} tokens billed{cost}\": \"计费 {tokens} token{cost}\",\n\t\"Anthropic dropped {count} thinking blocks (details in session)\": \"Anthropic 丢弃了 {count} 个思考块(详情见会话)\",\n\t\"{tokens} tokens re-billed{cost}\": \"重新计费 {tokens} token{cost}\",\n\t\"Cache miss\": \"缓存未命中\",\n\t\"Cache miss after model switch\": \"切换模型后缓存未命中\",\n\t\"Cache miss after {minutes}m idle\": \"闲置 {minutes} 分钟后缓存未命中\",\n\t\"Session compacted {count} time\": \"会话已压缩 {count} 次\",\n\t\"Session compacted {count} times\": \"会话已压缩 {count} 次\",\n\n\t// ---- 退出 / 挂起 ----\n\t\"To resume this session:\": \"恢复本会话:\",\n\t\"{app} exiting due to uncaughtException:\": \"{app} 因未捕获异常退出:\",\n\t\"Suspend to background is not supported on Windows\": \"Windows 不支持挂起到后台\",\n\n\t// ---- 模型 / 思考 / 工具输出切换 ----\n\t\"Current model does not support thinking\": \"当前模型不支持思考\",\n\t\"Thinking level: {level}\": \"思考级别:{level}\",\n\t\"Only one model in scope\": \"范围内只有一个模型\",\n\t\"Only one model available\": \"只有一个可用模型\",\n\t\"Switched to {model}{thinking}\": \"已切换到 {model}{thinking}\",\n\t\"Tool output: expanded\": \"工具输出:已展开\",\n\t\"Tool output: collapsed\": \"工具输出:已折叠\",\n\t\"Thinking blocks: hidden\": \"思考块:已隐藏\",\n\t\"Thinking blocks: visible\": \"思考块:已显示\",\n\n\t// ---- 设置选择器 ----\n\t\"not set\": \"未设置\",\n\t\"HTTP idle timeout: {value}\": \"HTTP 空闲超时:{value}\",\n\t\"Close active overlays before changing TUI mode\": \"切换 TUI 模式前请先关闭活动浮层\",\n\t\"TUI mode: {mode}\": \"TUI 模式:{mode}\",\n\n\t// ---- suite / 会话重建 ----\n\t'Suite \"{id}\" was not found. The selected suite applies to the new session.':\n\t\t'未找到 suite \"{id}\"。所选 suite 将应用于新会话。',\n\t'Suite \"{id}\" was not found — continuing without a suite. Use /suite to choose one.':\n\t\t'未找到 suite \"{id}\"——将在无 suite 下继续。可使用 /suite 选择。',\n\t\"Suite set to {id} — new session started\": \"suite 已设为 {id}——新会话已开始\",\n\t\"Failed to create session\": \"创建会话失败\",\n\t'Cross-suite compatible mode: session created with \"{from}\", assembling with \"{to}\"':\n\t\t'跨 suite 兼容模式:会话创建于 \"{from}\",正以 \"{to}\" 组装',\n\n\t// ---- workflow / 子代理 / 会话树 ----\n\t\"No workflow in this session\": \"本会话没有 workflow\",\n\t\"Workflow action staged — review in the editor and submit\": \"workflow 动作已暂存——请在编辑器中审阅后提交\",\n\t\"No subagent sessions in this session\": \"本会话没有子代理会话\",\n\t\"No entries in session\": \"会话中没有条目\",\n\t\"Already at this point\": \"已在该节点\",\n\t\"Summarize branch?\": \"生成分支摘要?\",\n\t\"No summary\": \"不生成摘要\",\n\tSummarize: \"生成摘要\",\n\t\"Summarize with custom prompt\": \"使用自定义提示生成摘要\",\n\t\"Custom summarization instructions\": \"自定义摘要指令\",\n\t\"Branch summarization cancelled\": \"已取消分支摘要\",\n\t\"Navigation cancelled\": \"已取消导航\",\n\t\"Navigated to selected point\": \"已导航到所选节点\",\n\t\"Selected entry has no text to copy\": \"所选条目没有可复制的文本\",\n\t\"Copied selected message to clipboard\": \"已复制所选消息到剪贴板\",\n\n\t// ---- 恢复 / 导入 / 导出 ----\n\t\"Resumed session\": \"已恢复会话\",\n\t\"Resume cancelled\": \"已取消恢复\",\n\t\"Resumed session in current cwd\": \"已在当前工作目录恢复会话\",\n\t\"Failed to resume session\": \"恢复会话失败\",\n\t\"Usage: /import <path.jsonl>\": \"用法:/import <路径.jsonl>\",\n\t\"Import session\": \"导入会话\",\n\t\"Replace current session with {path}?\": \"用 {path} 替换当前会话?\",\n\t\"Import cancelled\": \"已取消导入\",\n\t\"Session imported from: {path}\": \"会话导入自:{path}\",\n\t\"Failed to import session: {error}\": \"导入会话失败:{error}\",\n\t\"Failed to import session\": \"导入会话失败\",\n\t\"Session exported to: {path}\": \"会话已导出到:{path}\",\n\t\"Failed to export session: {error}\": \"导出会话失败:{error}\",\n\n\t// ---- /copy / /name ----\n\t\"No agent messages to copy yet.\": \"还没有可复制的代理消息。\",\n\t\"Copied!\": \"已复制!\",\n\t\"Copied last agent message to clipboard\": \"已复制最近一条代理消息到剪贴板\",\n\t\"Session name: {name}\": \"会话名称:{name}\",\n\t\"Usage: /name <name>\": \"用法:/name <名称>\",\n\t\"Session name was normalized from {from} to {to}\": \"会话名称已从 {from} 规范化为 {to}\",\n\t\"Session name set: {name}\": \"会话名称已设置:{name}\",\n\n\t// ---- /stop-agents ----\n\t\"No background subagents running\": \"没有正在运行的后台子代理\",\n\t\"Terminated {count} background subagent\": \"已终止 {count} 个后台子代理\",\n\t\"Terminated {count} background subagents\": \"已终止 {count} 个后台子代理\",\n\n\t// ---- /session 统计 ----\n\t\"Session Info\": \"会话信息\",\n\t\"Name:\": \"名称:\",\n\t\"File:\": \"文件:\",\n\t\"ID:\": \"ID:\",\n\t\"In-memory\": \"内存中\",\n\tMessages: \"消息\",\n\t\"Total:\": \"总计:\",\n\t\"User:\": \"用户:\",\n\t\"Assistant:\": \"助手:\",\n\t\"Tools:\": \"工具:\",\n\t\"{calls} calls, {results} results\": \"{calls} 次调用,{results} 次结果\",\n\tTokens: \"Token\",\n\t\"Input:\": \"输入:\",\n\t\"Cached:\": \"已缓存:\",\n\t\"({count} written to cache)\": \"({count} 写入缓存)\",\n\t\"Uncached:\": \"未缓存:\",\n\t\"Output:\": \"输出:\",\n\t\"By Provider/Model\": \"按供应商/模型\",\n\t\"(cache {rate}%, W {written})\": \"(缓存 {rate}%,写 {written})\",\n\tCost: \"费用\",\n\t\"({tokens} tokens)\": \"({tokens} token)\",\n\t\"{count} miss\": \"{count} 次未命中\",\n\t\"{count} misses\": \"{count} 次未命中\",\n\t\"{tokens} tokens, {misses}\": \"{tokens} token,{misses}\",\n\t\"Cache Re-billed:\": \"缓存重新计费:\",\n\n\t// ---- /metrics ----\n\t\"Metrics are not available: the observability plugin is not mounted in this session\":\n\t\t\"指标不可用:本会话未挂载 observability 插件\",\n\t\"Invalid turns: {turns}. Usage: /metrics [turns]\": \"无效的轮数:{turns}。用法:/metrics [turns]\",\n\n\t// ---- /help ----\n\tCommand: \"命令\",\n\tDescription: \"说明\",\n\t\"Built-in commands\": \"内置命令\",\n\t\"Prompt templates\": \"提示词模板\",\n\t\"Type `/` for autocomplete. Use `/hotkeys` for keyboard shortcuts.\":\n\t\t\"输入 `/` 自动补全。使用 `/hotkeys` 查看快捷键。\",\n\t\"Available Commands\": \"可用命令\",\n\n\t// ---- /hotkeys ----\n\t\"Open model selector\": \"打开模型选择器\",\n\t\"Copy selection in /tree\": \"在 /tree 中复制选区\",\n\t\"External editor (inside dialog inputs)\": \"外部编辑器(对话框输入内)\",\n\t\"Queue follow-up message\": \"排队后续消息\",\n\t\"Restore queued messages\": \"恢复排队消息\",\n\t\"Cycle thinking level\": \"循环切换思考级别\",\n\t\"Cycle models\": \"循环切换模型\",\n\t\"Suspend to background\": \"挂起到后台\",\n\tNavigation: \"导航\",\n\tKey: \"按键\",\n\tAction: \"动作\",\n\t\"Move cursor / browse history\": \"移动光标 / 浏览历史\",\n\t\"Move by word\": \"按词移动\",\n\t\"Start of line\": \"行首\",\n\t\"End of line\": \"行尾\",\n\t\"Jump forward to character\": \"向后跳到字符\",\n\t\"Jump backward to character\": \"向前跳到字符\",\n\t\"Scroll by page\": \"按页滚动\",\n\tEditing: \"编辑\",\n\t\"Send message\": \"发送消息\",\n\t\"New line\": \"换行\",\n\t\"New line (Ctrl+Enter on Windows Terminal)\": \"换行(Windows Terminal 上为 Ctrl+Enter)\",\n\t\"Delete word backwards\": \"向前删除单词\",\n\t\"Delete word forwards\": \"向后删除单词\",\n\t\"Delete to start of line\": \"删除到行首\",\n\t\"Delete to end of line\": \"删除到行尾\",\n\t\"Paste the most-recently-deleted text\": \"粘贴最近删除的文本\",\n\t\"Cycle through the deleted text after pasting\": \"粘贴后循环切换已删除文本\",\n\tUndo: \"撤销\",\n\tOther: \"其他\",\n\t\"Path completion / accept autocomplete\": \"路径补全 / 接受自动补全\",\n\t\"Cancel autocomplete / abort streaming\": \"取消自动补全 / 中止流式输出\",\n\t\"Clear editor (first) / exit (second)\": \"清空编辑器(第一次)/ 退出(第二次)\",\n\t\"Exit (when editor is empty)\": \"退出(编辑器为空时)\",\n\t\"Toggle tool output expansion\": \"切换工具输出展开\",\n\t\"Toggle thinking block visibility\": \"切换思考块可见性\",\n\t\"Paste image or text from clipboard\": \"从剪贴板粘贴图片或文本\",\n\t\"Slash commands\": \"斜杠命令\",\n\t\"Run bash command\": \"运行 bash 命令\",\n\t\"Run bash command (excluded from context)\": \"运行 bash 命令(不进上下文)\",\n\t\"Keyboard Shortcuts\": \"键盘快捷键\",\n\n\t// ---- /new / /debug / bash ----\n\t\"✓ New session started\": \"✓ 新会话已开始\",\n\t\"Debug output at {date}\": \"调试输出时间:{date}\",\n\t\"Terminal: {columns}x{rows}\": \"终端:{columns}x{rows}\",\n\t\"Total lines: {count}\": \"总行数:{count}\",\n\t\"=== All rendered lines with visible widths ===\": \"=== 全部渲染行(含可见宽度)===\",\n\t\"=== Agent messages (JSONL) ===\": \"=== 代理消息(JSONL)===\",\n\t\"✓ Debug log written\": \"✓ 调试日志已写入\",\n\t\"Bash command failed: {error}\": \"bash 命令失败:{error}\",\n\n\t// ---- 通用错误前缀 / 兜底 ----\n\t\"Error: {message}\": \"错误:{message}\",\n\t\"Warning: {message}\": \"警告:{message}\",\n\tError: \"错误\",\n\t\"Unknown error\": \"未知错误\",\n\t\"Unknown error occurred\": \"发生未知错误\",\n\t\"Reload failed: {error}\": \"重载失败:{error}\",\n\t\"Wait for the current response to finish before reloading.\": \"请等待当前响应完成后再重载。\",\n\t\"Wait for compaction to finish before reloading.\": \"请等待压缩完成后再重载。\",\n\t\"Reloading keybindings, skills, prompts, themes, and context files...\":\n\t\t\"正在重载键位、技能、提示词模板、主题与上下文文件…\",\n\t\"Reloaded keybindings, skills, prompts, themes, and context files\": \"已重载键位、技能、提示词模板、主题与上下文文件\",\n};\n"]}
1
+ {"version":3,"file":"interactive-mode.d.ts","sourceRoot":"","sources":["../../../../../src/core/i18n/locales/zh-cn/interactive-mode.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAmSlD,CAAC","sourcesContent":["/**\n * interactive-mode 域词典(批次③):key 为\n * src/modes/interactive/interactive-mode.ts 中 `t()` 调用点的英文原文,\n * value 为 zh-CN 译文。占位符 `{name}` 原样保留(coverage-i18n 测试校验\n * key 与译文占位符集合一致)。命令名/路径/键名/品牌(/suite、models.json、\n * bash、tmux 指令、Agent Forge)不译;suite 保留原文;token 按语境译作\n * token(计量单位)。\n */\nexport const interactiveMode: Record<string, string> = {\n\t// ---- 默认状态指示器 ----\n\t\"Working...\": \"处理中…\",\n\t\"Thinking...\": \"思考中...\",\n\t\"({key} to interrupt)\": \"({key} 中断)\",\n\t\"({key} to cycle)\": \"({key} 切换)\",\n\t\"(thinking: {level})\": \"(思考:{level})\",\n\n\t// ---- 启动 banner / 模型范围 ----\n\t\"to interrupt\": \"中断\",\n\t\"to clear\": \"清空\",\n\t\"{key} twice\": \"{key} 两次\",\n\t\"to exit\": \"退出\",\n\t\"to exit (empty)\": \"退出(编辑器为空时)\",\n\t\"to suspend\": \"挂起\",\n\t\"to delete to end\": \"删除到行尾\",\n\t\"to expand tools\": \"展开工具输出\",\n\t\"to expand thinking\": \"展开思考\",\n\t\"for external editor\": \"打开外部编辑器\",\n\t\"for commands\": \"命令\",\n\t\"to run bash\": \"运行 bash\",\n\t\"to run bash (no context)\": \"运行 bash(不进上下文)\",\n\t\"to paste image (with text fallback)\": \"粘贴图片(无图则退回文本)\",\n\t\"to attach\": \"附加文件\",\n\tinterrupt: \"中断\",\n\t\"clear/exit\": \"清空/退出\",\n\tcommands: \"命令\",\n\tbash: \"bash\",\n\tmore: \"更多\",\n\t\"Press {key} to show full startup help and loaded resources.\": \"按 {key} 展示完整启动帮助与已加载资源。\",\n\t\"Agent Forge can explain its own features and look up its docs. Ask it how to use or extend Agent Forge.\":\n\t\t\"Agent Forge 能解释自身功能并查阅自己的文档。可以直接问它如何使用或扩展 Agent Forge。\",\n\t\"Model scope: {models}{hint}\": \"模型范围:{models}{hint}\",\n\n\t// ---- 更新与 changelog ----\n\t\"Updated to v{version}. Use {command} to view full changelog.\":\n\t\t\"已更新到 v{version}。使用 {command} 查看完整变更日志。\",\n\t\"What's New\": \"新特性\",\n\t\"No changelog entries found.\": \"未找到变更日志条目。\",\n\t\"New version {version} is available. Run\": \"新版本 {version} 可用。请运行\",\n\t\"Changelog:\": \"变更日志:\",\n\t\"Changelog URL is not configured.\": \"未配置变更日志 URL。\",\n\t\"Update Available\": \"有可用更新\",\n\t\"Package updates are available. Run\": \"有可用的包更新。请运行\",\n\t\"Package Updates Available\": \"有可用的包更新\",\n\t\"Packages:\": \"包:\",\n\n\t// ---- 启动警告 ----\n\t\"Migrated credentials to auth.json: {providers}\": \"已迁移凭据到 auth.json:{providers}\",\n\t\"models.json error: {error}\": \"models.json 错误:{error}\",\n\t\"tmux extended-keys is off. Modified Enter keys may not work. Add `set -g extended-keys on` to ~/.tmux.conf and restart tmux.\":\n\t\t\"tmux extended-keys 已关闭,修饰 Enter 键可能失效。请在 ~/.tmux.conf 中加入 `set -g extended-keys on` 并重启 tmux。\",\n\t\"tmux extended-keys-format is xterm. Agent Forge works best with csi-u. Add `set -g extended-keys-format csi-u` to ~/.tmux.conf and restart tmux.\":\n\t\t\"tmux extended-keys-format 为 xterm,Agent Forge 在 csi-u 下工作最佳。请在 ~/.tmux.conf 中加入 `set -g extended-keys-format csi-u` 并重启 tmux。\",\n\t\"Anthropic subscription auth is active. Third-party harness usage draws from extra usage and is billed per token, not your Claude plan limits. Manage extra usage at https://claude.ai/settings/usage. Disable this warning in /settings.\":\n\t\t\"Anthropic 订阅认证处于活跃状态。第三方 harness 用量计入 extra usage 并按 token 计费,不占用 Claude 计划额度。可在 https://claude.ai/settings/usage 管理 extra usage。在 /settings 中可关闭此警告。\",\n\n\t// ---- 已加载资源区块 ----\n\tContext: \"上下文\",\n\tSkills: \"技能\",\n\tPrompts: \"提示词\",\n\tThemes: \"主题\",\n\t\"[Skill conflicts]\": \"[技能冲突]\",\n\t\"[Prompt conflicts]\": \"[提示词模板冲突]\",\n\t\"[Theme conflicts]\": \"[主题冲突]\",\n\n\t// ---- 输入 / 消息队列 ----\n\t\"Startup in progress — input queued and will run when startup completes\": \"启动进行中——输入已排队,启动完成后执行\",\n\t\"A bash command is already running. Press Esc to cancel it first.\": \"已有 bash 命令在运行。请先按 Esc 取消。\",\n\t\"No queued messages to restore\": \"没有可恢复的排队消息\",\n\t\"No queued messages to manage\": \"没有可管理的排队消息\",\n\t\"Restored {count} queued message to editor\": \"已恢复 {count} 条排队消息到编辑器\",\n\t\"Restored {count} queued messages to editor\": \"已恢复 {count} 条排队消息到编辑器\",\n\t\"Usage: /queue <text>\": \"用法:/queue <文本>\",\n\t\"Queued message for after compaction\": \"消息已排队,压缩后发送\",\n\t\"Failed to send queued message: {error}\": \"发送排队消息失败:{error}\",\n\t\"Failed to send queued messages: {error}\": \"发送排队消息失败:{error}\",\n\t\"Steering: {message}\": \"转向:{message}\",\n\t\"Follow-up: {message}\": \"后续:{message}\",\n\t\"↳ {key} to edit all queued messages\": \"↳ {key} 编辑全部排队消息\",\n\n\t// ---- 事件 / 中止 / 压缩 / 重试 ----\n\t\"Aborted after {count} retry attempt\": \"已中止,此前重试 {count} 次\",\n\t\"Aborted after {count} retry attempts\": \"已中止,此前重试 {count} 次\",\n\t\"Operation aborted\": \"操作已中止\",\n\t\"Compaction cancelled\": \"已取消压缩\",\n\t\"Auto-compaction cancelled\": \"已取消自动压缩\",\n\t\"Auto-compaction skipped: nothing to compact\": \"自动压缩已跳过:没有可压缩内容\",\n\t\"Retry failed after {count} attempts: {error}\": \"重试 {count} 次后失败:{error}\",\n\t\"Previous reply was empty, retrying...\": \"上一条回复为空,正在重试…\",\n\n\t// ---- 计费 / 缓存通知 ----\n\tCompaction: \"压缩\",\n\t\"Branch summary\": \"分支摘要\",\n\t\"{tokens} tokens billed{cost}\": \"计费 {tokens} token{cost}\",\n\t\"Anthropic dropped {count} thinking blocks (details in session)\": \"Anthropic 丢弃了 {count} 个思考块(详情见会话)\",\n\t\"{tokens} tokens re-billed{cost}\": \"重新计费 {tokens} token{cost}\",\n\t\"Cache miss\": \"缓存未命中\",\n\t\"Cache miss after model switch\": \"切换模型后缓存未命中\",\n\t\"Cache miss after {minutes}m idle\": \"闲置 {minutes} 分钟后缓存未命中\",\n\t\"Session compacted {count} time\": \"会话已压缩 {count} 次\",\n\t\"Session compacted {count} times\": \"会话已压缩 {count} 次\",\n\n\t// ---- 退出 / 挂起 ----\n\t\"To resume this session:\": \"恢复本会话:\",\n\t\"{app} exiting due to uncaughtException:\": \"{app} 因未捕获异常退出:\",\n\t\"Suspend to background is not supported on Windows\": \"Windows 不支持挂起到后台\",\n\n\t// ---- 模型 / 思考 / 工具输出切换 ----\n\t\"Current model does not support thinking\": \"当前模型不支持思考\",\n\t\"Thinking level: {level}\": \"思考级别:{level}\",\n\t\"Only one model in scope\": \"范围内只有一个模型\",\n\t\"Only one model available\": \"只有一个可用模型\",\n\t\"Switched to {model}{thinking}\": \"已切换到 {model}{thinking}\",\n\t\"Tool output: expanded\": \"工具输出:已展开\",\n\t\"Tool output: collapsed\": \"工具输出:已折叠\",\n\t\"Thinking blocks: hidden\": \"思考块:已隐藏\",\n\t\"Thinking blocks: visible\": \"思考块:已显示\",\n\n\t// ---- 设置选择器 ----\n\t\"not set\": \"未设置\",\n\t\"HTTP idle timeout: {value}\": \"HTTP 空闲超时:{value}\",\n\t\"Close active overlays before changing TUI mode\": \"切换 TUI 模式前请先关闭活动浮层\",\n\t\"TUI mode: {mode}\": \"TUI 模式:{mode}\",\n\n\t// ---- suite / 会话重建 ----\n\t'Suite \"{id}\" was not found. The selected suite applies to the new session.':\n\t\t'未找到 suite \"{id}\"。所选 suite 将应用于新会话。',\n\t'Suite \"{id}\" was not found — continuing without a suite. Use /suite to choose one.':\n\t\t'未找到 suite \"{id}\"——将在无 suite 下继续。可使用 /suite 选择。',\n\t\"Suite set to {id} — new session started\": \"suite 已设为 {id}——新会话已开始\",\n\t\"Failed to create session\": \"创建会话失败\",\n\t'Cross-suite compatible mode: session created with \"{from}\", assembling with \"{to}\"':\n\t\t'跨 suite 兼容模式:会话创建于 \"{from}\",正以 \"{to}\" 组装',\n\n\t// ---- workflow / 子代理 / 会话树 ----\n\t\"No workflow in this session\": \"本会话没有 workflow\",\n\t\"Workflow action staged — review in the editor and submit\": \"workflow 动作已暂存——请在编辑器中审阅后提交\",\n\t\"No subagent sessions in this session\": \"本会话没有子代理会话\",\n\t\"No entries in session\": \"会话中没有条目\",\n\t\"Already at this point\": \"已在该节点\",\n\t\"Summarize branch?\": \"生成分支摘要?\",\n\t\"No summary\": \"不生成摘要\",\n\tSummarize: \"生成摘要\",\n\t\"Summarize with custom prompt\": \"使用自定义提示生成摘要\",\n\t\"Custom summarization instructions\": \"自定义摘要指令\",\n\t\"Branch summarization cancelled\": \"已取消分支摘要\",\n\t\"Navigation cancelled\": \"已取消导航\",\n\t\"Navigated to selected point\": \"已导航到所选节点\",\n\t\"Selected entry has no text to copy\": \"所选条目没有可复制的文本\",\n\t\"Copied selected message to clipboard\": \"已复制所选消息到剪贴板\",\n\n\t// ---- 恢复 / 导入 / 导出 ----\n\t\"Resumed session\": \"已恢复会话\",\n\t\"Resume cancelled\": \"已取消恢复\",\n\t\"Resumed session in current cwd\": \"已在当前工作目录恢复会话\",\n\t\"Failed to resume session\": \"恢复会话失败\",\n\t\"Usage: /import <path.jsonl>\": \"用法:/import <路径.jsonl>\",\n\t\"Import session\": \"导入会话\",\n\t\"Replace current session with {path}?\": \"用 {path} 替换当前会话?\",\n\t\"Import cancelled\": \"已取消导入\",\n\t\"Session imported from: {path}\": \"会话导入自:{path}\",\n\t\"Failed to import session: {error}\": \"导入会话失败:{error}\",\n\t\"Failed to import session\": \"导入会话失败\",\n\t\"Session exported to: {path}\": \"会话已导出到:{path}\",\n\t\"Failed to export session: {error}\": \"导出会话失败:{error}\",\n\n\t// ---- /copy / /name ----\n\t\"No agent messages to copy yet.\": \"还没有可复制的代理消息。\",\n\t\"Copied!\": \"已复制!\",\n\t\"Copied last agent message to clipboard\": \"已复制最近一条代理消息到剪贴板\",\n\t\"Session name: {name}\": \"会话名称:{name}\",\n\t\"Usage: /name <name>\": \"用法:/name <名称>\",\n\t\"Session name was normalized from {from} to {to}\": \"会话名称已从 {from} 规范化为 {to}\",\n\t\"Session name set: {name}\": \"会话名称已设置:{name}\",\n\n\t// ---- /stop-agents ----\n\t\"No background subagents running\": \"没有正在运行的后台子代理\",\n\t\"Terminated {count} background subagent\": \"已终止 {count} 个后台子代理\",\n\t\"Terminated {count} background subagents\": \"已终止 {count} 个后台子代理\",\n\t\"{count} subagent still running · /stop-agents stops all (Esc only stops the current turn)\":\n\t\t\"{count} 个子代理仍在运行 · /stop-agents 终止全部(Esc 只停当前回合)\",\n\t\"{count} subagents still running · /stop-agents stops all (Esc only stops the current turn)\":\n\t\t\"{count} 个子代理仍在运行 · /stop-agents 终止全部(Esc 只停当前回合)\",\n\n\t// ---- /session 统计 ----\n\t\"Session Info\": \"会话信息\",\n\t\"Name:\": \"名称:\",\n\t\"File:\": \"文件:\",\n\t\"ID:\": \"ID:\",\n\t\"In-memory\": \"内存中\",\n\tMessages: \"消息\",\n\t\"Total:\": \"总计:\",\n\t\"User:\": \"用户:\",\n\t\"Assistant:\": \"助手:\",\n\t\"Tools:\": \"工具:\",\n\t\"{calls} calls, {results} results\": \"{calls} 次调用,{results} 次结果\",\n\tTokens: \"Token\",\n\t\"Input:\": \"输入:\",\n\t\"Cached:\": \"已缓存:\",\n\t\"({count} written to cache)\": \"({count} 写入缓存)\",\n\t\"Uncached:\": \"未缓存:\",\n\t\"Output:\": \"输出:\",\n\t\"By Provider/Model\": \"按供应商/模型\",\n\t\"(cache {rate}%, W {written})\": \"(缓存 {rate}%,写 {written})\",\n\tCost: \"费用\",\n\t\"({tokens} tokens)\": \"({tokens} token)\",\n\t\"{count} miss\": \"{count} 次未命中\",\n\t\"{count} misses\": \"{count} 次未命中\",\n\t\"{tokens} tokens, {misses}\": \"{tokens} token,{misses}\",\n\t\"Cache Re-billed:\": \"缓存重新计费:\",\n\n\t// ---- /metrics ----\n\t\"Metrics are not available: the observability plugin is not mounted in this session\":\n\t\t\"指标不可用:本会话未挂载 observability 插件\",\n\t\"Invalid turns: {turns}. Usage: /metrics [turns]\": \"无效的轮数:{turns}。用法:/metrics [turns]\",\n\n\t// ---- /help ----\n\tCommand: \"命令\",\n\tDescription: \"说明\",\n\t\"Built-in commands\": \"内置命令\",\n\t\"Prompt templates\": \"提示词模板\",\n\t\"Type `/` for autocomplete. Use `/hotkeys` for keyboard shortcuts.\":\n\t\t\"输入 `/` 自动补全。使用 `/hotkeys` 查看快捷键。\",\n\t\"Available Commands\": \"可用命令\",\n\n\t// ---- /hotkeys ----\n\t\"Open model selector\": \"打开模型选择器\",\n\t\"Copy selection in /tree\": \"在 /tree 中复制选区\",\n\t\"External editor (inside dialog inputs)\": \"外部编辑器(对话框输入内)\",\n\t\"Queue follow-up message\": \"排队后续消息\",\n\t\"Restore queued messages\": \"恢复排队消息\",\n\t\"Cycle thinking level\": \"循环切换思考级别\",\n\t\"Cycle models\": \"循环切换模型\",\n\t\"Suspend to background\": \"挂起到后台\",\n\tNavigation: \"导航\",\n\tKey: \"按键\",\n\tAction: \"动作\",\n\t\"Move cursor / browse history\": \"移动光标 / 浏览历史\",\n\t\"Move by word\": \"按词移动\",\n\t\"Start of line\": \"行首\",\n\t\"End of line\": \"行尾\",\n\t\"Jump forward to character\": \"向后跳到字符\",\n\t\"Jump backward to character\": \"向前跳到字符\",\n\t\"Scroll by page\": \"按页滚动\",\n\tEditing: \"编辑\",\n\t\"Send message\": \"发送消息\",\n\t\"New line\": \"换行\",\n\t\"New line (Ctrl+Enter on Windows Terminal)\": \"换行(Windows Terminal 上为 Ctrl+Enter)\",\n\t\"Delete word backwards\": \"向前删除单词\",\n\t\"Delete word forwards\": \"向后删除单词\",\n\t\"Delete to start of line\": \"删除到行首\",\n\t\"Delete to end of line\": \"删除到行尾\",\n\t\"Paste the most-recently-deleted text\": \"粘贴最近删除的文本\",\n\t\"Cycle through the deleted text after pasting\": \"粘贴后循环切换已删除文本\",\n\tUndo: \"撤销\",\n\tOther: \"其他\",\n\t\"Path completion / accept autocomplete\": \"路径补全 / 接受自动补全\",\n\t\"Cancel autocomplete / abort streaming\": \"取消自动补全 / 中止流式输出\",\n\t\"Clear editor (first) / exit (second)\": \"清空编辑器(第一次)/ 退出(第二次)\",\n\t\"Exit (when editor is empty)\": \"退出(编辑器为空时)\",\n\t\"Toggle tool output expansion\": \"切换工具输出展开\",\n\t\"Toggle thinking block visibility\": \"切换思考块可见性\",\n\t\"Paste image or text from clipboard\": \"从剪贴板粘贴图片或文本\",\n\t\"Slash commands\": \"斜杠命令\",\n\t\"Run bash command\": \"运行 bash 命令\",\n\t\"Run bash command (excluded from context)\": \"运行 bash 命令(不进上下文)\",\n\t\"Keyboard Shortcuts\": \"键盘快捷键\",\n\n\t// ---- /new / /debug / bash ----\n\t\"✓ New session started\": \"✓ 新会话已开始\",\n\t\"Debug output at {date}\": \"调试输出时间:{date}\",\n\t\"Terminal: {columns}x{rows}\": \"终端:{columns}x{rows}\",\n\t\"Total lines: {count}\": \"总行数:{count}\",\n\t\"=== All rendered lines with visible widths ===\": \"=== 全部渲染行(含可见宽度)===\",\n\t\"=== Agent messages (JSONL) ===\": \"=== 代理消息(JSONL)===\",\n\t\"✓ Debug log written\": \"✓ 调试日志已写入\",\n\t\"Bash command failed: {error}\": \"bash 命令失败:{error}\",\n\n\t// ---- 通用错误前缀 / 兜底 ----\n\t\"Error: {message}\": \"错误:{message}\",\n\t\"Warning: {message}\": \"警告:{message}\",\n\tError: \"错误\",\n\t\"Unknown error\": \"未知错误\",\n\t\"Unknown error occurred\": \"发生未知错误\",\n\t\"Reload failed: {error}\": \"重载失败:{error}\",\n\t\"Wait for the current response to finish before reloading.\": \"请等待当前响应完成后再重载。\",\n\t\"Wait for compaction to finish before reloading.\": \"请等待压缩完成后再重载。\",\n\t\"Reloading keybindings, skills, prompts, themes, and context files...\":\n\t\t\"正在重载键位、技能、提示词模板、主题与上下文文件…\",\n\t\"Reloaded keybindings, skills, prompts, themes, and context files\": \"已重载键位、技能、提示词模板、主题与上下文文件\",\n};\n"]}
@@ -163,6 +163,8 @@ export const interactiveMode = {
163
163
  "No background subagents running": "没有正在运行的后台子代理",
164
164
  "Terminated {count} background subagent": "已终止 {count} 个后台子代理",
165
165
  "Terminated {count} background subagents": "已终止 {count} 个后台子代理",
166
+ "{count} subagent still running · /stop-agents stops all (Esc only stops the current turn)": "{count} 个子代理仍在运行 · /stop-agents 终止全部(Esc 只停当前回合)",
167
+ "{count} subagents still running · /stop-agents stops all (Esc only stops the current turn)": "{count} 个子代理仍在运行 · /stop-agents 终止全部(Esc 只停当前回合)",
166
168
  // ---- /session 统计 ----
167
169
  "Session Info": "会话信息",
168
170
  "Name:": "名称:",
@@ -1 +1 @@
1
- {"version":3,"file":"interactive-mode.js","sourceRoot":"","sources":["../../../../../src/core/i18n/locales/zh-cn/interactive-mode.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * interactive-mode 域词典(批次③):key 为\n * src/modes/interactive/interactive-mode.ts 中 `t()` 调用点的英文原文,\n * value 为 zh-CN 译文。占位符 `{name}` 原样保留(coverage-i18n 测试校验\n * key 与译文占位符集合一致)。命令名/路径/键名/品牌(/suite、models.json、\n * bash、tmux 指令、Agent Forge)不译;suite 保留原文;token 按语境译作\n * token(计量单位)。\n */\nexport const interactiveMode: Record<string, string> = {\n\t// ---- 默认状态指示器 ----\n\t\"Working...\": \"处理中…\",\n\t\"Thinking...\": \"思考中...\",\n\t\"({key} to interrupt)\": \"({key} 中断)\",\n\t\"({key} to cycle)\": \"({key} 切换)\",\n\t\"(thinking: {level})\": \"(思考:{level})\",\n\n\t// ---- 启动 banner / 模型范围 ----\n\t\"to interrupt\": \"中断\",\n\t\"to clear\": \"清空\",\n\t\"{key} twice\": \"{key} 两次\",\n\t\"to exit\": \"退出\",\n\t\"to exit (empty)\": \"退出(编辑器为空时)\",\n\t\"to suspend\": \"挂起\",\n\t\"to delete to end\": \"删除到行尾\",\n\t\"to expand tools\": \"展开工具输出\",\n\t\"to expand thinking\": \"展开思考\",\n\t\"for external editor\": \"打开外部编辑器\",\n\t\"for commands\": \"命令\",\n\t\"to run bash\": \"运行 bash\",\n\t\"to run bash (no context)\": \"运行 bash(不进上下文)\",\n\t\"to paste image (with text fallback)\": \"粘贴图片(无图则退回文本)\",\n\t\"to attach\": \"附加文件\",\n\tinterrupt: \"中断\",\n\t\"clear/exit\": \"清空/退出\",\n\tcommands: \"命令\",\n\tbash: \"bash\",\n\tmore: \"更多\",\n\t\"Press {key} to show full startup help and loaded resources.\": \"按 {key} 展示完整启动帮助与已加载资源。\",\n\t\"Agent Forge can explain its own features and look up its docs. Ask it how to use or extend Agent Forge.\":\n\t\t\"Agent Forge 能解释自身功能并查阅自己的文档。可以直接问它如何使用或扩展 Agent Forge。\",\n\t\"Model scope: {models}{hint}\": \"模型范围:{models}{hint}\",\n\n\t// ---- 更新与 changelog ----\n\t\"Updated to v{version}. Use {command} to view full changelog.\":\n\t\t\"已更新到 v{version}。使用 {command} 查看完整变更日志。\",\n\t\"What's New\": \"新特性\",\n\t\"No changelog entries found.\": \"未找到变更日志条目。\",\n\t\"New version {version} is available. Run\": \"新版本 {version} 可用。请运行\",\n\t\"Changelog:\": \"变更日志:\",\n\t\"Changelog URL is not configured.\": \"未配置变更日志 URL。\",\n\t\"Update Available\": \"有可用更新\",\n\t\"Package updates are available. Run\": \"有可用的包更新。请运行\",\n\t\"Package Updates Available\": \"有可用的包更新\",\n\t\"Packages:\": \"包:\",\n\n\t// ---- 启动警告 ----\n\t\"Migrated credentials to auth.json: {providers}\": \"已迁移凭据到 auth.json:{providers}\",\n\t\"models.json error: {error}\": \"models.json 错误:{error}\",\n\t\"tmux extended-keys is off. Modified Enter keys may not work. Add `set -g extended-keys on` to ~/.tmux.conf and restart tmux.\":\n\t\t\"tmux extended-keys 已关闭,修饰 Enter 键可能失效。请在 ~/.tmux.conf 中加入 `set -g extended-keys on` 并重启 tmux。\",\n\t\"tmux extended-keys-format is xterm. Agent Forge works best with csi-u. Add `set -g extended-keys-format csi-u` to ~/.tmux.conf and restart tmux.\":\n\t\t\"tmux extended-keys-format 为 xterm,Agent Forge 在 csi-u 下工作最佳。请在 ~/.tmux.conf 中加入 `set -g extended-keys-format csi-u` 并重启 tmux。\",\n\t\"Anthropic subscription auth is active. Third-party harness usage draws from extra usage and is billed per token, not your Claude plan limits. Manage extra usage at https://claude.ai/settings/usage. Disable this warning in /settings.\":\n\t\t\"Anthropic 订阅认证处于活跃状态。第三方 harness 用量计入 extra usage 并按 token 计费,不占用 Claude 计划额度。可在 https://claude.ai/settings/usage 管理 extra usage。在 /settings 中可关闭此警告。\",\n\n\t// ---- 已加载资源区块 ----\n\tContext: \"上下文\",\n\tSkills: \"技能\",\n\tPrompts: \"提示词\",\n\tThemes: \"主题\",\n\t\"[Skill conflicts]\": \"[技能冲突]\",\n\t\"[Prompt conflicts]\": \"[提示词模板冲突]\",\n\t\"[Theme conflicts]\": \"[主题冲突]\",\n\n\t// ---- 输入 / 消息队列 ----\n\t\"Startup in progress — input queued and will run when startup completes\": \"启动进行中——输入已排队,启动完成后执行\",\n\t\"A bash command is already running. Press Esc to cancel it first.\": \"已有 bash 命令在运行。请先按 Esc 取消。\",\n\t\"No queued messages to restore\": \"没有可恢复的排队消息\",\n\t\"No queued messages to manage\": \"没有可管理的排队消息\",\n\t\"Restored {count} queued message to editor\": \"已恢复 {count} 条排队消息到编辑器\",\n\t\"Restored {count} queued messages to editor\": \"已恢复 {count} 条排队消息到编辑器\",\n\t\"Usage: /queue <text>\": \"用法:/queue <文本>\",\n\t\"Queued message for after compaction\": \"消息已排队,压缩后发送\",\n\t\"Failed to send queued message: {error}\": \"发送排队消息失败:{error}\",\n\t\"Failed to send queued messages: {error}\": \"发送排队消息失败:{error}\",\n\t\"Steering: {message}\": \"转向:{message}\",\n\t\"Follow-up: {message}\": \"后续:{message}\",\n\t\"↳ {key} to edit all queued messages\": \"↳ {key} 编辑全部排队消息\",\n\n\t// ---- 事件 / 中止 / 压缩 / 重试 ----\n\t\"Aborted after {count} retry attempt\": \"已中止,此前重试 {count} 次\",\n\t\"Aborted after {count} retry attempts\": \"已中止,此前重试 {count} 次\",\n\t\"Operation aborted\": \"操作已中止\",\n\t\"Compaction cancelled\": \"已取消压缩\",\n\t\"Auto-compaction cancelled\": \"已取消自动压缩\",\n\t\"Auto-compaction skipped: nothing to compact\": \"自动压缩已跳过:没有可压缩内容\",\n\t\"Retry failed after {count} attempts: {error}\": \"重试 {count} 次后失败:{error}\",\n\t\"Previous reply was empty, retrying...\": \"上一条回复为空,正在重试…\",\n\n\t// ---- 计费 / 缓存通知 ----\n\tCompaction: \"压缩\",\n\t\"Branch summary\": \"分支摘要\",\n\t\"{tokens} tokens billed{cost}\": \"计费 {tokens} token{cost}\",\n\t\"Anthropic dropped {count} thinking blocks (details in session)\": \"Anthropic 丢弃了 {count} 个思考块(详情见会话)\",\n\t\"{tokens} tokens re-billed{cost}\": \"重新计费 {tokens} token{cost}\",\n\t\"Cache miss\": \"缓存未命中\",\n\t\"Cache miss after model switch\": \"切换模型后缓存未命中\",\n\t\"Cache miss after {minutes}m idle\": \"闲置 {minutes} 分钟后缓存未命中\",\n\t\"Session compacted {count} time\": \"会话已压缩 {count} 次\",\n\t\"Session compacted {count} times\": \"会话已压缩 {count} 次\",\n\n\t// ---- 退出 / 挂起 ----\n\t\"To resume this session:\": \"恢复本会话:\",\n\t\"{app} exiting due to uncaughtException:\": \"{app} 因未捕获异常退出:\",\n\t\"Suspend to background is not supported on Windows\": \"Windows 不支持挂起到后台\",\n\n\t// ---- 模型 / 思考 / 工具输出切换 ----\n\t\"Current model does not support thinking\": \"当前模型不支持思考\",\n\t\"Thinking level: {level}\": \"思考级别:{level}\",\n\t\"Only one model in scope\": \"范围内只有一个模型\",\n\t\"Only one model available\": \"只有一个可用模型\",\n\t\"Switched to {model}{thinking}\": \"已切换到 {model}{thinking}\",\n\t\"Tool output: expanded\": \"工具输出:已展开\",\n\t\"Tool output: collapsed\": \"工具输出:已折叠\",\n\t\"Thinking blocks: hidden\": \"思考块:已隐藏\",\n\t\"Thinking blocks: visible\": \"思考块:已显示\",\n\n\t// ---- 设置选择器 ----\n\t\"not set\": \"未设置\",\n\t\"HTTP idle timeout: {value}\": \"HTTP 空闲超时:{value}\",\n\t\"Close active overlays before changing TUI mode\": \"切换 TUI 模式前请先关闭活动浮层\",\n\t\"TUI mode: {mode}\": \"TUI 模式:{mode}\",\n\n\t// ---- suite / 会话重建 ----\n\t'Suite \"{id}\" was not found. The selected suite applies to the new session.':\n\t\t'未找到 suite \"{id}\"。所选 suite 将应用于新会话。',\n\t'Suite \"{id}\" was not found — continuing without a suite. Use /suite to choose one.':\n\t\t'未找到 suite \"{id}\"——将在无 suite 下继续。可使用 /suite 选择。',\n\t\"Suite set to {id} — new session started\": \"suite 已设为 {id}——新会话已开始\",\n\t\"Failed to create session\": \"创建会话失败\",\n\t'Cross-suite compatible mode: session created with \"{from}\", assembling with \"{to}\"':\n\t\t'跨 suite 兼容模式:会话创建于 \"{from}\",正以 \"{to}\" 组装',\n\n\t// ---- workflow / 子代理 / 会话树 ----\n\t\"No workflow in this session\": \"本会话没有 workflow\",\n\t\"Workflow action staged — review in the editor and submit\": \"workflow 动作已暂存——请在编辑器中审阅后提交\",\n\t\"No subagent sessions in this session\": \"本会话没有子代理会话\",\n\t\"No entries in session\": \"会话中没有条目\",\n\t\"Already at this point\": \"已在该节点\",\n\t\"Summarize branch?\": \"生成分支摘要?\",\n\t\"No summary\": \"不生成摘要\",\n\tSummarize: \"生成摘要\",\n\t\"Summarize with custom prompt\": \"使用自定义提示生成摘要\",\n\t\"Custom summarization instructions\": \"自定义摘要指令\",\n\t\"Branch summarization cancelled\": \"已取消分支摘要\",\n\t\"Navigation cancelled\": \"已取消导航\",\n\t\"Navigated to selected point\": \"已导航到所选节点\",\n\t\"Selected entry has no text to copy\": \"所选条目没有可复制的文本\",\n\t\"Copied selected message to clipboard\": \"已复制所选消息到剪贴板\",\n\n\t// ---- 恢复 / 导入 / 导出 ----\n\t\"Resumed session\": \"已恢复会话\",\n\t\"Resume cancelled\": \"已取消恢复\",\n\t\"Resumed session in current cwd\": \"已在当前工作目录恢复会话\",\n\t\"Failed to resume session\": \"恢复会话失败\",\n\t\"Usage: /import <path.jsonl>\": \"用法:/import <路径.jsonl>\",\n\t\"Import session\": \"导入会话\",\n\t\"Replace current session with {path}?\": \"用 {path} 替换当前会话?\",\n\t\"Import cancelled\": \"已取消导入\",\n\t\"Session imported from: {path}\": \"会话导入自:{path}\",\n\t\"Failed to import session: {error}\": \"导入会话失败:{error}\",\n\t\"Failed to import session\": \"导入会话失败\",\n\t\"Session exported to: {path}\": \"会话已导出到:{path}\",\n\t\"Failed to export session: {error}\": \"导出会话失败:{error}\",\n\n\t// ---- /copy / /name ----\n\t\"No agent messages to copy yet.\": \"还没有可复制的代理消息。\",\n\t\"Copied!\": \"已复制!\",\n\t\"Copied last agent message to clipboard\": \"已复制最近一条代理消息到剪贴板\",\n\t\"Session name: {name}\": \"会话名称:{name}\",\n\t\"Usage: /name <name>\": \"用法:/name <名称>\",\n\t\"Session name was normalized from {from} to {to}\": \"会话名称已从 {from} 规范化为 {to}\",\n\t\"Session name set: {name}\": \"会话名称已设置:{name}\",\n\n\t// ---- /stop-agents ----\n\t\"No background subagents running\": \"没有正在运行的后台子代理\",\n\t\"Terminated {count} background subagent\": \"已终止 {count} 个后台子代理\",\n\t\"Terminated {count} background subagents\": \"已终止 {count} 个后台子代理\",\n\n\t// ---- /session 统计 ----\n\t\"Session Info\": \"会话信息\",\n\t\"Name:\": \"名称:\",\n\t\"File:\": \"文件:\",\n\t\"ID:\": \"ID:\",\n\t\"In-memory\": \"内存中\",\n\tMessages: \"消息\",\n\t\"Total:\": \"总计:\",\n\t\"User:\": \"用户:\",\n\t\"Assistant:\": \"助手:\",\n\t\"Tools:\": \"工具:\",\n\t\"{calls} calls, {results} results\": \"{calls} 次调用,{results} 次结果\",\n\tTokens: \"Token\",\n\t\"Input:\": \"输入:\",\n\t\"Cached:\": \"已缓存:\",\n\t\"({count} written to cache)\": \"({count} 写入缓存)\",\n\t\"Uncached:\": \"未缓存:\",\n\t\"Output:\": \"输出:\",\n\t\"By Provider/Model\": \"按供应商/模型\",\n\t\"(cache {rate}%, W {written})\": \"(缓存 {rate}%,写 {written})\",\n\tCost: \"费用\",\n\t\"({tokens} tokens)\": \"({tokens} token)\",\n\t\"{count} miss\": \"{count} 次未命中\",\n\t\"{count} misses\": \"{count} 次未命中\",\n\t\"{tokens} tokens, {misses}\": \"{tokens} token,{misses}\",\n\t\"Cache Re-billed:\": \"缓存重新计费:\",\n\n\t// ---- /metrics ----\n\t\"Metrics are not available: the observability plugin is not mounted in this session\":\n\t\t\"指标不可用:本会话未挂载 observability 插件\",\n\t\"Invalid turns: {turns}. Usage: /metrics [turns]\": \"无效的轮数:{turns}。用法:/metrics [turns]\",\n\n\t// ---- /help ----\n\tCommand: \"命令\",\n\tDescription: \"说明\",\n\t\"Built-in commands\": \"内置命令\",\n\t\"Prompt templates\": \"提示词模板\",\n\t\"Type `/` for autocomplete. Use `/hotkeys` for keyboard shortcuts.\":\n\t\t\"输入 `/` 自动补全。使用 `/hotkeys` 查看快捷键。\",\n\t\"Available Commands\": \"可用命令\",\n\n\t// ---- /hotkeys ----\n\t\"Open model selector\": \"打开模型选择器\",\n\t\"Copy selection in /tree\": \"在 /tree 中复制选区\",\n\t\"External editor (inside dialog inputs)\": \"外部编辑器(对话框输入内)\",\n\t\"Queue follow-up message\": \"排队后续消息\",\n\t\"Restore queued messages\": \"恢复排队消息\",\n\t\"Cycle thinking level\": \"循环切换思考级别\",\n\t\"Cycle models\": \"循环切换模型\",\n\t\"Suspend to background\": \"挂起到后台\",\n\tNavigation: \"导航\",\n\tKey: \"按键\",\n\tAction: \"动作\",\n\t\"Move cursor / browse history\": \"移动光标 / 浏览历史\",\n\t\"Move by word\": \"按词移动\",\n\t\"Start of line\": \"行首\",\n\t\"End of line\": \"行尾\",\n\t\"Jump forward to character\": \"向后跳到字符\",\n\t\"Jump backward to character\": \"向前跳到字符\",\n\t\"Scroll by page\": \"按页滚动\",\n\tEditing: \"编辑\",\n\t\"Send message\": \"发送消息\",\n\t\"New line\": \"换行\",\n\t\"New line (Ctrl+Enter on Windows Terminal)\": \"换行(Windows Terminal 上为 Ctrl+Enter)\",\n\t\"Delete word backwards\": \"向前删除单词\",\n\t\"Delete word forwards\": \"向后删除单词\",\n\t\"Delete to start of line\": \"删除到行首\",\n\t\"Delete to end of line\": \"删除到行尾\",\n\t\"Paste the most-recently-deleted text\": \"粘贴最近删除的文本\",\n\t\"Cycle through the deleted text after pasting\": \"粘贴后循环切换已删除文本\",\n\tUndo: \"撤销\",\n\tOther: \"其他\",\n\t\"Path completion / accept autocomplete\": \"路径补全 / 接受自动补全\",\n\t\"Cancel autocomplete / abort streaming\": \"取消自动补全 / 中止流式输出\",\n\t\"Clear editor (first) / exit (second)\": \"清空编辑器(第一次)/ 退出(第二次)\",\n\t\"Exit (when editor is empty)\": \"退出(编辑器为空时)\",\n\t\"Toggle tool output expansion\": \"切换工具输出展开\",\n\t\"Toggle thinking block visibility\": \"切换思考块可见性\",\n\t\"Paste image or text from clipboard\": \"从剪贴板粘贴图片或文本\",\n\t\"Slash commands\": \"斜杠命令\",\n\t\"Run bash command\": \"运行 bash 命令\",\n\t\"Run bash command (excluded from context)\": \"运行 bash 命令(不进上下文)\",\n\t\"Keyboard Shortcuts\": \"键盘快捷键\",\n\n\t// ---- /new / /debug / bash ----\n\t\"✓ New session started\": \"✓ 新会话已开始\",\n\t\"Debug output at {date}\": \"调试输出时间:{date}\",\n\t\"Terminal: {columns}x{rows}\": \"终端:{columns}x{rows}\",\n\t\"Total lines: {count}\": \"总行数:{count}\",\n\t\"=== All rendered lines with visible widths ===\": \"=== 全部渲染行(含可见宽度)===\",\n\t\"=== Agent messages (JSONL) ===\": \"=== 代理消息(JSONL)===\",\n\t\"✓ Debug log written\": \"✓ 调试日志已写入\",\n\t\"Bash command failed: {error}\": \"bash 命令失败:{error}\",\n\n\t// ---- 通用错误前缀 / 兜底 ----\n\t\"Error: {message}\": \"错误:{message}\",\n\t\"Warning: {message}\": \"警告:{message}\",\n\tError: \"错误\",\n\t\"Unknown error\": \"未知错误\",\n\t\"Unknown error occurred\": \"发生未知错误\",\n\t\"Reload failed: {error}\": \"重载失败:{error}\",\n\t\"Wait for the current response to finish before reloading.\": \"请等待当前响应完成后再重载。\",\n\t\"Wait for compaction to finish before reloading.\": \"请等待压缩完成后再重载。\",\n\t\"Reloading keybindings, skills, prompts, themes, and context files...\":\n\t\t\"正在重载键位、技能、提示词模板、主题与上下文文件…\",\n\t\"Reloaded keybindings, skills, prompts, themes, and context files\": \"已重载键位、技能、提示词模板、主题与上下文文件\",\n};\n"]}
1
+ {"version":3,"file":"interactive-mode.js","sourceRoot":"","sources":["../../../../../src/core/i18n/locales/zh-cn/interactive-mode.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * interactive-mode 域词典(批次③):key 为\n * src/modes/interactive/interactive-mode.ts 中 `t()` 调用点的英文原文,\n * value 为 zh-CN 译文。占位符 `{name}` 原样保留(coverage-i18n 测试校验\n * key 与译文占位符集合一致)。命令名/路径/键名/品牌(/suite、models.json、\n * bash、tmux 指令、Agent Forge)不译;suite 保留原文;token 按语境译作\n * token(计量单位)。\n */\nexport const interactiveMode: Record<string, string> = {\n\t// ---- 默认状态指示器 ----\n\t\"Working...\": \"处理中…\",\n\t\"Thinking...\": \"思考中...\",\n\t\"({key} to interrupt)\": \"({key} 中断)\",\n\t\"({key} to cycle)\": \"({key} 切换)\",\n\t\"(thinking: {level})\": \"(思考:{level})\",\n\n\t// ---- 启动 banner / 模型范围 ----\n\t\"to interrupt\": \"中断\",\n\t\"to clear\": \"清空\",\n\t\"{key} twice\": \"{key} 两次\",\n\t\"to exit\": \"退出\",\n\t\"to exit (empty)\": \"退出(编辑器为空时)\",\n\t\"to suspend\": \"挂起\",\n\t\"to delete to end\": \"删除到行尾\",\n\t\"to expand tools\": \"展开工具输出\",\n\t\"to expand thinking\": \"展开思考\",\n\t\"for external editor\": \"打开外部编辑器\",\n\t\"for commands\": \"命令\",\n\t\"to run bash\": \"运行 bash\",\n\t\"to run bash (no context)\": \"运行 bash(不进上下文)\",\n\t\"to paste image (with text fallback)\": \"粘贴图片(无图则退回文本)\",\n\t\"to attach\": \"附加文件\",\n\tinterrupt: \"中断\",\n\t\"clear/exit\": \"清空/退出\",\n\tcommands: \"命令\",\n\tbash: \"bash\",\n\tmore: \"更多\",\n\t\"Press {key} to show full startup help and loaded resources.\": \"按 {key} 展示完整启动帮助与已加载资源。\",\n\t\"Agent Forge can explain its own features and look up its docs. Ask it how to use or extend Agent Forge.\":\n\t\t\"Agent Forge 能解释自身功能并查阅自己的文档。可以直接问它如何使用或扩展 Agent Forge。\",\n\t\"Model scope: {models}{hint}\": \"模型范围:{models}{hint}\",\n\n\t// ---- 更新与 changelog ----\n\t\"Updated to v{version}. Use {command} to view full changelog.\":\n\t\t\"已更新到 v{version}。使用 {command} 查看完整变更日志。\",\n\t\"What's New\": \"新特性\",\n\t\"No changelog entries found.\": \"未找到变更日志条目。\",\n\t\"New version {version} is available. Run\": \"新版本 {version} 可用。请运行\",\n\t\"Changelog:\": \"变更日志:\",\n\t\"Changelog URL is not configured.\": \"未配置变更日志 URL。\",\n\t\"Update Available\": \"有可用更新\",\n\t\"Package updates are available. Run\": \"有可用的包更新。请运行\",\n\t\"Package Updates Available\": \"有可用的包更新\",\n\t\"Packages:\": \"包:\",\n\n\t// ---- 启动警告 ----\n\t\"Migrated credentials to auth.json: {providers}\": \"已迁移凭据到 auth.json:{providers}\",\n\t\"models.json error: {error}\": \"models.json 错误:{error}\",\n\t\"tmux extended-keys is off. Modified Enter keys may not work. Add `set -g extended-keys on` to ~/.tmux.conf and restart tmux.\":\n\t\t\"tmux extended-keys 已关闭,修饰 Enter 键可能失效。请在 ~/.tmux.conf 中加入 `set -g extended-keys on` 并重启 tmux。\",\n\t\"tmux extended-keys-format is xterm. Agent Forge works best with csi-u. Add `set -g extended-keys-format csi-u` to ~/.tmux.conf and restart tmux.\":\n\t\t\"tmux extended-keys-format 为 xterm,Agent Forge 在 csi-u 下工作最佳。请在 ~/.tmux.conf 中加入 `set -g extended-keys-format csi-u` 并重启 tmux。\",\n\t\"Anthropic subscription auth is active. Third-party harness usage draws from extra usage and is billed per token, not your Claude plan limits. Manage extra usage at https://claude.ai/settings/usage. Disable this warning in /settings.\":\n\t\t\"Anthropic 订阅认证处于活跃状态。第三方 harness 用量计入 extra usage 并按 token 计费,不占用 Claude 计划额度。可在 https://claude.ai/settings/usage 管理 extra usage。在 /settings 中可关闭此警告。\",\n\n\t// ---- 已加载资源区块 ----\n\tContext: \"上下文\",\n\tSkills: \"技能\",\n\tPrompts: \"提示词\",\n\tThemes: \"主题\",\n\t\"[Skill conflicts]\": \"[技能冲突]\",\n\t\"[Prompt conflicts]\": \"[提示词模板冲突]\",\n\t\"[Theme conflicts]\": \"[主题冲突]\",\n\n\t// ---- 输入 / 消息队列 ----\n\t\"Startup in progress — input queued and will run when startup completes\": \"启动进行中——输入已排队,启动完成后执行\",\n\t\"A bash command is already running. Press Esc to cancel it first.\": \"已有 bash 命令在运行。请先按 Esc 取消。\",\n\t\"No queued messages to restore\": \"没有可恢复的排队消息\",\n\t\"No queued messages to manage\": \"没有可管理的排队消息\",\n\t\"Restored {count} queued message to editor\": \"已恢复 {count} 条排队消息到编辑器\",\n\t\"Restored {count} queued messages to editor\": \"已恢复 {count} 条排队消息到编辑器\",\n\t\"Usage: /queue <text>\": \"用法:/queue <文本>\",\n\t\"Queued message for after compaction\": \"消息已排队,压缩后发送\",\n\t\"Failed to send queued message: {error}\": \"发送排队消息失败:{error}\",\n\t\"Failed to send queued messages: {error}\": \"发送排队消息失败:{error}\",\n\t\"Steering: {message}\": \"转向:{message}\",\n\t\"Follow-up: {message}\": \"后续:{message}\",\n\t\"↳ {key} to edit all queued messages\": \"↳ {key} 编辑全部排队消息\",\n\n\t// ---- 事件 / 中止 / 压缩 / 重试 ----\n\t\"Aborted after {count} retry attempt\": \"已中止,此前重试 {count} 次\",\n\t\"Aborted after {count} retry attempts\": \"已中止,此前重试 {count} 次\",\n\t\"Operation aborted\": \"操作已中止\",\n\t\"Compaction cancelled\": \"已取消压缩\",\n\t\"Auto-compaction cancelled\": \"已取消自动压缩\",\n\t\"Auto-compaction skipped: nothing to compact\": \"自动压缩已跳过:没有可压缩内容\",\n\t\"Retry failed after {count} attempts: {error}\": \"重试 {count} 次后失败:{error}\",\n\t\"Previous reply was empty, retrying...\": \"上一条回复为空,正在重试…\",\n\n\t// ---- 计费 / 缓存通知 ----\n\tCompaction: \"压缩\",\n\t\"Branch summary\": \"分支摘要\",\n\t\"{tokens} tokens billed{cost}\": \"计费 {tokens} token{cost}\",\n\t\"Anthropic dropped {count} thinking blocks (details in session)\": \"Anthropic 丢弃了 {count} 个思考块(详情见会话)\",\n\t\"{tokens} tokens re-billed{cost}\": \"重新计费 {tokens} token{cost}\",\n\t\"Cache miss\": \"缓存未命中\",\n\t\"Cache miss after model switch\": \"切换模型后缓存未命中\",\n\t\"Cache miss after {minutes}m idle\": \"闲置 {minutes} 分钟后缓存未命中\",\n\t\"Session compacted {count} time\": \"会话已压缩 {count} 次\",\n\t\"Session compacted {count} times\": \"会话已压缩 {count} 次\",\n\n\t// ---- 退出 / 挂起 ----\n\t\"To resume this session:\": \"恢复本会话:\",\n\t\"{app} exiting due to uncaughtException:\": \"{app} 因未捕获异常退出:\",\n\t\"Suspend to background is not supported on Windows\": \"Windows 不支持挂起到后台\",\n\n\t// ---- 模型 / 思考 / 工具输出切换 ----\n\t\"Current model does not support thinking\": \"当前模型不支持思考\",\n\t\"Thinking level: {level}\": \"思考级别:{level}\",\n\t\"Only one model in scope\": \"范围内只有一个模型\",\n\t\"Only one model available\": \"只有一个可用模型\",\n\t\"Switched to {model}{thinking}\": \"已切换到 {model}{thinking}\",\n\t\"Tool output: expanded\": \"工具输出:已展开\",\n\t\"Tool output: collapsed\": \"工具输出:已折叠\",\n\t\"Thinking blocks: hidden\": \"思考块:已隐藏\",\n\t\"Thinking blocks: visible\": \"思考块:已显示\",\n\n\t// ---- 设置选择器 ----\n\t\"not set\": \"未设置\",\n\t\"HTTP idle timeout: {value}\": \"HTTP 空闲超时:{value}\",\n\t\"Close active overlays before changing TUI mode\": \"切换 TUI 模式前请先关闭活动浮层\",\n\t\"TUI mode: {mode}\": \"TUI 模式:{mode}\",\n\n\t// ---- suite / 会话重建 ----\n\t'Suite \"{id}\" was not found. The selected suite applies to the new session.':\n\t\t'未找到 suite \"{id}\"。所选 suite 将应用于新会话。',\n\t'Suite \"{id}\" was not found — continuing without a suite. Use /suite to choose one.':\n\t\t'未找到 suite \"{id}\"——将在无 suite 下继续。可使用 /suite 选择。',\n\t\"Suite set to {id} — new session started\": \"suite 已设为 {id}——新会话已开始\",\n\t\"Failed to create session\": \"创建会话失败\",\n\t'Cross-suite compatible mode: session created with \"{from}\", assembling with \"{to}\"':\n\t\t'跨 suite 兼容模式:会话创建于 \"{from}\",正以 \"{to}\" 组装',\n\n\t// ---- workflow / 子代理 / 会话树 ----\n\t\"No workflow in this session\": \"本会话没有 workflow\",\n\t\"Workflow action staged — review in the editor and submit\": \"workflow 动作已暂存——请在编辑器中审阅后提交\",\n\t\"No subagent sessions in this session\": \"本会话没有子代理会话\",\n\t\"No entries in session\": \"会话中没有条目\",\n\t\"Already at this point\": \"已在该节点\",\n\t\"Summarize branch?\": \"生成分支摘要?\",\n\t\"No summary\": \"不生成摘要\",\n\tSummarize: \"生成摘要\",\n\t\"Summarize with custom prompt\": \"使用自定义提示生成摘要\",\n\t\"Custom summarization instructions\": \"自定义摘要指令\",\n\t\"Branch summarization cancelled\": \"已取消分支摘要\",\n\t\"Navigation cancelled\": \"已取消导航\",\n\t\"Navigated to selected point\": \"已导航到所选节点\",\n\t\"Selected entry has no text to copy\": \"所选条目没有可复制的文本\",\n\t\"Copied selected message to clipboard\": \"已复制所选消息到剪贴板\",\n\n\t// ---- 恢复 / 导入 / 导出 ----\n\t\"Resumed session\": \"已恢复会话\",\n\t\"Resume cancelled\": \"已取消恢复\",\n\t\"Resumed session in current cwd\": \"已在当前工作目录恢复会话\",\n\t\"Failed to resume session\": \"恢复会话失败\",\n\t\"Usage: /import <path.jsonl>\": \"用法:/import <路径.jsonl>\",\n\t\"Import session\": \"导入会话\",\n\t\"Replace current session with {path}?\": \"用 {path} 替换当前会话?\",\n\t\"Import cancelled\": \"已取消导入\",\n\t\"Session imported from: {path}\": \"会话导入自:{path}\",\n\t\"Failed to import session: {error}\": \"导入会话失败:{error}\",\n\t\"Failed to import session\": \"导入会话失败\",\n\t\"Session exported to: {path}\": \"会话已导出到:{path}\",\n\t\"Failed to export session: {error}\": \"导出会话失败:{error}\",\n\n\t// ---- /copy / /name ----\n\t\"No agent messages to copy yet.\": \"还没有可复制的代理消息。\",\n\t\"Copied!\": \"已复制!\",\n\t\"Copied last agent message to clipboard\": \"已复制最近一条代理消息到剪贴板\",\n\t\"Session name: {name}\": \"会话名称:{name}\",\n\t\"Usage: /name <name>\": \"用法:/name <名称>\",\n\t\"Session name was normalized from {from} to {to}\": \"会话名称已从 {from} 规范化为 {to}\",\n\t\"Session name set: {name}\": \"会话名称已设置:{name}\",\n\n\t// ---- /stop-agents ----\n\t\"No background subagents running\": \"没有正在运行的后台子代理\",\n\t\"Terminated {count} background subagent\": \"已终止 {count} 个后台子代理\",\n\t\"Terminated {count} background subagents\": \"已终止 {count} 个后台子代理\",\n\t\"{count} subagent still running · /stop-agents stops all (Esc only stops the current turn)\":\n\t\t\"{count} 个子代理仍在运行 · /stop-agents 终止全部(Esc 只停当前回合)\",\n\t\"{count} subagents still running · /stop-agents stops all (Esc only stops the current turn)\":\n\t\t\"{count} 个子代理仍在运行 · /stop-agents 终止全部(Esc 只停当前回合)\",\n\n\t// ---- /session 统计 ----\n\t\"Session Info\": \"会话信息\",\n\t\"Name:\": \"名称:\",\n\t\"File:\": \"文件:\",\n\t\"ID:\": \"ID:\",\n\t\"In-memory\": \"内存中\",\n\tMessages: \"消息\",\n\t\"Total:\": \"总计:\",\n\t\"User:\": \"用户:\",\n\t\"Assistant:\": \"助手:\",\n\t\"Tools:\": \"工具:\",\n\t\"{calls} calls, {results} results\": \"{calls} 次调用,{results} 次结果\",\n\tTokens: \"Token\",\n\t\"Input:\": \"输入:\",\n\t\"Cached:\": \"已缓存:\",\n\t\"({count} written to cache)\": \"({count} 写入缓存)\",\n\t\"Uncached:\": \"未缓存:\",\n\t\"Output:\": \"输出:\",\n\t\"By Provider/Model\": \"按供应商/模型\",\n\t\"(cache {rate}%, W {written})\": \"(缓存 {rate}%,写 {written})\",\n\tCost: \"费用\",\n\t\"({tokens} tokens)\": \"({tokens} token)\",\n\t\"{count} miss\": \"{count} 次未命中\",\n\t\"{count} misses\": \"{count} 次未命中\",\n\t\"{tokens} tokens, {misses}\": \"{tokens} token,{misses}\",\n\t\"Cache Re-billed:\": \"缓存重新计费:\",\n\n\t// ---- /metrics ----\n\t\"Metrics are not available: the observability plugin is not mounted in this session\":\n\t\t\"指标不可用:本会话未挂载 observability 插件\",\n\t\"Invalid turns: {turns}. Usage: /metrics [turns]\": \"无效的轮数:{turns}。用法:/metrics [turns]\",\n\n\t// ---- /help ----\n\tCommand: \"命令\",\n\tDescription: \"说明\",\n\t\"Built-in commands\": \"内置命令\",\n\t\"Prompt templates\": \"提示词模板\",\n\t\"Type `/` for autocomplete. Use `/hotkeys` for keyboard shortcuts.\":\n\t\t\"输入 `/` 自动补全。使用 `/hotkeys` 查看快捷键。\",\n\t\"Available Commands\": \"可用命令\",\n\n\t// ---- /hotkeys ----\n\t\"Open model selector\": \"打开模型选择器\",\n\t\"Copy selection in /tree\": \"在 /tree 中复制选区\",\n\t\"External editor (inside dialog inputs)\": \"外部编辑器(对话框输入内)\",\n\t\"Queue follow-up message\": \"排队后续消息\",\n\t\"Restore queued messages\": \"恢复排队消息\",\n\t\"Cycle thinking level\": \"循环切换思考级别\",\n\t\"Cycle models\": \"循环切换模型\",\n\t\"Suspend to background\": \"挂起到后台\",\n\tNavigation: \"导航\",\n\tKey: \"按键\",\n\tAction: \"动作\",\n\t\"Move cursor / browse history\": \"移动光标 / 浏览历史\",\n\t\"Move by word\": \"按词移动\",\n\t\"Start of line\": \"行首\",\n\t\"End of line\": \"行尾\",\n\t\"Jump forward to character\": \"向后跳到字符\",\n\t\"Jump backward to character\": \"向前跳到字符\",\n\t\"Scroll by page\": \"按页滚动\",\n\tEditing: \"编辑\",\n\t\"Send message\": \"发送消息\",\n\t\"New line\": \"换行\",\n\t\"New line (Ctrl+Enter on Windows Terminal)\": \"换行(Windows Terminal 上为 Ctrl+Enter)\",\n\t\"Delete word backwards\": \"向前删除单词\",\n\t\"Delete word forwards\": \"向后删除单词\",\n\t\"Delete to start of line\": \"删除到行首\",\n\t\"Delete to end of line\": \"删除到行尾\",\n\t\"Paste the most-recently-deleted text\": \"粘贴最近删除的文本\",\n\t\"Cycle through the deleted text after pasting\": \"粘贴后循环切换已删除文本\",\n\tUndo: \"撤销\",\n\tOther: \"其他\",\n\t\"Path completion / accept autocomplete\": \"路径补全 / 接受自动补全\",\n\t\"Cancel autocomplete / abort streaming\": \"取消自动补全 / 中止流式输出\",\n\t\"Clear editor (first) / exit (second)\": \"清空编辑器(第一次)/ 退出(第二次)\",\n\t\"Exit (when editor is empty)\": \"退出(编辑器为空时)\",\n\t\"Toggle tool output expansion\": \"切换工具输出展开\",\n\t\"Toggle thinking block visibility\": \"切换思考块可见性\",\n\t\"Paste image or text from clipboard\": \"从剪贴板粘贴图片或文本\",\n\t\"Slash commands\": \"斜杠命令\",\n\t\"Run bash command\": \"运行 bash 命令\",\n\t\"Run bash command (excluded from context)\": \"运行 bash 命令(不进上下文)\",\n\t\"Keyboard Shortcuts\": \"键盘快捷键\",\n\n\t// ---- /new / /debug / bash ----\n\t\"✓ New session started\": \"✓ 新会话已开始\",\n\t\"Debug output at {date}\": \"调试输出时间:{date}\",\n\t\"Terminal: {columns}x{rows}\": \"终端:{columns}x{rows}\",\n\t\"Total lines: {count}\": \"总行数:{count}\",\n\t\"=== All rendered lines with visible widths ===\": \"=== 全部渲染行(含可见宽度)===\",\n\t\"=== Agent messages (JSONL) ===\": \"=== 代理消息(JSONL)===\",\n\t\"✓ Debug log written\": \"✓ 调试日志已写入\",\n\t\"Bash command failed: {error}\": \"bash 命令失败:{error}\",\n\n\t// ---- 通用错误前缀 / 兜底 ----\n\t\"Error: {message}\": \"错误:{message}\",\n\t\"Warning: {message}\": \"警告:{message}\",\n\tError: \"错误\",\n\t\"Unknown error\": \"未知错误\",\n\t\"Unknown error occurred\": \"发生未知错误\",\n\t\"Reload failed: {error}\": \"重载失败:{error}\",\n\t\"Wait for the current response to finish before reloading.\": \"请等待当前响应完成后再重载。\",\n\t\"Wait for compaction to finish before reloading.\": \"请等待压缩完成后再重载。\",\n\t\"Reloading keybindings, skills, prompts, themes, and context files...\":\n\t\t\"正在重载键位、技能、提示词模板、主题与上下文文件…\",\n\t\"Reloaded keybindings, skills, prompts, themes, and context files\": \"已重载键位、技能、提示词模板、主题与上下文文件\",\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"tui-components-selectors.d.ts","sourceRoot":"","sources":["../../../../../src/core/i18n/locales/zh-cn/tui-components-selectors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA2SzD,CAAC","sourcesContent":["/**\n * 批次④ selectors 域词典(docs/design/国际化与本地化.md §词典结构):\n * 覆盖 components/ 下的 settings-selector、session-selector、config-selector、\n * model-selector、scoped-models-selector、thinking-selector、oauth-selector、\n * login-dialog、first-time-setup、plugin-manager-entry、plugin-selection-entry、\n * tree-selector、tree-list。key 为英文原文(与调用点逐字一致;`t()` 会 trim\n * key,故调用点的前导/尾随空白一律在 `t()` 外拼接,key 本身不含首尾空白),\n * value 为简体中文译文,`{占位符}` 原样保留。数据值(config 值、role 名、\n * plugin status/action)不入词典(调用点保留原文)。\n */\nexport const tuiComponentsSelectors: Record<string, string> = {\n\t// ---- settings-selector ----\n\t\"No reasoning\": \"无推理\",\n\t\"Very brief reasoning (~1k tokens)\": \"极简推理(约 1k tokens)\",\n\t\"Light reasoning (~2k tokens)\": \"轻度推理(约 2k tokens)\",\n\t\"Moderate reasoning (~8k tokens)\": \"中度推理(约 8k tokens)\",\n\t\"Deep reasoning (~16k tokens)\": \"深度推理(约 16k tokens)\",\n\t\"Extra-high reasoning (~32k tokens)\": \"超高推理(约 32k tokens)\",\n\t\"Maximum reasoning\": \"最大推理\",\n\t\"Anthropic extra usage\": \"Anthropic 额外用量\",\n\t\"Warn when Anthropic subscription auth may use paid extra usage\": \"当 Anthropic 订阅认证可能使用付费额外用量时警告\",\n\tnone: \"无\",\n\t\"{count} configured\": \"已配置 {count} 项\",\n\tAutomatic: \"自动\",\n\t\"Use separate themes for light and dark terminal appearance\": \"为终端浅色与深色外观分别使用不同主题\",\n\tTheme: \"主题\",\n\t\"Select a theme, or choose Automatic to follow terminal appearance.\": \"选择一个主题,或选择“自动”跟随终端外观。\",\n\t\"Automatic Theme\": \"自动主题\",\n\t\"Choose themes for terminal light and dark appearance.\": \"为终端浅色与深色外观选择主题。\",\n\t\"Light/dark detection requires terminal support.\": \"浅色/深色检测需要终端支持。\",\n\t\"Light theme\": \"浅色主题\",\n\t\"Theme to use in automatic mode when the terminal is light\": \"自动模式下终端为浅色时使用的主题\",\n\t\"Light Theme\": \"浅色主题\",\n\t\"Select the theme to use for light terminal appearance\": \"选择终端浅色外观时使用的主题\",\n\t\"Dark theme\": \"深色主题\",\n\t\"Theme to use in automatic mode when the terminal is dark\": \"自动模式下终端为深色时使用的主题\",\n\t\"Dark Theme\": \"深色主题\",\n\t\"Select the theme to use for dark terminal appearance\": \"选择终端深色外观时使用的主题\",\n\tApply: \"应用\",\n\t\"Save and go back\": \"保存并返回\",\n\t\"save and go back\": \"保存并返回\",\n\t\"Change mode\": \"切换模式\",\n\t\"Switch to one theme for light and dark\": \"切换为浅色与深色共用单一主题\",\n\t\"switch to single theme\": \"切换为单一主题\",\n\t\"Auto-compact\": \"自动压缩\",\n\t\"Automatically compact context when it gets too large\": \"上下文过大时自动压缩\",\n\t\"Steering mode\": \"转向模式\",\n\t\"Enter while streaming queues steering messages. 'one-at-a-time': deliver one, wait for response. 'all': deliver all at once.\":\n\t\t\"流式输出期间按 Enter 会将转向消息加入队列。'one-at-a-time':每次送达一条,等待响应。'all':一次性全部送达。\",\n\t\"Follow-up mode\": \"后续消息模式\",\n\t\"{key} queues follow-up messages until agent stops. 'one-at-a-time': deliver one, wait for response. 'all': deliver all at once.\":\n\t\t\"{key} 会将后续消息排队直至 agent 停止。'one-at-a-time':每次送达一条,等待响应。'all':一次性全部送达。\",\n\tTransport: \"传输方式\",\n\t\"Preferred transport for providers that support multiple transports\": \"支持多种传输方式的 provider 的首选传输方式\",\n\t\"HTTP idle timeout\": \"HTTP 空闲超时\",\n\t\"Maximum idle gap while waiting for HTTP headers or body chunks. Disable for local models that pause longer than five minutes.\":\n\t\t\"等待 HTTP 头或正文分块时的最大空闲间隔。本地模型暂停超过五分钟时请禁用。\",\n\t\"Hide thinking\": \"隐藏思考\",\n\t\"Hide thinking blocks in assistant responses\": \"隐藏助手回复中的思考块\",\n\t\"Mermaid diagrams\": \"Mermaid 图表\",\n\t\"Render Mermaid code blocks as Unicode diagrams\": \"将 Mermaid 代码块渲染为 Unicode 图表\",\n\t\"Cache miss notices\": \"缓存未命中提示\",\n\t\"Show transcript notices for cache costs and provider recovery diagnostics\":\n\t\t\"显示缓存成本与 provider 恢复诊断的会话记录提示\",\n\t\"Collapse changelog\": \"折叠更新日志\",\n\t\"Show condensed changelog after updates\": \"更新后显示精简版更新日志\",\n\t\"Quiet startup\": \"安静启动\",\n\t\"Disable verbose printing at startup\": \"禁用启动时的详细输出\",\n\t\"Double-escape action\": \"双击 Escape 动作\",\n\t\"Action when pressing Escape twice with empty editor\": \"编辑器为空时连按两次 Escape 执行的动作\",\n\t\"Interface language\": \"界面语言\",\n\t\"Language for UI text; takes effect immediately\": \"界面文本语言,立即生效\",\n\t\"Tree filter mode\": \"树视图过滤模式\",\n\t\"Default filter when opening /tree\": \"打开 /tree 时的默认过滤器\",\n\tWarnings: \"警告\",\n\t\"Enable or disable individual warnings\": \"启用或禁用各项警告\",\n\tconfigure: \"配置\",\n\t\"Default thinking level per model\": \"各模型默认思考级别\",\n\t\"Override the default thinking level for specific models. {key} cycles in-session.\":\n\t\t\"为特定模型覆盖默认思考级别。{key} 可在会话内循环切换。\",\n\t\"Per-Model Thinking Level\": \"各模型思考级别\",\n\t\"Select a model to configure\": \"选择要配置的模型\",\n\t\"No models available\": \"无可用模型\",\n\t\"Log in to a provider or configure an API key first\": \"请先登录 provider 或配置 API key\",\n\t\"Thinking Level for {model}\": \"{model} 的思考级别\",\n\t\"Select default thinking level for this model\": \"选择该模型的默认思考级别\",\n\t\"(clear override)\": \"(清除覆盖)\",\n\t\"Revert to global default ({level})\": \"恢复全局默认({level})\",\n\t\"TUI mode\": \"TUI 模式\",\n\t\"Interface layout; fullscreen mode is experimental\": \"界面布局;全屏模式为实验性\",\n\t\"Fullscreen exit output\": \"全屏退出输出\",\n\t\"Print the transcript or only a session resume hint when exiting fullscreen mode\":\n\t\t\"退出全屏模式时打印完整会话记录或仅打印会话恢复提示\",\n\t\"Fullscreen scrollbar\": \"全屏滚动条\",\n\t\"Scrollbar behavior in fullscreen mode; has no effect in regular mode\": \"全屏模式下的滚动条行为;常规模式下无效\",\n\t\"Fullscreen copy on select\": \"全屏选中即复制\",\n\t\"Automatically copy selected text in fullscreen mode; disable to copy selections with Ctrl+X\":\n\t\t\"全屏模式下自动复制选中文本;禁用后用 Ctrl+X 复制所选内容\",\n\t\"Fullscreen wheel scroll lines\": \"全屏滚轮滚动行数\",\n\t\"Lines scrolled per wheel event in fullscreen mode; auto accelerates with scroll speed\":\n\t\t\"全屏模式下每个滚轮事件滚动的行数;auto 随滚动速度加速\",\n\t\"Color theme for the interface\": \"界面配色主题\",\n\t\"Show images\": \"显示图片\",\n\t\"Render images inline in terminal\": \"在终端内联渲染图片\",\n\t\"Image width\": \"图片宽度\",\n\t\"Preferred inline image width in terminal cells\": \"首选的内联图片宽度(终端单元格)\",\n\t\"Auto-resize images\": \"自动缩放图片\",\n\t\"Resize large images to 2000x2000 max for better model compatibility\": \"将大图缩放至最大 2000x2000 以提升模型兼容性\",\n\t\"Block images\": \"阻止图片\",\n\t\"Prevent images from being sent to LLM providers\": \"阻止图片发送给 LLM provider\",\n\t\"Skill commands\": \"Skill 命令\",\n\t\"Register skills as /skill:name commands\": \"将 skill 注册为 /skill:name 命令\",\n\t\"Show hardware cursor\": \"显示硬件光标\",\n\t\"Show the terminal cursor while still positioning it for IME support\": \"显示终端光标,同时保持其定位以支持输入法\",\n\t\"Editor padding\": \"编辑器内边距\",\n\t\"Horizontal padding for input editor (0-3)\": \"输入编辑器的水平内边距(0-3)\",\n\t\"Output padding\": \"输出内边距\",\n\t\"Horizontal padding for user messages, assistant messages, and thinking\": \"用户消息、助手消息与思考内容的水平内边距\",\n\t\"Autocomplete max items\": \"自动补全最大条目数\",\n\t\"Max visible items in autocomplete dropdown (3-20)\": \"自动补全下拉菜单可见的最大条目数(3-20)\",\n\t\"Clear on shrink\": \"收缩时清屏\",\n\t\"Clear empty rows when content shrinks (may cause flicker)\": \"内容收缩时清除空行(可能导致闪烁)\",\n\t\"Terminal progress\": \"终端进度\",\n\t\"Show OSC 9;4 progress indicators in the terminal tab bar\": \"在终端标签栏显示 OSC 9;4 进度指示\",\n\n\t// ---- session-selector ----\n\t\"Resume Session (Current Folder)\": \"恢复会话(当前文件夹)\",\n\t\"Resume Session (All)\": \"恢复会话(全部)\",\n\t\"Resume Session (All Suites)\": \"恢复会话(所有 Suite)\",\n\t\"Resume Session (Suite: {suite})\": \"恢复会话(Suite:{suite})\",\n\tThreaded: \"线程式\",\n\tRecent: \"最近\",\n\tFuzzy: \"模糊\",\n\t\"Sort:\": \"排序:\",\n\tAll: \"全部\",\n\tNamed: \"已命名\",\n\t\"Name:\": \"名称:\",\n\t\"○ Current Folder\": \"○ 当前文件夹\",\n\t\"Loading {progress}\": \"加载中 {progress}\",\n\t\"◉ Current Folder\": \"◉ 当前文件夹\",\n\t\"○ All\": \"○ 全部\",\n\t\"◉ All\": \"◉ 全部\",\n\t\"Delete session? {confirm} · {cancel}\": \"删除会话?{confirm} · {cancel}\",\n\tconfirm: \"确认\",\n\tcancel: \"取消\",\n\t\"path (on)\": \"路径 (开)\",\n\t\"path (off)\": \"路径 (关)\",\n\tscope: \"范围\",\n\t're:<pattern> regex · \"phrase\" exact': 're:<模式> 正则 · \"词组\" 精确',\n\tsort: \"排序\",\n\tnamed: \"命名过滤\",\n\tdelete: \"删除\",\n\trename: \"重命名\",\n\t\"Cannot delete the currently active session\": \"无法删除当前活动会话\",\n\t\"No named sessions found. Press {key} to show all.\": \"未找到已命名会话。按 {key} 显示全部。\",\n\t\"No named sessions in current folder. Press {key} to show all, or Tab to view all.\":\n\t\t\"当前文件夹无已命名会话。按 {key} 显示全部,或按 Tab 查看全部。\",\n\t\"No sessions found\": \"未找到会话\",\n\t\"No sessions in current folder. Press Tab to view all.\": \"当前文件夹无会话。按 Tab 查看全部。\",\n\t\"Show sessions from all suites\": \"显示所有 suite 的会话\",\n\t\"Show current suite sessions only\": \"仅显示当前 suite 的会话\",\n\t\"Session moved to trash\": \"会话已移入回收站\",\n\t\"Session deleted\": \"会话已删除\",\n\t\"Unknown error\": \"未知错误\",\n\t\"Failed to delete: {error}\": \"删除失败:{error}\",\n\t\"Rename Session\": \"重命名会话\",\n\t\"{confirm} to save · {cancel} to cancel\": \"{confirm} 保存 · {cancel} 取消\",\n\t\"Failed to load sessions: {message}\": \"加载会话失败:{message}\",\n\n\t// ---- config-selector ----\n\tSkills: \"技能\",\n\tPrompts: \"提示词\",\n\tThemes: \"主题\",\n\t\"User ({dir})\": \"用户({dir})\",\n\t\"Project ({dir})\": \"项目({dir})\",\n\t\"User settings\": \"用户设置\",\n\t\"Project settings\": \"项目设置\",\n\t\"Project Local Resources\": \"项目本地资源\",\n\t\"Global Resources\": \"全局资源\",\n\t\"switch mode\": \"切换模式\",\n\t\"cycle inherit/+/-\": \"循环 继承/+/-\",\n\ttoggle: \"切换\",\n\tclose: \"关闭\",\n\t\"{config}/settings.json · inherited global resources are dimmed\":\n\t\t\"{config}/settings.json · 继承的全局资源以暗色显示\",\n\t\"No resources found\": \"未找到资源\",\n\t\"inherited global\": \"继承自全局\",\n\t\"project load\": \"项目加载\",\n\t\"project unload\": \"项目卸载\",\n\n\t// ---- model-selector / scoped-models-selector / thinking-selector ----\n\t\"Model Configuration\": \"模型配置\",\n\t\"Session-only. {key} to save to settings.\": \"仅本次会话生效。按 {key} 保存到设置。\",\n\t\"all enabled\": \"全部已启用\",\n\t\"{enabled}/{total} enabled\": \"已启用 {enabled}/{total}\",\n\t\"{count} unavailable\": \"{count} 个不可用\",\n\tall: \"全部\",\n\tclear: \"清空\",\n\treorder: \"排序\",\n\tsave: \"保存\",\n\t\"(unsaved)\": \"(未保存)\",\n\t\"No matching models\": \"没有匹配的模型\",\n\t\"[unavailable]\": \"[不可用]\",\n\t\"Model Name: {name}\": \"模型名称:{name}\",\n\t\"Model unavailable\": \"模型不可用\",\n\t\"Refreshing model catalogs…\": \"正在刷新模型目录…\",\n\t\"Only showing models from configured providers. Use /login to add providers.\":\n\t\t\"仅显示已配置 provider 的模型。使用 /login 添加 provider。\",\n\t\"{confirm} to select · {save} to set as default · {cancel} to cancel\":\n\t\t\"{confirm} 选择 · {save} 设为默认 · {cancel} 取消\",\n\t\"Model refresh timed out; showing cached models.\": \"模型刷新超时;显示缓存模型。\",\n\t\"Could not refresh {provider}; showing cached models.\": \"无法刷新 {provider};显示缓存的模型。\",\n\t\"Could not refresh {count} model catalogs ({providers}); showing cached models.\":\n\t\t\"无法刷新 {count} 个模型目录({providers});显示缓存的模型。\",\n\t\"Model catalogs refreshed.\": \"模型目录已刷新。\",\n\t\"Could not refresh model catalogs: {error}\": \"无法刷新模型目录:{error}\",\n\tscoped: \"会话内\",\n\t\"Scope:\": \"范围:\",\n\t\"(all/scoped)\": \"(全部/会话内)\",\n\tdefault: \"默认\",\n\t\"Thinking Level\": \"思考级别\",\n\t\"{key} sets thinking level\": \"{key} 设置思考级别\",\n\n\t// ---- oauth-selector / login-dialog ----\n\tsubscription: \"订阅\",\n\t\"Select provider to configure:\": \"选择要配置的 provider:\",\n\t\"Select provider to logout:\": \"选择要登出的 provider:\",\n\t\"No providers available\": \"无可用 provider\",\n\t\"No providers logged in. Use /login first.\": \"没有已登录的 provider。请先使用 /login。\",\n\t\"No matching providers\": \"没有匹配的 provider\",\n\tunconfigured: \"未配置\",\n\t\"subscription configured\": \"已配置订阅\",\n\t\"API key configured\": \"已配置 API key\",\n\t\"API key\": \"API key\",\n\tconfigured: \"已配置\",\n\t\"env: {source}\": \"环境变量:{source}\",\n\t\"Login to {provider}\": \"登录 {provider}\",\n\t\"Login cancelled\": \"登录已取消\",\n\t\"Cmd+click to open\": \"Cmd+点击打开\",\n\t\"Ctrl+click to open\": \"Ctrl+点击打开\",\n\t\"Enter code: {code}\": \"输入代码:{code}\",\n\t\"to cancel\": \"取消\",\n\t\"e.g., {placeholder}\": \"例如,{placeholder}\",\n\t\"to cancel,\": \"取消,\",\n\t\"to submit\": \"提交\",\n\t\"to close\": \"关闭\",\n\n\t// ---- first-time-setup ----\n\t\"Welcome to {name}, the minimal coding agent.\": \"欢迎使用 {name},极简编码 agent。\",\n\t\"Pick a theme.\": \"选择一个主题。\",\n\t\"Detected system appearance: {theme}\": \"检测到系统外观:{theme}\",\n\t\"Opt-in to anonymous usage data sharing?\": \"是否加入匿名使用数据分享?\",\n\t\"Opting in stores a tracking identifier in settings.json and enables anonymous\\nusage analytics. This helps us to better debug, reproduce, and resolve issues\\nand bugs within Agent Forge. You can observe what is shared using /privacy and make\\nchanges anytime in settings.json.\":\n\t\t\"选择加入后会在 settings.json 中存储一个追踪标识符,并启用匿名使用分析。\\n这有助于我们更好地调试、复现并解决 Agent Forge 中的问题与缺陷。\\n你可以使用 /privacy 查看所分享的内容,并可随时在 settings.json 中更改。\",\n\tDark: \"深色\",\n\tLight: \"浅色\",\n\t\"Share anonymous usage data\": \"分享匿名使用数据\",\n\t\"Don't share\": \"不分享\",\n\tnavigate: \"导航\",\n\tcontinue: \"继续\",\n\tfinish: \"完成\",\n\t\"skip setup\": \"跳过设置\",\n\n\t// ---- plugin-manager-entry / plugin-selection-entry ----\n\t\"catalog {count}\": \"目录 {count}\",\n\t\"catalog unavailable\": \"目录不可用\",\n\t\", bounded\": \",已截断\",\n\t\"Plugin manager · {state}{bounded} · Enter open\": \"插件管理器 · {state}{bounded} · Enter 打开\",\n\t\"Plugin manager\": \"插件管理器\",\n\t\"Working…\": \"处理中…\",\n\t\"Confirm {action} {plugin}@{version}? Enter confirm · Esc cancel\":\n\t\t\"确认{action} {plugin}@{version}?Enter 确认 · Esc 取消\",\n\t\"Error: {code}\": \"错误:{code}\",\n\t\"No plugins available\": \"无可用插件\",\n\t\"installed {version}\": \"已安装 {version}\",\n\t\"Action: {action} · Tab switch action · Enter confirm\": \"操作:{action} · Tab 切换操作 · Enter 确认\",\n\t\"Selected plugin is unavailable\": \"所选插件不可用\",\n\t\"(list bounded)\": \"(列表已截断)\",\n\t\"↑↓ navigate · Esc close\": \"↑↓ 导航 · Esc 关闭\",\n\t\"Plugins: unsupported (host selection entry not injected)\": \"插件:不支持(宿主选择入口未注入)\",\n\t\"Plugins · {profile}\": \"插件 · {profile}\",\n\t\"Enter/Space toggle · Esc close\": \"Enter/空格 切换 · Esc 关闭\",\n\t\"selected {selected}, disabled {disabled}\": \"已选 {selected},已禁用 {disabled}\",\n\t\"selection pending\": \"选择待定\",\n\t\"selection not loaded\": \"选择未加载\",\n\t\"catalog {count} ({ready} ready, {unavailable} unavailable)\": \"目录 {count}({ready} 就绪,{unavailable} 不可用)\",\n\t\"host store\": \"宿主存储\",\n\t\"open via host callback\": \"经宿主回调打开\",\n\t\"Plugins: profile {profile} · {selection} · {catalog} · {suffix}\":\n\t\t\"插件:配置文件 {profile} · {selection} · {catalog} · {suffix}\",\n\n\t// ---- tree-selector / tree-list ----\n\t\"Type to search:\": \"输入以搜索:\",\n\tmove: \"移动\",\n\tpage: \"翻页\",\n\tbranch: \"分支\",\n\tcopy: \"复制\",\n\tlabel: \"标签\",\n\t\"label time\": \"标签时间\",\n\tfilters: \"过滤器\",\n\tcycle: \"循环\",\n\t\"Label (empty to remove):\": \"标签(留空移除):\",\n\t\"Session Tree\": \"会话树\",\n\t\"[no-tools]\": \"[无工具]\",\n\t\"[user]\": \"[用户]\",\n\t\"[labeled]\": \"[已标注]\",\n\t\"[all]\": \"[全部]\",\n\t\"[+label time]\": \"[+标签时间]\",\n\t\"No entries found\": \"未找到条目\",\n};\n"]}
1
+ {"version":3,"file":"tui-components-selectors.d.ts","sourceRoot":"","sources":["../../../../../src/core/i18n/locales/zh-cn/tui-components-selectors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAySzD,CAAC","sourcesContent":["/**\n * 批次④ selectors 域词典(docs/design/国际化与本地化.md §词典结构):\n * 覆盖 components/ 下的 settings-selector、session-selector、config-selector、\n * model-selector、scoped-models-selector、thinking-selector、oauth-selector、\n * login-dialog、first-time-setup、plugin-manager-entry、plugin-selection-entry、\n * tree-selector、tree-list。key 为英文原文(与调用点逐字一致;`t()` 会 trim\n * key,故调用点的前导/尾随空白一律在 `t()` 外拼接,key 本身不含首尾空白),\n * value 为简体中文译文,`{占位符}` 原样保留。数据值(config 值、role 名、\n * plugin status/action)不入词典(调用点保留原文)。\n */\nexport const tuiComponentsSelectors: Record<string, string> = {\n\t// ---- settings-selector ----\n\t\"No reasoning\": \"无推理\",\n\t\"Very brief reasoning (~1k tokens)\": \"极简推理(约 1k tokens)\",\n\t\"Light reasoning (~2k tokens)\": \"轻度推理(约 2k tokens)\",\n\t\"Moderate reasoning (~8k tokens)\": \"中度推理(约 8k tokens)\",\n\t\"Deep reasoning (~16k tokens)\": \"深度推理(约 16k tokens)\",\n\t\"Extra-high reasoning (~32k tokens)\": \"超高推理(约 32k tokens)\",\n\t\"Maximum reasoning\": \"最大推理\",\n\t\"Anthropic extra usage\": \"Anthropic 额外用量\",\n\t\"Warn when Anthropic subscription auth may use paid extra usage\": \"当 Anthropic 订阅认证可能使用付费额外用量时警告\",\n\tnone: \"无\",\n\t\"{count} configured\": \"已配置 {count} 项\",\n\tAutomatic: \"自动\",\n\t\"Use separate themes for light and dark terminal appearance\": \"为终端浅色与深色外观分别使用不同主题\",\n\tTheme: \"主题\",\n\t\"Select a theme, or choose Automatic to follow terminal appearance.\": \"选择一个主题,或选择“自动”跟随终端外观。\",\n\t\"Automatic Theme\": \"自动主题\",\n\t\"Choose themes for terminal light and dark appearance.\": \"为终端浅色与深色外观选择主题。\",\n\t\"Light/dark detection requires terminal support.\": \"浅色/深色检测需要终端支持。\",\n\t\"Light theme\": \"浅色主题\",\n\t\"Theme to use in automatic mode when the terminal is light\": \"自动模式下终端为浅色时使用的主题\",\n\t\"Light Theme\": \"浅色主题\",\n\t\"Select the theme to use for light terminal appearance\": \"选择终端浅色外观时使用的主题\",\n\t\"Dark theme\": \"深色主题\",\n\t\"Theme to use in automatic mode when the terminal is dark\": \"自动模式下终端为深色时使用的主题\",\n\t\"Dark Theme\": \"深色主题\",\n\t\"Select the theme to use for dark terminal appearance\": \"选择终端深色外观时使用的主题\",\n\tApply: \"应用\",\n\t\"Save and go back\": \"保存并返回\",\n\t\"save and go back\": \"保存并返回\",\n\t\"Change mode\": \"切换模式\",\n\t\"Switch to one theme for light and dark\": \"切换为浅色与深色共用单一主题\",\n\t\"switch to single theme\": \"切换为单一主题\",\n\t\"Auto-compact\": \"自动压缩\",\n\t\"Automatically compact context when it gets too large\": \"上下文过大时自动压缩\",\n\t\"Steering mode\": \"转向模式\",\n\t\"Enter while streaming queues steering messages. 'one-at-a-time': deliver one, wait for response. 'all': deliver all at once.\":\n\t\t\"流式输出期间按 Enter 会将转向消息加入队列。'one-at-a-time':每次送达一条,等待响应。'all':一次性全部送达。\",\n\t\"Follow-up mode\": \"后续消息模式\",\n\t\"{key} queues follow-up messages until agent stops. 'one-at-a-time': deliver one, wait for response. 'all': deliver all at once.\":\n\t\t\"{key} 会将后续消息排队直至 agent 停止。'one-at-a-time':每次送达一条,等待响应。'all':一次性全部送达。\",\n\tTransport: \"传输方式\",\n\t\"Preferred transport for providers that support multiple transports\": \"支持多种传输方式的 provider 的首选传输方式\",\n\t\"HTTP idle timeout\": \"HTTP 空闲超时\",\n\t\"Maximum idle gap while waiting for HTTP headers or body chunks. Disable for local models that pause longer than five minutes.\":\n\t\t\"等待 HTTP 头或正文分块时的最大空闲间隔。本地模型暂停超过五分钟时请禁用。\",\n\t\"Hide thinking\": \"隐藏思考\",\n\t\"Hide thinking blocks in assistant responses\": \"隐藏助手回复中的思考块\",\n\t\"Mermaid diagrams\": \"Mermaid 图表\",\n\t\"Render Mermaid code blocks as Unicode diagrams\": \"将 Mermaid 代码块渲染为 Unicode 图表\",\n\t\"Cache miss notices\": \"缓存未命中提示\",\n\t\"Show transcript notices for cache costs and provider recovery diagnostics\":\n\t\t\"显示缓存成本与 provider 恢复诊断的会话记录提示\",\n\t\"Collapse changelog\": \"折叠更新日志\",\n\t\"Show condensed changelog after updates\": \"更新后显示精简版更新日志\",\n\t\"Quiet startup\": \"安静启动\",\n\t\"Disable verbose printing at startup\": \"禁用启动时的详细输出\",\n\t\"Double-escape action\": \"双击 Escape 动作\",\n\t\"Action when pressing Escape twice with empty editor\": \"编辑器为空时连按两次 Escape 执行的动作\",\n\t\"Interface language\": \"界面语言\",\n\t\"Language for UI text; takes effect immediately\": \"界面文本语言,立即生效\",\n\t\"Tree filter mode\": \"树视图过滤模式\",\n\t\"Default filter when opening /tree\": \"打开 /tree 时的默认过滤器\",\n\tWarnings: \"警告\",\n\t\"Enable or disable individual warnings\": \"启用或禁用各项警告\",\n\tconfigure: \"配置\",\n\t\"Default thinking level per model\": \"各模型默认思考级别\",\n\t\"Override the default thinking level for specific models. {key} cycles in-session.\":\n\t\t\"为特定模型覆盖默认思考级别。{key} 可在会话内循环切换。\",\n\t\"Per-Model Thinking Level\": \"各模型思考级别\",\n\t\"Select a model to configure\": \"选择要配置的模型\",\n\t\"No models available\": \"无可用模型\",\n\t\"Log in to a provider or configure an API key first\": \"请先登录 provider 或配置 API key\",\n\t\"Thinking Level for {model}\": \"{model} 的思考级别\",\n\t\"Select default thinking level for this model\": \"选择该模型的默认思考级别\",\n\t\"(clear override)\": \"(清除覆盖)\",\n\t\"Revert to global default ({level})\": \"恢复全局默认({level})\",\n\t\"TUI mode\": \"TUI 模式\",\n\t\"Interface layout; fullscreen mode is experimental\": \"界面布局;全屏模式为实验性\",\n\t\"Fullscreen exit output\": \"全屏退出输出\",\n\t\"Print the transcript or only a session resume hint when exiting fullscreen mode\":\n\t\t\"退出全屏模式时打印完整会话记录或仅打印会话恢复提示\",\n\t\"Fullscreen scrollbar\": \"全屏滚动条\",\n\t\"Scrollbar behavior in fullscreen mode; has no effect in regular mode\": \"全屏模式下的滚动条行为;常规模式下无效\",\n\t\"Fullscreen copy on select\": \"全屏选中即复制\",\n\t\"Automatically copy selected text in fullscreen mode; disable to copy selections with Ctrl+X\":\n\t\t\"全屏模式下自动复制选中文本;禁用后用 Ctrl+X 复制所选内容\",\n\t\"Fullscreen wheel scroll lines\": \"全屏滚轮滚动行数\",\n\t\"Lines scrolled per wheel event in fullscreen mode; auto accelerates with scroll speed\":\n\t\t\"全屏模式下每个滚轮事件滚动的行数;auto 随滚动速度加速\",\n\t\"Color theme for the interface\": \"界面配色主题\",\n\t\"Show images\": \"显示图片\",\n\t\"Render images inline in terminal\": \"在终端内联渲染图片\",\n\t\"Image width\": \"图片宽度\",\n\t\"Preferred inline image width in terminal cells\": \"首选的内联图片宽度(终端单元格)\",\n\t\"Auto-resize images\": \"自动缩放图片\",\n\t\"Resize large images to 2000x2000 max for better model compatibility\": \"将大图缩放至最大 2000x2000 以提升模型兼容性\",\n\t\"Block images\": \"阻止图片\",\n\t\"Prevent images from being sent to LLM providers\": \"阻止图片发送给 LLM provider\",\n\t\"Show hardware cursor\": \"显示硬件光标\",\n\t\"Show the terminal cursor while still positioning it for IME support\": \"显示终端光标,同时保持其定位以支持输入法\",\n\t\"Editor padding\": \"编辑器内边距\",\n\t\"Horizontal padding for input editor (0-3)\": \"输入编辑器的水平内边距(0-3)\",\n\t\"Output padding\": \"输出内边距\",\n\t\"Horizontal padding for user messages, assistant messages, and thinking\": \"用户消息、助手消息与思考内容的水平内边距\",\n\t\"Autocomplete max items\": \"自动补全最大条目数\",\n\t\"Max visible items in autocomplete dropdown (3-20)\": \"自动补全下拉菜单可见的最大条目数(3-20)\",\n\t\"Clear on shrink\": \"收缩时清屏\",\n\t\"Clear empty rows when content shrinks (may cause flicker)\": \"内容收缩时清除空行(可能导致闪烁)\",\n\t\"Terminal progress\": \"终端进度\",\n\t\"Show OSC 9;4 progress indicators in the terminal tab bar\": \"在终端标签栏显示 OSC 9;4 进度指示\",\n\n\t// ---- session-selector ----\n\t\"Resume Session (Current Folder)\": \"恢复会话(当前文件夹)\",\n\t\"Resume Session (All)\": \"恢复会话(全部)\",\n\t\"Resume Session (All Suites)\": \"恢复会话(所有 Suite)\",\n\t\"Resume Session (Suite: {suite})\": \"恢复会话(Suite:{suite})\",\n\tThreaded: \"线程式\",\n\tRecent: \"最近\",\n\tFuzzy: \"模糊\",\n\t\"Sort:\": \"排序:\",\n\tAll: \"全部\",\n\tNamed: \"已命名\",\n\t\"Name:\": \"名称:\",\n\t\"○ Current Folder\": \"○ 当前文件夹\",\n\t\"Loading {progress}\": \"加载中 {progress}\",\n\t\"◉ Current Folder\": \"◉ 当前文件夹\",\n\t\"○ All\": \"○ 全部\",\n\t\"◉ All\": \"◉ 全部\",\n\t\"Delete session? {confirm} · {cancel}\": \"删除会话?{confirm} · {cancel}\",\n\tconfirm: \"确认\",\n\tcancel: \"取消\",\n\t\"path (on)\": \"路径 (开)\",\n\t\"path (off)\": \"路径 (关)\",\n\tscope: \"范围\",\n\t're:<pattern> regex · \"phrase\" exact': 're:<模式> 正则 · \"词组\" 精确',\n\tsort: \"排序\",\n\tnamed: \"命名过滤\",\n\tdelete: \"删除\",\n\trename: \"重命名\",\n\t\"Cannot delete the currently active session\": \"无法删除当前活动会话\",\n\t\"No named sessions found. Press {key} to show all.\": \"未找到已命名会话。按 {key} 显示全部。\",\n\t\"No named sessions in current folder. Press {key} to show all, or Tab to view all.\":\n\t\t\"当前文件夹无已命名会话。按 {key} 显示全部,或按 Tab 查看全部。\",\n\t\"No sessions found\": \"未找到会话\",\n\t\"No sessions in current folder. Press Tab to view all.\": \"当前文件夹无会话。按 Tab 查看全部。\",\n\t\"Show sessions from all suites\": \"显示所有 suite 的会话\",\n\t\"Show current suite sessions only\": \"仅显示当前 suite 的会话\",\n\t\"Session moved to trash\": \"会话已移入回收站\",\n\t\"Session deleted\": \"会话已删除\",\n\t\"Unknown error\": \"未知错误\",\n\t\"Failed to delete: {error}\": \"删除失败:{error}\",\n\t\"Rename Session\": \"重命名会话\",\n\t\"{confirm} to save · {cancel} to cancel\": \"{confirm} 保存 · {cancel} 取消\",\n\t\"Failed to load sessions: {message}\": \"加载会话失败:{message}\",\n\n\t// ---- config-selector ----\n\tSkills: \"技能\",\n\tPrompts: \"提示词\",\n\tThemes: \"主题\",\n\t\"User ({dir})\": \"用户({dir})\",\n\t\"Project ({dir})\": \"项目({dir})\",\n\t\"User settings\": \"用户设置\",\n\t\"Project settings\": \"项目设置\",\n\t\"Project Local Resources\": \"项目本地资源\",\n\t\"Global Resources\": \"全局资源\",\n\t\"switch mode\": \"切换模式\",\n\t\"cycle inherit/+/-\": \"循环 继承/+/-\",\n\ttoggle: \"切换\",\n\tclose: \"关闭\",\n\t\"{config}/settings.json · inherited global resources are dimmed\":\n\t\t\"{config}/settings.json · 继承的全局资源以暗色显示\",\n\t\"No resources found\": \"未找到资源\",\n\t\"inherited global\": \"继承自全局\",\n\t\"project load\": \"项目加载\",\n\t\"project unload\": \"项目卸载\",\n\n\t// ---- model-selector / scoped-models-selector / thinking-selector ----\n\t\"Model Configuration\": \"模型配置\",\n\t\"Session-only. {key} to save to settings.\": \"仅本次会话生效。按 {key} 保存到设置。\",\n\t\"all enabled\": \"全部已启用\",\n\t\"{enabled}/{total} enabled\": \"已启用 {enabled}/{total}\",\n\t\"{count} unavailable\": \"{count} 个不可用\",\n\tall: \"全部\",\n\tclear: \"清空\",\n\treorder: \"排序\",\n\tsave: \"保存\",\n\t\"(unsaved)\": \"(未保存)\",\n\t\"No matching models\": \"没有匹配的模型\",\n\t\"[unavailable]\": \"[不可用]\",\n\t\"Model Name: {name}\": \"模型名称:{name}\",\n\t\"Model unavailable\": \"模型不可用\",\n\t\"Refreshing model catalogs…\": \"正在刷新模型目录…\",\n\t\"Only showing models from configured providers. Use /login to add providers.\":\n\t\t\"仅显示已配置 provider 的模型。使用 /login 添加 provider。\",\n\t\"{confirm} to select · {save} to set as default · {cancel} to cancel\":\n\t\t\"{confirm} 选择 · {save} 设为默认 · {cancel} 取消\",\n\t\"Model refresh timed out; showing cached models.\": \"模型刷新超时;显示缓存模型。\",\n\t\"Could not refresh {provider}; showing cached models.\": \"无法刷新 {provider};显示缓存的模型。\",\n\t\"Could not refresh {count} model catalogs ({providers}); showing cached models.\":\n\t\t\"无法刷新 {count} 个模型目录({providers});显示缓存的模型。\",\n\t\"Model catalogs refreshed.\": \"模型目录已刷新。\",\n\t\"Could not refresh model catalogs: {error}\": \"无法刷新模型目录:{error}\",\n\tscoped: \"会话内\",\n\t\"Scope:\": \"范围:\",\n\t\"(all/scoped)\": \"(全部/会话内)\",\n\tdefault: \"默认\",\n\t\"Thinking Level\": \"思考级别\",\n\t\"{key} sets thinking level\": \"{key} 设置思考级别\",\n\n\t// ---- oauth-selector / login-dialog ----\n\tsubscription: \"订阅\",\n\t\"Select provider to configure:\": \"选择要配置的 provider:\",\n\t\"Select provider to logout:\": \"选择要登出的 provider:\",\n\t\"No providers available\": \"无可用 provider\",\n\t\"No providers logged in. Use /login first.\": \"没有已登录的 provider。请先使用 /login。\",\n\t\"No matching providers\": \"没有匹配的 provider\",\n\tunconfigured: \"未配置\",\n\t\"subscription configured\": \"已配置订阅\",\n\t\"API key configured\": \"已配置 API key\",\n\t\"API key\": \"API key\",\n\tconfigured: \"已配置\",\n\t\"env: {source}\": \"环境变量:{source}\",\n\t\"Login to {provider}\": \"登录 {provider}\",\n\t\"Login cancelled\": \"登录已取消\",\n\t\"Cmd+click to open\": \"Cmd+点击打开\",\n\t\"Ctrl+click to open\": \"Ctrl+点击打开\",\n\t\"Enter code: {code}\": \"输入代码:{code}\",\n\t\"to cancel\": \"取消\",\n\t\"e.g., {placeholder}\": \"例如,{placeholder}\",\n\t\"to cancel,\": \"取消,\",\n\t\"to submit\": \"提交\",\n\t\"to close\": \"关闭\",\n\n\t// ---- first-time-setup ----\n\t\"Welcome to {name}, the minimal coding agent.\": \"欢迎使用 {name},极简编码 agent。\",\n\t\"Pick a theme.\": \"选择一个主题。\",\n\t\"Detected system appearance: {theme}\": \"检测到系统外观:{theme}\",\n\t\"Opt-in to anonymous usage data sharing?\": \"是否加入匿名使用数据分享?\",\n\t\"Opting in stores a tracking identifier in settings.json and enables anonymous\\nusage analytics. This helps us to better debug, reproduce, and resolve issues\\nand bugs within Agent Forge. You can observe what is shared using /privacy and make\\nchanges anytime in settings.json.\":\n\t\t\"选择加入后会在 settings.json 中存储一个追踪标识符,并启用匿名使用分析。\\n这有助于我们更好地调试、复现并解决 Agent Forge 中的问题与缺陷。\\n你可以使用 /privacy 查看所分享的内容,并可随时在 settings.json 中更改。\",\n\tDark: \"深色\",\n\tLight: \"浅色\",\n\t\"Share anonymous usage data\": \"分享匿名使用数据\",\n\t\"Don't share\": \"不分享\",\n\tnavigate: \"导航\",\n\tcontinue: \"继续\",\n\tfinish: \"完成\",\n\t\"skip setup\": \"跳过设置\",\n\n\t// ---- plugin-manager-entry / plugin-selection-entry ----\n\t\"catalog {count}\": \"目录 {count}\",\n\t\"catalog unavailable\": \"目录不可用\",\n\t\", bounded\": \",已截断\",\n\t\"Plugin manager · {state}{bounded} · Enter open\": \"插件管理器 · {state}{bounded} · Enter 打开\",\n\t\"Plugin manager\": \"插件管理器\",\n\t\"Working…\": \"处理中…\",\n\t\"Confirm {action} {plugin}@{version}? Enter confirm · Esc cancel\":\n\t\t\"确认{action} {plugin}@{version}?Enter 确认 · Esc 取消\",\n\t\"Error: {code}\": \"错误:{code}\",\n\t\"No plugins available\": \"无可用插件\",\n\t\"installed {version}\": \"已安装 {version}\",\n\t\"Action: {action} · Tab switch action · Enter confirm\": \"操作:{action} · Tab 切换操作 · Enter 确认\",\n\t\"Selected plugin is unavailable\": \"所选插件不可用\",\n\t\"(list bounded)\": \"(列表已截断)\",\n\t\"↑↓ navigate · Esc close\": \"↑↓ 导航 · Esc 关闭\",\n\t\"Plugins: unsupported (host selection entry not injected)\": \"插件:不支持(宿主选择入口未注入)\",\n\t\"Plugins · {profile}\": \"插件 · {profile}\",\n\t\"Enter/Space toggle · Esc close\": \"Enter/空格 切换 · Esc 关闭\",\n\t\"selected {selected}, disabled {disabled}\": \"已选 {selected},已禁用 {disabled}\",\n\t\"selection pending\": \"选择待定\",\n\t\"selection not loaded\": \"选择未加载\",\n\t\"catalog {count} ({ready} ready, {unavailable} unavailable)\": \"目录 {count}({ready} 就绪,{unavailable} 不可用)\",\n\t\"host store\": \"宿主存储\",\n\t\"open via host callback\": \"经宿主回调打开\",\n\t\"Plugins: profile {profile} · {selection} · {catalog} · {suffix}\":\n\t\t\"插件:配置文件 {profile} · {selection} · {catalog} · {suffix}\",\n\n\t// ---- tree-selector / tree-list ----\n\t\"Type to search:\": \"输入以搜索:\",\n\tmove: \"移动\",\n\tpage: \"翻页\",\n\tbranch: \"分支\",\n\tcopy: \"复制\",\n\tlabel: \"标签\",\n\t\"label time\": \"标签时间\",\n\tfilters: \"过滤器\",\n\tcycle: \"循环\",\n\t\"Label (empty to remove):\": \"标签(留空移除):\",\n\t\"Session Tree\": \"会话树\",\n\t\"[no-tools]\": \"[无工具]\",\n\t\"[user]\": \"[用户]\",\n\t\"[labeled]\": \"[已标注]\",\n\t\"[all]\": \"[全部]\",\n\t\"[+label time]\": \"[+标签时间]\",\n\t\"No entries found\": \"未找到条目\",\n};\n"]}
@@ -100,8 +100,6 @@ export const tuiComponentsSelectors = {
100
100
  "Resize large images to 2000x2000 max for better model compatibility": "将大图缩放至最大 2000x2000 以提升模型兼容性",
101
101
  "Block images": "阻止图片",
102
102
  "Prevent images from being sent to LLM providers": "阻止图片发送给 LLM provider",
103
- "Skill commands": "Skill 命令",
104
- "Register skills as /skill:name commands": "将 skill 注册为 /skill:name 命令",
105
103
  "Show hardware cursor": "显示硬件光标",
106
104
  "Show the terminal cursor while still positioning it for IME support": "显示终端光标,同时保持其定位以支持输入法",
107
105
  "Editor padding": "编辑器内边距",