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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (665) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README.md +8 -9
  3. package/dist/artifacts/artifact-store.d.ts.map +1 -1
  4. package/dist/artifacts/artifact-store.js +9 -5
  5. package/dist/artifacts/artifact-store.js.map +1 -1
  6. package/dist/bundle/.build-manifest.json +410 -371
  7. package/dist/bundle/chunks/{chunk-A7GUOX2H.js → chunk-6ZKDNZHA.js} +5 -1
  8. package/dist/bundle/chunks/chunk-BFC2BDVJ.js +13 -0
  9. package/dist/bundle/chunks/chunk-MOHOLL3F.js +1456 -0
  10. package/dist/bundle/chunks/image-resize-worker.js +12 -1
  11. package/dist/bundle/chunks/{virtual-modules-3IZ4MYSQ.js → virtual-modules-KZ5DRH7Q.js} +1 -1
  12. package/dist/bundle/cli.js +1 -1
  13. package/dist/bundle/client.js +1 -1
  14. package/dist/bundle/index.js +2 -2
  15. package/dist/bundle/rpc-entry.js +1 -1
  16. package/dist/cli/args.d.ts.map +1 -1
  17. package/dist/cli/args.js +231 -185
  18. package/dist/cli/args.js.map +1 -1
  19. package/dist/cli/auth-check.d.ts.map +1 -1
  20. package/dist/cli/auth-check.js +3 -2
  21. package/dist/cli/auth-check.js.map +1 -1
  22. package/dist/cli/auth-command.d.ts.map +1 -1
  23. package/dist/cli/auth-command.js +15 -9
  24. package/dist/cli/auth-command.js.map +1 -1
  25. package/dist/cli/credential-print.d.ts.map +1 -1
  26. package/dist/cli/credential-print.js +14 -7
  27. package/dist/cli/credential-print.js.map +1 -1
  28. package/dist/cli/experimental/command.d.ts.map +1 -1
  29. package/dist/cli/experimental/command.js +6 -5
  30. package/dist/cli/experimental/command.js.map +1 -1
  31. package/dist/cli/list-models.d.ts.map +1 -1
  32. package/dist/cli/list-models.js +9 -8
  33. package/dist/cli/list-models.js.map +1 -1
  34. package/dist/cli/plugin-manager-controller.d.ts.map +1 -1
  35. package/dist/cli/plugin-manager-controller.js +2 -1
  36. package/dist/cli/plugin-manager-controller.js.map +1 -1
  37. package/dist/cli/serve.d.ts.map +1 -1
  38. package/dist/cli/serve.js +8 -5
  39. package/dist/cli/serve.js.map +1 -1
  40. package/dist/client/remote-session.d.ts.map +1 -1
  41. package/dist/client/remote-session.js +16 -9
  42. package/dist/client/remote-session.js.map +1 -1
  43. package/dist/config.d.ts.map +1 -1
  44. package/dist/config.js +2 -1
  45. package/dist/config.js.map +1 -1
  46. package/dist/core/agent-capability-contract.d.ts +0 -7
  47. package/dist/core/agent-capability-contract.d.ts.map +1 -1
  48. package/dist/core/agent-capability-contract.js +72 -68
  49. package/dist/core/agent-capability-contract.js.map +1 -1
  50. package/dist/core/agent-session-bash.d.ts.map +1 -1
  51. package/dist/core/agent-session-bash.js +5 -4
  52. package/dist/core/agent-session-bash.js.map +1 -1
  53. package/dist/core/agent-session-compaction.d.ts.map +1 -1
  54. package/dist/core/agent-session-compaction.js +28 -22
  55. package/dist/core/agent-session-compaction.js.map +1 -1
  56. package/dist/core/agent-session-context.d.ts.map +1 -1
  57. package/dist/core/agent-session-context.js +18 -13
  58. package/dist/core/agent-session-context.js.map +1 -1
  59. package/dist/core/agent-session-model.d.ts.map +1 -1
  60. package/dist/core/agent-session-model.js +2 -1
  61. package/dist/core/agent-session-model.js.map +1 -1
  62. package/dist/core/agent-session-retry.d.ts.map +1 -1
  63. package/dist/core/agent-session-retry.js +3 -2
  64. package/dist/core/agent-session-retry.js.map +1 -1
  65. package/dist/core/agent-session-runtime.d.ts.map +1 -1
  66. package/dist/core/agent-session-runtime.js +7 -6
  67. package/dist/core/agent-session-runtime.js.map +1 -1
  68. package/dist/core/agent-session-services.d.ts +1 -1
  69. package/dist/core/agent-session-services.d.ts.map +1 -1
  70. package/dist/core/agent-session-services.js.map +1 -1
  71. package/dist/core/agent-session-tools.d.ts.map +1 -1
  72. package/dist/core/agent-session-tools.js +3 -2
  73. package/dist/core/agent-session-tools.js.map +1 -1
  74. package/dist/core/agent-session.d.ts +40 -2
  75. package/dist/core/agent-session.d.ts.map +1 -1
  76. package/dist/core/agent-session.js +142 -34
  77. package/dist/core/agent-session.js.map +1 -1
  78. package/dist/core/auth-guidance.d.ts.map +1 -1
  79. package/dist/core/auth-guidance.js +11 -5
  80. package/dist/core/auth-guidance.js.map +1 -1
  81. package/dist/core/auth-storage.d.ts.map +1 -1
  82. package/dist/core/auth-storage.js +9 -6
  83. package/dist/core/auth-storage.js.map +1 -1
  84. package/dist/core/compaction/compaction.d.ts.map +1 -1
  85. package/dist/core/compaction/compaction.js +2 -1
  86. package/dist/core/compaction/compaction.js.map +1 -1
  87. package/dist/core/embedded-sdk.d.ts.map +1 -1
  88. package/dist/core/embedded-sdk.js +10 -6
  89. package/dist/core/embedded-sdk.js.map +1 -1
  90. package/dist/core/export-html/index.d.ts.map +1 -1
  91. package/dist/core/export-html/index.js +9 -4
  92. package/dist/core/export-html/index.js.map +1 -1
  93. package/dist/core/extensions/agent-composition.d.ts.map +1 -1
  94. package/dist/core/extensions/agent-composition.js +26 -19
  95. package/dist/core/extensions/agent-composition.js.map +1 -1
  96. package/dist/core/extensions/bootstrap-agent-loop.d.ts.map +1 -1
  97. package/dist/core/extensions/bootstrap-agent-loop.js +3 -2
  98. package/dist/core/extensions/bootstrap-agent-loop.js.map +1 -1
  99. package/dist/core/extensions/bootstrap-lifecycle.d.ts.map +1 -1
  100. package/dist/core/extensions/bootstrap-lifecycle.js +20 -17
  101. package/dist/core/extensions/bootstrap-lifecycle.js.map +1 -1
  102. package/dist/core/extensions/bootstrap-overflow-policy.d.ts.map +1 -1
  103. package/dist/core/extensions/bootstrap-overflow-policy.js +2 -1
  104. package/dist/core/extensions/bootstrap-overflow-policy.js.map +1 -1
  105. package/dist/core/extensions/bootstrap-retry-policy.d.ts.map +1 -1
  106. package/dist/core/extensions/bootstrap-retry-policy.js +2 -1
  107. package/dist/core/extensions/bootstrap-retry-policy.js.map +1 -1
  108. package/dist/core/extensions/bootstrap-skills.d.ts.map +1 -1
  109. package/dist/core/extensions/bootstrap-skills.js +7 -6
  110. package/dist/core/extensions/bootstrap-skills.js.map +1 -1
  111. package/dist/core/extensions/bootstrap-tools.d.ts.map +1 -1
  112. package/dist/core/extensions/bootstrap-tools.js +2 -1
  113. package/dist/core/extensions/bootstrap-tools.js.map +1 -1
  114. package/dist/core/extensions/capability-plugin.d.ts.map +1 -1
  115. package/dist/core/extensions/capability-plugin.js +37 -13
  116. package/dist/core/extensions/capability-plugin.js.map +1 -1
  117. package/dist/core/extensions/capability-runtime-events.d.ts.map +1 -1
  118. package/dist/core/extensions/capability-runtime-events.js +17 -13
  119. package/dist/core/extensions/capability-runtime-events.js.map +1 -1
  120. package/dist/core/extensions/capability-runtime-guards.d.ts.map +1 -1
  121. package/dist/core/extensions/capability-runtime-guards.js +16 -15
  122. package/dist/core/extensions/capability-runtime-guards.js.map +1 -1
  123. package/dist/core/extensions/capability-runtime-manifest.d.ts.map +1 -1
  124. package/dist/core/extensions/capability-runtime-manifest.js +52 -30
  125. package/dist/core/extensions/capability-runtime-manifest.js.map +1 -1
  126. package/dist/core/extensions/capability-runtime-validation.d.ts.map +1 -1
  127. package/dist/core/extensions/capability-runtime-validation.js +66 -65
  128. package/dist/core/extensions/capability-runtime-validation.js.map +1 -1
  129. package/dist/core/extensions/capability-runtime.d.ts.map +1 -1
  130. package/dist/core/extensions/capability-runtime.js +147 -127
  131. package/dist/core/extensions/capability-runtime.js.map +1 -1
  132. package/dist/core/extensions/compaction-memory-failure-mode.d.ts.map +1 -1
  133. package/dist/core/extensions/compaction-memory-failure-mode.js +3 -2
  134. package/dist/core/extensions/compaction-memory-failure-mode.js.map +1 -1
  135. package/dist/core/extensions/context-strategy-binding.d.ts.map +1 -1
  136. package/dist/core/extensions/context-strategy-binding.js +7 -4
  137. package/dist/core/extensions/context-strategy-binding.js.map +1 -1
  138. package/dist/core/extensions/lifecycle-catalog.d.ts.map +1 -1
  139. package/dist/core/extensions/lifecycle-catalog.js +290 -279
  140. package/dist/core/extensions/lifecycle-catalog.js.map +1 -1
  141. package/dist/core/extensions/lifecycle-delivery-queue.d.ts.map +1 -1
  142. package/dist/core/extensions/lifecycle-delivery-queue.js +3 -2
  143. package/dist/core/extensions/lifecycle-delivery-queue.js.map +1 -1
  144. package/dist/core/facade/coding-agent-facade.d.ts +6 -0
  145. package/dist/core/facade/coding-agent-facade.d.ts.map +1 -1
  146. package/dist/core/facade/coding-agent-facade.js +2 -0
  147. package/dist/core/facade/coding-agent-facade.js.map +1 -1
  148. package/dist/core/http-dispatcher.d.ts.map +1 -1
  149. package/dist/core/http-dispatcher.js +2 -1
  150. package/dist/core/http-dispatcher.js.map +1 -1
  151. package/dist/core/i18n/index.d.ts +14 -0
  152. package/dist/core/i18n/index.d.ts.map +1 -0
  153. package/dist/core/i18n/index.js +67 -0
  154. package/dist/core/i18n/index.js.map +1 -0
  155. package/dist/core/i18n/locales/en/example.d.ts +7 -0
  156. package/dist/core/i18n/locales/en/example.d.ts.map +1 -0
  157. package/dist/core/i18n/locales/en/example.js +7 -0
  158. package/dist/core/i18n/locales/en/example.js.map +1 -0
  159. package/dist/core/i18n/locales/zh-cn/cli.d.ts +8 -0
  160. package/dist/core/i18n/locales/zh-cn/cli.d.ts.map +1 -0
  161. package/dist/core/i18n/locales/zh-cn/cli.js +227 -0
  162. package/dist/core/i18n/locales/zh-cn/cli.js.map +1 -0
  163. package/dist/core/i18n/locales/zh-cn/common.d.ts +6 -0
  164. package/dist/core/i18n/locales/zh-cn/common.d.ts.map +1 -0
  165. package/dist/core/i18n/locales/zh-cn/common.js +6 -0
  166. package/dist/core/i18n/locales/zh-cn/common.js.map +1 -0
  167. package/dist/core/i18n/locales/zh-cn/core-contract-core.d.ts +13 -0
  168. package/dist/core/i18n/locales/zh-cn/core-contract-core.d.ts.map +1 -0
  169. package/dist/core/i18n/locales/zh-cn/core-contract-core.js +173 -0
  170. package/dist/core/i18n/locales/zh-cn/core-contract-core.js.map +1 -0
  171. package/dist/core/i18n/locales/zh-cn/core-contract-extensions.d.ts +12 -0
  172. package/dist/core/i18n/locales/zh-cn/core-contract-extensions.d.ts.map +1 -0
  173. package/dist/core/i18n/locales/zh-cn/core-contract-extensions.js +582 -0
  174. package/dist/core/i18n/locales/zh-cn/core-contract-extensions.js.map +1 -0
  175. package/dist/core/i18n/locales/zh-cn/core-contract-final.d.ts +9 -0
  176. package/dist/core/i18n/locales/zh-cn/core-contract-final.d.ts.map +1 -0
  177. package/dist/core/i18n/locales/zh-cn/core-contract-final.js +55 -0
  178. package/dist/core/i18n/locales/zh-cn/core-contract-final.js.map +1 -0
  179. package/dist/core/i18n/locales/zh-cn/core-contract-plugins.d.ts +11 -0
  180. package/dist/core/i18n/locales/zh-cn/core-contract-plugins.d.ts.map +1 -0
  181. package/dist/core/i18n/locales/zh-cn/core-contract-plugins.js +455 -0
  182. package/dist/core/i18n/locales/zh-cn/core-contract-plugins.js.map +1 -0
  183. package/dist/core/i18n/locales/zh-cn/core-errors.d.ts +9 -0
  184. package/dist/core/i18n/locales/zh-cn/core-errors.d.ts.map +1 -0
  185. package/dist/core/i18n/locales/zh-cn/core-errors.js +191 -0
  186. package/dist/core/i18n/locales/zh-cn/core-errors.js.map +1 -0
  187. package/dist/core/i18n/locales/zh-cn/example.d.ts +7 -0
  188. package/dist/core/i18n/locales/zh-cn/example.d.ts.map +1 -0
  189. package/dist/core/i18n/locales/zh-cn/example.js +10 -0
  190. package/dist/core/i18n/locales/zh-cn/example.js.map +1 -0
  191. package/dist/core/i18n/locales/zh-cn/index.d.ts +2 -0
  192. package/dist/core/i18n/locales/zh-cn/index.d.ts.map +1 -0
  193. package/dist/core/i18n/locales/zh-cn/index.js +41 -0
  194. package/dist/core/i18n/locales/zh-cn/index.js.map +1 -0
  195. package/dist/core/i18n/locales/zh-cn/interactive-mode.d.ts +10 -0
  196. package/dist/core/i18n/locales/zh-cn/interactive-mode.d.ts.map +1 -0
  197. package/dist/core/i18n/locales/zh-cn/interactive-mode.js +265 -0
  198. package/dist/core/i18n/locales/zh-cn/interactive-mode.js.map +1 -0
  199. package/dist/core/i18n/locales/zh-cn/keybindings.d.ts +11 -0
  200. package/dist/core/i18n/locales/zh-cn/keybindings.d.ts.map +1 -0
  201. package/dist/core/i18n/locales/zh-cn/keybindings.js +67 -0
  202. package/dist/core/i18n/locales/zh-cn/keybindings.js.map +1 -0
  203. package/dist/core/i18n/locales/zh-cn/slash-commands.d.ts +7 -0
  204. package/dist/core/i18n/locales/zh-cn/slash-commands.d.ts.map +1 -0
  205. package/dist/core/i18n/locales/zh-cn/slash-commands.js +39 -0
  206. package/dist/core/i18n/locales/zh-cn/slash-commands.js.map +1 -0
  207. package/dist/core/i18n/locales/zh-cn/tui-builtin.d.ts +10 -0
  208. package/dist/core/i18n/locales/zh-cn/tui-builtin.d.ts.map +1 -0
  209. package/dist/core/i18n/locales/zh-cn/tui-builtin.js +15 -0
  210. package/dist/core/i18n/locales/zh-cn/tui-builtin.js.map +1 -0
  211. package/dist/core/i18n/locales/zh-cn/tui-components-misc.d.ts +13 -0
  212. package/dist/core/i18n/locales/zh-cn/tui-components-misc.d.ts.map +1 -0
  213. package/dist/core/i18n/locales/zh-cn/tui-components-misc.js +102 -0
  214. package/dist/core/i18n/locales/zh-cn/tui-components-misc.js.map +1 -0
  215. package/dist/core/i18n/locales/zh-cn/tui-components-selectors.d.ts +12 -0
  216. package/dist/core/i18n/locales/zh-cn/tui-components-selectors.d.ts.map +1 -0
  217. package/dist/core/i18n/locales/zh-cn/tui-components-selectors.js +288 -0
  218. package/dist/core/i18n/locales/zh-cn/tui-components-selectors.js.map +1 -0
  219. package/dist/core/i18n/locales/zh-cn/tui-interactive-misc.d.ts +9 -0
  220. package/dist/core/i18n/locales/zh-cn/tui-interactive-misc.d.ts.map +1 -0
  221. package/dist/core/i18n/locales/zh-cn/tui-interactive-misc.js +79 -0
  222. package/dist/core/i18n/locales/zh-cn/tui-interactive-misc.js.map +1 -0
  223. package/dist/core/i18n/locales/zh-cn/tui-self-owned.d.ts +8 -0
  224. package/dist/core/i18n/locales/zh-cn/tui-self-owned.d.ts.map +1 -0
  225. package/dist/core/i18n/locales/zh-cn/tui-self-owned.js +72 -0
  226. package/dist/core/i18n/locales/zh-cn/tui-self-owned.js.map +1 -0
  227. package/dist/core/keybindings.d.ts +15 -0
  228. package/dist/core/keybindings.d.ts.map +1 -1
  229. package/dist/core/keybindings.js +18 -0
  230. package/dist/core/keybindings.js.map +1 -1
  231. package/dist/core/logger.d.ts.map +1 -1
  232. package/dist/core/logger.js +5 -1
  233. package/dist/core/logger.js.map +1 -1
  234. package/dist/core/model-registry.d.ts.map +1 -1
  235. package/dist/core/model-registry.js +2 -1
  236. package/dist/core/model-registry.js.map +1 -1
  237. package/dist/core/model-runtime.d.ts.map +1 -1
  238. package/dist/core/model-runtime.js +8 -4
  239. package/dist/core/model-runtime.js.map +1 -1
  240. package/dist/core/package-install-host.d.ts.map +1 -1
  241. package/dist/core/package-install-host.js +4 -3
  242. package/dist/core/package-install-host.js.map +1 -1
  243. package/dist/core/package-manager.d.ts.map +1 -1
  244. package/dist/core/package-manager.js +15 -10
  245. package/dist/core/package-manager.js.map +1 -1
  246. package/dist/core/package-resource-collection.d.ts.map +1 -1
  247. package/dist/core/package-resource-collection.js +2 -1
  248. package/dist/core/package-resource-collection.js.map +1 -1
  249. package/dist/core/package-source.d.ts.map +1 -1
  250. package/dist/core/package-source.js +3 -2
  251. package/dist/core/package-source.js.map +1 -1
  252. package/dist/core/provider-composer.d.ts.map +1 -1
  253. package/dist/core/provider-composer.js +22 -13
  254. package/dist/core/provider-composer.js.map +1 -1
  255. package/dist/core/remote-catalog-provider.d.ts.map +1 -1
  256. package/dist/core/remote-catalog-provider.js +6 -2
  257. package/dist/core/remote-catalog-provider.js.map +1 -1
  258. package/dist/core/resolve-config-value.d.ts.map +1 -1
  259. package/dist/core/resolve-config-value.js +15 -5
  260. package/dist/core/resolve-config-value.js.map +1 -1
  261. package/dist/core/sdk.d.ts +19 -5
  262. package/dist/core/sdk.d.ts.map +1 -1
  263. package/dist/core/sdk.js +74 -54
  264. package/dist/core/sdk.js.map +1 -1
  265. package/dist/core/session-cwd.d.ts.map +1 -1
  266. package/dist/core/session-cwd.js +5 -2
  267. package/dist/core/session-cwd.js.map +1 -1
  268. package/dist/core/session-export.d.ts.map +1 -1
  269. package/dist/core/session-export.js +2 -1
  270. package/dist/core/session-export.js.map +1 -1
  271. package/dist/core/session-manager.d.ts.map +1 -1
  272. package/dist/core/session-manager.js +39 -29
  273. package/dist/core/session-manager.js.map +1 -1
  274. package/dist/core/session-storage.d.ts.map +1 -1
  275. package/dist/core/session-storage.js +3 -3
  276. package/dist/core/session-storage.js.map +1 -1
  277. package/dist/core/settings-manager.d.ts +11 -0
  278. package/dist/core/settings-manager.d.ts.map +1 -1
  279. package/dist/core/settings-manager.js +27 -5
  280. package/dist/core/settings-manager.js.map +1 -1
  281. package/dist/core/slash-commands.d.ts.map +1 -1
  282. package/dist/core/slash-commands.js +53 -32
  283. package/dist/core/slash-commands.js.map +1 -1
  284. package/dist/core/system-prompt.d.ts.map +1 -1
  285. package/dist/core/system-prompt.js +25 -2
  286. package/dist/core/system-prompt.js.map +1 -1
  287. package/dist/core/tools/bash.d.ts.map +1 -1
  288. package/dist/core/tools/bash.js +11 -7
  289. package/dist/core/tools/bash.js.map +1 -1
  290. package/dist/core/tools/edit-diff.d.ts.map +1 -1
  291. package/dist/core/tools/edit-diff.js +9 -4
  292. package/dist/core/tools/edit-diff.js.map +1 -1
  293. package/dist/core/tools/edit.d.ts.map +1 -1
  294. package/dist/core/tools/edit.js +4 -3
  295. package/dist/core/tools/edit.js.map +1 -1
  296. package/dist/core/tools/index.d.ts.map +1 -1
  297. package/dist/core/tools/index.js +3 -2
  298. package/dist/core/tools/index.js.map +1 -1
  299. package/dist/core/tools/output-accumulator.d.ts.map +1 -1
  300. package/dist/core/tools/output-accumulator.js +2 -1
  301. package/dist/core/tools/output-accumulator.js.map +1 -1
  302. package/dist/core/tools/read.d.ts.map +1 -1
  303. package/dist/core/tools/read.js +6 -2
  304. package/dist/core/tools/read.js.map +1 -1
  305. package/dist/core/tools/write.d.ts.map +1 -1
  306. package/dist/core/tools/write.js +2 -1
  307. package/dist/core/tools/write.js.map +1 -1
  308. package/dist/durable/durable-service.d.ts.map +1 -1
  309. package/dist/durable/durable-service.js +25 -18
  310. package/dist/durable/durable-service.js.map +1 -1
  311. package/dist/host/checkpoint-commit.d.ts.map +1 -1
  312. package/dist/host/checkpoint-commit.js +2 -1
  313. package/dist/host/checkpoint-commit.js.map +1 -1
  314. package/dist/host/manual-compaction.d.ts.map +1 -1
  315. package/dist/host/manual-compaction.js +2 -1
  316. package/dist/host/manual-compaction.js.map +1 -1
  317. package/dist/host/output-projection.d.ts +0 -13
  318. package/dist/host/output-projection.d.ts.map +1 -1
  319. package/dist/host/output-projection.js +16 -2
  320. package/dist/host/output-projection.js.map +1 -1
  321. package/dist/host/summary-retry.d.ts.map +1 -1
  322. package/dist/host/summary-retry.js +3 -2
  323. package/dist/host/summary-retry.js.map +1 -1
  324. package/dist/main.d.ts.map +1 -1
  325. package/dist/main.js +94 -58
  326. package/dist/main.js.map +1 -1
  327. package/dist/modes/interactive/components/agents-view.d.ts.map +1 -1
  328. package/dist/modes/interactive/components/agents-view.js +18 -15
  329. package/dist/modes/interactive/components/agents-view.js.map +1 -1
  330. package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -1
  331. package/dist/modes/interactive/components/assistant-message.js +6 -5
  332. package/dist/modes/interactive/components/assistant-message.js.map +1 -1
  333. package/dist/modes/interactive/components/bash-execution.d.ts.map +1 -1
  334. package/dist/modes/interactive/components/bash-execution.js +12 -7
  335. package/dist/modes/interactive/components/bash-execution.js.map +1 -1
  336. package/dist/modes/interactive/components/bordered-loader.d.ts.map +1 -1
  337. package/dist/modes/interactive/components/bordered-loader.js +2 -1
  338. package/dist/modes/interactive/components/bordered-loader.js.map +1 -1
  339. package/dist/modes/interactive/components/branch-summary-message.d.ts.map +1 -1
  340. package/dist/modes/interactive/components/branch-summary-message.js +6 -5
  341. package/dist/modes/interactive/components/branch-summary-message.js.map +1 -1
  342. package/dist/modes/interactive/components/compaction-summary-message.d.ts.map +1 -1
  343. package/dist/modes/interactive/components/compaction-summary-message.js +9 -5
  344. package/dist/modes/interactive/components/compaction-summary-message.js.map +1 -1
  345. package/dist/modes/interactive/components/config-selector.d.ts.map +1 -1
  346. package/dist/modes/interactive/components/config-selector.js +18 -15
  347. package/dist/modes/interactive/components/config-selector.js.map +1 -1
  348. package/dist/modes/interactive/components/custom-entry.d.ts.map +1 -1
  349. package/dist/modes/interactive/components/custom-entry.js +2 -1
  350. package/dist/modes/interactive/components/custom-entry.js.map +1 -1
  351. package/dist/modes/interactive/components/dialog-editor.d.ts.map +1 -1
  352. package/dist/modes/interactive/components/dialog-editor.js +5 -4
  353. package/dist/modes/interactive/components/dialog-editor.js.map +1 -1
  354. package/dist/modes/interactive/components/dialog-input.d.ts.map +1 -1
  355. package/dist/modes/interactive/components/dialog-input.js +2 -1
  356. package/dist/modes/interactive/components/dialog-input.js.map +1 -1
  357. package/dist/modes/interactive/components/dialog-selector.d.ts.map +1 -1
  358. package/dist/modes/interactive/components/dialog-selector.js +4 -3
  359. package/dist/modes/interactive/components/dialog-selector.js.map +1 -1
  360. package/dist/modes/interactive/components/first-time-setup.d.ts.map +1 -1
  361. package/dist/modes/interactive/components/first-time-setup.js +11 -10
  362. package/dist/modes/interactive/components/first-time-setup.js.map +1 -1
  363. package/dist/modes/interactive/components/footer.d.ts.map +1 -1
  364. package/dist/modes/interactive/components/footer.js +7 -4
  365. package/dist/modes/interactive/components/footer.js.map +1 -1
  366. package/dist/modes/interactive/components/index.d.ts +1 -0
  367. package/dist/modes/interactive/components/index.d.ts.map +1 -1
  368. package/dist/modes/interactive/components/index.js +1 -0
  369. package/dist/modes/interactive/components/index.js.map +1 -1
  370. package/dist/modes/interactive/components/keybinding-hints.d.ts.map +1 -1
  371. package/dist/modes/interactive/components/keybinding-hints.js +3 -2
  372. package/dist/modes/interactive/components/keybinding-hints.js.map +1 -1
  373. package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -1
  374. package/dist/modes/interactive/components/login-dialog.js +12 -11
  375. package/dist/modes/interactive/components/login-dialog.js.map +1 -1
  376. package/dist/modes/interactive/components/mermaid.d.ts.map +1 -1
  377. package/dist/modes/interactive/components/mermaid.js +6 -2
  378. package/dist/modes/interactive/components/mermaid.js.map +1 -1
  379. package/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
  380. package/dist/modes/interactive/components/model-selector.js +28 -16
  381. package/dist/modes/interactive/components/model-selector.js.map +1 -1
  382. package/dist/modes/interactive/components/oauth-selector.d.ts.map +1 -1
  383. package/dist/modes/interactive/components/oauth-selector.js +10 -9
  384. package/dist/modes/interactive/components/oauth-selector.js.map +1 -1
  385. package/dist/modes/interactive/components/plugin-manager-entry.d.ts.map +1 -1
  386. package/dist/modes/interactive/components/plugin-manager-entry.js +22 -13
  387. package/dist/modes/interactive/components/plugin-manager-entry.js.map +1 -1
  388. package/dist/modes/interactive/components/plugin-selection-entry.d.ts.map +1 -1
  389. package/dist/modes/interactive/components/plugin-selection-entry.js +27 -12
  390. package/dist/modes/interactive/components/plugin-selection-entry.js.map +1 -1
  391. package/dist/modes/interactive/components/queue-manager-selector.d.ts +60 -0
  392. package/dist/modes/interactive/components/queue-manager-selector.d.ts.map +1 -0
  393. package/dist/modes/interactive/components/queue-manager-selector.js +166 -0
  394. package/dist/modes/interactive/components/queue-manager-selector.js.map +1 -0
  395. package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -1
  396. package/dist/modes/interactive/components/scoped-models-selector.js +16 -14
  397. package/dist/modes/interactive/components/scoped-models-selector.js.map +1 -1
  398. package/dist/modes/interactive/components/session-selector.d.ts.map +1 -1
  399. package/dist/modes/interactive/components/session-selector.js +43 -31
  400. package/dist/modes/interactive/components/session-selector.js.map +1 -1
  401. package/dist/modes/interactive/components/settings-selector.d.ts +2 -0
  402. package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
  403. package/dist/modes/interactive/components/settings-selector.js +113 -96
  404. package/dist/modes/interactive/components/settings-selector.js.map +1 -1
  405. package/dist/modes/interactive/components/settings-submenu.d.ts.map +1 -1
  406. package/dist/modes/interactive/components/settings-submenu.js +5 -4
  407. package/dist/modes/interactive/components/settings-submenu.js.map +1 -1
  408. package/dist/modes/interactive/components/show-images-selector.d.ts.map +1 -1
  409. package/dist/modes/interactive/components/show-images-selector.js +3 -2
  410. package/dist/modes/interactive/components/show-images-selector.js.map +1 -1
  411. package/dist/modes/interactive/components/skill-invocation-message.d.ts.map +1 -1
  412. package/dist/modes/interactive/components/skill-invocation-message.js +4 -3
  413. package/dist/modes/interactive/components/skill-invocation-message.js.map +1 -1
  414. package/dist/modes/interactive/components/status-indicator.d.ts.map +1 -1
  415. package/dist/modes/interactive/components/status-indicator.js +14 -5
  416. package/dist/modes/interactive/components/status-indicator.js.map +1 -1
  417. package/dist/modes/interactive/components/theme-selector.d.ts.map +1 -1
  418. package/dist/modes/interactive/components/theme-selector.js +2 -1
  419. package/dist/modes/interactive/components/theme-selector.js.map +1 -1
  420. package/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -1
  421. package/dist/modes/interactive/components/thinking-selector.js +11 -4
  422. package/dist/modes/interactive/components/thinking-selector.js.map +1 -1
  423. package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
  424. package/dist/modes/interactive/components/tool-execution.js +8 -3
  425. package/dist/modes/interactive/components/tool-execution.js.map +1 -1
  426. package/dist/modes/interactive/components/tree-list.d.ts.map +1 -1
  427. package/dist/modes/interactive/components/tree-list.js +7 -6
  428. package/dist/modes/interactive/components/tree-list.js.map +1 -1
  429. package/dist/modes/interactive/components/tree-render.d.ts.map +1 -1
  430. package/dist/modes/interactive/components/tree-render.js +28 -23
  431. package/dist/modes/interactive/components/tree-render.js.map +1 -1
  432. package/dist/modes/interactive/components/tree-selector.d.ts.map +1 -1
  433. package/dist/modes/interactive/components/tree-selector.js +9 -7
  434. package/dist/modes/interactive/components/tree-selector.js.map +1 -1
  435. package/dist/modes/interactive/components/user-message-selector.d.ts.map +1 -1
  436. package/dist/modes/interactive/components/user-message-selector.js +5 -4
  437. package/dist/modes/interactive/components/user-message-selector.js.map +1 -1
  438. package/dist/modes/interactive/components/workflow-view.d.ts.map +1 -1
  439. package/dist/modes/interactive/components/workflow-view.js +36 -21
  440. package/dist/modes/interactive/components/workflow-view.js.map +1 -1
  441. package/dist/modes/interactive/external-editor.d.ts.map +1 -1
  442. package/dist/modes/interactive/external-editor.js +2 -1
  443. package/dist/modes/interactive/external-editor.js.map +1 -1
  444. package/dist/modes/interactive/interactive-auth.d.ts.map +1 -1
  445. package/dist/modes/interactive/interactive-auth.js +71 -40
  446. package/dist/modes/interactive/interactive-auth.js.map +1 -1
  447. package/dist/modes/interactive/interactive-commands.d.ts +1 -0
  448. package/dist/modes/interactive/interactive-commands.d.ts.map +1 -1
  449. package/dist/modes/interactive/interactive-commands.js +3 -0
  450. package/dist/modes/interactive/interactive-commands.js.map +1 -1
  451. package/dist/modes/interactive/interactive-dialog-ui.d.ts.map +1 -1
  452. package/dist/modes/interactive/interactive-dialog-ui.js +5 -5
  453. package/dist/modes/interactive/interactive-dialog-ui.js.map +1 -1
  454. package/dist/modes/interactive/interactive-format.d.ts.map +1 -1
  455. package/dist/modes/interactive/interactive-format.js +34 -18
  456. package/dist/modes/interactive/interactive-format.js.map +1 -1
  457. package/dist/modes/interactive/interactive-helpers.d.ts.map +1 -1
  458. package/dist/modes/interactive/interactive-helpers.js +7 -2
  459. package/dist/modes/interactive/interactive-helpers.js.map +1 -1
  460. package/dist/modes/interactive/interactive-mode.d.ts +4 -1
  461. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  462. package/dist/modes/interactive/interactive-mode.js +327 -243
  463. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  464. package/dist/modes/interactive/interactive-selectors.d.ts +9 -0
  465. package/dist/modes/interactive/interactive-selectors.d.ts.map +1 -1
  466. package/dist/modes/interactive/interactive-selectors.js +79 -25
  467. package/dist/modes/interactive/interactive-selectors.js.map +1 -1
  468. package/dist/modes/interactive/theme/theme-controller.d.ts.map +1 -1
  469. package/dist/modes/interactive/theme/theme-controller.js +5 -1
  470. package/dist/modes/interactive/theme/theme-controller.js.map +1 -1
  471. package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
  472. package/dist/modes/interactive/theme/theme.js +26 -23
  473. package/dist/modes/interactive/theme/theme.js.map +1 -1
  474. package/dist/modes/json-event.d.ts.map +1 -1
  475. package/dist/modes/json-event.js +3 -2
  476. package/dist/modes/json-event.js.map +1 -1
  477. package/dist/modes/print-mode.d.ts.map +1 -1
  478. package/dist/modes/print-mode.js +3 -2
  479. package/dist/modes/print-mode.js.map +1 -1
  480. package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
  481. package/dist/modes/rpc/rpc-client.js +3 -2
  482. package/dist/modes/rpc/rpc-client.js.map +1 -1
  483. package/dist/package-manager-cli.d.ts.map +1 -1
  484. package/dist/package-manager-cli.js +28 -13
  485. package/dist/package-manager-cli.js.map +1 -1
  486. package/dist/plugins/ecosystem/catalog.d.ts.map +1 -1
  487. package/dist/plugins/ecosystem/catalog.js +3 -2
  488. package/dist/plugins/ecosystem/catalog.js.map +1 -1
  489. package/dist/plugins/ecosystem/cli.d.ts.map +1 -1
  490. package/dist/plugins/ecosystem/cli.js +2 -1
  491. package/dist/plugins/ecosystem/cli.js.map +1 -1
  492. package/dist/plugins/ecosystem/default-plugin-market.d.ts.map +1 -1
  493. package/dist/plugins/ecosystem/default-plugin-market.js +3 -2
  494. package/dist/plugins/ecosystem/default-plugin-market.js.map +1 -1
  495. package/dist/plugins/ecosystem/distribution.d.ts.map +1 -1
  496. package/dist/plugins/ecosystem/distribution.js +2 -1
  497. package/dist/plugins/ecosystem/distribution.js.map +1 -1
  498. package/dist/plugins/ecosystem/installer.d.ts.map +1 -1
  499. package/dist/plugins/ecosystem/installer.js +3 -2
  500. package/dist/plugins/ecosystem/installer.js.map +1 -1
  501. package/dist/plugins/ecosystem/node-disk-registry-source.d.ts.map +1 -1
  502. package/dist/plugins/ecosystem/node-disk-registry-source.js +20 -17
  503. package/dist/plugins/ecosystem/node-disk-registry-source.js.map +1 -1
  504. package/dist/plugins/ecosystem/node-distribution-host.d.ts.map +1 -1
  505. package/dist/plugins/ecosystem/node-distribution-host.js +35 -34
  506. package/dist/plugins/ecosystem/node-distribution-host.js.map +1 -1
  507. package/dist/plugins/ecosystem/node-npm-registry-source.d.ts.map +1 -1
  508. package/dist/plugins/ecosystem/node-npm-registry-source.js +35 -34
  509. package/dist/plugins/ecosystem/node-npm-registry-source.js.map +1 -1
  510. package/dist/plugins/ecosystem/node-package-install-host.d.ts.map +1 -1
  511. package/dist/plugins/ecosystem/node-package-install-host.js +9 -8
  512. package/dist/plugins/ecosystem/node-package-install-host.js.map +1 -1
  513. package/dist/plugins/ecosystem/node-package-install-persistence.d.ts.map +1 -1
  514. package/dist/plugins/ecosystem/node-package-install-persistence.js +4 -3
  515. package/dist/plugins/ecosystem/node-package-install-persistence.js.map +1 -1
  516. package/dist/plugins/ecosystem/node-plugin-bootstrap.d.ts.map +1 -1
  517. package/dist/plugins/ecosystem/node-plugin-bootstrap.js +21 -5
  518. package/dist/plugins/ecosystem/node-plugin-bootstrap.js.map +1 -1
  519. package/dist/plugins/ecosystem/node-plugin-trust-root.d.ts.map +1 -1
  520. package/dist/plugins/ecosystem/node-plugin-trust-root.js +10 -9
  521. package/dist/plugins/ecosystem/node-plugin-trust-root.js.map +1 -1
  522. package/dist/plugins/ecosystem/node-registry-source.d.ts.map +1 -1
  523. package/dist/plugins/ecosystem/node-registry-source.js +31 -30
  524. package/dist/plugins/ecosystem/node-registry-source.js.map +1 -1
  525. package/dist/plugins/ecosystem/node-release-package-source.d.ts.map +1 -1
  526. package/dist/plugins/ecosystem/node-release-package-source.js +30 -29
  527. package/dist/plugins/ecosystem/node-release-package-source.js.map +1 -1
  528. package/dist/plugins/ecosystem/node-tar-writer.d.ts.map +1 -1
  529. package/dist/plugins/ecosystem/node-tar-writer.js +11 -10
  530. package/dist/plugins/ecosystem/node-tar-writer.js.map +1 -1
  531. package/dist/plugins/ecosystem/node-url-package-source.d.ts.map +1 -1
  532. package/dist/plugins/ecosystem/node-url-package-source.js +21 -20
  533. package/dist/plugins/ecosystem/node-url-package-source.js.map +1 -1
  534. package/dist/plugins/ecosystem/plugin-acquisition.d.ts.map +1 -1
  535. package/dist/plugins/ecosystem/plugin-acquisition.js +3 -2
  536. package/dist/plugins/ecosystem/plugin-acquisition.js.map +1 -1
  537. package/dist/plugins/ecosystem/registry-cli-adapter.d.ts.map +1 -1
  538. package/dist/plugins/ecosystem/registry-cli-adapter.js +2 -1
  539. package/dist/plugins/ecosystem/registry-cli-adapter.js.map +1 -1
  540. package/dist/plugins/ecosystem/registry.d.ts.map +1 -1
  541. package/dist/plugins/ecosystem/registry.js +35 -32
  542. package/dist/plugins/ecosystem/registry.js.map +1 -1
  543. package/dist/plugins/ecosystem/resolver.d.ts.map +1 -1
  544. package/dist/plugins/ecosystem/resolver.js +3 -2
  545. package/dist/plugins/ecosystem/resolver.js.map +1 -1
  546. package/dist/plugins/ecosystem/selection-store.d.ts.map +1 -1
  547. package/dist/plugins/ecosystem/selection-store.js +11 -10
  548. package/dist/plugins/ecosystem/selection-store.js.map +1 -1
  549. package/dist/plugins/ecosystem/selection.d.ts.map +1 -1
  550. package/dist/plugins/ecosystem/selection.js +8 -7
  551. package/dist/plugins/ecosystem/selection.js.map +1 -1
  552. package/dist/plugins/ecosystem/state.d.ts.map +1 -1
  553. package/dist/plugins/ecosystem/state.js +24 -23
  554. package/dist/plugins/ecosystem/state.js.map +1 -1
  555. package/dist/plugins/ecosystem/updates.d.ts.map +1 -1
  556. package/dist/plugins/ecosystem/updates.js +5 -4
  557. package/dist/plugins/ecosystem/updates.js.map +1 -1
  558. package/dist/plugins/mcp-http.d.ts +0 -17
  559. package/dist/plugins/mcp-http.d.ts.map +1 -1
  560. package/dist/plugins/mcp-http.js +30 -7
  561. package/dist/plugins/mcp-http.js.map +1 -1
  562. package/dist/plugins/plugin-supervisor.d.ts.map +1 -1
  563. package/dist/plugins/plugin-supervisor.js +19 -1
  564. package/dist/plugins/plugin-supervisor.js.map +1 -1
  565. package/dist/profile/first-roles.d.ts.map +1 -1
  566. package/dist/profile/first-roles.js +10 -1
  567. package/dist/profile/first-roles.js.map +1 -1
  568. package/dist/profile/goal-plugin.d.ts.map +1 -1
  569. package/dist/profile/goal-plugin.js +24 -5
  570. package/dist/profile/goal-plugin.js.map +1 -1
  571. package/dist/profile/identity.d.ts.map +1 -1
  572. package/dist/profile/identity.js +7 -6
  573. package/dist/profile/identity.js.map +1 -1
  574. package/dist/profile/lock.d.ts.map +1 -1
  575. package/dist/profile/lock.js +15 -1
  576. package/dist/profile/lock.js.map +1 -1
  577. package/dist/profile/plan-plugin.d.ts.map +1 -1
  578. package/dist/profile/plan-plugin.js +26 -13
  579. package/dist/profile/plan-plugin.js.map +1 -1
  580. package/dist/profile/plugin-profiles.d.ts.map +1 -1
  581. package/dist/profile/plugin-profiles.js +2 -1
  582. package/dist/profile/plugin-profiles.js.map +1 -1
  583. package/dist/profile/policy-manifest.d.ts.map +1 -1
  584. package/dist/profile/policy-manifest.js +5 -4
  585. package/dist/profile/policy-manifest.js.map +1 -1
  586. package/dist/profile/profile-registry.d.ts +0 -12
  587. package/dist/profile/profile-registry.d.ts.map +1 -1
  588. package/dist/profile/profile-registry.js +14 -1
  589. package/dist/profile/profile-registry.js.map +1 -1
  590. package/dist/profile/role-catalog.d.ts +0 -1
  591. package/dist/profile/role-catalog.d.ts.map +1 -1
  592. package/dist/profile/role-catalog.js +17 -15
  593. package/dist/profile/role-catalog.js.map +1 -1
  594. package/dist/profile/role-orchestrator.d.ts.map +1 -1
  595. package/dist/profile/role-orchestrator.js +8 -7
  596. package/dist/profile/role-orchestrator.js.map +1 -1
  597. package/dist/profile/role-runner.d.ts.map +1 -1
  598. package/dist/profile/role-runner.js +3 -2
  599. package/dist/profile/role-runner.js.map +1 -1
  600. package/dist/profile/root-facade.d.ts.map +1 -1
  601. package/dist/profile/root-facade.js +2 -1
  602. package/dist/profile/root-facade.js.map +1 -1
  603. package/dist/profile/skill-discovery-wiring.d.ts.map +1 -1
  604. package/dist/profile/skill-discovery-wiring.js +7 -2
  605. package/dist/profile/skill-discovery-wiring.js.map +1 -1
  606. package/dist/profile/state-store.d.ts.map +1 -1
  607. package/dist/profile/state-store.js +13 -9
  608. package/dist/profile/state-store.js.map +1 -1
  609. package/dist/profile/todo-plugin.d.ts.map +1 -1
  610. package/dist/profile/todo-plugin.js +9 -4
  611. package/dist/profile/todo-plugin.js.map +1 -1
  612. package/dist/profiles/builtin-suites.d.ts +13 -6
  613. package/dist/profiles/builtin-suites.d.ts.map +1 -1
  614. package/dist/profiles/builtin-suites.js +15 -6
  615. package/dist/profiles/builtin-suites.js.map +1 -1
  616. package/dist/profiles/suite-loader.d.ts +25 -1
  617. package/dist/profiles/suite-loader.d.ts.map +1 -1
  618. package/dist/profiles/suite-loader.js +34 -9
  619. package/dist/profiles/suite-loader.js.map +1 -1
  620. package/dist/remote/server-entry.d.ts.map +1 -1
  621. package/dist/remote/server-entry.js +3 -2
  622. package/dist/remote/server-entry.js.map +1 -1
  623. package/dist/remote/session-source.d.ts.map +1 -1
  624. package/dist/remote/session-source.js +8 -4
  625. package/dist/remote/session-source.js.map +1 -1
  626. package/dist/share/session-share.d.ts.map +1 -1
  627. package/dist/share/session-share.js +14 -2
  628. package/dist/share/session-share.js.map +1 -1
  629. package/dist/testing/plugin-testkit.d.ts.map +1 -1
  630. package/dist/testing/plugin-testkit.js +4 -3
  631. package/dist/testing/plugin-testkit.js.map +1 -1
  632. package/dist/testing/runtime-delivery-queue.d.ts.map +1 -1
  633. package/dist/testing/runtime-delivery-queue.js +2 -1
  634. package/dist/testing/runtime-delivery-queue.js.map +1 -1
  635. package/dist/testing/session-plugin-testkit.d.ts.map +1 -1
  636. package/dist/testing/session-plugin-testkit.js +10 -7
  637. package/dist/testing/session-plugin-testkit.js.map +1 -1
  638. package/dist/utils/ansi.d.ts.map +1 -1
  639. package/dist/utils/ansi.js +2 -1
  640. package/dist/utils/ansi.js.map +1 -1
  641. package/dist/utils/clipboard.d.ts.map +1 -1
  642. package/dist/utils/clipboard.js +7 -6
  643. package/dist/utils/clipboard.js.map +1 -1
  644. package/dist/utils/image-resize-worker.d.ts.map +1 -1
  645. package/dist/utils/image-resize-worker.js +3 -2
  646. package/dist/utils/image-resize-worker.js.map +1 -1
  647. package/dist/utils/shell.d.ts.map +1 -1
  648. package/dist/utils/shell.js +9 -8
  649. package/dist/utils/shell.js.map +1 -1
  650. package/dist/utils/tools-manager.d.ts.map +1 -1
  651. package/dist/utils/tools-manager.js +23 -13
  652. package/dist/utils/tools-manager.js.map +1 -1
  653. package/dist/utils/version-check.d.ts.map +1 -1
  654. package/dist/utils/version-check.js +5 -1
  655. package/dist/utils/version-check.js.map +1 -1
  656. package/docs/keybindings.md +3 -0
  657. package/docs/quickstart.md +1 -1
  658. package/docs/settings.md +1 -0
  659. package/docs/terminal-setup.md +2 -3
  660. package/docs/usage.md +6 -5
  661. package/examples/extensions/with-deps/package-lock.json +2 -2
  662. package/examples/extensions/with-deps/package.json +1 -1
  663. package/examples/extensions/with-deps/plugin.json +1 -1
  664. package/package.json +1 -1
  665. package/dist/bundle/chunks/chunk-EALJ5DDX.js +0 -1452
@@ -1,2 +1,13 @@
1
1
  import { createRequire as __piCreateRequire } from "node:module"; const require = __piCreateRequire(import.meta.url);
2
- import{parentPort}from"node:worker_threads";function readOrientationFromTiff(bytes,tiffStart){if(tiffStart+8>bytes.length)return 1;let le=(bytes[tiffStart]<<8|bytes[tiffStart+1])===18761,read16=pos=>le?bytes[pos]|bytes[pos+1]<<8:bytes[pos]<<8|bytes[pos+1],ifdOffset=(pos=>le?bytes[pos]|bytes[pos+1]<<8|bytes[pos+2]<<16|bytes[pos+3]<<24:(bytes[pos]<<24|bytes[pos+1]<<16|bytes[pos+2]<<8|bytes[pos+3])>>>0)(tiffStart+4),ifdStart=tiffStart+ifdOffset;if(ifdStart+2>bytes.length)return 1;let entryCount=read16(ifdStart);for(let i=0;i<entryCount;i++){let entryPos=ifdStart+2+i*12;if(entryPos+12>bytes.length)return 1;if(read16(entryPos)===274){let value=read16(entryPos+8);return value>=1&&value<=8?value:1}}return 1}function findJpegTiffOffset(bytes){let offset=2;for(;offset<bytes.length-1;){if(bytes[offset]!==255)return-1;let marker=bytes[offset+1];if(marker===255){offset++;continue}if(marker===225){if(offset+4>=bytes.length)return-1;let segmentStart=offset+4;if(segmentStart+6>bytes.length)return-1;if(hasExifHeader(bytes,segmentStart))return segmentStart+6}if(offset+4>bytes.length)return-1;let length=bytes[offset+2]<<8|bytes[offset+3];offset+=2+length}return-1}function findWebpTiffOffset(bytes){let offset=12;for(;offset+8<=bytes.length;){let chunkId=String.fromCharCode(bytes[offset],bytes[offset+1],bytes[offset+2],bytes[offset+3]),chunkSize=bytes[offset+4]|bytes[offset+5]<<8|bytes[offset+6]<<16|bytes[offset+7]<<24,dataStart=offset+8;if(chunkId==="EXIF")return dataStart+chunkSize>bytes.length?-1:chunkSize>=6&&hasExifHeader(bytes,dataStart)?dataStart+6:dataStart;offset=dataStart+chunkSize+chunkSize%2}return-1}function hasExifHeader(bytes,offset){return bytes[offset]===69&&bytes[offset+1]===120&&bytes[offset+2]===105&&bytes[offset+3]===102&&bytes[offset+4]===0&&bytes[offset+5]===0}function getExifOrientation(bytes){let tiffOffset=-1;return bytes.length>=2&&bytes[0]===255&&bytes[1]===216?tiffOffset=findJpegTiffOffset(bytes):bytes.length>=12&&bytes[0]===82&&bytes[1]===73&&bytes[2]===70&&bytes[3]===70&&bytes[8]===87&&bytes[9]===69&&bytes[10]===66&&bytes[11]===80&&(tiffOffset=findWebpTiffOffset(bytes)),tiffOffset===-1?1:readOrientationFromTiff(bytes,tiffOffset)}function rotate90(photon,image,dstIndex){let w=image.get_width(),h=image.get_height(),src=image.get_raw_pixels(),dst=new Uint8Array(src.length);for(let y=0;y<h;y++)for(let x=0;x<w;x++){let srcIdx=(y*w+x)*4,dstIdx=dstIndex(x,y,w,h)*4;dst[dstIdx]=src[srcIdx],dst[dstIdx+1]=src[srcIdx+1],dst[dstIdx+2]=src[srcIdx+2],dst[dstIdx+3]=src[srcIdx+3]}return new photon.PhotonImage(dst,h,w)}function applyExifOrientation(photon,image,originalBytes){let orientation=getExifOrientation(originalBytes);if(orientation===1)return image;switch(orientation){case 2:return photon.fliph(image),image;case 3:return photon.fliph(image),photon.flipv(image),image;case 4:return photon.flipv(image),image;case 5:{let rotated=rotate90(photon,image,(x,y,_w,h)=>x*h+(h-1-y));return photon.fliph(rotated),rotated}case 6:return rotate90(photon,image,(x,y,_w,h)=>x*h+(h-1-y));case 7:{let rotated=rotate90(photon,image,(x,y,w,h)=>(w-1-x)*h+y);return photon.fliph(rotated),rotated}case 8:return rotate90(photon,image,(x,y,w,h)=>(w-1-x)*h+y);default:return image}}import{createRequire}from"module";import*as path from"path";import{fileURLToPath}from"url";var require2=createRequire(import.meta.url),fs=require2("fs"),WASM_FILENAME="photon_rs_bg.wasm",photonModule=null,loadPromise=null;function pathOrNull(file){return typeof file=="string"?file:file instanceof URL?fileURLToPath(file):null}function getFallbackWasmPaths(){let execDir=path.dirname(process.execPath);return[path.join(execDir,WASM_FILENAME),path.join(execDir,"photon",WASM_FILENAME),path.join(process.cwd(),WASM_FILENAME)]}function patchPhotonWasmRead(){let originalReadFileSync=fs.readFileSync.bind(fs),fallbackPaths=getFallbackWasmPaths(),mutableFs=fs,patchedReadFileSync=((...args)=>{let[file,options]=args;if(pathOrNull(file)?.endsWith(WASM_FILENAME))try{return originalReadFileSync(...args)}catch(error){let err=error;if(err?.code&&err.code!=="ENOENT")throw error;for(let fallbackPath of fallbackPaths)if(fs.existsSync(fallbackPath))return options===void 0?originalReadFileSync(fallbackPath):originalReadFileSync(fallbackPath,options);throw error}return originalReadFileSync(...args)});try{mutableFs.readFileSync=patchedReadFileSync}catch{Object.defineProperty(fs,"readFileSync",{value:patchedReadFileSync,writable:!0,configurable:!0})}return()=>{try{mutableFs.readFileSync=originalReadFileSync}catch{Object.defineProperty(fs,"readFileSync",{value:originalReadFileSync,writable:!0,configurable:!0})}}}async function loadPhoton(){return photonModule||loadPromise||(loadPromise=(async()=>{let restoreReadFileSync=patchPhotonWasmRead();try{return photonModule=await import("@silvia-odwyer/photon-node"),photonModule}catch{return photonModule=null,photonModule}finally{restoreReadFileSync()}})(),loadPromise)}var DEFAULT_MAX_BYTES=4.5*1024*1024,DEFAULT_OPTIONS={maxWidth:2e3,maxHeight:2e3,maxBytes:DEFAULT_MAX_BYTES,jpegQuality:80};function encodeCandidate(buffer,mimeType){let data=Buffer.from(buffer).toString("base64");return{data,encodedSize:Buffer.byteLength(data,"utf-8"),mimeType}}async function resizeImageInProcess(inputBytes,mimeType,options){let opts={...DEFAULT_OPTIONS,...options},inputBase64Size=Math.ceil(inputBytes.byteLength/3)*4,photon=await loadPhoton();if(!photon)return null;let image;try{let tryEncodings=function(width,height,jpegQualities){let resized=photon.resize(image,width,height,photon.SamplingFilter.Lanczos3);try{let candidates=[encodeCandidate(resized.get_bytes(),"image/png")];for(let quality of jpegQualities)candidates.push(encodeCandidate(resized.get_bytes_jpeg(quality),"image/jpeg"));return candidates}finally{resized.free()}},rawImage=photon.PhotonImage.new_from_byteslice(inputBytes);image=applyExifOrientation(photon,rawImage,inputBytes),image!==rawImage&&rawImage.free();let originalWidth=image.get_width(),originalHeight=image.get_height(),format=mimeType.split("/")[1]??"png";if(originalWidth<=opts.maxWidth&&originalHeight<=opts.maxHeight&&inputBase64Size<opts.maxBytes)return{data:Buffer.from(inputBytes).toString("base64"),mimeType:mimeType||`image/${format}`,originalWidth,originalHeight,width:originalWidth,height:originalHeight,wasResized:!1};let targetWidth=originalWidth,targetHeight=originalHeight;targetWidth>opts.maxWidth&&(targetHeight=Math.round(targetHeight*opts.maxWidth/targetWidth),targetWidth=opts.maxWidth),targetHeight>opts.maxHeight&&(targetWidth=Math.round(targetWidth*opts.maxHeight/targetHeight),targetHeight=opts.maxHeight);let qualitySteps=Array.from(new Set([opts.jpegQuality,85,70,55,40])),currentWidth=targetWidth,currentHeight=targetHeight;for(;;){let candidates=tryEncodings(currentWidth,currentHeight,qualitySteps);for(let candidate of candidates)if(candidate.encodedSize<opts.maxBytes)return{data:candidate.data,mimeType:candidate.mimeType,originalWidth,originalHeight,width:currentWidth,height:currentHeight,wasResized:!0};if(currentWidth===1&&currentHeight===1)break;let nextWidth=currentWidth===1?1:Math.max(1,Math.floor(currentWidth*.75)),nextHeight=currentHeight===1?1:Math.max(1,Math.floor(currentHeight*.75));if(nextWidth===currentWidth&&nextHeight===currentHeight)break;currentWidth=nextWidth,currentHeight=nextHeight}return null}catch{return null}finally{image&&image.free()}}function isResizeImageWorkerRequest(value){if(!value||typeof value!="object")return!1;let record=value;return record.inputBytes instanceof Uint8Array&&typeof record.mimeType=="string"}var port=parentPort;if(!port)throw new Error("image resize worker requires parentPort");port.once("message",message=>{(async()=>{try{if(!isResizeImageWorkerRequest(message))throw new Error("Invalid image resize worker request");let response={result:await resizeImageInProcess(message.inputBytes,message.mimeType,message.options)};port.postMessage(response)}catch(error){let response={error:error instanceof Error?error.message:String(error)};port.postMessage(response)}})()});
2
+ import{parentPort}from"node:worker_threads";var cli={"Error: {message}":"\u9519\u8BEF\uFF1A{message}","Warning: {message}":"\u8B66\u544A\uFF1A{message}","Failed to parse auth command":"\u89E3\u6790 auth \u547D\u4EE4\u5931\u8D25","Failed to resolve credential":"\u89E3\u6790\u51ED\u8BC1\u5931\u8D25","Failed to export session":"\u5BFC\u51FA\u4F1A\u8BDD\u5931\u8D25","Exported to: {result}":"\u5DF2\u5BFC\u51FA\u5230\uFF1A{result}",'Invalid arguments for "{command}".':'"{command}" \u7684\u53C2\u6570\u65E0\u6548\u3002','Use "{help}" or "{usage}".':'\u8BF7\u4F7F\u7528 "{help}" \u6216 "{usage}"\u3002','Created suite "{id}" at {dir}':'\u5DF2\u521B\u5EFA suite "{id}"\uFF0C\u4F4D\u4E8E {dir}',"Error: --clone-from requires --suite-create":"\u9519\u8BEF\uFF1A--clone-from \u9700\u8981\u4E0E --suite-create \u4E00\u8D77\u4F7F\u7528",'Error: suite "{id}" is referenced by {count} existing session(s); deletion refused:':'\u9519\u8BEF\uFF1Asuite "{id}" \u88AB {count} \u4E2A\u73B0\u6709\u4F1A\u8BDD\u5F15\u7528\uFF0C\u62D2\u7EDD\u5220\u9664\uFF1A','Deleting suite "{id}": the workspace directory {dir} will be moved to the trash and released.':'\u6B63\u5728\u5220\u9664 suite "{id}"\uFF1A\u5DE5\u4F5C\u533A\u76EE\u5F55 {dir} \u5C06\u88AB\u79FB\u5165\u56DE\u6536\u7AD9\u5E76\u91CA\u653E\u3002','Refusing to delete suite "{id}" without an interactive confirmation (non-interactive stdin). Re-run in a terminal to confirm.':'\u62D2\u7EDD\u5220\u9664 suite "{id}"\uFF1A\u7F3A\u5C11\u4EA4\u4E92\u5F0F\u786E\u8BA4\uFF08stdin \u975E\u4EA4\u4E92\uFF09\u3002\u8BF7\u5728\u7EC8\u7AEF\u4E2D\u91CD\u65B0\u8FD0\u884C\u4EE5\u786E\u8BA4\u3002','Delete suite "{id}"?':'\u5220\u9664 suite "{id}"\uFF1F','Aborted: suite "{id}" was not deleted.':'\u5DF2\u4E2D\u6B62\uFF1Asuite "{id}" \u672A\u5220\u9664\u3002','Cleared the {scope} settings "suite" key (pointed at "{id}").':'\u5DF2\u6E05\u9664 {scope} \u8BBE\u7F6E\u4E2D\u7684 "suite" \u952E\uFF08\u539F\u6307\u5411 "{id}"\uFF09\u3002','Deleted suite "{id}"; the workspace was moved to {trashPath} and is being released.':'\u5DF2\u5220\u9664 suite "{id}"\uFF1B\u5DE5\u4F5C\u533A\u5DF2\u79FB\u81F3 {trashPath}\uFF0C\u6B63\u5728\u91CA\u653E\u3002','Suite "{id}" is a user suite; only builtin suites can be reset \u2014 use --suite-delete instead.':'suite "{id}" \u662F\u7528\u6237 suite\uFF1B\u53EA\u6709\u5185\u7F6E suite \u53EF\u4EE5\u91CD\u7F6E\u2014\u2014\u8BF7\u6539\u7528 --suite-delete\u3002','Suite "{id}" already matches the factory contents; nothing to reset.':'suite "{id}" \u5DF2\u4E0E\u51FA\u5382\u5185\u5BB9\u4E00\u81F4\uFF0C\u65E0\u9700\u91CD\u7F6E\u3002','Resetting builtin suite "{id}" to the factory contents:':'\u6B63\u5728\u5C06\u5185\u7F6E suite "{id}" \u91CD\u7F6E\u4E3A\u51FA\u5382\u5185\u5BB9\uFF1A','Refusing to reset suite "{id}" without an interactive confirmation (non-interactive stdin). Review the diff above and re-run in a terminal to confirm.':'\u62D2\u7EDD\u91CD\u7F6E suite "{id}"\uFF1A\u7F3A\u5C11\u4EA4\u4E92\u5F0F\u786E\u8BA4\uFF08stdin \u975E\u4EA4\u4E92\uFF09\u3002\u8BF7\u5148\u67E5\u770B\u4E0A\u65B9 diff\uFF0C\u518D\u5728\u7EC8\u7AEF\u4E2D\u91CD\u65B0\u8FD0\u884C\u4EE5\u786E\u8BA4\u3002','Apply reset of suite "{id}"?':'\u5E94\u7528 suite "{id}" \u7684\u91CD\u7F6E\uFF1F','Aborted: suite "{id}" was not reset.':'\u5DF2\u4E2D\u6B62\uFF1Asuite "{id}" \u672A\u91CD\u7F6E\u3002','Suite "{id}" was reset to the factory contents (profile lock generation {generation}).':'suite "{id}" \u5DF2\u91CD\u7F6E\u4E3A\u51FA\u5382\u5185\u5BB9\uFF08profile lock \u4EE3\u6570 {generation}\uFF09\u3002',"Error: --fork cannot be combined with {flags}":"\u9519\u8BEF\uFF1A--fork \u4E0D\u80FD\u4E0E {flags} \u7EC4\u5408\u4F7F\u7528","Error: --session-id cannot be combined with {flags}. To resume that exact session, drop the other flags and use --session-id alone (or use --continue to resume the most recent session).":"\u9519\u8BEF\uFF1A--session-id \u4E0D\u80FD\u4E0E {flags} \u7EC4\u5408\u4F7F\u7528\u3002\u8981\u6062\u590D\u8BE5\u786E\u5207\u4F1A\u8BDD\uFF0C\u8BF7\u53BB\u6389\u5176\u4ED6 flag\uFF0C\u5355\u72EC\u4F7F\u7528 --session-id\uFF08\u6216\u4F7F\u7528 --continue \u6062\u590D\u6700\u8FD1\u4F1A\u8BDD\uFF09\u3002","Error: --serve cannot be combined with {flags}":"\u9519\u8BEF\uFF1A--serve \u4E0D\u80FD\u4E0E {flags} \u7EC4\u5408\u4F7F\u7528","--serve ignores session/model/tool options: {flags}":"--serve \u4F1A\u5FFD\u7565\u4F1A\u8BDD/\u6A21\u578B/\u5DE5\u5177\u9009\u9879\uFF1A{flags}","Error: @file arguments are not supported in RPC mode":"\u9519\u8BEF\uFF1ARPC \u6A21\u5F0F\u4E0D\u652F\u6301 @file \u53C2\u6570","Error: --name requires a non-empty value":"\u9519\u8BEF\uFF1A--name \u9700\u8981\u975E\u7A7A\u503C","Error: AGENT_FORGE_STARTUP_BENCHMARK only supports interactive mode":"\u9519\u8BEF\uFF1AAGENT_FORGE_STARTUP_BENCHMARK \u4EC5\u652F\u6301\u4EA4\u4E92\u6A21\u5F0F","Session already exists with id '{sessionId}'":"\u5DF2\u5B58\u5728 id \u4E3A '{sessionId}' \u7684\u4F1A\u8BDD","No session found matching '{arg}'":"\u6CA1\u6709\u627E\u5230\u5339\u914D '{arg}' \u7684\u4F1A\u8BDD","Session found in different project: {cwd}":"\u4F1A\u8BDD\u4F4D\u4E8E\u5176\u4ED6\u9879\u76EE\uFF1A{cwd}","Fork this session into current directory?":"\u5C06\u8BE5\u4F1A\u8BDD fork \u5230\u5F53\u524D\u76EE\u5F55\uFF1F","Aborted.":"\u5DF2\u4E2D\u6B62\u3002","No session selected":"\u672A\u9009\u62E9\u4F1A\u8BDD","Warning: No project session found with id '{sessionId}'; creating a new session with that id.":"\u8B66\u544A\uFF1A\u6CA1\u6709\u627E\u5230 id \u4E3A '{sessionId}' \u7684\u9879\u76EE\u4F1A\u8BDD\uFF1B\u5C06\u521B\u5EFA\u4F7F\u7528\u8BE5 id \u7684\u65B0\u4F1A\u8BDD\u3002","Plugin bootstrap {code}: {message}":"\u63D2\u4EF6 bootstrap {code}\uFF1A{message}","Warning: capability plugin rejected ({code}): {target}: {message}":"\u8B66\u544A\uFF1A\u80FD\u529B\u63D2\u4EF6\u88AB\u62D2\u7EDD\uFF08{code}\uFF09\uFF1A{target}\uFF1A{message}","AI coding assistant with read, bash, edit, write tools":"\u5177\u5907 read\u3001bash\u3001edit\u3001write \u5DE5\u5177\u7684 AI \u7F16\u7A0B\u52A9\u624B","Usage:":"\u7528\u6CD5\uFF1A","Commands:":"\u547D\u4EE4\uFF1A","Options:":"\u9009\u9879\uFF1A","Examples:":"\u793A\u4F8B\uFF1A","Environment Variables:":"\u73AF\u5883\u53D8\u91CF\uFF1A","Built-in Tool Names:":"\u5185\u7F6E\u5DE5\u5177\u540D\uFF1A","Install extension source and add to settings":"\u5B89\u88C5\u6269\u5C55\u6E90\u5E76\u52A0\u5165\u8BBE\u7F6E","Remove extension source from settings":"\u4ECE\u8BBE\u7F6E\u4E2D\u79FB\u9664\u6269\u5C55\u6E90","Alias for remove":"remove \u7684\u522B\u540D","Update Agent Forge, extensions, or model catalogs":"\u66F4\u65B0 Agent Forge\u3001\u6269\u5C55\u6216\u6A21\u578B\u76EE\u5F55","List installed extensions from settings":"\u5217\u51FA\u8BBE\u7F6E\u4E2D\u5DF2\u5B89\u88C5\u7684\u6269\u5C55","Open TUI to enable/disable package resources (Tab switches scope)":"\u6253\u5F00 TUI \u542F\u7528/\u7981\u7528\u5305\u8D44\u6E90\uFF08Tab \u5207\u6362\u4F5C\u7528\u57DF\uFF09","Print credentials or check provider readiness":"\u6253\u5370\u51ED\u8BC1\u6216\u68C0\u67E5\u63D0\u4F9B\u5546\u5C31\u7EEA\u72B6\u6001","Show help for install/remove/uninstall/update/list/config/auth":"\u663E\u793A install/remove/uninstall/update/list/config/auth \u7684\u5E2E\u52A9","Provider name (default: google)":"\u63D0\u4F9B\u5546\u540D\u79F0\uFF08\u9ED8\u8BA4\uFF1Agoogle\uFF09",'Model pattern or ID (supports "provider/id" and optional ":<thinking>")':'\u6A21\u578B\u6A21\u5F0F\u6216 ID\uFF08\u652F\u6301 "provider/id" \u4E0E\u53EF\u9009\u7684 ":<thinking>"\uFF09',"API key (defaults to env vars)":"API key\uFF08\u9ED8\u8BA4\u53D6\u81EA\u73AF\u5883\u53D8\u91CF\uFF09","System prompt (default: coding assistant prompt)":"\u7CFB\u7EDF\u63D0\u793A\u8BCD\uFF08\u9ED8\u8BA4\uFF1A\u7F16\u7A0B\u52A9\u624B\u63D0\u793A\u8BCD\uFF09","Append text or file contents to the system prompt (can be used multiple times)":"\u5411\u7CFB\u7EDF\u63D0\u793A\u8BCD\u8FFD\u52A0\u6587\u672C\u6216\u6587\u4EF6\u5185\u5BB9\uFF08\u53EF\u591A\u6B21\u4F7F\u7528\uFF09","Output mode: text (default), json, or rpc":"\u8F93\u51FA\u6A21\u5F0F\uFF1Atext\uFF08\u9ED8\u8BA4\uFF09\u3001json \u6216 rpc","Non-interactive mode: process prompt and exit":"\u975E\u4EA4\u4E92\u6A21\u5F0F\uFF1A\u5904\u7406\u63D0\u793A\u540E\u9000\u51FA","Continue previous session":"\u7EE7\u7EED\u4E0A\u4E00\u4E2A\u4F1A\u8BDD","Select a session to resume":"\u9009\u62E9\u8981\u6062\u590D\u7684\u4F1A\u8BDD","Use specific session file or partial UUID":"\u4F7F\u7528\u6307\u5B9A\u4F1A\u8BDD\u6587\u4EF6\u6216\u90E8\u5206 UUID","Use exact project session ID, creating it if missing":"\u4F7F\u7528\u7CBE\u786E\u7684\u9879\u76EE\u4F1A\u8BDD ID\uFF0C\u4E0D\u5B58\u5728\u5219\u521B\u5EFA","Fork specific session file or partial UUID into a new session":"\u5C06\u6307\u5B9A\u4F1A\u8BDD\u6587\u4EF6\u6216\u90E8\u5206 UUID fork \u4E3A\u65B0\u4F1A\u8BDD","Directory for session storage and lookup":"\u4F1A\u8BDD\u5B58\u50A8\u4E0E\u67E5\u627E\u76EE\u5F55","Suite (\u65B9\u6848) for this run: coding (default) or assistant; new sessions only":"\u672C\u6B21\u8FD0\u884C\u7684 suite\uFF08\u65B9\u6848\uFF09\uFF1Acoding\uFF08\u9ED8\u8BA4\uFF09\u6216 assistant\uFF1B\u4EC5\u5BF9\u65B0\u4F1A\u8BDD\u751F\u6548","Create a user suite workspace and exit; add --clone-from <id> to copy one":"\u521B\u5EFA\u7528\u6237 suite \u5DE5\u4F5C\u533A\u5E76\u9000\u51FA\uFF1B\u52A0 --clone-from <id> \u53EF\u590D\u5236\u65E2\u6709 suite","Delete a user suite workspace (active session references refuse) and exit":"\u5220\u9664\u7528\u6237 suite \u5DE5\u4F5C\u533A\uFF08\u5B58\u5728\u6D3B\u52A8\u4F1A\u8BDD\u5F15\u7528\u65F6\u62D2\u7EDD\uFF09\u5E76\u9000\u51FA","Reset a builtin suite to factory contents (shows a diff) and exit":"\u5C06\u5185\u7F6E suite \u91CD\u7F6E\u4E3A\u51FA\u5382\u5185\u5BB9\uFF08\u663E\u793A diff\uFF09\u5E76\u9000\u51FA","(Experimental, local trust only) Serve the coding-agent session runtime over the WebSocket gateway (default: 127.0.0.1; HTTP surface: /healthz plus token-protected artifact reads) and exit on SIGINT/SIGTERM":"\uFF08\u5B9E\u9A8C\u6027\uFF0C\u4EC5\u9650\u672C\u5730\u4FE1\u4EFB\uFF09\u7ECF WebSocket \u7F51\u5173\u63D0\u4F9B coding-agent \u4F1A\u8BDD\u8FD0\u884C\u65F6\uFF08\u9ED8\u8BA4\uFF1A127.0.0.1\uFF1BHTTP \u9762\uFF1A/healthz \u53CA\u53D7\u4EE4\u724C\u4FDD\u62A4\u7684\u4EA7\u7269\u8BFB\u53D6\uFF09\uFF0CSIGINT/SIGTERM \u65F6\u9000\u51FA","Durable journal: <agentDir>/remote-server-journal.jsonl (never the process cwd)":"\u6301\u4E45\u65E5\u5FD7\uFF1A<agentDir>/remote-server-journal.jsonl\uFF08\u7EDD\u4E0D\u5199\u5165\u8FDB\u7A0B cwd\uFF09","Opt-in --serve boundary: remote creates must run inside one of these roots (repeatable); without it any local directory is allowed":"--serve \u7684\u53EF\u9009\u8FB9\u754C\uFF1A\u8FDC\u7A0B\u521B\u5EFA\u5FC5\u987B\u5728\u8FD9\u4E9B\u6839\u76EE\u5F55\u5185\u8FD0\u884C\uFF08\u53EF\u91CD\u590D\uFF09\uFF1B\u672A\u6307\u5B9A\u65F6\u5141\u8BB8\u4EFB\u610F\u672C\u5730\u76EE\u5F55","(Experimental) Run as a headless subagent runner: serve the subagent-task protocol on stdio for a parent session's runner pool (D-045)":"\uFF08\u5B9E\u9A8C\u6027\uFF09\u4F5C\u4E3A\u65E0\u5934\u5B50\u4EE3\u7406\u8FD0\u884C\u5668\uFF1A\u5728 stdio \u4E0A\u4E3A\u7236\u4F1A\u8BDD\u7684 runner \u6C60\u63D0\u4F9B subagent-task \u534F\u8BAE\uFF08D-045\uFF09","Don't save session (ephemeral)":"\u4E0D\u4FDD\u5B58\u4F1A\u8BDD\uFF08\u4E00\u6B21\u6027\uFF09","Set session display name":"\u8BBE\u7F6E\u4F1A\u8BDD\u663E\u793A\u540D\u79F0","Comma-separated model patterns for Ctrl+P cycling":"\u9017\u53F7\u5206\u9694\u7684\u6A21\u578B\u6A21\u5F0F\uFF0C\u7528\u4E8E Ctrl+P \u8F6E\u6362","Supports globs (anthropic/*, *sonnet*) and fuzzy matching":"\u652F\u6301 glob\uFF08anthropic/*\u3001*sonnet*\uFF09\u4E0E\u6A21\u7CCA\u5339\u914D","Disable all tools by default (built-in and plugin)":"\u9ED8\u8BA4\u7981\u7528\u5168\u90E8\u5DE5\u5177\uFF08\u5185\u7F6E\u4E0E\u63D2\u4EF6\uFF09","Disable built-in tools by default but keep plugin/custom tools enabled":"\u9ED8\u8BA4\u7981\u7528\u5185\u7F6E\u5DE5\u5177\uFF0C\u4F46\u4FDD\u6301\u63D2\u4EF6/\u81EA\u5B9A\u4E49\u5DE5\u5177\u53EF\u7528","Comma-separated allowlist of tool names to enable":"\u9017\u53F7\u5206\u9694\u7684\u5DE5\u5177\u540D\u767D\u540D\u5355","Applies to built-in, plugin, and custom tools":"\u4F5C\u7528\u4E8E\u5185\u7F6E\u3001\u63D2\u4EF6\u4E0E\u81EA\u5B9A\u4E49\u5DE5\u5177","Comma-separated denylist of tool names to disable":"\u9017\u53F7\u5206\u9694\u7684\u5DE5\u5177\u540D\u9ED1\u540D\u5355","Set thinking level: off, minimal, low, medium, high, xhigh, max":"\u8BBE\u7F6E\u601D\u8003\u7EA7\u522B\uFF1Aoff\u3001minimal\u3001low\u3001medium\u3001high\u3001xhigh\u3001max","Disable capability plugin discovery (D-028 escape hatch)":"\u7981\u7528\u80FD\u529B\u63D2\u4EF6\u53D1\u73B0\uFF08D-028 \u9003\u751F\u53E3\uFF09","Disable session trace collection (no .trace.jsonl file is written)":"\u7981\u7528\u4F1A\u8BDD\u8F68\u8FF9\u6536\u96C6\uFF08\u4E0D\u5199 .trace.jsonl \u6587\u4EF6\uFF09","Host log level: debug, info (default), warn, error":"\u5BBF\u4E3B\u65E5\u5FD7\u7EA7\u522B\uFF1Adebug\u3001info\uFF08\u9ED8\u8BA4\uFF09\u3001warn\u3001error","Select a builtin capability plugin profile for this run":"\u4E3A\u672C\u6B21\u8FD0\u884C\u9009\u62E9\u5185\u7F6E\u80FD\u529B\u63D2\u4EF6 profile","Select a plugin within the profile (repeatable)":"\u5728 profile \u5185\u9009\u62E9\u63D2\u4EF6\uFF08\u53EF\u91CD\u590D\uFF09","Disable a plugin within the profile (repeatable)":"\u5728 profile \u5185\u7981\u7528\u63D2\u4EF6\uFF08\u53EF\u91CD\u590D\uFF09","Read the explicit selection from global or project storage":"\u4ECE\u5168\u5C40\u6216\u9879\u76EE\u5B58\u50A8\u8BFB\u53D6\u663E\u5F0F\u9009\u62E9","List installed/available ecosystem plugins (independent namespace)":"\u5217\u51FA\u5DF2\u5B89\u88C5/\u53EF\u7528\u7684\u751F\u6001\u63D2\u4EF6\uFF08\u72EC\u7ACB\u547D\u540D\u7A7A\u95F4\uFF09","Load a skill file or directory (can be used multiple times)":"\u52A0\u8F7D skill \u6587\u4EF6\u6216\u76EE\u5F55\uFF08\u53EF\u591A\u6B21\u4F7F\u7528\uFF09","Disable skills discovery and loading":"\u7981\u7528 skill \u53D1\u73B0\u4E0E\u52A0\u8F7D","Load a prompt template file or directory (can be used multiple times)":"\u52A0\u8F7D\u63D0\u793A\u8BCD\u6A21\u677F\u6587\u4EF6\u6216\u76EE\u5F55\uFF08\u53EF\u591A\u6B21\u4F7F\u7528\uFF09","Disable prompt template discovery and loading":"\u7981\u7528\u63D0\u793A\u8BCD\u6A21\u677F\u53D1\u73B0\u4E0E\u52A0\u8F7D","Load a theme file or directory (can be used multiple times)":"\u52A0\u8F7D\u4E3B\u9898\u6587\u4EF6\u6216\u76EE\u5F55\uFF08\u53EF\u591A\u6B21\u4F7F\u7528\uFF09","Set the initial interactive theme for this run":"\u8BBE\u7F6E\u672C\u6B21\u8FD0\u884C\u7684\u521D\u59CB\u4EA4\u4E92\u4E3B\u9898","Disable theme discovery and loading":"\u7981\u7528\u4E3B\u9898\u53D1\u73B0\u4E0E\u52A0\u8F7D","Disable AGENTS.md and CLAUDE.md discovery and loading":"\u7981\u7528 AGENTS.md \u4E0E CLAUDE.md \u7684\u53D1\u73B0\u4E0E\u52A0\u8F7D","Export session file to HTML and exit":"\u5C06\u4F1A\u8BDD\u6587\u4EF6\u5BFC\u51FA\u4E3A HTML \u5E76\u9000\u51FA","View a session trace file as a text timeline and exit; <session> is a session id/prefix or trace/session file path, omit it for the most recent session":"\u4EE5\u6587\u672C\u65F6\u95F4\u7EBF\u67E5\u770B\u4F1A\u8BDD\u8F68\u8FF9\u6587\u4EF6\u5E76\u9000\u51FA\uFF1B<session> \u4E3A\u4F1A\u8BDD id/\u524D\u7F00\u6216\u8F68\u8FF9/\u4F1A\u8BDD\u6587\u4EF6\u8DEF\u5F84\uFF0C\u7701\u7565\u5219\u67E5\u770B\u6700\u8FD1\u4F1A\u8BDD","With --trace, output the structured trace records as JSON instead of the text timeline":"\u914D\u5408 --trace\uFF0C\u4EE5 JSON \u8F93\u51FA\u7ED3\u6784\u5316\u8F68\u8FF9\u8BB0\u5F55\uFF0C\u800C\u975E\u6587\u672C\u65F6\u95F4\u7EBF","With --trace, show only records of these kinds (comma-separated); valid kinds: {kinds}":"\u914D\u5408 --trace\uFF0C\u53EA\u663E\u793A\u8FD9\u4E9B\u7C7B\u578B\u7684\u8BB0\u5F55\uFF08\u9017\u53F7\u5206\u9694\uFF09\uFF1B\u6709\u6548\u7C7B\u578B\uFF1A{kinds}","With --trace, show only the last N records (positive integer)":"\u914D\u5408 --trace\uFF0C\u53EA\u663E\u793A\u6700\u540E N \u6761\u8BB0\u5F55\uFF08\u6B63\u6574\u6570\uFF09","List available models (with optional fuzzy search)":"\u5217\u51FA\u53EF\u7528\u6A21\u578B\uFF08\u53EF\u9009\u6A21\u7CCA\u641C\u7D22\uFF09","Force verbose startup (overrides quietStartup setting)":"\u5F3A\u5236\u8BE6\u7EC6\u542F\u52A8\uFF08\u8986\u76D6 quietStartup \u8BBE\u7F6E\uFF09","TUI mode: regular (default) or fullscreen":"TUI \u6A21\u5F0F\uFF1Aregular\uFF08\u9ED8\u8BA4\uFF09\u6216 fullscreen","Disable startup network operations (same as AGENT_FORGE_OFFLINE=1)":"\u7981\u7528\u542F\u52A8\u7F51\u7EDC\u64CD\u4F5C\uFF08\u7B49\u540C AGENT_FORGE_OFFLINE=1\uFF09","End option parsing; treat remaining arguments as messages/files":"\u7ED3\u675F\u9009\u9879\u89E3\u6790\uFF1B\u5269\u4F59\u53C2\u6570\u89C6\u4E3A\u6D88\u606F/\u6587\u4EF6","Show this help":"\u663E\u793A\u6B64\u5E2E\u52A9","Show version number":"\u663E\u793A\u7248\u672C\u53F7","Print a provider API key for an external client":"\u4E3A\u5916\u90E8\u5BA2\u6237\u7AEF\u6253\u5370\u63D0\u4F9B\u5546 API key","Print an OAuth bearer token for an external client (refreshes if expired)":"\u4E3A\u5916\u90E8\u5BA2\u6237\u7AEF\u6253\u5370 OAuth bearer token\uFF08\u8FC7\u671F\u5219\u5237\u65B0\uFF09","Interactive mode":"\u4EA4\u4E92\u6A21\u5F0F","Interactive mode with initial prompt":"\u5E26\u521D\u59CB\u63D0\u793A\u7684\u4EA4\u4E92\u6A21\u5F0F","Include files in initial message":"\u5728\u521D\u59CB\u6D88\u606F\u4E2D\u5305\u542B\u6587\u4EF6","Non-interactive mode (process and exit)":"\u975E\u4EA4\u4E92\u6A21\u5F0F\uFF08\u5904\u7406\u540E\u9000\u51FA\uFF09","Prompt beginning with a dash":"\u4EE5\u8FDE\u5B57\u7B26\u5F00\u5934\u7684\u63D0\u793A","Multiple messages (interactive)":"\u591A\u6761\u6D88\u606F\uFF08\u4EA4\u4E92\uFF09","Start a named session":"\u542F\u52A8\u547D\u540D\u4F1A\u8BDD","Use different model":"\u4F7F\u7528\u4E0D\u540C\u6A21\u578B","Use model with provider prefix (no --provider needed)":"\u4F7F\u7528\u5E26\u63D0\u4F9B\u5546\u524D\u7F00\u7684\u6A21\u578B\uFF08\u65E0\u9700 --provider\uFF09","Use model with thinking level shorthand":"\u4F7F\u7528\u601D\u8003\u7EA7\u522B\u7B80\u5199\u5F62\u5F0F\u7684\u6A21\u578B","Limit model cycling to specific models":"\u5C06\u6A21\u578B\u8F6E\u6362\u9650\u5B9A\u4E3A\u6307\u5B9A\u6A21\u578B","Limit to a specific provider with glob pattern":"\u7528 glob \u6A21\u5F0F\u9650\u5B9A\u5230\u6307\u5B9A\u63D0\u4F9B\u5546","Cycle models with fixed thinking levels":"\u4EE5\u56FA\u5B9A\u601D\u8003\u7EA7\u522B\u8F6E\u6362\u6A21\u578B","Start with a specific thinking level":"\u4EE5\u6307\u5B9A\u601D\u8003\u7EA7\u522B\u542F\u52A8","Read-only mode (no file modifications possible)":"\u53EA\u8BFB\u6A21\u5F0F\uFF08\u4E0D\u80FD\u4FEE\u6539\u6587\u4EF6\uFF09","Disable one tool while keeping the rest available":"\u7981\u7528\u5355\u4E2A\u5DE5\u5177\uFF0C\u5176\u4F59\u4FDD\u6301\u53EF\u7528","Export a session file to HTML":"\u5BFC\u51FA\u4F1A\u8BDD\u6587\u4EF6\u4E3A HTML","Anthropic bearer auth token":"Anthropic bearer \u8BA4\u8BC1\u4EE4\u724C","Anthropic Claude API key":"Anthropic Claude API key","Anthropic OAuth token (alternative to API key)":"Anthropic OAuth \u4EE4\u724C\uFF08API key \u7684\u66FF\u4EE3\uFF09","Ant Ling API key":"Ant Ling API key","OpenAI GPT API key":"OpenAI GPT API key","Azure OpenAI API key":"Azure OpenAI API key","Azure OpenAI/Cognitive Services base URL (e.g. https://{resource}.openai.azure.com)":"Azure OpenAI/Cognitive Services base URL\uFF08\u5982 https://{resource}.openai.azure.com\uFF09","Azure OpenAI resource name (alternative to base URL)":"Azure OpenAI \u8D44\u6E90\u540D\uFF08base URL \u7684\u66FF\u4EE3\uFF09","Azure OpenAI API version (default: v1)":"Azure OpenAI API \u7248\u672C\uFF08\u9ED8\u8BA4\uFF1Av1\uFF09","Azure OpenAI model=deployment map (comma-separated)":"Azure OpenAI \u6A21\u578B=\u90E8\u7F72\u6620\u5C04\uFF08\u9017\u53F7\u5206\u9694\uFF09","DeepSeek API key":"DeepSeek API key","NVIDIA NIM API key":"NVIDIA NIM API key","Google Gemini API key":"Google Gemini API key","Groq API key":"Groq API key","Cerebras API key":"Cerebras API key","xAI Grok API key":"xAI Grok API key","Fireworks API key":"Fireworks API key","Together AI API key":"Together AI API key","Baseten API key":"Baseten API key","OpenRouter API key":"OpenRouter API key","Vercel AI Gateway API key":"Vercel AI Gateway API key","ZAI Coding Plan API key (Global)":"ZAI Coding Plan API key\uFF08\u5168\u7403\u533A\uFF09","ZAI Coding Plan API key (China)":"ZAI Coding Plan API key\uFF08\u4E2D\u56FD\u533A\uFF09","Mistral API key":"Mistral API key","MiniMax API key":"MiniMax API key","Moonshot AI API key":"Moonshot AI API key","OpenCode Zen/OpenCode Go API key":"OpenCode Zen/OpenCode Go API key","Kimi For Coding API key":"Kimi For Coding API key","Cloudflare API token (Workers AI and AI Gateway)":"Cloudflare API \u4EE4\u724C\uFF08Workers AI \u4E0E AI Gateway\uFF09","Cloudflare account id (required for both)":"Cloudflare \u8D26\u6237 id\uFF08\u4E24\u8005\u5747\u9700\u8981\uFF09","Cloudflare AI Gateway slug (required for AI Gateway)":"Cloudflare AI Gateway slug\uFF08AI Gateway \u9700\u8981\uFF09","Qwen Token Plan API key (international region)":"Qwen Token Plan API key\uFF08\u56FD\u9645\u533A\uFF09","Qwen Token Plan API key (China region)":"Qwen Token Plan API key\uFF08\u4E2D\u56FD\u533A\uFF09","Xiaomi MiMo API key (api.xiaomimimo.com billing)":"Xiaomi MiMo API key\uFF08\u6309 api.xiaomimimo.com \u8BA1\u8D39\uFF09","Xiaomi MiMo Token Plan API key (China region)":"Xiaomi MiMo Token Plan API key\uFF08\u4E2D\u56FD\u533A\uFF09","Xiaomi MiMo Token Plan API key (Amsterdam region)":"Xiaomi MiMo Token Plan API key\uFF08\u963F\u59C6\u65AF\u7279\u4E39\u533A\uFF09","Xiaomi MiMo Token Plan API key (Singapore region)":"Xiaomi MiMo Token Plan API key\uFF08\u65B0\u52A0\u5761\u533A\uFF09","AWS profile for Amazon Bedrock":"Amazon Bedrock \u7684 AWS profile","AWS access key for Amazon Bedrock":"Amazon Bedrock \u7684 AWS access key","AWS secret key for Amazon Bedrock":"Amazon Bedrock \u7684 AWS secret key","Bedrock API key (bearer token)":"Bedrock API key\uFF08bearer token\uFF09","AWS region for Amazon Bedrock (e.g., us-east-1)":"Amazon Bedrock \u7684 AWS \u533A\u57DF\uFF08\u5982 us-east-1\uFF09","Config directory (default: ~/{configDir}/agent)":"\u914D\u7F6E\u76EE\u5F55\uFF08\u9ED8\u8BA4\uFF1A~/{configDir}/agent\uFF09","Session storage directory (overridden by --session-dir)":"\u4F1A\u8BDD\u5B58\u50A8\u76EE\u5F55\uFF08--session-dir \u53EF\u8986\u76D6\uFF09","Override package directory (for Nix/Guix store paths)":"\u8986\u76D6\u5305\u76EE\u5F55\uFF08\u7528\u4E8E Nix/Guix store \u8DEF\u5F84\uFF09","Disable startup network operations when set to 1/true/yes":"\u8BBE\u4E3A 1/true/yes \u65F6\u7981\u7528\u542F\u52A8\u7F51\u7EDC\u64CD\u4F5C","Read file contents":"\u8BFB\u53D6\u6587\u4EF6\u5185\u5BB9","Execute bash commands":"\u6267\u884C bash \u547D\u4EE4","Execute PowerShell commands on Windows":"\u5728 Windows \u4E0A\u6267\u884C PowerShell \u547D\u4EE4","Edit files with find/replace":"\u4EE5\u67E5\u627E/\u66FF\u6362\u65B9\u5F0F\u7F16\u8F91\u6587\u4EF6","Write files (creates/overwrites)":"\u5199\u6587\u4EF6\uFF08\u521B\u5EFA/\u8986\u76D6\uFF09","Search file contents (read-only, off by default)":"\u641C\u7D22\u6587\u4EF6\u5185\u5BB9\uFF08\u53EA\u8BFB\uFF0C\u9ED8\u8BA4\u5173\u95ED\uFF09","Find files by glob pattern (read-only, off by default)":"\u6309 glob \u6A21\u5F0F\u67E5\u627E\u6587\u4EF6\uFF08\u53EA\u8BFB\uFF0C\u9ED8\u8BA4\u5173\u95ED\uFF09","List directory contents (read-only, off by default)":"\u5217\u51FA\u76EE\u5F55\u5185\u5BB9\uFF08\u53EA\u8BFB\uFF0C\u9ED8\u8BA4\u5173\u95ED\uFF09","Auth commands require at least one of --provider or --model. Checks refresh expired OAuth credentials by default; --no-refresh prevents this. --credentials emits the credential, or includes it in JSON output.":"auth \u547D\u4EE4\u9700\u8981 --provider \u6216 --model \u81F3\u5C11\u5176\u4E00\u3002check \u9ED8\u8BA4\u5237\u65B0\u5DF2\u8FC7\u671F\u7684 OAuth \u51ED\u8BC1\uFF1B--no-refresh \u53EF\u963B\u6B62\u3002--credentials \u8F93\u51FA\u51ED\u8BC1\uFF0C\u6216\u5C06\u5176\u5305\u542B\u5728 JSON \u8F93\u51FA\u4E2D\u3002","Warning: errors loading models.json:\n{loadError}":`\u8B66\u544A\uFF1A\u52A0\u8F7D models.json \u51FA\u9519\uFF1A
3
+ {loadError}`,'No models matching "{searchPattern}"':'\u6CA1\u6709\u5339\u914D "{searchPattern}" \u7684\u6A21\u578B',provider:"\u63D0\u4F9B\u5546",model:"\u6A21\u578B",context:"\u4E0A\u4E0B\u6587","max-out":"\u6700\u5927\u8F93\u51FA",thinking:"\u601D\u8003",images:"\u56FE\u50CF","{label}: {url}":"{label}\uFF1A{url}","Request {stopReason}":"\u8BF7\u6C42 {stopReason}","remote-server error: {error}":"remote-server \u9519\u8BEF\uFF1A{error}","Port {port} is already in use":"\u7AEF\u53E3 {port} \u5DF2\u88AB\u5360\u7528","Remote server shutdown failed: {error}":"\u8FDC\u7A0B\u670D\u52A1\u5668\u5173\u95ED\u5931\u8D25\uFF1A{error}","Remote server listening on {addresses}":"\u8FDC\u7A0B\u670D\u52A1\u5668\u76D1\u542C\u4E8E {addresses}"};var common={};var coreContractCore={"{label} must be a plain object":"{label} \u5FC5\u987B\u662F\u666E\u901A\u5BF9\u8C61","{label} has unsupported fields: {fields}":"{label} \u5305\u542B\u4E0D\u652F\u6301\u7684\u5B57\u6BB5\uFF1A{fields}","{label} is missing required field: {key}":"{label} \u7F3A\u5C11\u5FC5\u586B\u5B57\u6BB5\uFF1A{key}","{label} must be a non-empty string":"{label} \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32","{label} must be a positive safe integer":"{label} \u5FC5\u987B\u662F\u6B63\u7684\u5B89\u5168\u6574\u6570","{label} must be a non-negative safe integer":"{label} \u5FC5\u987B\u662F\u975E\u8D1F\u5B89\u5168\u6574\u6570","{label} must contain finite JSON numbers":"{label} \u5FC5\u987B\u53EA\u5305\u542B\u6709\u9650 JSON \u6570\u5B57","{label} must be JSON-compatible":"{label} \u5FC5\u987B\u517C\u5BB9 JSON","{label} must not contain cycles":"{label} \u4E0D\u5F97\u5305\u542B\u5FAA\u73AF\u5F15\u7528","{label} must contain only plain JSON objects":"{label} \u5FC5\u987B\u53EA\u5305\u542B\u666E\u901A JSON \u5BF9\u8C61","{label} must be an array":"{label} \u5FC5\u987B\u662F\u6570\u7EC4","{label} must not contain duplicates":"{label} \u4E0D\u5F97\u5305\u542B\u91CD\u590D\u9879","{label} is invalid":"{label} \u65E0\u6548","{label} contains duplicate capability: {capability}":"{label} \u5305\u542B\u91CD\u590D\u80FD\u529B\uFF1A{capability}","Host context.mode is invalid":"Host context.mode \u65E0\u6548","Host context.features must be an array":"Host context.features \u5FC5\u987B\u662F\u6570\u7EC4","Host context.features must not contain duplicates":"Host context.features \u4E0D\u5F97\u5305\u542B\u91CD\u590D\u9879","Host context.transports must be an array":"Host context.transports \u5FC5\u987B\u662F\u6570\u7EC4","Host context.transports must not contain duplicates":"Host context.transports \u4E0D\u5F97\u5305\u542B\u91CD\u590D\u9879","Contract compatibility result.version must be 1":"Contract compatibility result.version \u5FC5\u987B\u4E3A 1","Contract compatibility result.compatible must be boolean":"Contract compatibility result.compatible \u5FC5\u987B\u662F\u5E03\u5C14\u503C","Contract compatibility result.issues must be an array":"Contract compatibility result.issues \u5FC5\u987B\u662F\u6570\u7EC4","Contract compatibility result.compatible must be false when issues exist":"\u5B58\u5728 issue \u65F6 Contract compatibility result.compatible \u5FC5\u987B\u4E3A false","Contract compatibility result.compatible must be true when no issues exist":"\u4E0D\u5B58\u5728 issue \u65F6 Contract compatibility result.compatible \u5FC5\u987B\u4E3A true","Contract compatibility result.issues[{index}].code is invalid":"Contract compatibility result.issues[{index}].code \u65E0\u6548","Contract compatibility result.issues[{index}].missingFeatures must be strings":"Contract compatibility result.issues[{index}].missingFeatures \u5FC5\u987B\u662F\u5B57\u7B26\u4E32","Contract compatibility result.issues[{index}].missingTransports must be strings":"Contract compatibility result.issues[{index}].missingTransports \u5FC5\u987B\u662F\u5B57\u7B26\u4E32","Agent capability contract.contractId must be {contractId}":"Agent capability contract.contractId \u5FC5\u987B\u4E3A {contractId}","Agent capability contract.version must be 1":"Agent capability contract.version \u5FC5\u987B\u4E3A 1","Agent profile.optionalPlugins must not overlap requiredPlugins":"Agent profile.optionalPlugins \u4E0D\u5F97\u4E0E requiredPlugins \u91CD\u53E0","Artifact reference.truncated must be boolean":"Artifact reference.truncated \u5FC5\u987B\u662F\u5E03\u5C14\u503C","Agent definition snapshot.version must be 1":"Agent definition snapshot.version \u5FC5\u987B\u4E3A 1","Agent instance snapshot.version must be 1":"Agent instance snapshot.version \u5FC5\u987B\u4E3A 1","Agent instance snapshot.status is invalid":"Agent instance snapshot.status \u65E0\u6548","Session revision.version must be 1":"Session revision.version \u5FC5\u987B\u4E3A 1","Session revision.leafId is required":"Session revision.leafId \u662F\u5FC5\u586B\u9879","Session snapshot.version must be 1":"Session snapshot.version \u5FC5\u987B\u4E3A 1","Session snapshot.revision.sessionId must match sessionId":"Session snapshot.revision.sessionId \u5FC5\u987B\u4E0E sessionId \u4E00\u81F4","Error envelope.version must be 1":"Error envelope.version \u5FC5\u987B\u4E3A 1","Error envelope.message must be a string":"Error envelope.message \u5FC5\u987B\u662F\u5B57\u7B26\u4E32","Error envelope.retryable must be a boolean":"Error envelope.retryable \u5FC5\u987B\u662F\u5E03\u5C14\u503C","Operation terminal is missing required field: version or status":"Operation terminal \u7F3A\u5C11\u5FC5\u586B\u5B57\u6BB5\uFF1Aversion \u6216 status","Operation terminal.version must be 1":"Operation terminal.version \u5FC5\u987B\u4E3A 1","Operation snapshot.version must be 1":"Operation snapshot.version \u5FC5\u987B\u4E3A 1","Operation snapshot.status is invalid":"Operation snapshot.status \u65E0\u6548","Operation snapshot active status must not have a terminal":"Operation snapshot \u5904\u4E8E\u6D3B\u52A8\u72B6\u6001\u65F6\u4E0D\u5F97\u643A\u5E26 terminal","Operation snapshot terminal status requires a terminal":"Operation snapshot \u5904\u4E8E\u7EC8\u6001\u65F6\u5FC5\u987B\u6709 terminal","Operation snapshot.terminal.status must match status":"Operation snapshot.terminal.status \u5FC5\u987B\u4E0E status \u4E00\u81F4","Operation snapshot.inputRevision.sessionId must match sessionId":"Operation snapshot.inputRevision.sessionId \u5FC5\u987B\u4E0E sessionId \u4E00\u81F4","Command request.version must be 1":"Command request.version \u5FC5\u987B\u4E3A 1","Command request.expectedRevision.sessionId does not match target":"Command request.expectedRevision.sessionId \u4E0E target \u4E0D\u5339\u914D","Command admission.version must be 1":"Command admission.version \u5FC5\u987B\u4E3A 1","Command admission.status is invalid":"Command admission.status \u65E0\u6548","Command admission accepted status requires an operation":"Command admission \u4E3A accepted \u72B6\u6001\u65F6\u5FC5\u987B\u6709 operation","Command admission rejected status requires an error":"Command admission \u4E3A rejected \u72B6\u6001\u65F6\u5FC5\u987B\u6709 error","Event envelope.version must be 1":"Event envelope.version \u5FC5\u987B\u4E3A 1","Event envelope.category is invalid":"Event envelope.category \u65E0\u6548","Event envelope.deliveryGuarantee is invalid":"Event envelope.deliveryGuarantee \u65E0\u6548","Event envelope.correlationId requires a real operationId":"Event envelope.correlationId \u9700\u8981\u771F\u5B9E\u7684 operationId","Event envelope.operationId requires correlationId":"Event envelope.operationId \u9700\u8981 correlationId","Operation is not retained: {operationId}":"\u64CD\u4F5C\u672A\u88AB\u4FDD\u7559\uFF1A{operationId}","Operation already has a different terminal result: {operationId}":"\u64CD\u4F5C\u5DF2\u6709\u4E0D\u540C\u7684\u7EC8\u6001\u7ED3\u679C\uFF1A{operationId}","Canonical contract vector admission failed":"\u89C4\u8303\u5951\u7EA6\u5411\u91CF\u51C6\u5165\u5931\u8D25","Canonical contract failed vector admission failed":"\u89C4\u8303\u5951\u7EA6\u5931\u8D25\u5411\u91CF\u51C6\u5165\u5931\u8D25","Canonical contract timeout vector admission failed":"\u89C4\u8303\u5951\u7EA6\u8D85\u65F6\u5411\u91CF\u51C6\u5165\u5931\u8D25","{field} must be JSON-serializable: non-finite number at {path}":"{field} \u5FC5\u987B\u53EF JSON \u5E8F\u5217\u5316\uFF1A{path} \u5904\u5B58\u5728\u975E\u6709\u9650\u6570\u5B57","{field} must be JSON-serializable: unsupported value at {path}":"{field} \u5FC5\u987B\u53EF JSON \u5E8F\u5217\u5316\uFF1A{path} \u5904\u5B58\u5728\u4E0D\u652F\u6301\u7684\u503C","{field} must be JSON-serializable: cyclic value at {path}":"{field} \u5FC5\u987B\u53EF JSON \u5E8F\u5217\u5316\uFF1A{path} \u5904\u5B58\u5728\u5FAA\u73AF\u5F15\u7528\u503C","{field} must be JSON-serializable: non-plain object at {path}":"{field} \u5FC5\u987B\u53EF JSON \u5E8F\u5217\u5316\uFF1A{path} \u5904\u5B58\u5728\u975E\u666E\u901A\u5BF9\u8C61","{field} must be JSON-serializable: symbol key at {path}":"{field} \u5FC5\u987B\u53EF JSON \u5E8F\u5217\u5316\uFF1A{path} \u5904\u5B58\u5728 symbol \u952E","{field} must be JSON-serializable: accessor at {path}":"{field} \u5FC5\u987B\u53EF JSON \u5E8F\u5217\u5316\uFF1A{path} \u5904\u5B58\u5728\u8BBF\u95EE\u5668\u5C5E\u6027","Compaction commit request must be an object":"\u538B\u7F29\u63D0\u4EA4\u8BF7\u6C42\u5FC5\u987B\u662F\u5BF9\u8C61","Unsupported compaction commit request version":"\u4E0D\u652F\u6301\u7684\u538B\u7F29\u63D0\u4EA4\u8BF7\u6C42\u7248\u672C","operationId must be a non-empty string":"operationId \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32","summary must be a non-empty string":"summary \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32","firstKeptEntryId must be a non-empty string":"firstKeptEntryId \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32","tokensBefore must be a non-negative finite number":"tokensBefore \u5FC5\u987B\u662F\u975E\u8D1F\u6709\u9650\u6570\u5B57","expectedRevision must be a valid SessionRevisionV1":"expectedRevision \u5FC5\u987B\u662F\u6709\u6548\u7684 SessionRevisionV1","operation_id_reused: {operationId}":"operation_id_reused\uFF1A{operationId}","first_kept_entry_not_on_current_branch: {firstKeptEntryId}":"first_kept_entry_not_on_current_branch\uFF1A{firstKeptEntryId}","Compaction operation entry is missing: {entryId}":"\u538B\u7F29\u64CD\u4F5C\u6761\u76EE\u7F3A\u5931\uFF1A{entryId}","Entry {id} not found":"\u672A\u627E\u5230\u6761\u76EE {id}","Capability runtime is not available":"\u80FD\u529B\u8FD0\u884C\u65F6\u4E0D\u53EF\u7528","Capability runtime is not initialized for provider request":"\u63D0\u4F9B\u7A0B\u5E8F\u8BF7\u6C42\u7684\u80FD\u529B\u8FD0\u884C\u65F6\u5C1A\u672A\u521D\u59CB\u5316","Session reload is already in progress":"\u4F1A\u8BDD\u91CD\u8F7D\u5DF2\u5728\u8FDB\u884C\u4E2D","Session reload did not commit a generation":"\u4F1A\u8BDD\u91CD\u8F7D\u672A\u63D0\u4EA4\u65B0\u4EE3\u53F7","Session context commit requires a message array":"\u4F1A\u8BDD\u4E0A\u4E0B\u6587\u63D0\u4EA4\u9700\u8981\u6D88\u606F\u6570\u7EC4","Context commit cancelled":"\u4E0A\u4E0B\u6587\u63D0\u4EA4\u5DF2\u53D6\u6D88","Context commit operationId is required":"\u4E0A\u4E0B\u6587\u63D0\u4EA4\u9700\u8981 operationId","Context revision conflict: expected {expected}, current {current}":"\u4E0A\u4E0B\u6587\u4FEE\u8BA2\u51B2\u7A81\uFF1A\u671F\u671B {expected}\uFF0C\u5F53\u524D {current}","Unsupported session export format: {format}":"\u4E0D\u652F\u6301\u7684\u4F1A\u8BDD\u5BFC\u51FA\u683C\u5F0F\uFF1A{format}","Capability plugin manifest is already loaded: {path}":"\u80FD\u529B\u63D2\u4EF6 manifest \u5DF2\u52A0\u8F7D\uFF1A{path}","Capability plugin is already loaded in this session: {id}":"\u8BE5\u4F1A\u8BDD\u4E2D\u80FD\u529B\u63D2\u4EF6\u5DF2\u52A0\u8F7D\uFF1A{id}","Capability plugin manifest path is unavailable: {id}":"\u80FD\u529B\u63D2\u4EF6 manifest \u8DEF\u5F84\u4E0D\u53EF\u7528\uFF1A{id}","Agent is already processing. Specify streamingBehavior ('steer' or 'followUp') to queue the message.":"Agent \u6B63\u5728\u5904\u7406\u4E2D\u3002\u8BF7\u6307\u5B9A streamingBehavior\uFF08'steer' \u6216 'followUp'\uFF09\u6765\u6392\u961F\u6D88\u606F\u3002","Command is registered by both CapabilityAPI and {source}: {command}":"\u547D\u4EE4\u540C\u65F6\u88AB CapabilityAPI \u548C {source} \u6CE8\u518C\uFF1A{command}","Compaction policy returned an invalid preparation: {policyName}":"\u538B\u7F29\u7B56\u7565\u8FD4\u56DE\u4E86\u65E0\u6548\u7684\u51C6\u5907\u7ED3\u679C\uFF1A{policyName}","Compaction commit revision conflict: expected {expectedSequence}/{expectedLeafId}, current {currentSequence}/{currentLeafId}":"\u538B\u7F29\u63D0\u4EA4\u4FEE\u8BA2\u51B2\u7A81\uFF1A\u671F\u671B {expectedSequence}/{expectedLeafId}\uFF0C\u5F53\u524D {currentSequence}/{currentLeafId}","Compaction commit entry is unavailable: {entryId}":"\u538B\u7F29\u63D0\u4EA4\u6761\u76EE\u4E0D\u53EF\u7528\uFF1A{entryId}","Context strategy is not configured":"\u672A\u914D\u7F6E\u4E0A\u4E0B\u6587\u7B56\u7565","Cannot {operation} while the session is running":"\u4F1A\u8BDD\u8FD0\u884C\u4E2D\u65E0\u6CD5\u6267\u884C {operation}","Session is disposed; context transition was cancelled":"\u4F1A\u8BDD\u5DF2\u9500\u6BC1\uFF1B\u4E0A\u4E0B\u6587\u8F6C\u6362\u5DF2\u53D6\u6D88","Session reload in progress; context transition was cancelled":"\u4F1A\u8BDD\u91CD\u8F7D\u8FDB\u884C\u4E2D\uFF1B\u4E0A\u4E0B\u6587\u8F6C\u6362\u5DF2\u53D6\u6D88","Context transition was superseded":"\u4E0A\u4E0B\u6587\u8F6C\u6362\u5DF2\u88AB\u53D6\u4EE3","Context strategy must return an AgentMessage array: {strategyName}":"\u4E0A\u4E0B\u6587\u7B56\u7565\u5FC5\u987B\u8FD4\u56DE AgentMessage \u6570\u7EC4\uFF1A{strategyName}","Context transition requires an AgentMessage array: {strategyName}":"\u4E0A\u4E0B\u6587\u8F6C\u6362\u9700\u8981 AgentMessage \u6570\u7EC4\uFF1A{strategyName}","Context strategy must return structured-cloneable AgentMessage values: {strategyName}":"\u4E0A\u4E0B\u6587\u7B56\u7565\u5FC5\u987B\u8FD4\u56DE\u53EF\u7ED3\u6784\u5316\u514B\u9686\u7684 AgentMessage \u503C\uFF1A{strategyName}","Context transition requires structured-cloneable AgentMessage values: {strategyName}":"\u4E0A\u4E0B\u6587\u8F6C\u6362\u9700\u8981\u53EF\u7ED3\u6784\u5316\u514B\u9686\u7684 AgentMessage \u503C\uFF1A{strategyName}","Session is disposed; bash execution is unavailable":"\u4F1A\u8BDD\u5DF2\u9500\u6BC1\uFF1Bbash \u6267\u884C\u4E0D\u53EF\u7528","Session is disposed; bash results cannot be recorded":"\u4F1A\u8BDD\u5DF2\u9500\u6BC1\uFF1B\u65E0\u6CD5\u8BB0\u5F55 bash \u7ED3\u679C","Invalid entry ID for forking":"\u7528\u4E8E\u5206\u53C9\u7684\u6761\u76EE ID \u65E0\u6548","Persisted session is missing a session file":"\u6301\u4E45\u5316\u4F1A\u8BDD\u7F3A\u5C11\u4F1A\u8BDD\u6587\u4EF6","Embedded SDK binding is disposed: {label}":"Embedded SDK \u7ED1\u5B9A\u5DF2\u9500\u6BC1\uFF1A{label}","Embedded SDK run input must be JSON-compatible":"Embedded SDK \u8FD0\u884C\u8F93\u5165\u5FC5\u987B\u517C\u5BB9 JSON","Embedded SDK session requires revision support":"Embedded SDK \u4F1A\u8BDD\u9700\u8981\u4FEE\u8BA2\u652F\u6301","Embedded SDK has no defined Agent: {id}@{version}":"Embedded SDK \u6CA1\u6709\u5DF2\u5B9A\u4E49\u7684 Agent\uFF1A{id}@{version}","Embedded SDK lease does not belong to Agent instance: {id}":"Embedded SDK \u79DF\u7EA6\u4E0D\u5C5E\u4E8E\u8BE5 Agent \u5B9E\u4F8B\uFF1A{id}","Embedded SDK disposal failed":"Embedded SDK \u9500\u6BC1\u5931\u8D25","Authentication failed for \"{provider}\". Credentials may have expired or network is unavailable. Run '/login {provider}' to re-authenticate.":`"{provider}" \u8BA4\u8BC1\u5931\u8D25\u3002\u51ED\u8BC1\u53EF\u80FD\u5DF2\u8FC7\u671F\u6216\u7F51\u7EDC\u4E0D\u53EF\u7528\u3002\u8BF7\u8FD0\u884C '/login {provider}' \u91CD\u65B0\u8BA4\u8BC1\u3002`,'Provider {providerId}: "api" is required when registering streamSimple.':'\u63D0\u4F9B\u5546 {providerId}\uFF1A\u6CE8\u518C streamSimple \u65F6\u5FC5\u987B\u6307\u5B9A "api"\u3002',"No API provider registered for api: {api}":"\u672A\u6CE8\u518C api \u4E3A {api} \u7684 API \u63D0\u4F9B\u5546","Provider config is required when registering by name":"\u6309\u540D\u79F0\u6CE8\u518C\u65F6\u5FC5\u987B\u63D0\u4F9B\u63D0\u4F9B\u5546\u914D\u7F6E","Provider id must not be empty.":"Provider id \u4E0D\u80FD\u4E3A\u7A7A\u3002","Invalid timeout: must be a finite number of seconds":"\u65E0\u6548\u7684\u8D85\u65F6\u503C\uFF1A\u5FC5\u987B\u662F\u6709\u9650\u79D2\u6570","Invalid timeout: maximum is {maxSeconds} seconds":"\u65E0\u6548\u7684\u8D85\u65F6\u503C\uFF1A\u6700\u5927\u4E3A {maxSeconds} \u79D2","Working directory does not exist: {cwd}\nCannot execute {shellName} commands.":`\u5DE5\u4F5C\u76EE\u5F55\u4E0D\u5B58\u5728\uFF1A{cwd}
4
+ \u65E0\u6CD5\u6267\u884C {shellName} \u547D\u4EE4\u3002`,"Command aborted":"\u547D\u4EE4\u5DF2\u4E2D\u6B62","Command timed out after {seconds} seconds":"\u547D\u4EE4\u5728 {seconds} \u79D2\u540E\u8D85\u65F6","Command terminated without an exit code":"\u547D\u4EE4\u7ED3\u675F\u65F6\u6CA1\u6709\u9000\u51FA\u7801","Command exited with code {exitCode}":"\u547D\u4EE4\u9000\u51FA\u7801\u4E3A {exitCode}","Replacement range is outside the base content.":"\u66FF\u6362\u8303\u56F4\u8D85\u51FA\u57FA\u51C6\u5185\u5BB9\u3002","Cannot preserve unchanged lines because the base content has a different line count.":"\u57FA\u51C6\u5185\u5BB9\u884C\u6570\u4E0D\u540C\uFF0C\u65E0\u6CD5\u4FDD\u7559\u672A\u53D8\u66F4\u7684\u884C\u3002","edits[{previousIndex}] and edits[{currentIndex}] overlap in {path}. Merge them into one edit or target disjoint regions.":"{path} \u4E2D edits[{previousIndex}] \u4E0E edits[{currentIndex}] \u91CD\u53E0\u3002\u8BF7\u5408\u5E76\u4E3A\u4E00\u4E2A\u7F16\u8F91\u6216\u6539\u4E3A\u4E0D\u76F8\u4EA4\u7684\u533A\u57DF\u3002","Edit tool input is invalid. edits must contain at least one replacement.":"Edit \u5DE5\u5177\u8F93\u5165\u65E0\u6548\u3002edits \u5FC5\u987B\u81F3\u5C11\u5305\u542B\u4E00\u4E2A\u66FF\u6362\u3002","Could not edit file: {path}. {errorMessage}.":"\u65E0\u6CD5\u7F16\u8F91\u6587\u4EF6\uFF1A{path}\u3002{errorMessage}\u3002","Unknown tool name: {toolName}":"\u672A\u77E5\u5DE5\u5177\u540D\uFF1A{toolName}","Offset {offset} is beyond end of file ({totalLines} lines total)":"\u504F\u79FB {offset} \u8D85\u51FA\u6587\u4EF6\u672B\u5C3E\uFF08\u5171 {totalLines} \u884C\uFF09","Cannot append to a finished output accumulator":"\u65E0\u6CD5\u5411\u5DF2\u5B8C\u6210\u7684\u8F93\u51FA\u7D2F\u52A0\u5668\u8FFD\u52A0\u6570\u636E","Host logger level must be one of {levels}; got {value}":"Host logger level \u5FC5\u987B\u662F {levels} \u4E4B\u4E00\uFF1B\u5B9E\u9645\u4E3A {value}","Missing git install root":"\u7F3A\u5C11 git \u5B89\u88C5\u6839\u76EE\u5F55","Refusing to use path outside package install root: {path}":"\u62D2\u7EDD\u4F7F\u7528\u5305\u5B89\u88C5\u6839\u76EE\u5F55\u4E4B\u5916\u7684\u8DEF\u5F84\uFF1A{path}","Unknown resource type: {resourceType}":"\u672A\u77E5\u8D44\u6E90\u7C7B\u578B\uFF1A{resourceType}","Cannot export a session without a session header":"\u6CA1\u6709\u4F1A\u8BDD\u5934\u4FE1\u606F\uFF0C\u65E0\u6CD5\u5BFC\u51FA\u4F1A\u8BDD"};var coreContractExtensions={"agent lifecycle data has unsupported fields":"agent lifecycle data \u5305\u542B\u4E0D\u652F\u6301\u7684\u5B57\u6BB5","agent lifecycle data must be a plain object":"agent lifecycle data \u5FC5\u987B\u662F\u666E\u901A\u5BF9\u8C61","agent lifecycle data.version must be 1":"agent lifecycle data.version \u5FC5\u987B\u4E3A 1","agent.end data has unsupported fields":"agent.end data \u5305\u542B\u4E0D\u652F\u6301\u7684\u5B57\u6BB5","agent.end data must be a plain object":"agent.end data \u5FC5\u987B\u662F\u666E\u901A\u5BF9\u8C61","agent.end data.messageCount must be a non-negative safe integer":"agent.end data.messageCount \u5FC5\u987B\u662F\u975E\u8D1F\u5B89\u5168\u6574\u6570","agent.end data.version must be 1":"agent.end data.version \u5FC5\u987B\u4E3A 1","agent.task.settled data has unsupported fields: {unsupported}":"agent.task.settled data \u5305\u542B\u4E0D\u652F\u6301\u7684\u5B57\u6BB5\uFF1A{unsupported}","agent.task.settled data is missing required field: {key}":"agent.task.settled data \u7F3A\u5C11\u5FC5\u9700\u5B57\u6BB5\uFF1A{key}","agent.task.settled data must be a plain object":"agent.task.settled data \u5FC5\u987B\u662F\u666E\u901A\u5BF9\u8C61","agent.task.settled data.status is invalid":"agent.task.settled data.status \u65E0\u6548","agent.task.settled data.version must be 1":"agent.task.settled data.version \u5FC5\u987B\u4E3A 1","before.agent.start data has unsupported fields":"before.agent.start data \u5305\u542B\u4E0D\u652F\u6301\u7684\u5B57\u6BB5","before.agent.start data has unsupported fields: {unsupported}":"before.agent.start data \u5305\u542B\u4E0D\u652F\u6301\u7684\u5B57\u6BB5\uFF1A{unsupported}","before.agent.start data is missing required field: {key}":"before.agent.start data \u7F3A\u5C11\u5FC5\u9700\u5B57\u6BB5\uFF1A{key}","before.agent.start data must be a plain object":"before.agent.start data \u5FC5\u987B\u662F\u666E\u901A\u5BF9\u8C61","before.agent.start data.hasImages must be a boolean":"before.agent.start data.hasImages \u5FC5\u987B\u662F\u5E03\u5C14\u503C","before.agent.start data.systemPrompt must be a string":"before.agent.start data.systemPrompt \u5FC5\u987B\u662F\u5B57\u7B26\u4E32","before.agent.start data.systemPromptOptions must be a plain object":"before.agent.start data.systemPromptOptions \u5FC5\u987B\u662F\u666E\u901A\u5BF9\u8C61","before.agent.start data.version must be 1":"before.agent.start data.version \u5FC5\u987B\u4E3A 1","before.agent.start data.version must be 2":"before.agent.start data.version \u5FC5\u987B\u4E3A 2","capability.call data has unsupported fields: {unsupported}":"capability.call data \u5305\u542B\u4E0D\u652F\u6301\u7684\u5B57\u6BB5\uFF1A{unsupported}","capability.call data is missing required field: {key}":"capability.call data \u7F3A\u5C11\u5FC5\u9700\u5B57\u6BB5\uFF1A{key}","capability.call data must be a plain object":"capability.call data \u5FC5\u987B\u662F\u666E\u901A\u5BF9\u8C61","capability.call data.capabilityKind is invalid":"capability.call data.capabilityKind \u65E0\u6548","capability.call data.capabilityVersion must be a positive safe integer":"capability.call data.capabilityVersion \u5FC5\u987B\u662F\u6B63\u5B89\u5168\u6574\u6570","capability.call data.error has unsupported fields":"capability.call data.error \u5305\u542B\u4E0D\u652F\u6301\u7684\u5B57\u6BB5","capability.call data.error is missing required field: code":"capability.call data.error \u7F3A\u5C11\u5FC5\u9700\u5B57\u6BB5\uFF1Acode","capability.call data.error is missing required field: message":"capability.call data.error \u7F3A\u5C11\u5FC5\u9700\u5B57\u6BB5\uFF1Amessage","capability.call data.error must be a plain object":"capability.call data.error \u5FC5\u987B\u662F\u666E\u901A\u5BF9\u8C61","capability.call data.event is invalid":"capability.call data.event \u65E0\u6548","capability.call data.status is invalid":"capability.call data.status \u65E0\u6548","capability.call data.version must be 1":"capability.call data.version \u5FC5\u987B\u4E3A 1","capability.call end requires status":"capability.call \u7684 end \u9700\u8981 status","capability.call start/cancel must not include error":"capability.call \u7684 start/cancel \u4E0D\u5F97\u5305\u542B error","capability.call start/cancel must not include status":"capability.call \u7684 start/cancel \u4E0D\u5F97\u5305\u542B status","capability.call succeeded end must not include error":"capability.call \u6210\u529F\u7684 end \u4E0D\u5F97\u5305\u542B error","context.assembled data has unsupported fields":"context.assembled data \u5305\u542B\u4E0D\u652F\u6301\u7684\u5B57\u6BB5","context.assembled data must be a plain object":"context.assembled data \u5FC5\u987B\u662F\u666E\u901A\u5BF9\u8C61","context.assembled data.messageCount must be a non-negative safe integer":"context.assembled data.messageCount \u5FC5\u987B\u662F\u975E\u8D1F\u5B89\u5168\u6574\u6570","context.assembled data.version must be 1":"context.assembled data.version \u5FC5\u987B\u4E3A 1","input.gate.blocked data has unsupported fields: {unsupported}":"input.gate.blocked data \u5305\u542B\u4E0D\u652F\u6301\u7684\u5B57\u6BB5\uFF1A{unsupported}","input.gate.blocked data is missing required field: {key}":"input.gate.blocked data \u7F3A\u5C11\u5FC5\u9700\u5B57\u6BB5\uFF1A{key}","input.gate.blocked data must be a plain object":"input.gate.blocked data \u5FC5\u987B\u662F\u666E\u901A\u5BF9\u8C61","input.gate.blocked data.textLength must be a non-negative integer":"input.gate.blocked data.textLength \u5FC5\u987B\u662F\u975E\u8D1F\u6574\u6570","input.gate.blocked data.version must be 1":"input.gate.blocked data.version \u5FC5\u987B\u4E3A 1","input.received data has unsupported fields":"input.received data \u5305\u542B\u4E0D\u652F\u6301\u7684\u5B57\u6BB5","input.received data must be a plain object":"input.received data \u5FC5\u987B\u662F\u666E\u901A\u5BF9\u8C61","input.received data.textLength must be a non-negative safe integer":"input.received data.textLength \u5FC5\u987B\u662F\u975E\u8D1F\u5B89\u5168\u6574\u6570","input.received data.version must be 1":"input.received data.version \u5FC5\u987B\u4E3A 1","message lifecycle data has unsupported fields":"message lifecycle data \u5305\u542B\u4E0D\u652F\u6301\u7684\u5B57\u6BB5","message lifecycle data must be a plain object":"message lifecycle data \u5FC5\u987B\u662F\u666E\u901A\u5BF9\u8C61","message lifecycle data.version must be 1":"message lifecycle data.version \u5FC5\u987B\u4E3A 1","model.response data has unsupported fields: {unsupported}":"model.response data \u5305\u542B\u4E0D\u652F\u6301\u7684\u5B57\u6BB5\uFF1A{unsupported}","model.response data is missing required field: {key}":"model.response data \u7F3A\u5C11\u5FC5\u9700\u5B57\u6BB5\uFF1A{key}","model.response data must be a plain object":"model.response data \u5FC5\u987B\u662F\u666E\u901A\u5BF9\u8C61","model.response data.message must be an assistant message object":"model.response data.message \u5FC5\u987B\u662F assistant message \u5BF9\u8C61","model.response data.message.role must be assistant":"model.response data.message.role \u5FC5\u987B\u662F assistant","model.response data.revision has unsupported fields":"model.response data.revision \u5305\u542B\u4E0D\u652F\u6301\u7684\u5B57\u6BB5","model.response data.revision must be a plain object":"model.response data.revision \u5FC5\u987B\u662F\u666E\u901A\u5BF9\u8C61","model.response data.revision.sequence must be a non-negative safe integer":"model.response data.revision.sequence \u5FC5\u987B\u662F\u975E\u8D1F\u5B89\u5168\u6574\u6570","model.response data.revision.sessionId must match sessionId":"model.response data.revision.sessionId \u5FC5\u987B\u4E0E sessionId \u4E00\u81F4","model.response data.revision.version must be 1":"model.response data.revision.version \u5FC5\u987B\u4E3A 1","model.response data.stopReason is invalid":"model.response data.stopReason \u65E0\u6548","model.response data.version must be 1":"model.response data.version \u5FC5\u987B\u4E3A 1","model.select data has unsupported fields":"model.select data \u5305\u542B\u4E0D\u652F\u6301\u7684\u5B57\u6BB5","model.select data must be a plain object":"model.select data \u5FC5\u987B\u662F\u666E\u901A\u5BF9\u8C61","model.select data.source is invalid":"model.select data.source \u65E0\u6548","model.select data.version must be 1":"model.select data.version \u5FC5\u987B\u4E3A 1","model.stream committed phase only permits terminal events":"model.stream \u7684 committed phase \u53EA\u5141\u8BB8\u7EC8\u6B62\u4E8B\u4EF6","model.stream data has unsupported fields: {unsupported}":"model.stream data \u5305\u542B\u4E0D\u652F\u6301\u7684\u5B57\u6BB5\uFF1A{unsupported}","model.stream data is missing required field: {key}":"model.stream data \u7F3A\u5C11\u5FC5\u9700\u5B57\u6BB5\uFF1A{key}","model.stream data must be a plain object":"model.stream data \u5FC5\u987B\u662F\u666E\u901A\u5BF9\u8C61","model.stream data.event is invalid":"model.stream data.event \u65E0\u6548","model.stream data.phase is invalid":"model.stream data.phase \u65E0\u6548","model.stream data.sequence must be a positive safe integer":"model.stream data.sequence \u5FC5\u987B\u662F\u6B63\u5B89\u5168\u6574\u6570","model.stream data.terminal does not match event":"model.stream data.terminal \u4E0E event \u4E0D\u4E00\u81F4","model.stream data.version must be 1":"model.stream data.version \u5FC5\u987B\u4E3A 1","model.stream done event cannot contain error":"model.stream \u7684 done \u4E8B\u4EF6\u4E0D\u80FD\u5305\u542B error","model.stream error event requires error object":"model.stream \u7684 error \u4E8B\u4EF6\u9700\u8981 error \u5BF9\u8C61","model.stream error has unsupported fields":"model.stream error \u5305\u542B\u4E0D\u652F\u6301\u7684\u5B57\u6BB5","model.stream non-terminal event cannot contain error":"model.stream \u7684\u975E\u7EC8\u6B62\u4E8B\u4EF6\u4E0D\u80FD\u5305\u542B error","operation.cancel data has unsupported fields":"operation.cancel data \u5305\u542B\u4E0D\u652F\u6301\u7684\u5B57\u6BB5","operation.cancel data must be a plain object":"operation.cancel data \u5FC5\u987B\u662F\u666E\u901A\u5BF9\u8C61","operation.cancel data.version must be 1":"operation.cancel data.version \u5FC5\u987B\u4E3A 1","operation.end data has unsupported fields: {unsupported}":"operation.end data \u5305\u542B\u4E0D\u652F\u6301\u7684\u5B57\u6BB5\uFF1A{unsupported}","operation.end data is missing required field: {key}":"operation.end data \u7F3A\u5C11\u5FC5\u9700\u5B57\u6BB5\uFF1A{key}","operation.end data must be a plain object":"operation.end data \u5FC5\u987B\u662F\u666E\u901A\u5BF9\u8C61","operation.end data.status is invalid":"operation.end data.status \u65E0\u6548","operation.end data.version must be 1":"operation.end data.version \u5FC5\u987B\u4E3A 1","operation.start data has unsupported fields":"operation.start data \u5305\u542B\u4E0D\u652F\u6301\u7684\u5B57\u6BB5","operation.start data must be a plain object":"operation.start data \u5FC5\u987B\u662F\u666E\u901A\u5BF9\u8C61","operation.start data.version must be 1":"operation.start data.version \u5FC5\u987B\u4E3A 1","operation.step data has unsupported fields":"operation.step data \u5305\u542B\u4E0D\u652F\u6301\u7684\u5B57\u6BB5","operation.step data must be a plain object":"operation.step data \u5FC5\u987B\u662F\u666E\u901A\u5BF9\u8C61","operation.step data.step must be a positive safe integer":"operation.step data.step \u5FC5\u987B\u662F\u6B63\u5B89\u5168\u6574\u6570","operation.step data.version must be 1":"operation.step data.version \u5FC5\u987B\u4E3A 1","plugin.dispose data has unsupported fields":"plugin.dispose data \u5305\u542B\u4E0D\u652F\u6301\u7684\u5B57\u6BB5","plugin.dispose data must be a plain object":"plugin.dispose data \u5FC5\u987B\u662F\u666E\u901A\u5BF9\u8C61","plugin.dispose data.status is invalid":"plugin.dispose data.status \u65E0\u6548","plugin.dispose data.version must be 1":"plugin.dispose data.version \u5FC5\u987B\u4E3A 1","plugin.ready data has unsupported fields":"plugin.ready data \u5305\u542B\u4E0D\u652F\u6301\u7684\u5B57\u6BB5","plugin.ready data must be a plain object":"plugin.ready data \u5FC5\u987B\u662F\u666E\u901A\u5BF9\u8C61","plugin.ready data.version must be 1":"plugin.ready data.version \u5FC5\u987B\u4E3A 1","plugin.rejected data has unsupported fields":"plugin.rejected data \u5305\u542B\u4E0D\u652F\u6301\u7684\u5B57\u6BB5","plugin.rejected data must be a plain object":"plugin.rejected data \u5FC5\u987B\u662F\u666E\u901A\u5BF9\u8C61","plugin.rejected data.code is invalid":"plugin.rejected data.code \u65E0\u6548","plugin.rejected data.pluginId must be a string when present":"plugin.rejected data.pluginId \u5B58\u5728\u65F6\u5FC5\u987B\u662F\u5B57\u7B26\u4E32","plugin.rejected data.version must be 1":"plugin.rejected data.version \u5FC5\u987B\u4E3A 1","provider.failover.probe.failed data has unsupported fields: {unsupported}":"provider.failover.probe.failed data \u5305\u542B\u4E0D\u652F\u6301\u7684\u5B57\u6BB5\uFF1A{unsupported}","provider.failover.probe.failed data is missing required field: {key}":"provider.failover.probe.failed data \u7F3A\u5C11\u5FC5\u9700\u5B57\u6BB5\uFF1A{key}","provider.failover.probe.failed data must be a plain object":"provider.failover.probe.failed data \u5FC5\u987B\u662F\u666E\u901A\u5BF9\u8C61","provider.failover.probe.failed data.version must be 1":"provider.failover.probe.failed data.version \u5FC5\u987B\u4E3A 1","provider.failover.recovered data has unsupported fields":"provider.failover.recovered data \u5305\u542B\u4E0D\u652F\u6301\u7684\u5B57\u6BB5","provider.failover.recovered data must be a plain object":"provider.failover.recovered data \u5FC5\u987B\u662F\u666E\u901A\u5BF9\u8C61","provider.failover.recovered data.version must be 1":"provider.failover.recovered data.version \u5FC5\u987B\u4E3A 1","provider.failover.switched data has unsupported fields: {unsupported}":"provider.failover.switched data \u5305\u542B\u4E0D\u652F\u6301\u7684\u5B57\u6BB5\uFF1A{unsupported}","provider.failover.switched data is missing required field: {key}":"provider.failover.switched data \u7F3A\u5C11\u5FC5\u9700\u5B57\u6BB5\uFF1A{key}","provider.failover.switched data must be a plain object":"provider.failover.switched data \u5FC5\u987B\u662F\u666E\u901A\u5BF9\u8C61","provider.failover.switched data.version must be 1":"provider.failover.switched data.version \u5FC5\u987B\u4E3A 1","resources.discover data has unsupported fields":"resources.discover data \u5305\u542B\u4E0D\u652F\u6301\u7684\u5B57\u6BB5","resources.discover data has unsupported fields: {unsupported}":"resources.discover data \u5305\u542B\u4E0D\u652F\u6301\u7684\u5B57\u6BB5\uFF1A{unsupported}","resources.discover data is missing required field: {key}":"resources.discover data \u7F3A\u5C11\u5FC5\u9700\u5B57\u6BB5\uFF1A{key}","resources.discover data must be a plain object":"resources.discover data \u5FC5\u987B\u662F\u666E\u901A\u5BF9\u8C61","resources.discover data.reason is invalid":"resources.discover data.reason \u65E0\u6548","resources.discover data.version must be 1":"resources.discover data.version \u5FC5\u987B\u4E3A 1","resources.discover data.version must be 2":"resources.discover data.version \u5FC5\u987B\u4E3A 2","session.auto.retry data has unsupported fields: {unsupported}":"session.auto.retry data \u5305\u542B\u4E0D\u652F\u6301\u7684\u5B57\u6BB5\uFF1A{unsupported}","session.auto.retry data is missing required field: {key}":"session.auto.retry data \u7F3A\u5C11\u5FC5\u9700\u5B57\u6BB5\uFF1A{key}","session.auto.retry data must be a plain object":"session.auto.retry data \u5FC5\u987B\u662F\u666E\u901A\u5BF9\u8C61","session.auto.retry data.version must be 1":"session.auto.retry data.version \u5FC5\u987B\u4E3A 1","session.compaction.decision data has unsupported fields: {unsupported}":"session.compaction.decision data \u5305\u542B\u4E0D\u652F\u6301\u7684\u5B57\u6BB5\uFF1A{unsupported}","session.compaction.decision data is missing required field: {key}":"session.compaction.decision data \u7F3A\u5C11\u5FC5\u9700\u5B57\u6BB5\uFF1A{key}","session.compaction.decision data must be a plain object":"session.compaction.decision data \u5FC5\u987B\u662F\u666E\u901A\u5BF9\u8C61","session.compaction.decision data.compact must be a boolean":"session.compaction.decision data.compact \u5FC5\u987B\u662F\u5E03\u5C14\u503C","session.compaction.decision data.reason is invalid":"session.compaction.decision data.reason \u65E0\u6548","session.compaction.decision data.version must be 1":"session.compaction.decision data.version \u5FC5\u987B\u4E3A 1","session.compaction.decision data.willRetry must be a boolean":"session.compaction.decision data.willRetry \u5FC5\u987B\u662F\u5E03\u5C14\u503C","session.compaction.failed data has unsupported fields: {unsupported}":"session.compaction.failed data \u5305\u542B\u4E0D\u652F\u6301\u7684\u5B57\u6BB5\uFF1A{unsupported}","session.compaction.failed data is missing required field: {key}":"session.compaction.failed data \u7F3A\u5C11\u5FC5\u9700\u5B57\u6BB5\uFF1A{key}","session.compaction.failed data must be a plain object":"session.compaction.failed data \u5FC5\u987B\u662F\u666E\u901A\u5BF9\u8C61","session.compaction.failed data.reason is invalid":"session.compaction.failed data.reason \u65E0\u6548","session.compaction.failed data.version must be 1":"session.compaction.failed data.version \u5FC5\u987B\u4E3A 1","session.context.replaced data has unsupported fields: {unsupported}":"session.context.replaced data \u5305\u542B\u4E0D\u652F\u6301\u7684\u5B57\u6BB5\uFF1A{unsupported}","session.context.replaced data is missing required field: {key}":"session.context.replaced data \u7F3A\u5C11\u5FC5\u9700\u5B57\u6BB5\uFF1A{key}","session.context.replaced data must be a plain object":"session.context.replaced data \u5FC5\u987B\u662F\u666E\u901A\u5BF9\u8C61","session.context.replaced data.messageCount must be a non-negative safe integer":"session.context.replaced data.messageCount \u5FC5\u987B\u662F\u975E\u8D1F\u5B89\u5168\u6574\u6570","session.context.replaced data.reason is invalid":"session.context.replaced data.reason \u65E0\u6548","session.context.replaced data.version must be 1":"session.context.replaced data.version \u5FC5\u987B\u4E3A 1","session.end data has unsupported fields":"session.end data \u5305\u542B\u4E0D\u652F\u6301\u7684\u5B57\u6BB5","session.end data must be a plain object":"session.end data \u5FC5\u987B\u662F\u666E\u901A\u5BF9\u8C61","session.end data.version must be 1":"session.end data.version \u5FC5\u987B\u4E3A 1","session.entry.appended data has unsupported fields":"session.entry.appended data \u5305\u542B\u4E0D\u652F\u6301\u7684\u5B57\u6BB5","session.entry.appended data must be a plain object":"session.entry.appended data \u5FC5\u987B\u662F\u666E\u901A\u5BF9\u8C61","session.entry.appended data.version must be 1":"session.entry.appended data.version \u5FC5\u987B\u4E3A 1","session.info.changed data has unsupported fields":"session.info.changed data \u5305\u542B\u4E0D\u652F\u6301\u7684\u5B57\u6BB5","session.info.changed data must be a plain object":"session.info.changed data \u5FC5\u987B\u662F\u666E\u901A\u5BF9\u8C61","session.info.changed data.version must be 1":"session.info.changed data.version \u5FC5\u987B\u4E3A 1","session.reload data has unsupported fields":"session.reload data \u5305\u542B\u4E0D\u652F\u6301\u7684\u5B57\u6BB5","session.reload data must be a plain object":"session.reload data \u5FC5\u987B\u662F\u666E\u901A\u5BF9\u8C61","session.reload data.generation must be a positive safe integer":"session.reload data.generation \u5FC5\u987B\u662F\u6B63\u5B89\u5168\u6574\u6570","session.reload data.reason is invalid":"session.reload data.reason \u65E0\u6548","session.reload data.version must be 1":"session.reload data.version \u5FC5\u987B\u4E3A 1","session.start data has unsupported fields":"session.start data \u5305\u542B\u4E0D\u652F\u6301\u7684\u5B57\u6BB5","session.start data must be a plain object":"session.start data \u5FC5\u987B\u662F\u666E\u901A\u5BF9\u8C61","session.start data.reason is invalid":"session.start data.reason \u65E0\u6548","session.start data.version must be 1":"session.start data.version \u5FC5\u987B\u4E3A 1","thinking_level.select data has unsupported fields":"thinking_level.select data \u5305\u542B\u4E0D\u652F\u6301\u7684\u5B57\u6BB5","thinking_level.select data must be a plain object":"thinking_level.select data \u5FC5\u987B\u662F\u666E\u901A\u5BF9\u8C61","thinking_level.select data.version must be 1":"thinking_level.select data.version \u5FC5\u987B\u4E3A 1","tool.call data has unsupported fields: {unsupported}":"tool.call data \u5305\u542B\u4E0D\u652F\u6301\u7684\u5B57\u6BB5\uFF1A{unsupported}","tool.call data is missing required field: {key}":"tool.call data \u7F3A\u5C11\u5FC5\u9700\u5B57\u6BB5\uFF1A{key}","tool.call data must be a plain object":"tool.call data \u5FC5\u987B\u662F\u666E\u901A\u5BF9\u8C61","tool.call data.revision has unsupported fields":"tool.call data.revision \u5305\u542B\u4E0D\u652F\u6301\u7684\u5B57\u6BB5","tool.call data.revision must be a plain object":"tool.call data.revision \u5FC5\u987B\u662F\u666E\u901A\u5BF9\u8C61","tool.call data.revision.sequence must be a non-negative safe integer":"tool.call data.revision.sequence \u5FC5\u987B\u662F\u975E\u8D1F\u5B89\u5168\u6574\u6570","tool.call data.revision.sessionId must match sessionId":"tool.call data.revision.sessionId \u5FC5\u987B\u4E0E sessionId \u4E00\u81F4","tool.call data.revision.version must be 1":"tool.call data.revision.version \u5FC5\u987B\u4E3A 1","tool.call data.version must be 1":"tool.call data.version \u5FC5\u987B\u4E3A 1","tool.commit data has unsupported fields: {unsupported}":"tool.commit data \u5305\u542B\u4E0D\u652F\u6301\u7684\u5B57\u6BB5\uFF1A{unsupported}","tool.commit data is missing required field: {key}":"tool.commit data \u7F3A\u5C11\u5FC5\u9700\u5B57\u6BB5\uFF1A{key}","tool.commit data must be a plain object":"tool.commit data \u5FC5\u987B\u662F\u666E\u901A\u5BF9\u8C61","tool.commit data.isError must be boolean":"tool.commit data.isError \u5FC5\u987B\u662F\u5E03\u5C14\u503C","tool.commit data.revision has unsupported fields":"tool.commit data.revision \u5305\u542B\u4E0D\u652F\u6301\u7684\u5B57\u6BB5","tool.commit data.revision must be a plain object":"tool.commit data.revision \u5FC5\u987B\u662F\u666E\u901A\u5BF9\u8C61","tool.commit data.revision.sequence must be a non-negative safe integer":"tool.commit data.revision.sequence \u5FC5\u987B\u662F\u975E\u8D1F\u5B89\u5168\u6574\u6570","tool.commit data.revision.sessionId must match sessionId":"tool.commit data.revision.sessionId \u5FC5\u987B\u4E0E sessionId \u4E00\u81F4","tool.commit data.revision.version must be 1":"tool.commit data.revision.version \u5FC5\u987B\u4E3A 1","tool.commit data.version must be 1":"tool.commit data.version \u5FC5\u987B\u4E3A 1","tool.execute data has unsupported fields: {unsupported}":"tool.execute data \u5305\u542B\u4E0D\u652F\u6301\u7684\u5B57\u6BB5\uFF1A{unsupported}","tool.execute data is missing required field: {key}":"tool.execute data \u7F3A\u5C11\u5FC5\u9700\u5B57\u6BB5\uFF1A{key}","tool.execute data must be a plain object":"tool.execute data \u5FC5\u987B\u662F\u666E\u901A\u5BF9\u8C61","tool.execute data.isError must be boolean":"tool.execute data.isError \u5FC5\u987B\u662F\u5E03\u5C14\u503C","tool.execute data.version must be 1":"tool.execute data.version \u5FC5\u987B\u4E3A 1","tool.execution.start data has unsupported fields":"tool.execution.start data \u5305\u542B\u4E0D\u652F\u6301\u7684\u5B57\u6BB5","tool.execution.start data must be a plain object":"tool.execution.start data \u5FC5\u987B\u662F\u666E\u901A\u5BF9\u8C61","tool.execution.start data.version must be 1":"tool.execution.start data.version \u5FC5\u987B\u4E3A 1","tool.gate.blocked data has unsupported fields: {unsupported}":"tool.gate.blocked data \u5305\u542B\u4E0D\u652F\u6301\u7684\u5B57\u6BB5\uFF1A{unsupported}","tool.gate.blocked data is missing required field: {key}":"tool.gate.blocked data \u7F3A\u5C11\u5FC5\u9700\u5B57\u6BB5\uFF1A{key}","tool.gate.blocked data must be a plain object":"tool.gate.blocked data \u5FC5\u987B\u662F\u666E\u901A\u5BF9\u8C61","tool.gate.blocked data.version must be 1":"tool.gate.blocked data.version \u5FC5\u987B\u4E3A 1","tool.result data has unsupported fields: {unsupported}":"tool.result data \u5305\u542B\u4E0D\u652F\u6301\u7684\u5B57\u6BB5\uFF1A{unsupported}","tool.result data is missing required field: {key}":"tool.result data \u7F3A\u5C11\u5FC5\u9700\u5B57\u6BB5\uFF1A{key}","tool.result data must be a plain object":"tool.result data \u5FC5\u987B\u662F\u666E\u901A\u5BF9\u8C61","tool.result data.isError must be boolean":"tool.result data.isError \u5FC5\u987B\u662F\u5E03\u5C14\u503C","tool.result data.message must be a tool result message object":"tool.result data.message \u5FC5\u987B\u662F tool result message \u5BF9\u8C61","tool.result data.message.content must be an array":"tool.result data.message.content \u5FC5\u987B\u662F\u6570\u7EC4","tool.result data.message.isError must be boolean":"tool.result data.message.isError \u5FC5\u987B\u662F\u5E03\u5C14\u503C","tool.result data.message.isError must match isError":"tool.result data.message.isError \u5FC5\u987B\u4E0E isError \u4E00\u81F4","tool.result data.message.role must be toolResult":"tool.result data.message.role \u5FC5\u987B\u662F toolResult","tool.result data.message.toolCallId must match toolCallId":"tool.result data.message.toolCallId \u5FC5\u987B\u4E0E toolCallId \u4E00\u81F4","tool.result data.message.toolName must match toolName":"tool.result data.message.toolName \u5FC5\u987B\u4E0E toolName \u4E00\u81F4","tool.result data.revision has unsupported fields":"tool.result data.revision \u5305\u542B\u4E0D\u652F\u6301\u7684\u5B57\u6BB5","tool.result data.revision must be a plain object":"tool.result data.revision \u5FC5\u987B\u662F\u666E\u901A\u5BF9\u8C61","tool.result data.revision.sequence must be a non-negative safe integer":"tool.result data.revision.sequence \u5FC5\u987B\u662F\u975E\u8D1F\u5B89\u5168\u6574\u6570","tool.result data.revision.sessionId must match sessionId":"tool.result data.revision.sessionId \u5FC5\u987B\u4E0E sessionId \u4E00\u81F4","tool.result data.revision.version must be 1":"tool.result data.revision.version \u5FC5\u987B\u4E3A 1","tool.result data.version must be 1":"tool.result data.version \u5FC5\u987B\u4E3A 1","tool.result.raw data has unsupported fields: {unsupported}":"tool.result.raw data \u5305\u542B\u4E0D\u652F\u6301\u7684\u5B57\u6BB5\uFF1A{unsupported}","tool.result.raw data is missing required field: {key}":"tool.result.raw data \u7F3A\u5C11\u5FC5\u9700\u5B57\u6BB5\uFF1A{key}","tool.result.raw data must be a plain object":"tool.result.raw data \u5FC5\u987B\u662F\u666E\u901A\u5BF9\u8C61","tool.result.raw data.content must be an array":"tool.result.raw data.content \u5FC5\u987B\u662F\u6570\u7EC4","tool.result.raw data.content[{index}] has unsupported image fields":"tool.result.raw data.content[{index}] \u5305\u542B\u4E0D\u652F\u6301\u7684\u56FE\u50CF\u5B57\u6BB5","tool.result.raw data.content[{index}] has unsupported text fields":"tool.result.raw data.content[{index}] \u5305\u542B\u4E0D\u652F\u6301\u7684\u6587\u672C\u5B57\u6BB5","tool.result.raw data.content[{index}] must be a plain object":"tool.result.raw data.content[{index}] \u5FC5\u987B\u662F\u666E\u901A\u5BF9\u8C61","tool.result.raw data.content[{index}].type is invalid":"tool.result.raw data.content[{index}].type \u65E0\u6548","tool.result.raw data.isError must be boolean":"tool.result.raw data.isError \u5FC5\u987B\u662F\u5E03\u5C14\u503C","tool.result.raw data.revision has unsupported fields":"tool.result.raw data.revision \u5305\u542B\u4E0D\u652F\u6301\u7684\u5B57\u6BB5","tool.result.raw data.revision must be a plain object":"tool.result.raw data.revision \u5FC5\u987B\u662F\u666E\u901A\u5BF9\u8C61","tool.result.raw data.revision.sequence must be a non-negative safe integer":"tool.result.raw data.revision.sequence \u5FC5\u987B\u662F\u975E\u8D1F\u5B89\u5168\u6574\u6570","tool.result.raw data.revision.sessionId must match sessionId":"tool.result.raw data.revision.sessionId \u5FC5\u987B\u4E0E sessionId \u4E00\u81F4","tool.result.raw data.revision.version must be 1":"tool.result.raw data.revision.version \u5FC5\u987B\u4E3A 1","tool.result.raw data.version must be 1":"tool.result.raw data.version \u5FC5\u987B\u4E3A 1","tool.result.transform data has unsupported fields: {unsupported}":"tool.result.transform data \u5305\u542B\u4E0D\u652F\u6301\u7684\u5B57\u6BB5\uFF1A{unsupported}","tool.result.transform data is missing required field: {key}":"tool.result.transform data \u7F3A\u5C11\u5FC5\u9700\u5B57\u6BB5\uFF1A{key}","tool.result.transform data must be a plain object":"tool.result.transform data \u5FC5\u987B\u662F\u666E\u901A\u5BF9\u8C61","tool.result.transform data.content must be an array":"tool.result.transform data.content \u5FC5\u987B\u662F\u6570\u7EC4","tool.result.transform data.content[{index}] has unsupported image fields":"tool.result.transform data.content[{index}] \u5305\u542B\u4E0D\u652F\u6301\u7684\u56FE\u50CF\u5B57\u6BB5","tool.result.transform data.content[{index}] has unsupported text fields":"tool.result.transform data.content[{index}] \u5305\u542B\u4E0D\u652F\u6301\u7684\u6587\u672C\u5B57\u6BB5","tool.result.transform data.content[{index}] must be a plain object":"tool.result.transform data.content[{index}] \u5FC5\u987B\u662F\u666E\u901A\u5BF9\u8C61","tool.result.transform data.content[{index}].type is invalid":"tool.result.transform data.content[{index}].type \u65E0\u6548","tool.result.transform data.isError must be boolean":"tool.result.transform data.isError \u5FC5\u987B\u662F\u5E03\u5C14\u503C","tool.result.transform data.revision has unsupported fields":"tool.result.transform data.revision \u5305\u542B\u4E0D\u652F\u6301\u7684\u5B57\u6BB5","tool.result.transform data.revision must be a plain object":"tool.result.transform data.revision \u5FC5\u987B\u662F\u666E\u901A\u5BF9\u8C61","tool.result.transform data.revision.sequence must be a non-negative safe integer":"tool.result.transform data.revision.sequence \u5FC5\u987B\u662F\u975E\u8D1F\u5B89\u5168\u6574\u6570","tool.result.transform data.revision.sessionId must match sessionId":"tool.result.transform data.revision.sessionId \u5FC5\u987B\u4E0E sessionId \u4E00\u81F4","tool.result.transform data.revision.version must be 1":"tool.result.transform data.revision.version \u5FC5\u987B\u4E3A 1","tool.result.transform data.version must be 1":"tool.result.transform data.version \u5FC5\u987B\u4E3A 1","turn.end data has unsupported fields":"turn.end data \u5305\u542B\u4E0D\u652F\u6301\u7684\u5B57\u6BB5","turn.end data must be a plain object":"turn.end data \u5FC5\u987B\u662F\u666E\u901A\u5BF9\u8C61","turn.end data.messageCount must be a non-negative safe integer":"turn.end data.messageCount \u5FC5\u987B\u662F\u975E\u8D1F\u5B89\u5168\u6574\u6570","turn.end data.outcome is invalid":"turn.end data.outcome \u65E0\u6548","turn.end data.turnIndex must be a non-negative safe integer":"turn.end data.turnIndex \u5FC5\u987B\u662F\u975E\u8D1F\u5B89\u5168\u6574\u6570","turn.end data.version must be 1":"turn.end data.version \u5FC5\u987B\u4E3A 1","turn.start data has unsupported fields":"turn.start data \u5305\u542B\u4E0D\u652F\u6301\u7684\u5B57\u6BB5","turn.start data must be a plain object":"turn.start data \u5FC5\u987B\u662F\u666E\u901A\u5BF9\u8C61","turn.start data.turnIndex must be a non-negative safe integer":"turn.start data.turnIndex \u5FC5\u987B\u662F\u975E\u8D1F\u5B89\u5168\u6574\u6570","turn.start data.version must be 1":"turn.start data.version \u5FC5\u987B\u4E3A 1","ui.prompt lifecycle data has unsupported fields":"ui.prompt lifecycle data \u5305\u542B\u4E0D\u652F\u6301\u7684\u5B57\u6BB5","ui.prompt lifecycle data must be a plain object":"ui.prompt lifecycle data \u5FC5\u987B\u662F\u666E\u901A\u5BF9\u8C61","ui.prompt lifecycle data.version must be 1":"ui.prompt lifecycle data.version \u5FC5\u987B\u4E3A 1","user.bash data has unsupported fields":"user.bash data \u5305\u542B\u4E0D\u652F\u6301\u7684\u5B57\u6BB5","user.bash data must be a plain object":"user.bash data \u5FC5\u987B\u662F\u666E\u901A\u5BF9\u8C61","user.bash data.excludeFromContext must be a boolean":"user.bash data.excludeFromContext \u5FC5\u987B\u662F\u5E03\u5C14\u503C","user.bash data.version must be 1":"user.bash data.version \u5FC5\u987B\u4E3A 1","{label} must be JSON-safe":"{label} \u5FC5\u987B\u662F JSON \u5B89\u5168\u503C","{label} must be a non-empty string":"{label} \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32","{label} must be a non-negative safe integer":"{label} \u5FC5\u987B\u662F\u975E\u8D1F\u5B89\u5168\u6574\u6570","{label} must be a positive safe integer":"{label} \u5FC5\u987B\u662F\u6B63\u5B89\u5168\u6574\u6570","{label} must be a provider/modelId reference":"{label} \u5FC5\u987B\u662F provider/modelId \u5F15\u7528","{label} must be an array":"{label} \u5FC5\u987B\u662F\u6570\u7EC4","{label} must contain only JSON arrays and plain objects":"{label} \u53EA\u80FD\u5305\u542B JSON \u6570\u7EC4\u548C\u666E\u901A\u5BF9\u8C61","{label} must contain only finite JSON numbers":"{label} \u53EA\u80FD\u5305\u542B\u6709\u9650 JSON \u6570\u5B57","{label} must not contain cycles":"{label} \u4E0D\u5F97\u5305\u542B\u5FAA\u73AF\u5F15\u7528","{label}[{index}] has unsupported fields":"{label}[{index}] \u5305\u542B\u4E0D\u652F\u6301\u7684\u5B57\u6BB5","{label}[{index}] must be a plain object":"{label}[{index}] \u5FC5\u987B\u662F\u666E\u901A\u5BF9\u8C61","Agent context operationId must match active operation: {operationId}":"Agent context \u7684 operationId \u5FC5\u987B\u4E0E\u6D3B\u52A8\u64CD\u4F5C\u4E00\u81F4\uFF1A{operationId}","Agent loop hook position is invalid: {value}":"Agent loop hook position \u65E0\u6548\uFF1A{value}","Agent loop hook requires a callable handler":"Agent loop hook \u9700\u8981\u53EF\u8C03\u7528\u7684 handler","Agent model runtime is not available":"Agent \u6A21\u578B\u8FD0\u884C\u65F6\u4E0D\u53EF\u7528","Agent state operationId must match active operation: {operationId}":"Agent state \u7684 operationId \u5FC5\u987B\u4E0E\u6D3B\u52A8\u64CD\u4F5C\u4E00\u81F4\uFF1A{operationId}","Agent task capability is not available from this host":"\u672C\u5BBF\u4E3B\u4E0D\u63D0\u4F9B Agent task \u80FD\u529B","Agent tool is not registered: {name}":"Agent tool \u672A\u6CE8\u518C\uFF1A{name}","Branch summary policy requires a non-empty name":"\u5206\u652F\u6458\u8981\u7B56\u7565\u9700\u8981\u975E\u7A7A name","Branch summary policy requires a summarize function":"\u5206\u652F\u6458\u8981\u7B56\u7565\u9700\u8981 summarize \u51FD\u6570","Branch summary policy returned an invalid result: {name}":"\u5206\u652F\u6458\u8981\u7B56\u7565\u8FD4\u56DE\u4E86\u65E0\u6548\u7ED3\u679C\uFF1A{name}","Capability plugin {id} has asynchronous cleanup; use the async loader":"\u80FD\u529B\u63D2\u4EF6 {id} \u6709\u5F02\u6B65\u6E05\u7406\uFF1B\u8BF7\u4F7F\u7528\u5F02\u6B65\u52A0\u8F7D\u5668","Command is not registered: {name}":"\u547D\u4EE4\u672A\u6CE8\u518C\uFF1A{name}","Compaction policy does not support preparation: {name}":"\u538B\u7F29\u7B56\u7565\u4E0D\u652F\u6301 preparation\uFF1A{name}","Compaction policy does not support summaries: {name}":"\u538B\u7F29\u7B56\u7565\u4E0D\u652F\u6301\u6458\u8981\uFF1A{name}","Compaction policy is not registered: {name}":"\u538B\u7F29\u7B56\u7565\u672A\u6CE8\u518C\uFF1A{name}","Compaction policy requires a decide function":"\u538B\u7F29\u7B56\u7565\u9700\u8981 decide \u51FD\u6570","Compaction policy requires a non-empty name":"\u538B\u7F29\u7B56\u7565\u9700\u8981\u975E\u7A7A name","Compaction policy returned an invalid decision: {name}":"\u538B\u7F29\u7B56\u7565\u8FD4\u56DE\u4E86\u65E0\u6548\u7684 decision\uFF1A{name}","Compaction policy returned an invalid failureMessage: {name}":"\u538B\u7F29\u7B56\u7565\u8FD4\u56DE\u4E86\u65E0\u6548\u7684 failureMessage\uFF1A{name}","Compaction policy returned an invalid retry value: {name}":"\u538B\u7F29\u7B56\u7565\u8FD4\u56DE\u4E86\u65E0\u6548\u7684 retry \u503C\uFF1A{name}","Compaction policy returned an invalid summary: {name}":"\u538B\u7F29\u7B56\u7565\u8FD4\u56DE\u4E86\u65E0\u6548\u7684\u6458\u8981\uFF1A{name}","Context strategy does not support replacement: {name}":"\u4E0A\u4E0B\u6587\u7B56\u7565\u4E0D\u652F\u6301\u66FF\u6362\uFF1A{name}","Context strategy does not support restore: {name}":"\u4E0A\u4E0B\u6587\u7B56\u7565\u4E0D\u652F\u6301\u6062\u590D\uFF1A{name}","Context strategy does not support snapshots: {name}":"\u4E0A\u4E0B\u6587\u7B56\u7565\u4E0D\u652F\u6301\u5FEB\u7167\uFF1A{name}","Context strategy is not registered: {name}":"\u4E0A\u4E0B\u6587\u7B56\u7565\u672A\u6CE8\u518C\uFF1A{name}","Context strategy requires a non-empty name":"\u4E0A\u4E0B\u6587\u7B56\u7565\u9700\u8981\u975E\u7A7A name","Contribution can only be removed by its owner: {pointId}@{version}:{id}":"Contribution \u53EA\u80FD\u7531\u5176 owner \u79FB\u9664\uFF1A{pointId}@{version}:{id}","Contribution is already registered: {pointId}@{version}:{id}":"Contribution \u5DF2\u6CE8\u518C\uFF1A{pointId}@{version}:{id}","Contribution is not registered: {pointId}@{version}:{id}":"Contribution \u672A\u6CE8\u518C\uFF1A{pointId}@{version}:{id}","Contribution point is already defined: {key}":"Contribution point \u5DF2\u5B9A\u4E49\uFF1A{key}","Contribution requires a non-empty id: {pointId}":"Contribution \u9700\u8981\u975E\u7A7A id\uFF1A{pointId}","Contribution subscriber must be callable: {pointId}":"Contribution \u8BA2\u9605\u8005\u5FC5\u987B\u53EF\u8C03\u7528\uFF1A{pointId}","Diagnostic annotations must be a plain object":"Diagnostic \u7684 annotations \u5FC5\u987B\u662F\u666E\u901A\u5BF9\u8C61","Diagnostic attributes must be serializable":"Diagnostic \u7684 attributes \u5FC5\u987B\u53EF\u5E8F\u5217\u5316","Diagnostic parentSpanId must be non-empty":"Diagnostic \u7684 parentSpanId \u5FC5\u987B\u975E\u7A7A","Diagnostic span is already ended: {spanId}":"Diagnostic span \u5DF2\u7ED3\u675F\uFF1A{spanId}","Diagnostic span is not available: {spanId}":"Diagnostic span \u4E0D\u53EF\u7528\uFF1A{spanId}","Diagnostic span name must be non-empty":"Diagnostic span \u7684 name \u5FC5\u987B\u975E\u7A7A","Diagnostic span result must be serializable":"Diagnostic span \u7684 result \u5FC5\u987B\u53EF\u5E8F\u5217\u5316","Diagnostic span status is invalid":"Diagnostic span \u7684 status \u65E0\u6548","Entry projection requires a callable project":"Entry projection \u9700\u8981\u53EF\u8C03\u7528\u7684 project","Entry projection requires a non-empty customType":"Entry projection \u9700\u8981\u975E\u7A7A customType","Entry projections require a host with entry projection support":"Entry projections \u9700\u8981\u5BBF\u4E3B\u652F\u6301\u6761\u76EE\u6295\u5F71","Event type requires a non-empty name":"\u4E8B\u4EF6\u7C7B\u578B\u9700\u8981\u975E\u7A7A name","Host declares agent-result-replay-v1 capability without an agentResults option":"\u5BBF\u4E3B\u58F0\u660E agent-result-replay-v1 \u80FD\u529B\u4F46\u7F3A\u5C11 agentResults \u9009\u9879","Host declares agents capability without a parent SessionAPI":"\u5BBF\u4E3B\u58F0\u660E agents \u80FD\u529B\u4F46\u7F3A\u5C11\u7236\u7EA7 SessionAPI","Host declares agents capability without an AgentTaskAdapter or a session reader/lister":"\u5BBF\u4E3B\u58F0\u660E agents \u80FD\u529B\u4F46\u7F3A\u5C11 AgentTaskAdapter \u6216\u4F1A\u8BDD\u8BFB\u53D6/\u5217\u4E3E\u5668","Host declares credentials capability without a CredentialAPI":"\u5BBF\u4E3B\u58F0\u660E credentials \u80FD\u529B\u4F46\u7F3A\u5C11 CredentialAPI","Host declares interaction capability without an InteractionHostV1":"\u5BBF\u4E3B\u58F0\u660E interaction \u80FD\u529B\u4F46\u7F3A\u5C11 InteractionHostV1","Host declares session capability without a SessionAPI":"\u5BBF\u4E3B\u58F0\u660E session \u80FD\u529B\u4F46\u7F3A\u5C11 SessionAPI","Host declares session-export capability without SessionAPI.exportArtifact":"\u5BBF\u4E3B\u58F0\u660E session-export \u80FD\u529B\u4F46\u7F3A\u5C11 SessionAPI.exportArtifact","Host declares session-export capability without the session capability":"\u5BBF\u4E3B\u58F0\u660E session-export \u80FD\u529B\u4F46\u672A\u58F0\u660E session \u80FD\u529B","Host declares session-revision-v1 capability without SessionAPI.getRevision":"\u5BBF\u4E3B\u58F0\u660E session-revision-v1 \u80FD\u529B\u4F46\u7F3A\u5C11 SessionAPI.getRevision","Host declares session-revision-v1 capability without the session capability":"\u5BBF\u4E3B\u58F0\u660E session-revision-v1 \u80FD\u529B\u4F46\u672A\u58F0\u660E session \u80FD\u529B","Host declares the agent-result-replay-v1 feature without the agents capability":"\u5BBF\u4E3B\u58F0\u660E agent-result-replay-v1 \u7279\u6027\u4F46\u672A\u58F0\u660E agents \u80FD\u529B","Host provides a CredentialAPI without the credentials capability":"\u5BBF\u4E3B\u63D0\u4F9B\u4E86 CredentialAPI \u4F46\u672A\u58F0\u660E credentials \u80FD\u529B","Host provides a SessionAPI without the session capability":"\u5BBF\u4E3B\u63D0\u4F9B\u4E86 SessionAPI \u4F46\u672A\u58F0\u660E session \u80FD\u529B","Host provides an AgentTaskAdapter without the agents capability":"\u5BBF\u4E3B\u63D0\u4F9B\u4E86 AgentTaskAdapter \u4F46\u672A\u58F0\u660E agents \u80FD\u529B","Host provides an InteractionHostV1 without the interaction capability":"\u5BBF\u4E3B\u63D0\u4F9B\u4E86 InteractionHostV1 \u4F46\u672A\u58F0\u660E interaction \u80FD\u529B","Host provides an agentResults option without the agent-result-replay-v1 capability":"\u5BBF\u4E3B\u63D0\u4F9B\u4E86 agentResults \u9009\u9879\u4F46\u672A\u58F0\u660E agent-result-replay-v1 \u80FD\u529B","Lifecycle after-commit requires a committed event: {id}":"Lifecycle after-commit \u9700\u8981 committed \u4E8B\u4EF6\uFF1A{id}","Lifecycle delivery options are only supported for observation registrations: {id}":"Lifecycle delivery options \u4EC5\u652F\u6301 observation \u6CE8\u518C\uFF1A{id}","Lifecycle event is already defined: {key}":"Lifecycle \u4E8B\u4EF6\u5DF2\u5B9A\u4E49\uFF1A{key}","Lifecycle event is not defined: {id}@{version}":"Lifecycle \u4E8B\u4EF6\u672A\u5B9A\u4E49\uFF1A{id}@{version}","Lifecycle event is not serializable":"Lifecycle \u4E8B\u4EF6\u4E0D\u53EF\u5E8F\u5217\u5316","Lifecycle event reference requires a non-empty id":"Lifecycle \u4E8B\u4EF6\u5F15\u7528\u9700\u8981\u975E\u7A7A id","Lifecycle event version must be a positive safe integer":"Lifecycle \u4E8B\u4EF6\u7684 version \u5FC5\u987B\u662F\u6B63\u5B89\u5168\u6574\u6570","Lifecycle event version must be provided as a positive safe integer":"Lifecycle \u4E8B\u4EF6\u7684 version \u5FC5\u987B\u4EE5\u6B63\u5B89\u5168\u6574\u6570\u63D0\u4F9B","Lifecycle execute requires a committed event: {id}":"Lifecycle execute \u9700\u8981 committed \u4E8B\u4EF6\uFF1A{id}","Lifecycle transform requires a candidate event: {id}":"Lifecycle transform \u9700\u8981 candidate \u4E8B\u4EF6\uFF1A{id}","Lifecycle {kind} registration is not allowed: {id}":"\u4E0D\u5141\u8BB8 {kind} \u6CE8\u518C\u8BE5 Lifecycle \u4E8B\u4EF6\uFF1A{id}","Lifecycle {kind} registration requires a callable handler":"Lifecycle {kind} \u6CE8\u518C\u9700\u8981\u53EF\u8C03\u7528\u7684 handler","Logger fields must be serializable":"Logger \u7684 fields \u5FC5\u987B\u53EF\u5E8F\u5217\u5316","Logger message must be non-empty":"Logger \u7684 message \u5FC5\u987B\u975E\u7A7A","Operation is not registered: {operation}":"\u64CD\u4F5C\u672A\u6CE8\u518C\uFF1A{operation}","Operation requires a non-empty name":"\u64CD\u4F5C\u9700\u8981\u975E\u7A7A name","Overflow policy is not registered: {name}":"\u6EA2\u51FA\u7B56\u7565\u672A\u6CE8\u518C\uFF1A{name}","Overflow policy requires a decide function":"\u6EA2\u51FA\u7B56\u7565\u9700\u8981 decide \u51FD\u6570","Overflow policy requires a non-empty name":"\u6EA2\u51FA\u7B56\u7565\u9700\u8981\u975E\u7A7A name","Overflow policy returned an invalid decision: {name}":"\u6EA2\u51FA\u7B56\u7565\u8FD4\u56DE\u4E86\u65E0\u6548\u7684 decision\uFF1A{name}","Plugin capability is already provided: {id}@{version}":"\u63D2\u4EF6\u80FD\u529B\u5DF2\u88AB\u63D0\u4F9B\uFF1A{id}@{version}","Plugin capability is not available: {id}@{version}":"\u63D2\u4EF6\u80FD\u529B\u4E0D\u53EF\u7528\uFF1A{id}@{version}","Plugin capability must be declared by its manifest: {id}@{version} ({owner})":"\u63D2\u4EF6\u80FD\u529B\u5FC5\u987B\u7531\u5176 manifest \u58F0\u660E\uFF1A{id}@{version}\uFF08{owner}\uFF09","Plugin capability provider requires a callable handler":"\u63D2\u4EF6\u80FD\u529B\u63D0\u4F9B\u8005\u9700\u8981\u53EF\u8C03\u7528\u7684 handler","Provider header transform requires a callable transform":"Provider header transform \u9700\u8981\u53EF\u8C03\u7528\u7684 transform","Provider header transform requires a non-empty name":"Provider header transform \u9700\u8981\u975E\u7A7A name","RPC method is not registered: {name}":"RPC \u65B9\u6CD5\u672A\u6CE8\u518C\uFF1A{name}","RPC method requires a non-empty name":"RPC \u65B9\u6CD5\u9700\u8981\u975E\u7A7A name","Retry policy does not support classification: {name}":"\u91CD\u8BD5\u7B56\u7565\u4E0D\u652F\u6301\u5206\u7C7B\uFF1A{name}","Retry policy is not registered: {name}":"\u91CD\u8BD5\u7B56\u7565\u672A\u6CE8\u518C\uFF1A{name}","Retry policy requires a decide function":"\u91CD\u8BD5\u7B56\u7565\u9700\u8981 decide \u51FD\u6570","Retry policy requires a non-empty name":"\u91CD\u8BD5\u7B56\u7565\u9700\u8981\u975E\u7A7A name","Retry policy returned an invalid classification: {name}":"\u91CD\u8BD5\u7B56\u7565\u8FD4\u56DE\u4E86\u65E0\u6548\u7684\u5206\u7C7B\uFF1A{name}","Retry policy returned an invalid decision: {name}":"\u91CD\u8BD5\u7B56\u7565\u8FD4\u56DE\u4E86\u65E0\u6548\u7684 decision\uFF1A{name}","Retry policy returned an invalid delayMs: {name}":"\u91CD\u8BD5\u7B56\u7565\u8FD4\u56DE\u4E86\u65E0\u6548\u7684 delayMs\uFF1A{name}","Run loop strategy is not registered: {name}":"\u8FD0\u884C\u5FAA\u73AF\u7B56\u7565\u672A\u6CE8\u518C\uFF1A{name}","Run loop strategy requires a decideNextCycle function":"\u8FD0\u884C\u5FAA\u73AF\u7B56\u7565\u9700\u8981 decideNextCycle \u51FD\u6570","Run loop strategy requires a non-empty name":"\u8FD0\u884C\u5FAA\u73AF\u7B56\u7565\u9700\u8981\u975E\u7A7A name","Run loop strategy returned an invalid decision: {name}":"\u8FD0\u884C\u5FAA\u73AF\u7B56\u7565\u8FD4\u56DE\u4E86\u65E0\u6548\u7684 decision\uFF1A{name}","Runtime idFactory must return a non-empty string for {kind}":"\u8FD0\u884C\u65F6 idFactory \u4E3A {kind} \u8FD4\u56DE\u7684\u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32","Skill definition requires a baseDir":"\u6280\u80FD\u5B9A\u4E49\u9700\u8981 baseDir","Skill definition requires a filePath":"\u6280\u80FD\u5B9A\u4E49\u9700\u8981 filePath","Skill definition requires a non-empty description":"\u6280\u80FD\u5B9A\u4E49\u9700\u8981\u975E\u7A7A description","State expectedRevision must be a non-negative safe integer":"State \u7684 expectedRevision \u5FC5\u987B\u662F\u975E\u8D1F\u5B89\u5168\u6574\u6570","State key must be a non-empty string":"State key \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32","State prefix must be a string":"State prefix \u5FC5\u987B\u662F\u5B57\u7B26\u4E32","State revision conflict: {conflictScope}/{key}":"State revision \u51B2\u7A81\uFF1A{conflictScope}/{key}","State value must be serializable":"State value \u5FC5\u987B\u53EF\u5E8F\u5217\u5316","State watcher requires a handler":"State watcher \u9700\u8981 handler","Stream function wrapper requires a callable wrapper":"Stream function wrapper \u9700\u8981\u53EF\u8C03\u7528\u7684 wrapper","Stream function wrapper requires a non-empty name":"Stream function wrapper \u9700\u8981\u975E\u7A7A name","Tool is not registered: {name}":"\u5DE5\u5177\u672A\u6CE8\u518C\uFF1A{name}","{kind} is already registered: {name}":"{kind} \u5DF2\u6CE8\u518C\uFF1A{name}","Agent task metadata must be an object":"Agent task metadata \u5FC5\u987B\u662F\u5BF9\u8C61","Agent task requires a non-empty prompt":"Agent task \u9700\u8981\u975E\u7A7A prompt","Capability command returned an invalid message: {commandName}":"\u80FD\u529B\u547D\u4EE4\u8FD4\u56DE\u4E86\u65E0\u6548\u7684 message\uFF1A{commandName}","Capability command returned an invalid result: {commandName}":"\u80FD\u529B\u547D\u4EE4\u8FD4\u56DE\u4E86\u65E0\u6548\u7ED3\u679C\uFF1A{commandName}","Capability command returned an invalid status: {commandName}":"\u80FD\u529B\u547D\u4EE4\u8FD4\u56DE\u4E86\u65E0\u6548\u7684 status\uFF1A{commandName}","Capability command returned invalid links: {commandName}":"\u80FD\u529B\u547D\u4EE4\u8FD4\u56DE\u4E86\u65E0\u6548\u7684 links\uFF1A{commandName}","Capability command returned non-serializable data: {commandName}":"\u80FD\u529B\u547D\u4EE4\u8FD4\u56DE\u4E86\u4E0D\u53EF\u5E8F\u5217\u5316\u7684\u6570\u636E\uFF1A{commandName}","Command definition argumentHint must be a string":"\u547D\u4EE4\u5B9A\u4E49\u7684 argumentHint \u5FC5\u987B\u662F\u5B57\u7B26\u4E32","Command definition requires a non-empty description":"\u547D\u4EE4\u5B9A\u4E49\u9700\u8981\u975E\u7A7A description","Command definition requires a non-empty name without slash or whitespace":"\u547D\u4EE4\u5B9A\u4E49\u9700\u8981\u4E0D\u542B\u659C\u6760\u548C\u7A7A\u767D\u7684\u975E\u7A7A name","Command definition requires an execute function":"\u547D\u4EE4\u5B9A\u4E49\u9700\u8981 execute \u51FD\u6570","Command requires a definition":"\u547D\u4EE4\u9700\u8981\u5B9A\u4E49","Contribution point definition is required":"\u7F3A\u5C11 contribution point \u5B9A\u4E49","Contribution point lifecycle is invalid: {value}":"Contribution point \u7684 lifecycle \u65E0\u6548\uFF1A{value}","Contribution point requires a non-empty id":"Contribution point \u9700\u8981\u975E\u7A7A id","Contribution point requires a non-empty schema":"Contribution point \u9700\u8981\u975E\u7A7A schema","Contribution point requires a validate function":"Contribution point \u9700\u8981 validate \u51FD\u6570","Contribution point version must be a positive safe integer":"Contribution point \u7684 version \u5FC5\u987B\u662F\u6B63\u5B89\u5168\u6574\u6570","Credential minValidityMs must be a non-negative finite number":"Credential \u7684 minValidityMs \u5FC5\u987B\u662F\u975E\u8D1F\u6709\u9650\u6570\u5B57","Credential resolution requires a non-empty providerId":"\u51ED\u8BC1\u89E3\u6790\u9700\u8981\u975E\u7A7A providerId","Execution facts.inputRevision.sessionId must match Execution facts.sessionId":"Execution facts.inputRevision.sessionId \u5FC5\u987B\u4E0E Execution facts.sessionId \u4E00\u81F4","Execution facts.phase is invalid":"Execution facts.phase \u65E0\u6548","Execution facts.version must be 1":"Execution facts.version \u5FC5\u987B\u4E3A 1","Host capabilities must be an object":"Host capabilities \u5FC5\u987B\u662F\u5BF9\u8C61","Host features must be an array of non-empty strings":"Host features \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32\u6570\u7EC4","Host mode must be readonly or full-control":"Host mode \u5FC5\u987B\u662F readonly \u6216 full-control","Host transports must be an array of supported transports":"Host transports \u5FC5\u987B\u662F\u53D7\u652F\u6301\u7684\u4F20\u8F93\u6570\u7EC4","Interaction input defaultValue must be a string":"Interaction input \u7684 defaultValue \u5FC5\u987B\u662F\u5B57\u7B26\u4E32","Interaction input placeholder must be a string":"Interaction input \u7684 placeholder \u5FC5\u987B\u662F\u5B57\u7B26\u4E32","Interaction notify level must be info, warning, or error":"Interaction notify \u7684 level \u5FC5\u987B\u662F info\u3001warning \u6216 error","Interaction notify requires a non-empty message":"Interaction notify \u9700\u8981\u975E\u7A7A message","Interaction request must be an object with a known kind":"Interaction request \u5FC5\u987B\u662F\u5E26\u5DF2\u77E5 kind \u7684\u5BF9\u8C61","Interaction request requires a known kind: notify, confirm, select, or input":"Interaction request \u9700\u8981\u5DF2\u77E5\u7684 kind\uFF1Anotify\u3001confirm\u3001select \u6216 input","Interaction select options must be non-empty strings":"Interaction select \u7684 options \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32","Interaction select requires a non-empty options array":"Interaction select \u9700\u8981\u975E\u7A7A options \u6570\u7EC4","Interaction timeoutMs must be a positive integer":"Interaction \u7684 timeoutMs \u5FC5\u987B\u662F\u6B63\u6574\u6570","Lifecycle event allowedPhases must be a non-empty array of valid phases when provided":"Lifecycle \u4E8B\u4EF6\u7684 allowedPhases \u63D0\u4F9B\u65F6\u5FC5\u987B\u662F\u975E\u7A7A\u7684\u6709\u6548 phase \u6570\u7EC4","Lifecycle event allowedPhases must include phase":"Lifecycle \u4E8B\u4EF6\u7684 allowedPhases \u5FC5\u987B\u5305\u542B phase","Lifecycle event allowedPhases must not contain duplicates":"Lifecycle \u4E8B\u4EF6\u7684 allowedPhases \u4E0D\u5F97\u5305\u542B\u91CD\u590D\u9879","Lifecycle event allowedRegistrationKinds contains an invalid registration kind":"Lifecycle \u4E8B\u4EF6\u7684 allowedRegistrationKinds \u5305\u542B\u65E0\u6548\u7684\u6CE8\u518C\u7C7B\u522B","Lifecycle event allowedRegistrationKinds must be a non-empty array when provided":"Lifecycle \u4E8B\u4EF6\u7684 allowedRegistrationKinds \u63D0\u4F9B\u65F6\u5FC5\u987B\u662F\u975E\u7A7A\u6570\u7EC4","Lifecycle event allowedRegistrationKinds must not contain duplicates":"Lifecycle \u4E8B\u4EF6\u7684 allowedRegistrationKinds \u4E0D\u5F97\u5305\u542B\u91CD\u590D\u9879","Lifecycle event definition is required":"\u7F3A\u5C11 lifecycle \u4E8B\u4EF6\u5B9A\u4E49","Lifecycle event phase is invalid: {value}":"Lifecycle \u4E8B\u4EF6\u7684 phase \u65E0\u6548\uFF1A{value}","Lifecycle event requires a non-empty id":"Lifecycle \u4E8B\u4EF6\u9700\u8981\u975E\u7A7A id","Lifecycle event requires a non-empty schema":"Lifecycle \u4E8B\u4EF6\u9700\u8981\u975E\u7A7A schema","Lifecycle event requires a validate function":"Lifecycle \u4E8B\u4EF6\u9700\u8981 validate \u51FD\u6570","Provider header transform returned invalid headers: {source}":"Provider header transform \u8FD4\u56DE\u4E86\u65E0\u6548 headers\uFF1A{source}","Retry schedule.action must be retry or stop":"Retry schedule.action \u5FC5\u987B\u662F retry \u6216 stop","Retry schedule.retry requires a one-based attempt":"Retry schedule.retry \u9700\u8981\u4ECE 1 \u5F00\u59CB\u7684 attempt","Retry schedule.stop must have delayMs 0":"Retry schedule.stop \u7684 delayMs \u5FC5\u987B\u4E3A 0","Unsupported host API version: {apiVersion}":"\u4E0D\u652F\u6301\u7684\u5BBF\u4E3B API \u7248\u672C\uFF1A{apiVersion}","{kind} definition requires a non-empty name":"{kind} \u5B9A\u4E49\u9700\u8981\u975E\u7A7A name","{kind} requires a callable handler":"{kind} \u9700\u8981\u53EF\u8C03\u7528\u7684 handler","{label} has unsupported fields: {value}":"{label} \u5305\u542B\u4E0D\u652F\u6301\u7684\u5B57\u6BB5\uFF1A{value}","{label} is missing required fields: {value}":"{label} \u7F3A\u5C11\u5FC5\u9700\u5B57\u6BB5\uFF1A{value}","{label} must be a non-negative finite number":"{label} \u5FC5\u987B\u662F\u975E\u8D1F\u6709\u9650\u6570\u5B57","{label} must be a plain object":"{label} \u5FC5\u987B\u662F\u666E\u901A\u5BF9\u8C61","{label}.leafId must be a non-empty string or null":"{label}.leafId \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32\u6216 null","{label}.leafId must be a string or null":"{label}.leafId \u5FC5\u987B\u662F\u5B57\u7B26\u4E32\u6216 null","{label}.version must be 1":"{label}.version \u5FC5\u987B\u4E3A 1","Host is missing required capabilities: {value}":"\u5BBF\u4E3B\u7F3A\u5C11\u5FC5\u9700\u80FD\u529B\uFF1A{value}","Plugin capability dependency cycle: {value}":"\u63D2\u4EF6\u80FD\u529B\u4F9D\u8D56\u5B58\u5728\u5FAA\u73AF\uFF1A{value}","Plugin capability is provided more than once: {id}@{version} ({priorId}, {manifestId})":"\u63D2\u4EF6\u80FD\u529B\u88AB\u63D0\u4F9B\u591A\u6B21\uFF1A{id}@{version}\uFF08{priorId}\u3001{manifestId}\uFF09","Plugin manifest config must be a JSON object":"Plugin manifest \u7684 config \u5FC5\u987B\u662F JSON \u5BF9\u8C61","Plugin manifest optionalCapabilities must be a string array":"Plugin manifest \u7684 optionalCapabilities \u5FC5\u987B\u662F\u5B57\u7B26\u4E32\u6570\u7EC4","Plugin manifest optionalCapabilities must be an array":"Plugin manifest \u7684 optionalCapabilities \u5FC5\u987B\u662F\u6570\u7EC4","Plugin manifest requiredCapabilities must be a string array":"Plugin manifest \u7684 requiredCapabilities \u5FC5\u987B\u662F\u5B57\u7B26\u4E32\u6570\u7EC4","Plugin manifest requiredCapabilities must be an array":"Plugin manifest \u7684 requiredCapabilities \u5FC5\u987B\u662F\u6570\u7EC4","Plugin manifest requires id, version, and entry":"Plugin manifest \u9700\u8981 id\u3001version \u548C entry","Unsupported plugin API version: {apiVersion}":"\u4E0D\u652F\u6301\u7684\u63D2\u4EF6 API \u7248\u672C\uFF1A{apiVersion}","{label} declares capability more than once: {id}@{version}":"{label} \u591A\u6B21\u58F0\u660E\u540C\u4E00\u80FD\u529B\uFF1A{id}@{version}","{label} has an invalid declaration":"{label} \u5305\u542B\u65E0\u6548\u58F0\u660E","{label} has an invalid requirement":"{label} \u5305\u542B\u65E0\u6548\u7684\u4F9D\u8D56\u58F0\u660E","{label} requires capability more than once: {id}@{version}":"{label} \u591A\u6B21\u4F9D\u8D56\u540C\u4E00\u80FD\u529B\uFF1A{id}@{version}","{label}.agents declares definition more than once: {id}@{version}":"{label}.agents \u591A\u6B21\u58F0\u660E\u540C\u4E00\u5B9A\u4E49\uFF1A{id}@{version}","{label}.agents has an invalid declaration":"{label}.agents \u5305\u542B\u65E0\u6548\u58F0\u660E","{label}.agents must be an array":"{label}.agents \u5FC5\u987B\u662F\u6570\u7EC4","{label}.agents.entry must be a non-empty string":"{label}.agents.entry \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32","{label}.agents.role is invalid":"{label}.agents.role \u65E0\u6548","{label}.agents.role is not declared in roles":"{label}.agents.role \u672A\u5728 roles \u4E2D\u58F0\u660E","{label}.kind is invalid":"{label}.kind \u65E0\u6548","{label}.optional must be a boolean":"{label}.optional \u5FC5\u987B\u662F\u5E03\u5C14\u503C","{label}.roles contains an invalid role":"{label}.roles \u5305\u542B\u65E0\u6548 role","{label}.roles declares role more than once: {role}":"{label}.roles \u591A\u6B21\u58F0\u660E\u540C\u4E00 role\uFF1A{role}","{label}.roles must be an array":"{label}.roles \u5FC5\u987B\u662F\u6570\u7EC4","Agent composition runtime does not support owner-scoped host primitives":"Agent \u7EC4\u5408\u8FD0\u884C\u65F6\u4E0D\u652F\u6301 owner \u4F5C\u7528\u57DF\u7684\u5BBF\u4E3B\u539F\u8BED","Agent definition must be declared by plugin manifest: {id}@{version}":"Agent \u5B9A\u4E49\u5FC5\u987B\u7531 plugin manifest \u58F0\u660E\uFF1A{id}@{version}","Agent definition owner must match plugin manifest: {id}":"Agent definition owner \u5FC5\u987B\u4E0E plugin manifest \u4E00\u81F4\uFF1A{id}","Agent task can only run once: {id}":"Agent task \u53EA\u80FD\u8FD0\u884C\u4E00\u6B21\uFF1A{id}","Agent task failed and its result could not be persisted":"Agent task \u5931\u8D25\u4E14\u5176\u7ED3\u679C\u65E0\u6CD5\u6301\u4E45\u5316","Agent task handle is disposed: {id}":"Agent task \u53E5\u67C4\u5DF2\u9500\u6BC1\uFF1A{id}","Agent task has not been started: {id}":"Agent task \u5C1A\u672A\u542F\u52A8\uFF1A{id}","Agent task was cancelled and its result could not be persisted":"Agent task \u5DF2\u53D6\u6D88\u4E14\u5176\u7ED3\u679C\u65E0\u6CD5\u6301\u4E45\u5316","Interaction prompt outcome answered requires a boolean or string value":"Interaction prompt outcome \u7684 answered \u9700\u8981\u5E03\u5C14\u6216\u5B57\u7B26\u4E32\u503C","Interaction prompt outcome delivered is only valid for notify requests":"Interaction prompt outcome \u7684 delivered \u4EC5\u5BF9 notify \u8BF7\u6C42\u6709\u6548","Interaction prompt outcome has an unknown status: {value}":"Interaction prompt outcome \u7684 status \u672A\u77E5\uFF1A{value}","Interaction prompt outcome has unsupported fields: {value}":"Interaction prompt outcome \u5305\u542B\u4E0D\u652F\u6301\u7684\u5B57\u6BB5\uFF1A{value}","Interaction prompt outcome must be an object":"Interaction prompt outcome \u5FC5\u987B\u662F\u5BF9\u8C61","Interaction prompt outcome timeout can only be produced by options.timeoutMs, never by the host":"Interaction prompt outcome \u7684 timeout \u53EA\u80FD\u7531 options.timeoutMs \u4EA7\u751F\uFF0C\u5BBF\u4E3B\u4E0D\u5F97\u4EA7\u751F","Parent Agent instance must belong to plugin manifest: {parentInstanceId}":"\u7236 Agent \u5B9E\u4F8B\u5FC5\u987B\u5C5E\u4E8E\u8BE5 plugin manifest\uFF1A{parentInstanceId}","Lifecycle causationId must be non-empty":"Lifecycle \u7684 causationId \u5FC5\u987B\u975E\u7A7A","Lifecycle correlationId must be non-empty":"Lifecycle \u7684 correlationId \u5FC5\u987B\u975E\u7A7A","Lifecycle dispatch phase does not match event definition: {type}@{version}":"Lifecycle \u5206\u53D1 phase \u4E0E\u4E8B\u4EF6\u5B9A\u4E49\u4E0D\u4E00\u81F4\uFF1A{type}@{version}","Lifecycle dispatch phase is invalid: {phase}":"Lifecycle \u5206\u53D1 phase \u65E0\u6548\uFF1A{phase}","Lifecycle dispatch request is required":"\u7F3A\u5C11 Lifecycle \u5206\u53D1\u8BF7\u6C42","Lifecycle dispatch requires a non-empty type":"Lifecycle \u5206\u53D1\u9700\u8981\u975E\u7A7A type","Lifecycle dispatch version must be a positive safe integer":"Lifecycle \u5206\u53D1\u7684 version \u5FC5\u987B\u662F\u6B63\u5B89\u5168\u6574\u6570","Lifecycle event is not defined: {type}@{version}":"Lifecycle \u4E8B\u4EF6\u672A\u5B9A\u4E49\uFF1A{type}@{version}","Lifecycle operationId must be non-empty":"Lifecycle \u7684 operationId \u5FC5\u987B\u975E\u7A7A","Lifecycle source must be non-empty":"Lifecycle \u7684 source \u5FC5\u987B\u975E\u7A7A","Operation progress data must be serializable":"\u64CD\u4F5C\u8FDB\u5EA6\u6570\u636E\u5FC5\u987B\u53EF\u5E8F\u5217\u5316","Operation progress message must be a non-empty string":"\u64CD\u4F5C\u8FDB\u5EA6 message \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32","Operation progress must be an object":"\u64CD\u4F5C\u8FDB\u5EA6\u5FC5\u987B\u662F\u5BF9\u8C61","Agent controller lease is not valid for instance: {id}":"Agent controller lease \u5BF9\u8BE5\u5B9E\u4F8B\u65E0\u6548\uFF1A{id}","Agent definition already registered: {id}@{version}":"Agent \u5B9A\u4E49\u5DF2\u6CE8\u518C\uFF1A{id}@{version}","Agent definition is required":"\u7F3A\u5C11 Agent \u5B9A\u4E49","Agent definition or reference is required":"\u7F3A\u5C11 Agent \u5B9A\u4E49\u6216\u5F15\u7528","Agent definition owner must be a non-empty string when provided":"Agent definition owner \u63D0\u4F9B\u65F6\u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32","Agent definition requires a non-empty id":"Agent \u5B9A\u4E49\u9700\u8981\u975E\u7A7A id","Agent definition requires a run function":"Agent \u5B9A\u4E49\u9700\u8981 run \u51FD\u6570","Agent definition role must be root-agent-controller or child-agent-controller":"Agent definition role \u5FC5\u987B\u662F root-agent-controller \u6216 child-agent-controller","Agent definition version must be a positive safe integer":"Agent definition version \u5FC5\u987B\u662F\u6B63\u5B89\u5168\u6574\u6570","Agent host operation does not match active operation: {id}":"Agent \u5BBF\u4E3B\u64CD\u4F5C\u4E0E\u6D3B\u52A8\u64CD\u4F5C\u4E0D\u4E00\u81F4\uFF1A{id}","Agent instance already has an active controller lease: {id}":"Agent \u5B9E\u4F8B\u5DF2\u6709\u6D3B\u52A8\u7684 controller lease\uFF1A{id}","Agent instance cannot run from status {statusValue}: {id}":"Agent \u5B9E\u4F8B\u65E0\u6CD5\u4ECE\u72B6\u6001 {statusValue} \u542F\u52A8\uFF1A{id}","Agent instance id already exists: {id}":"Agent \u5B9E\u4F8B id \u5DF2\u5B58\u5728\uFF1A{id}","Agent instance is disposed: {id}":"Agent \u5B9E\u4F8B\u5DF2\u9500\u6BC1\uFF1A{id}","Agent instance requires an active controller lease: {id}":"Agent \u5B9E\u4F8B\u9700\u8981\u6D3B\u52A8\u7684 controller lease\uFF1A{id}","Unknown Agent definition: {id}@{version}":"\u672A\u77E5 Agent \u5B9A\u4E49\uFF1A{id}@{version}","Unknown parent Agent instance: {parentInstanceId}":"\u672A\u77E5\u7236 Agent \u5B9E\u4F8B\uFF1A{parentInstanceId}","Unsupported Agent host primitives version":"\u4E0D\u652F\u6301\u7684 Agent \u5BBF\u4E3B\u539F\u8BED\u7248\u672C","session.compaction.commit data has unsupported fields: {unsupported}":"session.compaction.commit data \u5305\u542B\u4E0D\u652F\u6301\u7684\u5B57\u6BB5\uFF1A{unsupported}","session.compaction.commit data is missing required field: {key}":"session.compaction.commit data \u7F3A\u5C11\u5FC5\u9700\u5B57\u6BB5\uFF1A{key}","session.compaction.commit data must be a plain object":"session.compaction.commit data \u5FC5\u987B\u662F\u666E\u901A\u5BF9\u8C61","session.compaction.commit data.fromHook must be boolean":"session.compaction.commit data.fromHook \u5FC5\u987B\u662F\u5E03\u5C14\u503C","session.compaction.commit data.reason is invalid":"session.compaction.commit data.reason \u65E0\u6548","session.compaction.commit data.status is invalid":"session.compaction.commit data.status \u65E0\u6548","session.compaction.commit data.tokensBefore must be a non-negative finite number":"session.compaction.commit data.tokensBefore \u5FC5\u987B\u662F\u975E\u8D1F\u6709\u9650\u6570\u5B57","session.compaction.commit data.version must be 1":"session.compaction.commit data.version \u5FC5\u987B\u4E3A 1","session.compaction.commit.revision has unsupported fields":"session.compaction.commit.revision \u5305\u542B\u4E0D\u652F\u6301\u7684\u5B57\u6BB5","session.compaction.commit.revision must be a plain object":"session.compaction.commit.revision \u5FC5\u987B\u662F\u666E\u901A\u5BF9\u8C61","session.compaction.commit.revision.sequence must be a non-negative safe integer":"session.compaction.commit.revision.sequence \u5FC5\u987B\u662F\u975E\u8D1F\u5B89\u5168\u6574\u6570","session.compaction.commit.revision.version must be 1":"session.compaction.commit.revision.version \u5FC5\u987B\u4E3A 1","tool.call transform cannot change call identity or revision":"tool.call transform \u4E0D\u5F97\u66F4\u6539\u8C03\u7528\u6807\u8BC6\u6216 revision","tool.result.transform transform cannot change result identity or revision":"tool.result.transform transform \u4E0D\u5F97\u66F4\u6539\u7ED3\u679C\u6807\u8BC6\u6216 revision","Bootstrap skills plugin is already installed":"\u5F15\u5BFC\u6280\u80FD\u63D2\u4EF6\u5DF2\u5B89\u88C5","Bootstrap skills plugin is not installed":"\u5F15\u5BFC\u6280\u80FD\u63D2\u4EF6\u672A\u5B89\u88C5","Skill conflicts in contribution point: {name}":"\u6280\u80FD\u4E0E contribution point \u51B2\u7A81\uFF1A{name}","SkillDefinitionV1 validation failed":"SkillDefinitionV1 \u6821\u9A8C\u5931\u8D25","Overflow policy requires an assistant message object":"\u6EA2\u51FA\u7B56\u7565\u9700\u8981 assistant message \u5BF9\u8C61","Retry classification requires an assistant message object":"\u91CD\u8BD5\u5206\u7C7B\u9700\u8981 assistant message \u5BF9\u8C61","Readonly mode does not allow base tool overrides":"readonly \u6A21\u5F0F\u4E0D\u5141\u8BB8\u8986\u76D6\u57FA\u7840\u5DE5\u5177","Capability plugin entry must default-export a factory function: {entryPath}":"\u80FD\u529B\u63D2\u4EF6\u5165\u53E3\u5FC5\u987B default \u5BFC\u51FA\u5DE5\u5382\u51FD\u6570\uFF1A{entryPath}","Capability plugin factory must return void or an instance with dispose(): {id}":"\u80FD\u529B\u63D2\u4EF6\u5DE5\u5382\u5FC5\u987B\u8FD4\u56DE void \u6216\u5E26 dispose() \u7684\u5B9E\u4F8B\uFF1A{id}","Capability plugin is already loaded: {id}":"\u80FD\u529B\u63D2\u4EF6\u5DF2\u52A0\u8F7D\uFF1A{id}","Synchronous capability plugin factory must return void or an instance with dispose(): {id}":"\u540C\u6B65\u80FD\u529B\u63D2\u4EF6\u5DE5\u5382\u5FC5\u987B\u8FD4\u56DE void \u6216\u5E26 dispose() \u7684\u5B9E\u4F8B\uFF1A{id}","Compaction memory failure mode declaration requires a profileId":"\u538B\u7F29\u5185\u5B58\u5931\u8D25\u6A21\u5F0F\u58F0\u660E\u9700\u8981 profileId","Invalid compaction memory failure mode: {value}":"\u65E0\u6548\u7684\u538B\u7F29\u5185\u5B58\u5931\u8D25\u6A21\u5F0F\uFF1A{value}","Context strategy must return an AgentMessage array: {strategyName}":"\u4E0A\u4E0B\u6587\u7B56\u7565\u5FC5\u987B\u8FD4\u56DE AgentMessage \u6570\u7EC4\uFF1A{strategyName}","Context strategy returned a non-cloneable request context: {name}":"\u4E0A\u4E0B\u6587\u7B56\u7565\u8FD4\u56DE\u4E86\u4E0D\u53EF\u514B\u9686\u7684\u8BF7\u6C42\u4E0A\u4E0B\u6587\uFF1A{name}","Lifecycle delivery queue overflowCode must be non-empty":"Lifecycle \u6295\u9012\u961F\u5217\u7684 overflowCode \u5FC5\u987B\u975E\u7A7A","Lifecycle delivery queue {label} must be a positive safe integer":"Lifecycle \u6295\u9012\u961F\u5217\u7684 {label} \u5FC5\u987B\u662F\u6B63\u5B89\u5168\u6574\u6570"};var coreContractFinal={"Artifact not found: {artifactId}":"\u627E\u4E0D\u5230\u5236\u54C1\uFF1A{artifactId}","Artifact {artifactId} belongs to a different session":"\u5236\u54C1 {artifactId} \u5C5E\u4E8E\u53E6\u4E00\u4E2A\u4F1A\u8BDD","Artifact {artifactId} lifecycle has ended: {reason}":"\u5236\u54C1 {artifactId} \u751F\u547D\u5468\u671F\u5DF2\u7ED3\u675F\uFF1A{reason}","Artifact {artifactId} lifecycle has already ended":"\u5236\u54C1 {artifactId} \u751F\u547D\u5468\u671F\u5DF2\u7ECF\u7ED3\u675F","Session cannot accept input during {phase} phase":"\u4F1A\u8BDD\u5904\u4E8E {phase} \u9636\u6BB5\uFF0C\u4E0D\u80FD\u63A5\u53D7\u8F93\u5165","Cannot {operation} a session while session is {phase}":"\u4F1A\u8BDD\u5904\u4E8E {phase} \u72B6\u6001\uFF0C\u65E0\u6CD5\u6267\u884C {operation}","Session {id} did not provide a snapshot":"\u4F1A\u8BDD {id} \u672A\u63D0\u4F9B\u5FEB\u7167","Remote session is disposed":"\u8FDC\u7A0B\u4F1A\u8BDD\u5DF2\u9500\u6BC1","Remote session is busy with {operation}":"\u8FDC\u7A0B\u4F1A\u8BDD\u6B63\u5FD9\u4E8E {operation}","Cannot {description} while session is {phase}":"\u4F1A\u8BDD\u5904\u4E8E {phase} \u72B6\u6001\uFF0C\u65E0\u6CD5 {description}","agent task child profile model {model} is not among the runner's scoped models{available}":"agent task \u5B50 profile \u6A21\u578B {model} \u4E0D\u5728 runner \u7684\u4F5C\u7528\u57DF\u6A21\u578B\u5185{available}","resume target {resumeId} is not a persisted child of session {parentId}":"resume \u76EE\u6807 {resumeId} \u4E0D\u662F\u4F1A\u8BDD {parentId} \u7684\u5DF2\u6301\u4E45\u5316\u5B50\u4F1A\u8BDD","Invalid suite.json at {path}: {errors}. Fix the file, or delete the suite workspace directory {dir} and recreate it.":"{path} \u7684 suite.json \u65E0\u6548\uFF1A{errors}\u3002\u8BF7\u4FEE\u590D\u8BE5\u6587\u4EF6\uFF0C\u6216\u5220\u9664 suite \u5DE5\u4F5C\u533A\u76EE\u5F55 {dir} \u540E\u91CD\u5EFA\u3002","Unknown or unavailable model: {provider}/{id}":"\u672A\u77E5\u6216\u4E0D\u53EF\u7528\u7684\u6A21\u578B\uFF1A{provider}/{id}","Remote server requires a session source or sessionSourceOptions":"\u8FDC\u7A0B\u670D\u52A1\u5668\u9700\u8981 session source \u6216 sessionSourceOptions",'cwd "{cwd}" is outside the configured workspace roots: [{roots}]':'cwd "{cwd}" \u5728\u914D\u7F6E\u7684\u5DE5\u4F5C\u533A\u6839\u76EE\u5F55\u4E4B\u5916\uFF1A[{roots}]',"Cannot create session: cwd does not exist: {cwd}":"\u65E0\u6CD5\u521B\u5EFA\u4F1A\u8BDD\uFF1Acwd \u4E0D\u5B58\u5728\uFF1A{cwd}","Cannot create session: cwd is not a directory: {cwd}":"\u65E0\u6CD5\u521B\u5EFA\u4F1A\u8BDD\uFF1Acwd \u4E0D\u662F\u76EE\u5F55\uFF1A{cwd}","Session not found: {id}":"\u627E\u4E0D\u5230\u4F1A\u8BDD\uFF1A{id}","Share not found: {shareId}":"\u627E\u4E0D\u5230\u5206\u4EAB\uFF1A{shareId}","Share {shareId} has already been revoked":"\u5206\u4EAB {shareId} \u5DF2\u88AB\u64A4\u9500","Runtime-only delivery queue {name} must be a positive safe integer":"\u4EC5\u8FD0\u884C\u65F6\u7684\u6295\u9012\u961F\u5217 {name} \u5FC5\u987B\u662F\u6B63\u7684\u5B89\u5168\u6574\u6570","Session plugin testkit plugin API handles expire after session reload; access the current runtime directly":"\u4F1A\u8BDD\u63D2\u4EF6 testkit \u7684\u63D2\u4EF6 API \u53E5\u67C4\u5728\u4F1A\u8BDD\u91CD\u8F7D\u540E\u8FC7\u671F\uFF1B\u8BF7\u76F4\u63A5\u8BBF\u95EE\u5F53\u524D\u8FD0\u884C\u65F6","Session plugin testkit has no loaded plugin: {pluginId}":"\u4F1A\u8BDD\u63D2\u4EF6 testkit \u6CA1\u6709\u5DF2\u52A0\u8F7D\u7684\u63D2\u4EF6\uFF1A{pluginId}","Session plugin testkit has {count} unused faux response":"\u4F1A\u8BDD\u63D2\u4EF6 testkit \u6709 {count} \u4E2A\u672A\u4F7F\u7528\u7684 faux \u54CD\u5E94","Session plugin testkit has {count} unused faux responses":"\u4F1A\u8BDD\u63D2\u4EF6 testkit \u6709 {count} \u4E2A\u672A\u4F7F\u7528\u7684 faux \u54CD\u5E94","Session plugin testkit repeat count must be a positive integer":"\u4F1A\u8BDD\u63D2\u4EF6 testkit \u7684\u91CD\u590D\u6B21\u6570\u5FC5\u987B\u662F\u6B63\u6574\u6570","Session plugin testkit transcript diverged on run {run}":"\u4F1A\u8BDD\u63D2\u4EF6 testkit \u7684\u8F6C\u5F55\u5728\u7B2C {run} \u6B21\u8FD0\u884C\u51FA\u73B0\u5206\u6B67","Plugin testkit manifestRoot must be a non-empty string":"\u63D2\u4EF6 testkit \u7684 manifestRoot \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32","Plugin testkit repeat count must be a positive integer":"\u63D2\u4EF6 testkit \u7684\u91CD\u590D\u6B21\u6570\u5FC5\u987B\u662F\u6B63\u6574\u6570","Plugin testkit transcript diverged on run {run}":"\u63D2\u4EF6 testkit \u7684\u8F6C\u5F55\u5728\u7B2C {run} \u6B21\u8FD0\u884C\u51FA\u73B0\u5206\u6B67",".profile-lock.json must be a JSON object":".profile-lock.json \u5FC5\u987B\u662F JSON \u5BF9\u8C61",".profile-lock.json identity must be a JSON object":".profile-lock.json \u7684 identity \u5FC5\u987B\u662F JSON \u5BF9\u8C61",".profile-lock.json identity must carry profileId/profileVersion/manifestDigest/capabilityVersions":".profile-lock.json \u7684 identity \u5FC5\u987B\u643A\u5E26 profileId/profileVersion/manifestDigest/capabilityVersions",".profile-lock.json identity.capabilityVersions entries must be objects":".profile-lock.json \u7684 identity.capabilityVersions \u6761\u76EE\u5FC5\u987B\u662F\u5BF9\u8C61",".profile-lock.json identity.capabilityVersions entries must carry id/version":".profile-lock.json \u7684 identity.capabilityVersions \u6761\u76EE\u5FC5\u987B\u643A\u5E26 id/version",".profile-lock.json must carry lockedAt/lockedBy/generation":".profile-lock.json \u5FC5\u987B\u643A\u5E26 lockedAt/lockedBy/generation"};var coreContractPlugins={"{label} is invalid":"{label} \u65E0\u6548","{label} must be a non-empty string":"{label} \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32","{label} must be a plain object":"{label} \u5FC5\u987B\u662F\u666E\u901A\u5BF9\u8C61","{label} must be an array":"{label} \u5FC5\u987B\u662F\u6570\u7EC4","{option} requires a plugin id":"{option} \u9700\u8981\u4E00\u4E2A\u63D2\u4EF6 id","{option} requires a non-empty plugin id":"{option} \u9700\u8981\u975E\u7A7A\u63D2\u4EF6 id","{option} plugin id must be at most {max} characters":"{option} \u63D2\u4EF6 id \u6700\u591A {max} \u4E2A\u5B57\u7B26","{option} accepts at most {max} plugin ids":"{option} \u6700\u591A\u63A5\u53D7 {max} \u4E2A\u63D2\u4EF6 id","--plugin-profile requires a profile id":"--plugin-profile \u9700\u8981\u4E00\u4E2A profile id","--plugin-profile requires a non-empty profile id":"--plugin-profile \u9700\u8981\u975E\u7A7A profile id","--plugin-profile id must be at most {max} characters":"--plugin-profile id \u6700\u591A {max} \u4E2A\u5B57\u7B26","--mode requires text, json, or rpc":"--mode \u9700\u8981 text\u3001json \u6216 rpc",'Invalid mode "{mode}". Valid values: text, json, rpc':'\u65E0\u6548\u7684\u6A21\u5F0F "{mode}"\u3002\u6709\u6548\u503C\uFF1Atext\u3001json\u3001rpc',"--name requires a value":"--name \u9700\u8981\u4E00\u4E2A\u503C","--suite requires a suite id":"--suite \u9700\u8981\u4E00\u4E2A suite id","--suite-create requires a suite id":"--suite-create \u9700\u8981\u4E00\u4E2A suite id","--clone-from requires a suite id":"--clone-from \u9700\u8981\u4E00\u4E2A suite id","--suite-delete requires a suite id":"--suite-delete \u9700\u8981\u4E00\u4E2A suite id","--suite-reset requires a suite id":"--suite-reset \u9700\u8981\u4E00\u4E2A suite id","--serve requires a valid TCP port (0-65535)":"--serve \u9700\u8981\u6709\u6548\u7684 TCP \u7AEF\u53E3\uFF080-65535\uFF09","--serve-workspace-root requires a directory":"--serve-workspace-root \u9700\u8981\u4E00\u4E2A\u76EE\u5F55",'Invalid thinking level "{level}". Valid values: {levels}':'\u65E0\u6548\u7684\u601D\u8003\u7EA7\u522B "{level}"\u3002\u6709\u6548\u503C\uFF1A{levels}',"--trace-kind requires a comma-separated kind list":"--trace-kind \u9700\u8981\u9017\u53F7\u5206\u9694\u7684 kind \u5217\u8868","--trace-kind requires at least one trace kind":"--trace-kind \u81F3\u5C11\u9700\u8981\u4E00\u4E2A trace kind",'Invalid trace kind(s) "{kinds}". Valid values: {valid}':'\u65E0\u6548\u7684 trace kind "{kinds}"\u3002\u6709\u6548\u503C\uFF1A{valid}',"--trace-limit requires a positive integer":"--trace-limit \u9700\u8981\u6B63\u6574\u6570",'Invalid trace limit "{limit}". Expected a positive integer':'\u65E0\u6548\u7684 trace \u4E0A\u9650 "{limit}"\u3002\u5E94\u4E3A\u6B63\u6574\u6570',"--log-level requires a level":"--log-level \u9700\u8981\u4E00\u4E2A\u7EA7\u522B",'Invalid log level "{level}". Valid values: {levels}':'\u65E0\u6548\u7684\u65E5\u5FD7\u7EA7\u522B "{level}"\u3002\u6709\u6548\u503C\uFF1A{levels}',"--plugin-scope must be global or project":"--plugin-scope \u5FC5\u987B\u662F global \u6216 project","--plugin-scope may be specified only once":"--plugin-scope \u53EA\u80FD\u6307\u5B9A\u4E00\u6B21","--use-theme requires a theme name":"--use-theme \u9700\u8981\u4E3B\u9898\u540D","--tui-mode requires regular or fullscreen":"--tui-mode \u9700\u8981 regular \u6216 fullscreen",'Invalid TUI mode "{mode}". Valid values: regular, fullscreen':'\u65E0\u6548\u7684 TUI \u6A21\u5F0F "{mode}"\u3002\u6709\u6548\u503C\uFF1Aregular\u3001fullscreen','Unknown auth command "{command}". Use "{apiKey}", "{bearerToken}", or "{check}".':'\u672A\u77E5\u7684 auth \u547D\u4EE4 "{command}"\u3002\u8BF7\u4F7F\u7528 "{apiKey}"\u3001"{bearerToken}" \u6216 "{check}"\u3002',"--min-expiry is only supported by print-bearer-token":"--min-expiry \u4EC5\u88AB print-bearer-token \u652F\u6301","--min-expiry must use a duration such as 30m or 1h":"--min-expiry \u5FC5\u987B\u4F7F\u7528\u65F6\u957F\u683C\u5F0F\uFF0C\u5982 30m \u6216 1h","{arg} is only supported by auth check":"{arg} \u4EC5\u88AB auth check \u652F\u6301","Auth commands only accept --provider and --model":"auth \u547D\u4EE4\u53EA\u63A5\u53D7 --provider \u548C --model","Auth checks require --provider <provider> or --model <model>":"auth check \u9700\u8981 --provider <provider> \u6216 --model <model>","Credential printing requires --provider <provider> or --model <model>":"\u51ED\u8BC1\u6253\u5370\u9700\u8981 --provider <provider> \u6216 --model <model>","Unable to resolve an auth provider":"\u65E0\u6CD5\u89E3\u6790 auth \u63D0\u4F9B\u65B9",'Unable to resolve model "{model}"':'\u65E0\u6CD5\u89E3\u6790\u6A21\u578B "{model}"',"Unable to resolve the requested provider/model":"\u65E0\u6CD5\u89E3\u6790\u6240\u8BF7\u6C42\u7684\u63D0\u4F9B\u65B9/\u6A21\u578B",'Unknown provider "{provider}". Use --list-models to see available providers.':'\u672A\u77E5\u7684\u63D0\u4F9B\u65B9 "{provider}"\u3002\u4F7F\u7528 --list-models \u67E5\u770B\u53EF\u7528\u63D0\u4F9B\u65B9\u3002','Model "{model}" not found. Use --list-models to see available models.':'\u672A\u627E\u5230\u6A21\u578B "{model}"\u3002\u4F7F\u7528 --list-models \u67E5\u770B\u53EF\u7528\u6A21\u578B\u3002','Provider "{providerId}" is configured with OAuth, not an API key':'\u63D0\u4F9B\u65B9 "{providerId}" \u914D\u7F6E\u7684\u662F OAuth\uFF0C\u800C\u975E API key','Provider "{providerId}" is not configured with an OAuth bearer token':'\u63D0\u4F9B\u65B9 "{providerId}" \u672A\u914D\u7F6E OAuth bearer token',"No usable {credential} is configured":"\u6CA1\u6709\u53EF\u7528\u7684\u5DF2\u914D\u7F6E {credential}","Multiple configured providers matched ({providers}). Specify --provider.":"\u591A\u4E2A\u5DF2\u914D\u7F6E\u63D0\u4F9B\u65B9\u5339\u914D\uFF08{providers}\uFF09\u3002\u8BF7\u6307\u5B9A --provider\u3002","Invalid hex color: {hex}":"\u65E0\u6548\u7684\u5341\u516D\u8FDB\u5236\u989C\u8272\uFF1A{hex}","Invalid color value: {color}":"\u65E0\u6548\u7684\u989C\u8272\u503C\uFF1A{color}","Circular variable reference detected: {value}":"\u68C0\u6D4B\u5230\u5FAA\u73AF\u53D8\u91CF\u5F15\u7528\uFF1A{value}","Variable reference not found: {value}":"\u672A\u627E\u5230\u53D8\u91CF\u5F15\u7528\uFF1A{value}","Unknown theme color: {color}":"\u672A\u77E5\u7684\u4E3B\u9898\u989C\u8272\uFF1A{color}","Unknown theme background color: {color}":"\u672A\u77E5\u7684\u4E3B\u9898\u80CC\u666F\u8272\uFF1A{color}",'Invalid theme name "{name}": theme names cannot contain "/" because it is reserved for automatic light/dark theme settings.':'\u65E0\u6548\u7684\u4E3B\u9898\u540D "{name}"\uFF1A\u4E3B\u9898\u540D\u4E0D\u80FD\u5305\u542B "/"\uFF0C\u8BE5\u5B57\u7B26\u4FDD\u7559\u7ED9\u81EA\u52A8\u660E\u6697\u4E3B\u9898\u8BBE\u7F6E\u3002','Invalid theme "{label}":':'\u65E0\u6548\u4E3B\u9898 "{label}"\uFF1A',"Missing required color tokens:":"\u7F3A\u5C11\u5FC5\u9700\u7684\u989C\u8272 token\uFF1A",'Please add these colors to your theme\'s "colors" object.':'\u8BF7\u5C06\u8FD9\u4E9B\u989C\u8272\u6DFB\u52A0\u5230\u4E3B\u9898\u7684 "colors" \u5BF9\u8C61\u3002',"See the built-in themes (dark.json, light.json) for reference values.":"\u53C2\u8003\u5185\u7F6E\u4E3B\u9898\uFF08dark.json\u3001light.json\uFF09\u7684\u53D6\u503C\u3002","Other errors:":"\u5176\u4ED6\u9519\u8BEF\uFF1A","Failed to parse theme {label}: {error}":"\u89E3\u6790\u4E3B\u9898 {label} \u5931\u8D25\uFF1A{error}",'Theme "{name}" does not have a source path for export':'\u4E3B\u9898 "{name}" \u6CA1\u6709\u53EF\u7528\u4E8E\u5BFC\u51FA\u7684\u6E90\u8DEF\u5F84',"Theme not found: {name}":"\u672A\u627E\u5230\u4E3B\u9898\uFF1A{name}","Theme not initialized. Call initTheme() first.":"\u4E3B\u9898\u672A\u521D\u59CB\u5316\u3002\u8BF7\u5148\u8C03\u7528 initTheme()\u3002","TUI property {property} is not callable":"TUI \u5C5E\u6027 {property} \u4E0D\u53EF\u8C03\u7528","Fullscreen layout is not initialized":"\u5168\u5C4F\u5E03\u5C40\u672A\u521D\u59CB\u5316","Completed compaction is missing from the session context":"\u4F1A\u8BDD\u4E0A\u4E0B\u6587\u4E2D\u7F3A\u5C11\u5DF2\u5B8C\u6210\u7684\u538B\u7F29\u7ED3\u679C","toolcall_start content at index {index} is not a tool call":"toolcall_start \u5185\u5BB9\uFF08\u7D22\u5F15 {index}\uFF09\u4E0D\u662F\u5DE5\u5177\u8C03\u7528","message_update message is not an assistant message":"message_update \u6D88\u606F\u4E0D\u662F assistant \u6D88\u606F","Client already started":"\u5BA2\u6237\u7AEF\u5DF2\u542F\u52A8","Client not started":"\u5BA2\u6237\u7AEF\u672A\u542F\u52A8","invalid plugin selection profile ID":"\u65E0\u6548\u7684\u63D2\u4EF6\u9009\u62E9 profile ID","plugin selection profile does not match the entry profile":"\u63D2\u4EF6\u9009\u62E9 profile \u4E0E\u5165\u53E3 profile \u4E0D\u5339\u914D",interrupt:"\u4E2D\u65AD",commands:"\u547D\u4EE4",bash:"bash",more:"\u66F4\u591A",Context:"\u4E0A\u4E0B\u6587",Skills:"\u6280\u80FD",Prompts:"\u63D0\u793A\u8BCD",Themes:"\u4E3B\u9898",Error:"\u9519\u8BEF",Compaction:"\u538B\u7F29",Summarize:"\u603B\u7ED3",Messages:"\u6D88\u606F",Tokens:"Token \u7528\u91CF",Cost:"\u8D39\u7528",Command:"\u547D\u4EE4",Description:"\u8BF4\u660E",Key:"\u6309\u952E",Action:"\u64CD\u4F5C",Navigation:"\u5BFC\u822A",Editing:"\u7F16\u8F91",Undo:"\u64A4\u9500",Other:"\u5176\u4ED6","{label} must be a non-empty bounded string":"{label} \u5FC5\u987B\u662F\u975E\u7A7A\u6709\u754C\u5B57\u7B26\u4E32","{label} contains an unsupported field":"{label} \u5305\u542B\u4E0D\u652F\u6301\u7684\u5B57\u6BB5","Plugin registry source must be an opaque URI, not a local path":"\u63D2\u4EF6\u6CE8\u518C\u8868 source \u5FC5\u987B\u662F\u4E0D\u900F\u660E URI\uFF0C\u4E0D\u80FD\u662F\u672C\u5730\u8DEF\u5F84","Plugin registry source URL is invalid":"\u63D2\u4EF6\u6CE8\u518C\u8868 source URL \u65E0\u6548","Registry manifest must be an object":"Registry manifest \u5FC5\u987B\u662F\u5BF9\u8C61","Registry manifest id is invalid":"Registry manifest id \u65E0\u6548","Registry manifest pluginVersion is invalid":"Registry manifest pluginVersion \u65E0\u6548","Registry manifest apiVersion is invalid":"Registry manifest apiVersion \u65E0\u6548","Published plugins must declare host version compatibility range: set minHostVersion and/or maxHostVersion":"\u5DF2\u53D1\u5E03\u7684\u63D2\u4EF6\u5FC5\u987B\u58F0\u660E host \u7248\u672C\u517C\u5BB9\u8303\u56F4\uFF1A\u8BBE\u7F6E minHostVersion \u548C/\u6216 maxHostVersion","Registry manifest cannot be serialized":"Registry manifest \u65E0\u6CD5\u5E8F\u5217\u5316","Registry manifest exceeds the size limit":"Registry manifest \u8D85\u51FA\u5927\u5C0F\u4E0A\u9650","Registry response entry must be an object":"Registry \u54CD\u5E94\u6761\u76EE\u5FC5\u987B\u662F\u5BF9\u8C61","Registry distribution descriptor is invalid":"Registry \u5206\u53D1\u63CF\u8FF0\u7B26\u65E0\u6548","Registry distribution descriptor does not match the manifest identity":"Registry \u5206\u53D1\u63CF\u8FF0\u7B26\u4E0E manifest \u8EAB\u4EFD\u4E0D\u5339\u914D","maxManifests must be an integer between 1 and {max}":"maxManifests \u5FC5\u987B\u662F 1 \u5230 {max} \u4E4B\u95F4\u7684\u6574\u6570","Manifest digest mismatch for {identity}":"manifest \u6458\u8981\u4E0D\u5339\u914D\uFF1A{identity}","Registry source proof was rejected":"Registry source \u8BC1\u660E\u88AB\u62D2\u7EDD","Plugin source verifier failed":"\u63D2\u4EF6 source \u6821\u9A8C\u5668\u5931\u8D25","Plugin source was rejected":"\u63D2\u4EF6 source \u88AB\u62D2\u7EDD","Registry source must provide list()":"Registry source \u5FC5\u987B\u63D0\u4F9B list()","Registry source/digest verifier is required":"\u5FC5\u987B\u63D0\u4F9B Registry source/digest \u6821\u9A8C\u5668","Registry source verifier is required":"\u5FC5\u987B\u63D0\u4F9B Registry source \u6821\u9A8C\u5668","Plugin registry source failed":"\u63D2\u4EF6\u6CE8\u518C\u8868 source \u5931\u8D25","Registry source must return an array":"Registry source \u5FC5\u987B\u8FD4\u56DE\u6570\u7EC4","Registry response contains too many manifests":"Registry \u54CD\u5E94\u5305\u542B\u8FC7\u591A manifest","Registry response exceeds the aggregate size limit":"Registry \u54CD\u5E94\u8D85\u51FA\u805A\u5408\u5927\u5C0F\u4E0A\u9650","Duplicate registry manifest: {identity}":"\u91CD\u590D\u7684 registry manifest\uFF1A{identity}","Registry does not expose a host-side package resolver":"Registry \u672A\u66B4\u9732 host \u4FA7\u7684\u5305\u89E3\u6790\u5668","maxEntries must be an integer between 1 and {max}":"maxEntries \u5FC5\u987B\u662F 1 \u5230 {max} \u4E4B\u95F4\u7684\u6574\u6570","Catalog contains duplicate plugin version: {identity}":"Catalog \u5305\u542B\u91CD\u590D\u7684\u63D2\u4EF6\u7248\u672C\uFF1A{identity}","{label} must be at most {max} characters":"{label} \u6700\u591A {max} \u4E2A\u5B57\u7B26","{label} must contain at most {max} plugin IDs":"{label} \u6700\u591A\u5305\u542B {max} \u4E2A\u63D2\u4EF6 ID","{label} contains duplicate plugin ID: {id}":"{label} \u5305\u542B\u91CD\u590D\u7684\u63D2\u4EF6 ID\uFF1A{id}","Selection references unknown plugin ID: {id}":"\u9009\u62E9\u5F15\u7528\u4E86\u672A\u77E5\u7684\u63D2\u4EF6 ID\uFF1A{id}","discovered plugin IDs exceed the selection limit of {limit}":"\u53D1\u73B0\u7684\u63D2\u4EF6 ID \u8D85\u51FA\u9009\u62E9\u4E0A\u9650 {limit}","Catalog truncation omitted selected plugin ID: {id}":"Catalog \u622A\u65AD\u9057\u6F0F\u4E86\u5DF2\u9009\u62E9\u7684\u63D2\u4EF6 ID\uFF1A{id}","capability {id} version must be a positive safe integer":"\u80FD\u529B {id} \u7684\u7248\u672C\u5FC5\u987B\u662F\u6B63\u7684\u5B89\u5168\u6574\u6570","update source must be a non-empty string":"\u66F4\u65B0 source \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32","Only a verified update can become active: {pluginId}":"\u53EA\u6709\u5DF2\u9A8C\u8BC1\u7684\u66F4\u65B0\u624D\u80FD\u8F6C\u4E3A active\uFF1A{pluginId}","Cannot rollback updates for different plugins":"\u65E0\u6CD5\u56DE\u6EDA\u4E0D\u540C\u63D2\u4EF6\u7684\u66F4\u65B0","Rollback target must be active":"\u56DE\u6EDA\u76EE\u6807\u5FC5\u987B\u5904\u4E8E active \u72B6\u6001","installation reference is invalid":"\u5B89\u88C5\u5F15\u7528\u65E0\u6548","installation reference must be opaque":"\u5B89\u88C5\u5F15\u7528\u5FC5\u987B\u662F\u4E0D\u900F\u660E\u503C","invalid plugin state file path":"\u65E0\u6548\u7684\u63D2\u4EF6\u72B6\u6001\u6587\u4EF6\u8DEF\u5F84","invalid plugin scope reference":"\u65E0\u6548\u7684\u63D2\u4EF6\u4F5C\u7528\u57DF\u5F15\u7528","record source label is invalid":"\u8BB0\u5F55 source \u6807\u7B7E\u65E0\u6548","record schema is invalid":"\u8BB0\u5F55 schema \u65E0\u6548","state schema is invalid":"state schema \u65E0\u6548","state scope is invalid":"state \u4F5C\u7528\u57DF\u65E0\u6548","state enabled flag is invalid":"state enabled \u6807\u5FD7\u65E0\u6548","state lifecycle is invalid":"state \u751F\u547D\u5468\u671F\u503C\u65E0\u6548","snapshot schema is invalid":"\u5FEB\u7167 schema \u65E0\u6548","snapshot version is unsupported":"\u4E0D\u652F\u6301\u7684\u5FEB\u7167\u7248\u672C","records must be an array":"records \u5FC5\u987B\u662F\u6570\u7EC4","installation scope does not match state scope":"\u5B89\u88C5\u4F5C\u7528\u57DF\u4E0E state \u4F5C\u7528\u57DF\u4E0D\u4E00\u81F4","invalid plugin selection file path":"\u65E0\u6548\u7684\u63D2\u4EF6\u9009\u62E9\u6587\u4EF6\u8DEF\u5F84","selection schema is invalid":"\u9009\u62E9 schema \u65E0\u6548","selection IDs must be arrays":"\u9009\u62E9 ID \u5FC5\u987B\u662F\u6570\u7EC4","too many plugin IDs":"\u63D2\u4EF6 ID \u8FC7\u591A","selections must be an array":"selections \u5FC5\u987B\u662F\u6570\u7EC4","plugin request timed out":"\u63D2\u4EF6\u8BF7\u6C42\u8D85\u65F6","plugin request was cancelled":"\u63D2\u4EF6\u8BF7\u6C42\u5DF2\u53D6\u6D88","{label} must be a positive integer at most {maximum}":"{label} \u5FC5\u987B\u662F\u4E0D\u8D85\u8FC7 {maximum} \u7684\u6B63\u6574\u6570","allowed origin is invalid":"allowed origin \u65E0\u6548","allowed origin must be an http(s) origin":"allowed origin \u5FC5\u987B\u662F http(s) origin","allowed origin must not include a path or query":"allowed origin \u4E0D\u5F97\u5305\u542B\u8DEF\u5F84\u6216\u67E5\u8BE2","at least one allowed origin is required":"\u81F3\u5C11\u9700\u8981\u4E00\u4E2A allowed origin","plugin source URL is invalid":"\u63D2\u4EF6 source URL \u65E0\u6548","plugin source URL must use http(s) without credentials":"\u63D2\u4EF6 source URL \u5FC5\u987B\u4F7F\u7528 http(s) \u4E14\u4E0D\u5E26\u51ED\u636E","plugin source origin is not allowed":"\u63D2\u4EF6 source origin \u4E0D\u5728\u5141\u8BB8\u8303\u56F4","plugin response content length is invalid":"\u63D2\u4EF6\u54CD\u5E94 content length \u65E0\u6548","plugin response size mismatch":"\u63D2\u4EF6\u54CD\u5E94\u5927\u5C0F\u4E0D\u5339\u914D","plugin response media type mismatch":"\u63D2\u4EF6\u54CD\u5E94\u5A92\u4F53\u7C7B\u578B\u4E0D\u5339\u914D","plugin artifact digest algorithm is unsupported":"\u4E0D\u652F\u6301\u63D2\u4EF6\u5236\u54C1\u6458\u8981\u7B97\u6CD5","plugin artifact file write failed":"\u63D2\u4EF6\u5236\u54C1\u6587\u4EF6\u5199\u5165\u5931\u8D25","Node fetch is unavailable":"Node fetch \u4E0D\u53EF\u7528","maxRedirects must be an integer between 0 and {max}":"maxRedirects \u5FC5\u987B\u662F 0 \u5230 {max} \u4E4B\u95F4\u7684\u6574\u6570","userAgent is invalid":"userAgent \u65E0\u6548","artifactDirectory must be absolute":"artifactDirectory \u5FC5\u987B\u662F\u7EDD\u5BF9\u8DEF\u5F84","plugin distribution host is closed":"\u63D2\u4EF6\u5206\u53D1 host \u5DF2\u5173\u95ED","plugin redirect limit exceeded":"\u8D85\u51FA\u63D2\u4EF6\u91CD\u5B9A\u5411\u4E0A\u9650","plugin metadata request failed":"\u63D2\u4EF6\u5143\u6570\u636E\u8BF7\u6C42\u5931\u8D25","plugin artifact request failed":"\u63D2\u4EF6\u5236\u54C1\u8BF7\u6C42\u5931\u8D25","plugin artifact response has no body":"\u63D2\u4EF6\u5236\u54C1\u54CD\u5E94\u6CA1\u6709 body","plugin artifact exceeds its size limit":"\u63D2\u4EF6\u5236\u54C1\u8D85\u51FA\u5927\u5C0F\u4E0A\u9650","plugin artifact size mismatch":"\u63D2\u4EF6\u5236\u54C1\u5927\u5C0F\u4E0D\u5339\u914D","plugin artifact digest mismatch":"\u63D2\u4EF6\u5236\u54C1\u6458\u8981\u4E0D\u5339\u914D","plugin artifact release was cancelled":"\u63D2\u4EF6\u5236\u54C1\u91CA\u653E\u5DF2\u53D6\u6D88","plugin artifact reference is unknown":"\u672A\u77E5\u7684\u63D2\u4EF6\u5236\u54C1\u5F15\u7528","plugin artifact is still being read":"\u63D2\u4EF6\u5236\u54C1\u4ECD\u5728\u8BFB\u53D6\u4E2D","plugin artifact read was cancelled":"\u63D2\u4EF6\u5236\u54C1\u8BFB\u53D6\u5DF2\u53D6\u6D88","{label} must be an ISO-8601 UTC timestamp":"{label} \u5FC5\u987B\u662F ISO-8601 UTC \u65F6\u95F4\u6233","{label} must be a valid ISO-8601 UTC timestamp":"{label} \u5FC5\u987B\u662F\u6709\u6548\u7684 ISO-8601 UTC \u65F6\u95F4\u6233","publicKeyPem is invalid":"publicKeyPem \u65E0\u6548","publicKeyPem must be an Ed25519 public key":"publicKeyPem \u5FC5\u987B\u662F Ed25519 \u516C\u94A5","keys must contain between 1 and {max} entries":"keys \u5FC5\u987B\u5305\u542B 1 \u5230 {max} \u4E2A\u6761\u76EE","revokedKeyIds is invalid or duplicated":"revokedKeyIds \u65E0\u6548\u6216\u91CD\u590D","keyId is invalid or duplicated":"keyId \u65E0\u6548\u6216\u91CD\u590D","notBefore must be earlier than notAfter":"notBefore \u5FC5\u987B\u65E9\u4E8E notAfter","Node package installation failed: {code}":"Node \u5305\u5B89\u88C5\u5931\u8D25\uFF1A{code}","Node package install persistence failed: {code}":"Node \u5305\u5B89\u88C5\u6301\u4E45\u5316\u5931\u8D25\uFF1A{code}","loadPlugin must be omitted when binding a session":"\u7ED1\u5B9A\u4F1A\u8BDD\u65F6\u5FC5\u987B\u7701\u7565 loadPlugin","non-ascii zip name":"zip \u6761\u76EE\u540D\u5305\u542B\u975E ASCII \u5B57\u7B26","openArtifact is required":"\u5FC5\u987B\u63D0\u4F9B openArtifact","installationDirectory must be absolute":"installationDirectory \u5FC5\u987B\u662F\u7EDD\u5BF9\u8DEF\u5F84","persistence mode is invalid":"\u6301\u4E45\u5316\u6A21\u5F0F\u65E0\u6548","supportedScopes is invalid":"supportedScopes \u65E0\u6548","lockTimeoutMs must be a positive integer at most {max}":"lockTimeoutMs \u5FC5\u987B\u662F\u4E0D\u8D85\u8FC7 {max} \u7684\u6B63\u6574\u6570","rootDirectory must be absolute":"rootDirectory \u5FC5\u987B\u662F\u7EDD\u5BF9\u8DEF\u5F84","Allowed registry origin is invalid":"Allowed registry origin \u65E0\u6548","Allowed registry origin must be an http(s) origin without credentials":"Allowed registry origin \u5FC5\u987B\u662F\u4E0D\u5E26\u51ED\u636E\u7684 http(s) origin","Allowed registry origin must not include a path, query, or fragment":"Allowed registry origin \u4E0D\u5F97\u5305\u542B\u8DEF\u5F84\u3001\u67E5\u8BE2\u6216\u7247\u6BB5","Plugin registry URL is invalid":"\u63D2\u4EF6\u6CE8\u518C\u8868 URL \u65E0\u6548","Plugin registry URL must use http(s) without credentials":"\u63D2\u4EF6\u6CE8\u518C\u8868 URL \u5FC5\u987B\u4F7F\u7528 http(s) \u4E14\u4E0D\u5E26\u51ED\u636E","Plugin registry URL must not include a query or fragment":"\u63D2\u4EF6\u6CE8\u518C\u8868 URL \u4E0D\u5F97\u5305\u542B\u67E5\u8BE2\u6216\u7247\u6BB5","Plugin registry origin is not allowed":"\u63D2\u4EF6\u6CE8\u518C\u8868 origin \u4E0D\u5728\u5141\u8BB8\u8303\u56F4","Plugin registry response length is invalid":"\u63D2\u4EF6\u6CE8\u518C\u8868\u54CD\u5E94\u957F\u5EA6\u65E0\u6548","Plugin registry response has no body":"\u63D2\u4EF6\u6CE8\u518C\u8868\u54CD\u5E94\u6CA1\u6709 body","Plugin registry response exceeds the configured size limit":"\u63D2\u4EF6\u6CE8\u518C\u8868\u54CD\u5E94\u8D85\u51FA\u914D\u7F6E\u7684\u5927\u5C0F\u4E0A\u9650","Plugin registry response is not valid JSON":"\u63D2\u4EF6\u6CE8\u518C\u8868\u54CD\u5E94\u4E0D\u662F\u6709\u6548 JSON","Plugin registry document is invalid":"\u63D2\u4EF6\u6CE8\u518C\u8868\u6587\u6863\u65E0\u6548","At least one allowed registry origin is required":"\u81F3\u5C11\u9700\u8981\u4E00\u4E2A\u5141\u8BB8\u7684\u6CE8\u518C\u8868 origin","Plugin registry request did not succeed":"\u63D2\u4EF6\u6CE8\u518C\u8868\u8BF7\u6C42\u672A\u6210\u529F","Plugin registry response must be JSON":"\u63D2\u4EF6\u6CE8\u518C\u8868\u54CD\u5E94\u5FC5\u987B\u662F JSON","npm integrity algorithm is unsupported":"\u4E0D\u652F\u6301 npm integrity \u7B97\u6CD5","npm integrity encoding is invalid":"npm integrity \u7F16\u7801\u65E0\u6548","npm integrity length is invalid":"npm integrity \u957F\u5EA6\u65E0\u6548","npm integrity is invalid":"npm integrity \u65E0\u6548","npm registry origin is invalid":"npm \u6CE8\u518C\u8868 origin \u65E0\u6548","npm registry origin must be http(s) without credentials":"npm \u6CE8\u518C\u8868 origin \u5FC5\u987B\u662F\u4E0D\u5E26\u51ED\u636E\u7684 http(s)","npm registry origin must not include a path, query, or fragment":"npm \u6CE8\u518C\u8868 origin \u4E0D\u5F97\u5305\u542B\u8DEF\u5F84\u3001\u67E5\u8BE2\u6216\u7247\u6BB5","npm package name is invalid":"npm \u5305\u540D\u65E0\u6548","npm tarball URL is invalid":"npm tarball URL \u65E0\u6548","npm tarball URL must use http(s) without credentials":"npm tarball URL \u5FC5\u987B\u4F7F\u7528 http(s) \u4E14\u4E0D\u5E26\u51ED\u636E","npm tarball URL must not include a fragment":"npm tarball URL \u4E0D\u5F97\u5305\u542B\u7247\u6BB5","npm registry response has no body":"npm \u6CE8\u518C\u8868\u54CD\u5E94\u6CA1\u6709 body","npm registry response exceeds the configured size limit":"npm \u6CE8\u518C\u8868\u54CD\u5E94\u8D85\u51FA\u914D\u7F6E\u7684\u5927\u5C0F\u4E0A\u9650","npm registry response is not valid JSON":"npm \u6CE8\u518C\u8868\u54CD\u5E94\u4E0D\u662F\u6709\u6548 JSON","npm packument is invalid":"npm packument \u65E0\u6548","npm packument has no version table":"npm packument \u6CA1\u6709\u7248\u672C\u8868","npm registry token is invalid":"npm \u6CE8\u518C\u8868 token \u65E0\u6548","npm registry response must be JSON":"npm \u6CE8\u518C\u8868\u54CD\u5E94\u5FC5\u987B\u662F JSON","npm package version has no integrity field":"npm \u5305\u7248\u672C\u6CA1\u6709 integrity \u5B57\u6BB5","{label} must be http(s) without credentials":"{label} \u5FC5\u987B\u662F\u4E0D\u5E26\u51ED\u636E\u7684 http(s)","{label} must not include a query or fragment":"{label} \u4E0D\u5F97\u5305\u542B\u67E5\u8BE2\u6216\u7247\u6BB5","release API response is not valid JSON":"release API \u54CD\u5E94\u4E0D\u662F\u6709\u6548 JSON","release API response is not a release list":"release API \u54CD\u5E94\u4E0D\u662F release \u5217\u8868","release API response is not a release object":"release API \u54CD\u5E94\u4E0D\u662F release \u5BF9\u8C61","release assets are invalid":"release assets \u65E0\u6548","release has no assets":"release \u6CA1\u6709 assets","assets: {names}":"assets\uFF1A{names}","candidates: {names}":"candidates\uFF1A{names}","release asset has no download URL":"release asset \u6CA1\u6709 download URL","release API response has no body":"release API \u54CD\u5E94\u6CA1\u6709 body","release API response exceeds the configured size limit":"release API \u54CD\u5E94\u8D85\u51FA\u914D\u7F6E\u7684\u5927\u5C0F\u4E0A\u9650","release API response must be JSON":"release API \u54CD\u5E94\u5FC5\u987B\u662F JSON","release API redirect target is invalid":"release API \u91CD\u5B9A\u5411\u76EE\u6807\u65E0\u6548","release API redirect must stay http(s)":"release API \u91CD\u5B9A\u5411\u5FC5\u987B\u4FDD\u6301 http(s)","plugin package URL is invalid":"\u63D2\u4EF6\u5305 URL \u65E0\u6548","plugin package URL must use http(s) without credentials":"\u63D2\u4EF6\u5305 URL \u5FC5\u987B\u4F7F\u7528 http(s) \u4E14\u4E0D\u5E26\u51ED\u636E","plugin package URL must not include a fragment":"\u63D2\u4EF6\u5305 URL \u4E0D\u5F97\u5305\u542B\u7247\u6BB5","expected sha256 digest is invalid":"\u671F\u671B\u7684 sha256 \u6458\u8981\u65E0\u6548","plugin package exceeds the configured size limit":"\u63D2\u4EF6\u5305\u8D85\u51FA\u914D\u7F6E\u7684\u5927\u5C0F\u4E0A\u9650","plugin package bytes do not match the expected sha256 digest":"\u63D2\u4EF6\u5305\u5B57\u8282\u4E0E\u671F\u671B\u7684 sha256 \u6458\u8981\u4E0D\u5339\u914D","Index record {index} is not an object":"\u7D22\u5F15\u8BB0\u5F55 {index} \u4E0D\u662F\u5BF9\u8C61","Index record {index} has an invalid schema":"\u7D22\u5F15\u8BB0\u5F55 {index} \u7684 schema \u65E0\u6548","Index record {index} is invalid":"\u7D22\u5F15\u8BB0\u5F55 {index} \u65E0\u6548","Install store index JSON is invalid":"Install store \u7D22\u5F15 JSON \u65E0\u6548","Install store index is not an object":"Install store \u7D22\u5F15\u4E0D\u662F\u5BF9\u8C61","Install store index schema is unsupported":"\u4E0D\u652F\u6301\u7684 Install store \u7D22\u5F15 schema","Install store index exceeds the record limit":"Install store \u7D22\u5F15\u8D85\u51FA\u8BB0\u5F55\u4E0A\u9650","{label} exceeds the size limit":"{label} \u8D85\u51FA\u5927\u5C0F\u4E0A\u9650","Installed plugin manifest JSON is invalid":"\u5DF2\u5B89\u88C5\u63D2\u4EF6 manifest JSON \u65E0\u6548","Installed plugin manifest is not an object":"\u5DF2\u5B89\u88C5\u63D2\u4EF6 manifest \u4E0D\u662F\u5BF9\u8C61","Installed plugin package format is unsupported":"\u4E0D\u652F\u6301\u7684\u5DF2\u5B89\u88C5\u63D2\u4EF6\u5305\u683C\u5F0F","Installed plugin manifest identity does not match index record for {identity}":"\u5DF2\u5B89\u88C5\u63D2\u4EF6 manifest \u8EAB\u4EFD\u4E0E\u7D22\u5F15\u8BB0\u5F55\u4E0D\u5339\u914D\uFF1A{identity}","Install store root directory must be absolute":"Install store \u6839\u76EE\u5F55\u5FC5\u987B\u662F\u7EDD\u5BF9\u8DEF\u5F84",aborted:"\u5DF2\u4E2D\u6B62","tar header field overflows":"tar header \u5B57\u6BB5\u6EA2\u51FA","tar header name field overflows":"tar header name \u5B57\u6BB5\u6EA2\u51FA","tar entry name cannot be split into ustar fields":"tar \u6761\u76EE\u540D\u65E0\u6CD5\u62C6\u5206\u5230 ustar \u5B57\u6BB5","tar entry name is invalid":"tar \u6761\u76EE\u540D\u65E0\u6548","tar entry name is not normalized":"tar \u6761\u76EE\u540D\u672A\u89C4\u8303\u5316","tar directory entry must be empty":"tar \u76EE\u5F55\u6761\u76EE\u5FC5\u987B\u4E3A\u7A7A","tar file entry requires bytes":"tar \u6587\u4EF6\u6761\u76EE\u9700\u8981\u5B57\u8282\u5185\u5BB9","tar entries must be an array":"tar \u6761\u76EE\u5FC5\u987B\u662F\u6570\u7EC4","duplicate tar entry name: {name}":"\u91CD\u590D\u7684 tar \u6761\u76EE\u540D\uFF1A{name}","{env} must be a JSON array of {keyId, publicKeyPem}":"{env} \u5FC5\u987B\u662F\u7531 {keyId, publicKeyPem} \u7EC4\u6210\u7684 JSON \u6570\u7EC4","{env} must be a JSON array":"{env} \u5FC5\u987B\u662F JSON \u6570\u7EC4","plugin state read failed ({detail}) for the {scope} scope":"\u8BFB\u53D6 {scope} \u4F5C\u7528\u57DF\u7684\u63D2\u4EF6\u72B6\u6001\u5931\u8D25\uFF08{detail}\uFF09","installer prepare rejected {pluginId}: {reason}":"installer prepare \u62D2\u7EDD\u4E86 {pluginId}\uFF1A{reason}","plugin install failed ({code}) for {pluginId}":"\u63D2\u4EF6\u5B89\u88C5\u5931\u8D25\uFF08{code}\uFF09\uFF1A{pluginId}","plugin activation failed ({code}) for {pluginId}":"\u63D2\u4EF6\u6FC0\u6D3B\u5931\u8D25\uFF08{code}\uFF09\uFF1A{pluginId}","plugin state persist failed ({status}) for {pluginId}":"\u63D2\u4EF6\u72B6\u6001\u6301\u4E45\u5316\u5931\u8D25\uFF08{status}\uFF09\uFF1A{pluginId}","plugin installation transaction did not complete":"\u63D2\u4EF6\u5B89\u88C5\u4E8B\u52A1\u672A\u5B8C\u6210","Unknown supervised plugin: {pluginId}":"\u672A\u77E5\u7684\u53D7\u76D1\u7BA1\u63D2\u4EF6\uFF1A{pluginId}","Unknown first-batch role: {roleId}":"\u672A\u77E5\u7684\u9996\u6279\u89D2\u8272\uFF1A{roleId}","Goal title must be a non-empty string":"Goal \u6807\u9898\u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32","Goal {goalId} must be in draft status to activate (current: {status})":"Goal {goalId} \u5FC5\u987B\u5904\u4E8E draft \u72B6\u6001\u624D\u80FD\u6FC0\u6D3B\uFF08\u5F53\u524D\uFF1A{status}\uFF09","Goal {goalId} must be active to achieve (current: {status})":"Goal {goalId} \u5FC5\u987B\u5904\u4E8E active \u72B6\u6001\u624D\u80FD\u5B8C\u6210\uFF08\u5F53\u524D\uFF1A{status}\uFF09","Achieving a goal requires at least one evidence reference":"\u5B8C\u6210 goal \u81F3\u5C11\u9700\u8981\u4E00\u4E2A\u8BC1\u636E\u5F15\u7528","Goal {goalId} cannot be archived from status {status}":"Goal {goalId} \u65E0\u6CD5\u4ECE {status} \u72B6\u6001\u5F52\u6863","{label}[{index}] must be a plain object":"{label}[{index}] \u5FC5\u987B\u662F\u666E\u901A\u5BF9\u8C61","{label} contains duplicate entry: {key}":"{label} \u5305\u542B\u91CD\u590D\u6761\u76EE\uFF1A{key}","{label}[{index}].selectedAdapter must be an object":"{label}[{index}].selectedAdapter \u5FC5\u987B\u662F\u5BF9\u8C61","Profile identity.capabilityVersions version must be a positive safe integer: {id}":"Profile identity.capabilityVersions \u7248\u672C\u5FC5\u987B\u662F\u6B63\u7684\u5B89\u5168\u6574\u6570\uFF1A{id}","Plan title must be a non-empty string":"Plan \u6807\u9898\u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32","Plan branch must be a non-empty string":"Plan \u5206\u652F\u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32","Plan requires at least one step":"Plan \u81F3\u5C11\u9700\u8981\u4E00\u4E2A\u6B65\u9AA4","Plan stepId must be a non-empty string":"Plan stepId \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32","Plan step title must be a non-empty string":"Plan \u6B65\u9AA4\u6807\u9898\u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32","Duplicate plan stepId: {stepId}":"\u91CD\u590D\u7684 plan stepId\uFF1A{stepId}","Plan {planId} must be in draft status to activate (current: {status})":"Plan {planId} \u5FC5\u987B\u5904\u4E8E draft \u72B6\u6001\u624D\u80FD\u6FC0\u6D3B\uFF08\u5F53\u524D\uFF1A{status}\uFF09","Plan {planId} must be active to link a revision (current: {status})":"Plan {planId} \u5FC5\u987B\u5904\u4E8E active \u72B6\u6001\u624D\u80FD\u5173\u8054\u4FEE\u8BA2\uFF08\u5F53\u524D\uFF1A{status}\uFF09","Plan revision must be a positive safe integer, got {revision}":"Plan \u4FEE\u8BA2\u53F7\u5FC5\u987B\u662F\u6B63\u7684\u5B89\u5168\u6574\u6570\uFF0C\u5B9E\u9645\u4E3A {revision}","Plan {planId} must be active to complete (current: {status})":"Plan {planId} \u5FC5\u987B\u5904\u4E8E active \u72B6\u6001\u624D\u80FD\u5B8C\u6210\uFF08\u5F53\u524D\uFF1A{status}\uFF09","Completing a plan requires at least one evidence reference":"\u5B8C\u6210 plan \u81F3\u5C11\u9700\u8981\u4E00\u4E2A\u8BC1\u636E\u5F15\u7528","Plan {planId} requires atRevision or a linked revision to complete":"Plan {planId} \u5B8C\u6210 atRevision \u6216\u5DF2\u5173\u8054\u7684\u4FEE\u8BA2","Plan {planId} cannot be discarded from status {status}":"Plan {planId} \u65E0\u6CD5\u4ECE {status} \u72B6\u6001\u5E9F\u5F03","builtin manifest override does not match plugin {pluginId}":"builtin manifest \u8986\u76D6\u4E0E\u63D2\u4EF6 {pluginId} \u4E0D\u5339\u914D","Policy manifest policyKind is invalid: {policyKind}":"Policy manifest policyKind \u65E0\u6548\uFF1A{policyKind}","Policy manifest policyId must be a non-empty string":"Policy manifest policyId \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32","Policy manifest {policyId}: enabled must be stated explicitly":"Policy manifest {policyId}\uFF1A\u5FC5\u987B\u663E\u5F0F\u58F0\u660E enabled","Policy manifest profileId must be a non-empty string":"Policy manifest profileId \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32","Registry source already registered: {sourceId}":"Registry source \u5DF2\u6CE8\u518C\uFF1A{sourceId}","{label}.schemaVersion must be a positive safe integer":"{label}.schemaVersion \u5FC5\u987B\u662F\u6B63\u7684\u5B89\u5168\u6574\u6570","Role metadata must be a plain object":"Role metadata \u5FC5\u987B\u662F\u666E\u901A\u5BF9\u8C61","Role metadata is missing required field: {key}":"Role metadata \u7F3A\u5C11\u5FC5\u9700\u5B57\u6BB5\uFF1A{key}","Role metadata has unsupported fields: {fields}":"Role metadata \u5305\u542B\u4E0D\u652F\u6301\u7684\u5B57\u6BB5\uFF1A{fields}","Role metadata.capabilityDependencies must be an array":"Role metadata.capabilityDependencies \u5FC5\u987B\u662F\u6570\u7EC4","{label}.capabilityVersion must be a positive safe integer":"{label}.capabilityVersion \u5FC5\u987B\u662F\u6B63\u7684\u5B89\u5168\u6574\u6570","{label}.required must be boolean":"{label}.required \u5FC5\u987B\u662F\u5E03\u5C14\u503C","Role metadata.writableScopes must be an array":"Role metadata.writableScopes \u5FC5\u987B\u662F\u6570\u7EC4","Role metadata.writableScopes[{index}] is invalid":"Role metadata.writableScopes[{index}] \u65E0\u6548","Role metadata.concurrency is invalid":"Role metadata.concurrency \u65E0\u6548","Role already registered: {roleId}":"\u89D2\u8272\u5DF2\u6CE8\u518C\uFF1A{roleId}","Unknown role: {roleId}":"\u672A\u77E5\u7684\u89D2\u8272\uFF1A{roleId}","Role orchestrator is already running an orchestration":"Role orchestrator \u5DF2\u5728\u8FD0\u884C\u4E00\u6B21\u7F16\u6392","Role id must be a non-empty string":"\u89D2\u8272 id \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32","Duplicate roleId in orchestration request: {roleId}":"\u7F16\u6392\u8BF7\u6C42\u4E2D\u5B58\u5728\u91CD\u590D\u7684 roleId\uFF1A{roleId}","Duplicate run override for role: {roleId}":"\u89D2\u8272\u7684\u8FD0\u884C\u8986\u76D6\u91CD\u590D\uFF1A{roleId}","Run override for unrequested role: {roleId}":"\u5B58\u5728\u9488\u5BF9\u672A\u8BF7\u6C42\u89D2\u8272\u7684\u8FD0\u884C\u8986\u76D6\uFF1A{roleId}","Orchestration outcome missing for role: {roleId}":"\u89D2\u8272\u7F3A\u5C11\u7F16\u6392\u7ED3\u679C\uFF1A{roleId}","No run binding for role: {roleId}":"\u89D2\u8272\u6CA1\u6709\u8FD0\u884C\u7ED1\u5B9A\uFF1A{roleId}","Root facade is already running a turn":"Root facade \u5DF2\u5728\u8FD0\u884C\u4E00\u4E2A\u56DE\u5408","Discovered item id must be a non-empty string":"\u53D1\u73B0\u7684\u6761\u76EE id \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32","Item {key} re-registered with a different version ({from} -> {to})":"\u6761\u76EE {key} \u4EE5\u4E0D\u540C\u7248\u672C\u91CD\u65B0\u6CE8\u518C\uFF08{from} -> {to}\uFF09","{label} must be JSON-safe: {node} is not a finite number":"{label} \u5FC5\u987B\u662F JSON \u5B89\u5168\u503C\uFF1A{node} \u4E0D\u662F\u6709\u9650\u6570\u5B57","{label} must be JSON-safe: circular reference":"{label} \u5FC5\u987B\u662F JSON \u5B89\u5168\u503C\uFF1A\u5B58\u5728\u5FAA\u73AF\u5F15\u7528","{label} must be JSON-safe: {key} is undefined":"{label} \u5FC5\u987B\u662F JSON \u5B89\u5168\u503C\uFF1A{key} \u4E3A undefined","{label} must be JSON-safe: unsupported value of type {type}":"{label} \u5FC5\u987B\u662F JSON \u5B89\u5168\u503C\uFF1A\u4E0D\u652F\u6301\u7684 {type} \u7C7B\u578B\u503C","Transition conflict: expected fromStatus {from}, got {to}":"\u72B6\u6001\u8FC1\u79FB\u51B2\u7A81\uFF1A\u671F\u671B fromStatus {from}\uFF0C\u5B9E\u9645\u4E3A {to}","Todo {todoId} must be {allowed} (current: {status})":"Todo {todoId} \u5FC5\u987B\u662F {allowed}\uFF08\u5F53\u524D\uFF1A{status}\uFF09","Todo content must be a non-empty string":"Todo \u5185\u5BB9\u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32","Todo cancel reason must be a non-empty string when provided":"Todo \u53D6\u6D88\u539F\u56E0\u63D0\u4F9B\u65F6\u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32","Checkpoint operationId must be a non-empty string":"Checkpoint operationId \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32","Compaction pluginId must be a non-empty string":"Compaction pluginId \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32","Host output projection requires a traceId on every event":"Host \u8F93\u51FA\u6295\u5F71\u8981\u6C42\u6BCF\u4E2A\u4E8B\u4EF6\u90FD\u643A\u5E26 traceId","Unsupported host event reached the projector":"\u4E0D\u652F\u6301\u7684\u4E3B\u673A\u4E8B\u4EF6\u5230\u8FBE\u6295\u5F71\u5668","Summary retry attemptLimit must be at least 1":"Summary \u91CD\u8BD5 attemptLimit \u81F3\u5C11\u4E3A 1","Summary retry wait bounds are invalid":"Summary \u91CD\u8BD5\u7B49\u5F85\u8FB9\u754C\u65E0\u6548","durable store persist lock timeout after {timeoutMs} ms: {lockPath} is held by another writer":"durable store \u6301\u4E45\u5316\u9501\u8D85\u65F6\uFF08{timeoutMs} ms\uFF09\uFF1A{lockPath} \u88AB\u5176\u4ED6\u5199\u5165\u8005\u6301\u6709","Durable store lockTimeoutMs must be a positive number":"Durable store lockTimeoutMs \u5FC5\u987B\u662F\u6B63\u6570","Durable store staleLockMs must be a positive number":"Durable store staleLockMs \u5FC5\u987B\u662F\u6B63\u6570","Durable store leaseTtlMs must be a positive number":"Durable store leaseTtlMs \u5FC5\u987B\u662F\u6B63\u6570","Writer {writerId} does not hold the store lease (held by {holder})":"\u5199\u5165\u8005 {writerId} \u672A\u6301\u6709\u5B58\u50A8\u79DF\u7EA6\uFF08\u7531 {holder} \u6301\u6709\uFF09","Writer {writerId} lost the store lease (expired or recovered by another writer)":"\u5199\u5165\u8005 {writerId} \u4E22\u5931\u4E86\u5B58\u50A8\u79DF\u7EA6\uFF08\u5DF2\u8FC7\u671F\u6216\u88AB\u5176\u4ED6\u5199\u5165\u8005\u6062\u590D\uFF09","{label} must be an object":"{label} \u5FC5\u987B\u662F\u5BF9\u8C61","{label} {idField} must be a non-empty string":"{label} {idField} \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32","{label} persistedAt must be a finite number":"{label} persistedAt \u5FC5\u987B\u662F\u6709\u9650\u6570\u5B57","{label} sessionId must be a non-empty string":"{label} sessionId \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32","Writer {writerId} does not hold the writer lease":"\u5199\u5165\u8005 {writerId} \u672A\u6301\u6709\u5199\u5165\u8005\u79DF\u7EA6","Writer {writerId} cannot release a crashed lease; recover it instead":"\u5199\u5165\u8005 {writerId} \u65E0\u6CD5\u91CA\u653E\u5D29\u6E83\u7684\u79DF\u7EA6\uFF1B\u8BF7\u6539\u4E3A\u6062\u590D\u5B83","Writer {writerId} does not hold the writer lease (held by {holder})":"\u5199\u5165\u8005 {writerId} \u672A\u6301\u6709\u5199\u5165\u8005\u79DF\u7EA6\uFF08\u7531 {holder} \u6301\u6709\uFF09","Unsupported durable snapshot version: {version}":"\u4E0D\u652F\u6301\u7684 durable \u5FEB\u7167\u7248\u672C\uFF1A{version}","Durable snapshot {field} must be an array":"Durable \u5FEB\u7167 {field} \u5FC5\u987B\u662F\u6570\u7EC4","Durable snapshot writer holder must be a string or null":"Durable \u5FEB\u7167 writer holder \u5FC5\u987B\u662F\u5B57\u7B26\u4E32\u6216 null","Durable snapshot writer crashPending must be a string or null":"Durable \u5FEB\u7167 writer crashPending \u5FC5\u987B\u662F\u5B57\u7B26\u4E32\u6216 null","Expected a `string`, got `{type}`":"\u671F\u671B `string`\uFF0C\u5B9E\u9645\u4E3A `{type}`","Clipboard unavailable: text exceeds the OSC 52 size limit":"\u526A\u8D34\u677F\u4E0D\u53EF\u7528\uFF1A\u6587\u672C\u8D85\u51FA OSC 52 \u5927\u5C0F\u4E0A\u9650","Clipboard unavailable: install the Termux:API app and `termux-api` package":"\u526A\u8D34\u677F\u4E0D\u53EF\u7528\uFF1A\u8BF7\u5B89\u88C5 Termux:API \u5E94\u7528\u548C `termux-api` \u5305","Clipboard unavailable: install `wl-clipboard` (`wl-copy`) or check Wayland access":"\u526A\u8D34\u677F\u4E0D\u53EF\u7528\uFF1A\u8BF7\u5B89\u88C5 `wl-clipboard`\uFF08`wl-copy`\uFF09\u6216\u68C0\u67E5 Wayland \u8BBF\u95EE\u6743\u9650","Clipboard unavailable: install `xclip` or `xsel`, or check X11 access":"\u526A\u8D34\u677F\u4E0D\u53EF\u7528\uFF1A\u8BF7\u5B89\u88C5 `xclip` \u6216 `xsel`\uFF0C\u6216\u68C0\u67E5 X11 \u8BBF\u95EE\u6743\u9650","Clipboard unavailable: ensure the built-in `clip` command is on PATH":"\u526A\u8D34\u677F\u4E0D\u53EF\u7528\uFF1A\u8BF7\u786E\u4FDD\u5185\u7F6E `clip` \u547D\u4EE4\u4F4D\u4E8E PATH \u4E2D","Clipboard unavailable":"\u526A\u8D34\u677F\u4E0D\u53EF\u7528","image resize worker requires parentPort":"\u56FE\u7247\u7F29\u653E worker \u9700\u8981 parentPort","Invalid image resize worker request":"\u65E0\u6548\u7684\u56FE\u7247\u7F29\u653E worker \u8BF7\u6C42","Custom shell path not found: {path}":"\u672A\u627E\u5230\u81EA\u5B9A\u4E49 shell \u8DEF\u5F84\uFF1A{path}","No bash shell found. Options:":"\u672A\u627E\u5230 bash shell\u3002\u9009\u9879\uFF1A","1. Install Git for Windows: https://git-scm.com/download/win":"1. \u5B89\u88C5 Git for Windows\uFF1Ahttps://git-scm.com/download/win","2. Add your bash to PATH (Cygwin, MSYS2, etc.)":"2. \u5C06\u4F60\u7684 bash \u52A0\u5165 PATH\uFF08Cygwin\u3001MSYS2 \u7B49\uFF09","3. Set shellPath in settings.json":"3. \u5728 settings.json \u4E2D\u8BBE\u7F6E shellPath","Searched Git Bash in:":"\u641C\u7D22 Git Bash \u7684\u4F4D\u7F6E\uFF1A","The powershell tool is only available on Windows.":"powershell \u5DE5\u5177\u4EC5\u5728 Windows \u4E0A\u53EF\u7528\u3002","No PowerShell executable found. Install PowerShell or add powershell.exe/pwsh.exe to PATH.":"\u672A\u627E\u5230 PowerShell \u53EF\u6267\u884C\u6587\u4EF6\u3002\u8BF7\u5B89\u88C5 PowerShell \u6216\u5C06 powershell.exe/pwsh.exe \u52A0\u5165 PATH\u3002","Failed to resolve latest {repo} release: HTTP {status} without redirect":"\u89E3\u6790 {repo} \u6700\u65B0 release \u5931\u8D25\uFF1AHTTP {status} \u4E14\u65E0\u91CD\u5B9A\u5411","Failed to resolve latest {repo} release: unexpected redirect to {location}":"\u89E3\u6790 {repo} \u6700\u65B0 release \u5931\u8D25\uFF1A\u610F\u5916\u91CD\u5B9A\u5411\u5230 {location}","Download failed with HTTP {status}: {url}":"\u4E0B\u8F7D\u5931\u8D25\uFF0CHTTP {status}\uFF1A{url}","No response body":"\u54CD\u5E94\u6CA1\u6709 body","No committed sha256 for {name} asset {assetName}; refresh the pin and its digests":"{name} \u7684 asset {assetName} \u6CA1\u6709\u5DF2\u63D0\u4EA4\u7684 sha256\uFF1B\u8BF7\u5237\u65B0 pin \u53CA\u5176\u6458\u8981","Failed to fetch release checksum: HTTP {status}: {url}":"\u83B7\u53D6 release \u6821\u9A8C\u548C\u5931\u8D25\uFF1AHTTP {status}\uFF1A{url}","Release checksum has an unexpected format: {url}":"release \u6821\u9A8C\u548C\u683C\u5F0F\u5F02\u5E38\uFF1A{url}","Failed to extract {assetName}: {failure}":"\u89E3\u538B {assetName} \u5931\u8D25\uFF1A{failure}","Failed to extract {assetName}: {failures}":"\u89E3\u538B {assetName} \u5931\u8D25\uFF1A{failures}","Unknown tool: {tool}":"\u672A\u77E5\u7684\u5DE5\u5177\uFF1A{tool}","Unsupported platform: {platform}/{architecture}":"\u4E0D\u652F\u6301\u7684\u5E73\u53F0\uFF1A{platform}/{architecture}","Unsupported archive format: {assetName}":"\u4E0D\u652F\u6301\u7684\u5F52\u6863\u683C\u5F0F\uFF1A{assetName}","Binary not found in archive: expected {binaryFileName} under {extractDir}":"\u5F52\u6863\u4E2D\u672A\u627E\u5230\u4E8C\u8FDB\u5236\u6587\u4EF6\uFF1A\u671F\u671B {binaryFileName} \u4F4D\u4E8E {extractDir} \u4E0B","Version service returned an unexpected package name: {actual}. Expected {expected}.":"\u7248\u672C\u670D\u52A1\u8FD4\u56DE\u4E86\u610F\u5916\u7684\u5305\u540D\uFF1A{actual}\u3002\u671F\u671B {expected}\u3002","Managed install marker is missing or invalid: {path}":"\u6258\u7BA1\u5B89\u88C5\u6807\u8BB0\u7F3A\u5931\u6216\u65E0\u6548\uFF1A{path}","Could not download managed installer {label} from {url}: HTTP {status}":"\u65E0\u6CD5\u4ECE {url} \u4E0B\u8F7D\u6258\u7BA1\u5B89\u88C5\u5668 {label}\uFF1AHTTP {status}","npm {args} exited with code {code}":"npm {args} \u9000\u51FA\u7801 {code}","Could not verify managed {app} {version}: {reason}":"\u65E0\u6CD5\u9A8C\u8BC1\u6258\u7BA1\u7684 {app} {version}\uFF1A{reason}","Managed {app} smoke test returned version {installed}; expected {expected}.":"\u6258\u7BA1 {app} \u5192\u70DF\u6D4B\u8BD5\u8FD4\u56DE\u7248\u672C {installed}\uFF1B\u671F\u671B {expected}\u3002","Invalid managed release version: {version}":"\u65E0\u6548\u7684\u6258\u7BA1 release \u7248\u672C\uFF1A{version}","Another managed {app} update is already running.":"\u53E6\u4E00\u4E2A\u6258\u7BA1\u7684 {app} \u66F4\u65B0\u5DF2\u5728\u8FD0\u884C\u3002","Managed self-update requires AGENT_FORGE_INSTALLER_API_BASE to be configured.":"\u6258\u7BA1\u81EA\u66F4\u65B0\u8981\u6C42\u914D\u7F6E AGENT_FORGE_INSTALLER_API_BASE\u3002","Model catalog refresh timed out.":"\u6A21\u578B\u76EE\u5F55\u5237\u65B0\u8D85\u65F6\u3002","Could not refresh model catalogs: {details}":"\u65E0\u6CD5\u5237\u65B0\u6A21\u578B\u76EE\u5F55\uFF1A{details}","Could not determine latest {app} version.":"\u65E0\u6CD5\u786E\u5B9A\u6700\u65B0\u7684 {app} \u7248\u672C\u3002","Could not determine latest {app} version: {reason}":"\u65E0\u6CD5\u786E\u5B9A\u6700\u65B0\u7684 {app} \u7248\u672C\uFF1A{reason}","Option {option} is already registered for {name}":"\u9009\u9879 {option} \u5DF2\u6CE8\u518C\u5230 {name}","Command {name} is already registered":"\u547D\u4EE4 {name} \u5DF2\u6CE8\u518C","Command {name} does not define an action":"\u547D\u4EE4 {name} \u672A\u5B9A\u4E49 action","Command {name} does not define a builder":"\u547D\u4EE4 {name} \u672A\u5B9A\u4E49 builder","Command {name} failed without an error":"\u547D\u4EE4 {name} \u5931\u8D25\u4F46\u6CA1\u6709\u9519\u8BEF"};var coreErrors={"Use /login to log into a provider via OAuth or API key. See:":"\u4F7F\u7528 /login \u901A\u8FC7 OAuth \u6216 API key \u767B\u5F55\u63D0\u4F9B\u5546\u3002\u53C2\u89C1\uFF1A","No models available. {help}":"\u6CA1\u6709\u53EF\u7528\u6A21\u578B\u3002{help}","No model selected.\n\n{help}\n\nThen use /model to select a model.":`\u672A\u9009\u62E9\u6A21\u578B\u3002
5
+
6
+ {help}
7
+
8
+ \u7136\u540E\u4F7F\u7528 /model \u9009\u62E9\u6A21\u578B\u3002`,"No API key found for {provider}.\n\n{help}":`\u672A\u627E\u5230 {provider} \u7684 API key\u3002
9
+
10
+ {help}`,"the selected model":"\u6240\u9009\u6A21\u578B","Session id must be non-empty, contain only alphanumeric characters, '-', '_', and '.', and start and end with an alphanumeric character":"\u4F1A\u8BDD id \u4E0D\u80FD\u4E3A\u7A7A\uFF0C\u53EA\u80FD\u5305\u542B\u5B57\u6BCD\u6570\u5B57\u5B57\u7B26\u3001'-'\u3001'_' \u548C '.'\uFF0C\u4E14\u9996\u5C3E\u5FC5\u987B\u662F\u5B57\u6BCD\u6570\u5B57\u5B57\u7B26","Session file is not a valid {appName} session: {path}":"\u4F1A\u8BDD\u6587\u4EF6\u4E0D\u662F\u6709\u6548\u7684 {appName} \u4F1A\u8BDD\uFF1A{path}","Invalid compaction operationId in session entry: {operationId}":"\u4F1A\u8BDD\u6761\u76EE\u4E2D\u7684\u538B\u7F29 operationId \u65E0\u6548\uFF1A{operationId}","Duplicate compaction operationId in session: {operationId}":"\u4F1A\u8BDD\u4E2D\u5B58\u5728\u91CD\u590D\u7684\u538B\u7F29 operationId\uFF1A{operationId}","Session append failed and rollback failed":"\u4F1A\u8BDD\u8FFD\u52A0\u5931\u8D25\u4E14\u56DE\u6EDA\u5931\u8D25","Cannot fork: source session file is empty or invalid: {path}":"\u65E0\u6CD5\u5206\u53C9\uFF1A\u6E90\u4F1A\u8BDD\u6587\u4EF6\u4E3A\u7A7A\u6216\u65E0\u6548\uFF1A{path}","Cannot fork: source session has no header: {path}":"\u65E0\u6CD5\u5206\u53C9\uFF1A\u6E90\u4F1A\u8BDD\u7F3A\u5C11\u5934\u4FE1\u606F\uFF1A{path}","session guard lock timeout after {timeoutMs} ms: {lockPath}":"\u4F1A\u8BDD\u5B88\u62A4\u9501\u5728 {timeoutMs} \u6BEB\u79D2\u540E\u8D85\u65F6\uFF1A{lockPath}","Session file is owned by another live process (pid {pid}): {sessionFile}. Close that process first; concurrent writers would silently fork the session history.":"\u4F1A\u8BDD\u6587\u4EF6\u88AB\u53E6\u4E00\u4E2A\u5B58\u6D3B\u8FDB\u7A0B\u5360\u7528\uFF08pid {pid}\uFF09\uFF1A{sessionFile}\u3002\u8BF7\u5148\u5173\u95ED\u8BE5\u8FDB\u7A0B\uFF1B\u5E76\u53D1\u5199\u5165\u4F1A\u5BFC\u81F4\u4F1A\u8BDD\u5386\u53F2\u9759\u9ED8\u5206\u53C9\u3002","Session file: {sessionFile}":"\u4F1A\u8BDD\u6587\u4EF6\uFF1A{sessionFile}","Stored session working directory does not exist: {sessionCwd}{sessionFile}\nCurrent working directory: {fallbackCwd}":`\u4F1A\u8BDD\u4E2D\u8BB0\u5F55\u7684\u5DE5\u4F5C\u76EE\u5F55\u4E0D\u5B58\u5728\uFF1A{sessionCwd}{sessionFile}
11
+ \u5F53\u524D\u5DE5\u4F5C\u76EE\u5F55\uFF1A{fallbackCwd}`,"Input rejected by an input gate":"\u8F93\u5165\u88AB\u8F93\u5165\u95E8\u62D2\u7EDD","Input rejected by an input gate: {reason}":"\u8F93\u5165\u88AB\u8F93\u5165\u95E8\u62D2\u7EDD\uFF1A{reason}","Session reload in progress; prompts are unavailable":"\u4F1A\u8BDD\u91CD\u8F7D\u8FDB\u884C\u4E2D\uFF1B\u6682\u65E0\u6CD5\u63D0\u4EA4\u63D0\u793A","Session reload in progress; compaction is unavailable":"\u4F1A\u8BDD\u91CD\u8F7D\u8FDB\u884C\u4E2D\uFF1B\u6682\u65E0\u6CD5\u538B\u7F29","Session reload in progress; compaction was not started":"\u4F1A\u8BDD\u91CD\u8F7D\u8FDB\u884C\u4E2D\uFF1B\u538B\u7F29\u672A\u542F\u52A8","Session reload in progress; tree navigation is unavailable":"\u4F1A\u8BDD\u91CD\u8F7D\u8FDB\u884C\u4E2D\uFF1B\u6682\u65E0\u6CD5\u5BFC\u822A\u4F1A\u8BDD\u6811","Session reload in progress; bash execution is unavailable":"\u4F1A\u8BDD\u91CD\u8F7D\u8FDB\u884C\u4E2D\uFF1B\u6682\u65E0\u6CD5\u6267\u884C bash","Session reload in progress; bash results cannot be recorded":"\u4F1A\u8BDD\u91CD\u8F7D\u8FDB\u884C\u4E2D\uFF1B\u65E0\u6CD5\u8BB0\u5F55 bash \u7ED3\u679C","Cannot submit a prompt while compaction is in progress. Wait for compaction to finish and retry.":"\u538B\u7F29\u8FDB\u884C\u4E2D\u65E0\u6CD5\u63D0\u4EA4\u63D0\u793A\u3002\u8BF7\u7B49\u5F85\u538B\u7F29\u5B8C\u6210\u540E\u518D\u91CD\u8BD5\u3002","Authentication failed for \"{provider}\". Credentials may have expired or network is unavailable. Run '/login {provider}' to re-authenticate.":"\u201C{provider}\u201D\u8BA4\u8BC1\u5931\u8D25\u3002\u51ED\u8BC1\u53EF\u80FD\u5DF2\u8FC7\u671F\u6216\u7F51\u7EDC\u4E0D\u53EF\u7528\u3002\u8BF7\u8FD0\u884C '/login {provider}' \u91CD\u65B0\u8BA4\u8BC1\u3002","No model is set on this session's agent":"\u672C\u4F1A\u8BDD\u7684 agent \u672A\u8BBE\u7F6E\u6A21\u578B","No API key for {provider}/{model}":"\u6CA1\u6709 {provider}/{model} \u7684 API key","Already compacted":"\u5DF2\u538B\u7F29\u8FC7","Nothing to compact (session too small)":"\u6CA1\u6709\u53EF\u538B\u7F29\u7684\u5185\u5BB9\uFF08\u4F1A\u8BDD\u592A\u5C0F\uFF09","Wait for the current response to finish before navigating the session tree.":"\u8BF7\u7B49\u5F85\u5F53\u524D\u54CD\u5E94\u7ED3\u675F\u518D\u5BFC\u822A\u4F1A\u8BDD\u6811\u3002","Wait for the current compaction or tree navigation to finish before navigating the session tree.":"\u8BF7\u7B49\u5F85\u5F53\u524D\u538B\u7F29\u6216\u6811\u5BFC\u822A\u7ED3\u675F\u518D\u5BFC\u822A\u4F1A\u8BDD\u6811\u3002","No model available for summarization":"\u6CA1\u6709\u53EF\u7528\u4E8E\u751F\u6210\u6458\u8981\u7684\u6A21\u578B","Branch navigation is already in progress":"\u5206\u652F\u5BFC\u822A\u5DF2\u5728\u8FDB\u884C\u4E2D","Branch summary policy is not registered: {name}":"\u5206\u652F\u6458\u8981\u7B56\u7565\u672A\u6CE8\u518C\uFF1A{name}","Configured context strategy is not registered: {name}":"\u5DF2\u914D\u7F6E\u7684\u4E0A\u4E0B\u6587\u7B56\u7565\u672A\u6CE8\u518C\uFF1A{name}","Configured context strategy is not registered after reload: {name}":"\u91CD\u8F7D\u540E\u5DF2\u914D\u7F6E\u7684\u4E0A\u4E0B\u6587\u7B56\u7565\u672A\u6CE8\u518C\uFF1A{name}","This session has not been saved yet. Send a message before cloning or forking it.":"\u672C\u4F1A\u8BDD\u5C1A\u672A\u4FDD\u5B58\u3002\u8BF7\u5148\u53D1\u9001\u6D88\u606F\u518D\u514B\u9686\u6216\u5206\u53C9\u3002","Failed to create forked session":"\u521B\u5EFA\u5206\u53C9\u4F1A\u8BDD\u5931\u8D25","File not found: {path}":"\u6587\u4EF6\u4E0D\u5B58\u5728\uFF1A{path}","Skill is duplicated in resources: {name}":"\u6280\u80FD\u5728\u8D44\u6E90\u4E2D\u91CD\u590D\uFF1A{name}","Skill conflicts with a resource skill: {name}":"\u6280\u80FD\u4E0E\u8D44\u6E90\u6280\u80FD\u51B2\u7A81\uFF1A{name}","Credential {operation} committed for {providerId}, but local synchronization failed":"\u63D0\u4F9B\u5546 {providerId} \u7684\u51ED\u8BC1 {operation} \u5DF2\u63D0\u4EA4\uFF0C\u4F46\u672C\u5730\u540C\u6B65\u5931\u8D25","Unknown provider: {provider}":"\u672A\u77E5\u63D0\u4F9B\u5546\uFF1A{provider}","Provider is not configured: {provider}":"\u63D0\u4F9B\u5546\u672A\u914D\u7F6E\uFF1A{provider}",'Provider {providerId}, model {modelId}: no "api" specified. Set at provider or model level.':'\u63D0\u4F9B\u5546 {providerId}\uFF0C\u6A21\u578B {modelId}\uFF1A\u672A\u6307\u5B9A "api"\u3002\u8BF7\u5728\u63D0\u4F9B\u5546\u6216\u6A21\u578B\u7EA7\u522B\u8BBE\u7F6E\u3002','Provider {providerId}: "baseUrl" is required when defining custom models.':'\u63D0\u4F9B\u5546 {providerId}\uFF1A\u5B9A\u4E49\u81EA\u5B9A\u4E49\u6A21\u578B\u65F6\u5FC5\u987B\u63D0\u4F9B "baseUrl"\u3002',"Provider {providerId}, model {modelId}: invalid contextWindow":"\u63D0\u4F9B\u5546 {providerId}\uFF0C\u6A21\u578B {modelId}\uFF1AcontextWindow \u65E0\u6548","Provider {providerId}, model {modelId}: invalid maxTokens":"\u63D0\u4F9B\u5546 {providerId}\uFF0C\u6A21\u578B {modelId}\uFF1AmaxTokens \u65E0\u6548",'Provider {providerId}: "baseUrl" is required when "oauth" is set.':'\u63D0\u4F9B\u5546 {providerId}\uFF1A\u8BBE\u7F6E "oauth" \u65F6\u5FC5\u987B\u63D0\u4F9B "baseUrl"\u3002','Provider {providerId}: must specify "baseUrl", "headers", "compat", "modelOverrides", or "models".':'\u63D0\u4F9B\u5546 {providerId}\uFF1A\u5FC5\u987B\u6307\u5B9A "baseUrl"\u3001"headers"\u3001"compat"\u3001"modelOverrides" \u6216 "models" \u4E4B\u4E00\u3002',"Provider {providerId}: no authentication method configured.":"\u63D0\u4F9B\u5546 {providerId}\uFF1A\u672A\u914D\u7F6E\u4EFB\u4F55\u8BA4\u8BC1\u65B9\u5F0F\u3002",'API key for provider "{providerId}"':'\u63D0\u4F9B\u5546 "{providerId}" \u7684 API key',"Failed to resolve {description} from shell command: {command}":"\u65E0\u6CD5\u4ECE shell \u547D\u4EE4\u89E3\u6790{description}\uFF1A{command}","Failed to resolve {description} from environment variable: {envVar}":"\u65E0\u6CD5\u4ECE\u73AF\u5883\u53D8\u91CF\u89E3\u6790{description}\uFF1A{envVar}","Failed to resolve {description} from environment variables: {envVars}":"\u65E0\u6CD5\u4ECE\u73AF\u5883\u53D8\u91CF\u89E3\u6790{description}\uFF1A{envVars}","Failed to resolve {description}":"\u65E0\u6CD5\u89E3\u6790{description}",'{description} header "{key}"':'{description}\u7684 header "{key}"',"Invalid {settingName} setting: {value}":"\u65E0\u6548\u7684 {settingName} \u8BBE\u7F6E\uFF1A{value}","Invalid compaction.{field} setting: {value}. Expected a non-negative safe integer.":"\u65E0\u6548\u7684 compaction.{field} \u8BBE\u7F6E\uFF1A{value}\u3002\u5E94\u4E3A\u975E\u8D1F\u5B89\u5168\u6574\u6570\u3002",'Invalid compaction.modelOverrides["{modelKey}"] setting: {value}. Expected an object.':'\u65E0\u6548\u7684 compaction.modelOverrides["{modelKey}"] \u8BBE\u7F6E\uFF1A{value}\u3002\u5E94\u4E3A\u5BF9\u8C61\u3002','Invalid compaction.modelOverrides["{modelKey}"].{field} setting: {value}. Expected a non-negative safe integer.':'\u65E0\u6548\u7684 compaction.modelOverrides["{modelKey}"].{field} \u8BBE\u7F6E\uFF1A{value}\u3002\u5E94\u4E3A\u975E\u8D1F\u5B89\u5168\u6574\u6570\u3002',"Invalid httpIdleTimeoutMs setting: {value}":"\u65E0\u6548\u7684 httpIdleTimeoutMs \u8BBE\u7F6E\uFF1A{value}","Invalid HTTP idle timeout: {value}":"\u65E0\u6548\u7684 HTTP \u7A7A\u95F2\u8D85\u65F6\uFF1A{value}","Failed to read auth.json: {reason}":"\u8BFB\u53D6 auth.json \u5931\u8D25\uFF1A{reason}","Invalid auth.json: expected an object":"auth.json \u65E0\u6548\uFF1A\u5E94\u4E3A\u5BF9\u8C61",'Invalid auth.json credential for provider "{providerId}"':'\u63D0\u4F9B\u5546 "{providerId}" \u7684 auth.json \u51ED\u8BC1\u65E0\u6548',"Read-only credential storage cannot modify auth.json":"\u53EA\u8BFB\u51ED\u8BC1\u5B58\u50A8\u65E0\u6CD5\u4FEE\u6539 auth.json",'Invalid model catalog for provider "{providerId}"':'\u63D0\u4F9B\u5546 "{providerId}" \u7684\u6A21\u578B\u76EE\u5F55\u65E0\u6548',"Model catalog request failed for {providerId}: {status}":"\u63D0\u4F9B\u5546 {providerId} \u7684\u6A21\u578B\u76EE\u5F55\u8BF7\u6C42\u5931\u8D25\uFF1A{status}","First kept entry has no UUID - session may need migration":"\u9996\u4E2A\u4FDD\u7559\u6761\u76EE\u6CA1\u6709 UUID\u2014\u2014\u4F1A\u8BDD\u53EF\u80FD\u9700\u8981\u8FC1\u79FB","Cannot export in-memory session to HTML":"\u65E0\u6CD5\u5C06\u5185\u5B58\u4E2D\u7684\u4F1A\u8BDD\u5BFC\u51FA\u4E3A HTML","Nothing to export yet - start a conversation first":"\u6682\u65E0\u53EF\u5BFC\u51FA\u5185\u5BB9\u2014\u2014\u8BF7\u5148\u5F00\u59CB\u5BF9\u8BDD","Failed to read capability plugin manifest {path}: {reason}":"\u8BFB\u53D6\u80FD\u529B\u63D2\u4EF6 manifest \u5931\u8D25 {path}\uFF1A{reason}","Failed to inspect capability plugin directory {directory}: {reason}":"\u68C0\u67E5\u80FD\u529B\u63D2\u4EF6\u76EE\u5F55\u5931\u8D25 {directory}\uFF1A{reason}","Capability plugin path must be a directory: {directory}":"\u80FD\u529B\u63D2\u4EF6\u8DEF\u5F84\u5FC5\u987B\u662F\u76EE\u5F55\uFF1A{directory}","Failed to resolve capability plugin directory {directory}: {reason}":"\u89E3\u6790\u80FD\u529B\u63D2\u4EF6\u76EE\u5F55\u5931\u8D25 {directory}\uFF1A{reason}","Failed to read capability plugin directory {directory}: {reason}":"\u8BFB\u53D6\u80FD\u529B\u63D2\u4EF6\u76EE\u5F55\u5931\u8D25 {directory}\uFF1A{reason}","Failed to resolve capability plugin manifest {path}: {reason}":"\u89E3\u6790\u80FD\u529B\u63D2\u4EF6 manifest \u5931\u8D25 {path}\uFF1A{reason}","Failed to import capability plugin entry {path}: {reason}":"\u5BFC\u5165\u80FD\u529B\u63D2\u4EF6\u5165\u53E3\u5931\u8D25 {path}\uFF1A{reason}","Plugin capability is required but unavailable: {capabilityId}@{version} ({pluginId})":"\u5FC5\u9700\u7684\u63D2\u4EF6\u80FD\u529B\u4E0D\u53EF\u7528\uFF1A{capabilityId}@{version}\uFF08{pluginId}\uFF09",'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':'\u4F1A\u8BDD\u5DF2\u7ED1\u5B9A suite "{boundSuiteId}"\uFF0C\u65E0\u6CD5\u4EE5 "{suiteId}" \u6062\u590D\uFF1B\u8BF7\u52A0 --rebind-suite \u91CD\u65B0\u8FD0\u884C\u4EE5\u5207\u6362\u5230\u65B0 suite\uFF0C\u6216\u521B\u5EFA\u65B0\u4F1A\u8BDD',"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":"\u68C0\u6D4B\u5230\u4F1A\u8BDD Profile \u8EAB\u4EFD\u6F02\u79FB\uFF08\u5BF9\u8BDD\u5F00\u59CB\u540E\u751F\u6548\u7684\u63D2\u4EF6\u96C6\u53D1\u751F\u4E86\u53D8\u5316\uFF09\uFF1B\u8BF7\u52A0 --rebind-suite \u91CD\u65B0\u8FD0\u884C\u4EE5\u91C7\u7528\u65B0\u63D2\u4EF6\u96C6\uFF0C\u6216\u521B\u5EFA\u65B0\u4F1A\u8BDD","Path does not exist: {path}":"\u8DEF\u5F84\u4E0D\u5B58\u5728\uFF1A{path}","Unsupported install source: {source}":"\u4E0D\u652F\u6301\u7684\u5B89\u88C5\u6E90\uFF1A{source}","Unsupported remove source: {source}":"\u4E0D\u652F\u6301\u7684\u79FB\u9664\u6E90\uFF1A{source}","Missing source: {source}":"\u6E90\u7F3A\u5931\uFF1A{source}","Empty response from npm view":"npm view \u8FD4\u56DE\u7A7A\u54CD\u5E94","Unexpected response from npm view":"npm view \u8FD4\u56DE\u610F\u5916\u54CD\u5E94","Failed to determine remote HEAD":"\u65E0\u6CD5\u786E\u5B9A\u8FDC\u7AEF HEAD","Unsupported upstream remote: {upstream}":"\u4E0D\u652F\u6301\u7684 upstream \u8FDC\u7AEF\uFF1A{upstream}","Missing upstream branch name":"\u7F3A\u5C11 upstream \u5206\u652F\u540D","Failed to run {command} {args}: {reason}":"\u6267\u884C {command} {args} \u5931\u8D25\uFF1A{reason}","Failed to run {command}: {reason}":"\u6267\u884C {command} \u5931\u8D25\uFF1A{reason}","No matching package found for {source}":"\u672A\u627E\u5230\u4E0E {source} \u5339\u914D\u7684\u5305","No matching package found for {source}. Did you mean {suggestion}?":"\u672A\u627E\u5230\u4E0E {source} \u5339\u914D\u7684\u5305\u3002\u4F60\u662F\u60F3\u627E {suggestion} \u5417\uFF1F","Invalid npmCommand: first array entry must be a non-empty command":"\u65E0\u6548\u7684 npmCommand\uFF1A\u6570\u7EC4\u7B2C\u4E00\u9879\u5FC5\u987B\u662F\u975E\u7A7A\u547D\u4EE4","MCP HTTP transport error: {reason}":"MCP HTTP \u4F20\u8F93\u9519\u8BEF\uFF1A{reason}","MCP HTTP transport is closed":"MCP HTTP \u4F20\u8F93\u5DF2\u5173\u95ED","MCP HTTP transport returned HTTP {status}":"MCP HTTP \u4F20\u8F93\u8FD4\u56DE HTTP {status}","MCP HTTP transport returned non-JSON body: {reason}":"MCP HTTP \u4F20\u8F93\u8FD4\u56DE\u4E86\u975E JSON \u54CD\u5E94\u4F53\uFF1A{reason}","MCP error {code}: {message}":"MCP \u9519\u8BEF {code}\uFF1A{message}","unknown error":"\u672A\u77E5\u9519\u8BEF","MCP tools/list result must contain tools[]":"MCP tools/list \u7ED3\u679C\u5FC5\u987B\u5305\u542B tools[]","MCP tool requires a non-empty name":"MCP \u5DE5\u5177\u5FC5\u987B\u5177\u6709\u975E\u7A7A\u540D\u79F0","Plugin ref is invalid":"\u63D2\u4EF6 ref \u65E0\u6548","Local plugin ref exists but is neither a directory nor a .zip/.tgz file":"\u672C\u5730\u63D2\u4EF6 ref \u5B58\u5728\uFF0C\u4F46\u65E2\u4E0D\u662F\u76EE\u5F55\u4E5F\u4E0D\u662F .zip/.tgz \u6587\u4EF6","Plugin ref URL scheme is not supported":"\u4E0D\u652F\u6301\u63D2\u4EF6 ref \u7684 URL \u534F\u8BAE","Plugin ref #sha256 digest fragment is invalid":"\u63D2\u4EF6 ref \u7684 #sha256 \u6458\u8981\u7247\u6BB5\u65E0\u6548","Plugin npm package ref is invalid":"\u63D2\u4EF6 npm \u5305 ref \u65E0\u6548","Plugin package acquisition was cancelled":"\u63D2\u4EF6\u5305\u83B7\u53D6\u5DF2\u53D6\u6D88","Plugin package download failed":"\u63D2\u4EF6\u5305\u4E0B\u8F7D\u5931\u8D25","Plugin npm package was not found on the registry":"\u6CE8\u518C\u8868\u4E2D\u672A\u627E\u5230\u8BE5\u63D2\u4EF6 npm \u5305","No npm package version matches the requested range":"\u6CA1\u6709\u5339\u914D\u6240\u8BF7\u6C42\u8303\u56F4\u7684 npm \u5305\u7248\u672C","Plugin package bytes do not match the expected digest":"\u63D2\u4EF6\u5305\u5B57\u8282\u4E0E\u9884\u671F\u6458\u8981\u4E0D\u5339\u914D","Plugin package bytes are neither a zip nor a tgz":"\u63D2\u4EF6\u5305\u5B57\u8282\u65E2\u4E0D\u662F zip \u4E5F\u4E0D\u662F tgz","Plugin package contents are invalid":"\u63D2\u4EF6\u5305\u5185\u5BB9\u65E0\u6548","Plugin package exceeds the configured size budget":"\u63D2\u4EF6\u5305\u8D85\u51FA\u914D\u7F6E\u7684\u5927\u5C0F\u9884\u7B97","Plugin release was not found":"\u672A\u627E\u5230\u63D2\u4EF6 release","Plugin release has no .zip/.tgz asset":"\u63D2\u4EF6 release \u6CA1\u6709 .zip/.tgz \u8D44\u4EA7","Plugin release has multiple .zip/.tgz assets":"\u63D2\u4EF6 release \u6709\u591A\u4E2A .zip/.tgz \u8D44\u4EA7","Plugin release API rate limit was exceeded":"\u63D2\u4EF6 release API \u8D85\u51FA\u901F\u7387\u9650\u5236","Plugin distribution is unsupported on this host":"\u6B64\u5BBF\u4E3B\u4E0D\u652F\u6301\u63D2\u4EF6\u5206\u53D1","Plugin distribution operation was cancelled":"\u63D2\u4EF6\u5206\u53D1\u64CD\u4F5C\u5DF2\u53D6\u6D88","Plugin distribution descriptor is invalid":"\u63D2\u4EF6\u5206\u53D1\u63CF\u8FF0\u7B26\u65E0\u6548","Plugin distribution metadata is invalid":"\u63D2\u4EF6\u5206\u53D1\u5143\u6570\u636E\u65E0\u6548","Plugin distribution artifact handle is invalid":"\u63D2\u4EF6\u5206\u53D1\u4EA7\u7269\u53E5\u67C4\u65E0\u6548","Plugin distribution source does not match the descriptor":"\u63D2\u4EF6\u5206\u53D1\u6765\u6E90\u4E0E\u63CF\u8FF0\u7B26\u4E0D\u5339\u914D","Plugin distribution plugin identity does not match the descriptor":"\u63D2\u4EF6\u5206\u53D1\u7684\u63D2\u4EF6\u8EAB\u4EFD\u4E0E\u63CF\u8FF0\u7B26\u4E0D\u5339\u914D","Plugin distribution digest does not match the descriptor":"\u63D2\u4EF6\u5206\u53D1\u6458\u8981\u4E0E\u63CF\u8FF0\u7B26\u4E0D\u5339\u914D","Plugin distribution signature was rejected":"\u63D2\u4EF6\u5206\u53D1\u7B7E\u540D\u88AB\u62D2\u7EDD","Plugin distribution descriptor has expired":"\u63D2\u4EF6\u5206\u53D1\u63CF\u8FF0\u7B26\u5DF2\u8FC7\u671F","Plugin distribution size does not match the descriptor":"\u63D2\u4EF6\u5206\u53D1\u5927\u5C0F\u4E0E\u63CF\u8FF0\u7B26\u4E0D\u5339\u914D","Plugin distribution media type does not match the descriptor":"\u63D2\u4EF6\u5206\u53D1\u5A92\u4F53\u7C7B\u578B\u4E0E\u63CF\u8FF0\u7B26\u4E0D\u5339\u914D","Plugin distribution host operation failed":"\u63D2\u4EF6\u5206\u53D1\u5BBF\u4E3B\u64CD\u4F5C\u5931\u8D25","Plugin distribution artifact release failed":"\u63D2\u4EF6\u5206\u53D1\u4EA7\u7269\u91CA\u653E\u5931\u8D25","npm registry request timed out":"npm registry \u8BF7\u6C42\u8D85\u65F6","npm registry request was cancelled":"npm registry \u8BF7\u6C42\u5DF2\u53D6\u6D88","npm registry request failed":"npm registry \u8BF7\u6C42\u5931\u8D25","npm registry redirect limit exceeded":"\u8D85\u51FA npm registry \u91CD\u5B9A\u5411\u6B21\u6570\u4E0A\u9650","npm package was not found on the registry":"\u6CE8\u518C\u8868\u4E2D\u672A\u627E\u5230\u8BE5 npm \u5305","npm registry request did not succeed":"npm registry \u8BF7\u6C42\u672A\u6210\u529F","npm tarball download was cancelled":"npm tarball \u4E0B\u8F7D\u5DF2\u53D6\u6D88","npm tarball download did not succeed":"npm tarball \u4E0B\u8F7D\u672A\u6210\u529F","plugin package download was cancelled":"\u63D2\u4EF6\u5305\u4E0B\u8F7D\u5DF2\u53D6\u6D88","plugin package download timed out":"\u63D2\u4EF6\u5305\u4E0B\u8F7D\u8D85\u65F6","plugin package download failed":"\u63D2\u4EF6\u5305\u4E0B\u8F7D\u5931\u8D25","plugin package redirect limit exceeded":"\u8D85\u51FA\u63D2\u4EF6\u5305\u91CD\u5B9A\u5411\u6B21\u6570\u4E0A\u9650","plugin package download did not succeed":"\u63D2\u4EF6\u5305\u4E0B\u8F7D\u672A\u6210\u529F","plugin package response has no body":"\u63D2\u4EF6\u5305\u54CD\u5E94\u6CA1\u6709\u54CD\u5E94\u4F53","release API request timed out":"release API \u8BF7\u6C42\u8D85\u65F6","release API request was cancelled":"release API \u8BF7\u6C42\u5DF2\u53D6\u6D88","release API request failed":"release API \u8BF7\u6C42\u5931\u8D25","repo or release was not found":"\u672A\u627E\u5230\u4ED3\u5E93\u6216 release","release API request did not succeed":"release API \u8BF7\u6C42\u672A\u6210\u529F","release API redirect limit exceeded":"\u8D85\u51FA release API \u91CD\u5B9A\u5411\u6B21\u6570\u4E0A\u9650","release asset download was cancelled":"release \u8D44\u4EA7\u4E0B\u8F7D\u5DF2\u53D6\u6D88","repo has no published release":"\u4ED3\u5E93\u6CA1\u6709\u5DF2\u53D1\u5E03\u7684 release","Plugin registry request failed":"\u63D2\u4EF6\u6CE8\u518C\u8868\u8BF7\u6C42\u5931\u8D25","Plugin registry request was cancelled":"\u63D2\u4EF6\u6CE8\u518C\u8868\u8BF7\u6C42\u5DF2\u53D6\u6D88","Plugin registry request timed out":"\u63D2\u4EF6\u6CE8\u518C\u8868\u8BF7\u6C42\u8D85\u65F6","Disk registry source read was cancelled":"\u78C1\u76D8\u6CE8\u518C\u8868\u6E90\u8BFB\u53D6\u5DF2\u53D6\u6D88","Install store index could not be read":"\u65E0\u6CD5\u8BFB\u53D6\u5B89\u88C5\u5E97\u7D22\u5F15","Installed plugin manifest could not be read":"\u65E0\u6CD5\u8BFB\u53D6\u5DF2\u5B89\u88C5\u63D2\u4EF6\u7684 manifest","Plugin registry operation was cancelled":"\u63D2\u4EF6\u6CE8\u518C\u8868\u64CD\u4F5C\u5DF2\u53D6\u6D88","Paste the authorization code":"\u8BF7\u7C98\u8D34\u6388\u6743\u7801"};var example={"Loading...":"\u52A0\u8F7D\u4E2D\u2026","Hello, {name}!":"\u4F60\u597D\uFF0C{name}\uFF01"};var interactiveMode={"Working...":"\u5904\u7406\u4E2D\u2026","Thinking...":"\u601D\u8003\u4E2D...","({key} to interrupt)":"\uFF08{key} \u4E2D\u65AD\uFF09","({key} to cycle)":"\uFF08{key} \u5207\u6362\uFF09","(thinking: {level})":"\uFF08\u601D\u8003\uFF1A{level}\uFF09","to interrupt":"\u4E2D\u65AD","to clear":"\u6E05\u7A7A","{key} twice":"{key} \u4E24\u6B21","to exit":"\u9000\u51FA","to exit (empty)":"\u9000\u51FA\uFF08\u7F16\u8F91\u5668\u4E3A\u7A7A\u65F6\uFF09","to suspend":"\u6302\u8D77","to delete to end":"\u5220\u9664\u5230\u884C\u5C3E","to expand tools":"\u5C55\u5F00\u5DE5\u5177\u8F93\u51FA","to expand thinking":"\u5C55\u5F00\u601D\u8003","for external editor":"\u6253\u5F00\u5916\u90E8\u7F16\u8F91\u5668","for commands":"\u547D\u4EE4","to run bash":"\u8FD0\u884C bash","to run bash (no context)":"\u8FD0\u884C bash\uFF08\u4E0D\u8FDB\u4E0A\u4E0B\u6587\uFF09","to paste image (with text fallback)":"\u7C98\u8D34\u56FE\u7247\uFF08\u65E0\u56FE\u5219\u9000\u56DE\u6587\u672C\uFF09","to attach":"\u9644\u52A0\u6587\u4EF6",interrupt:"\u4E2D\u65AD","clear/exit":"\u6E05\u7A7A/\u9000\u51FA",commands:"\u547D\u4EE4",bash:"bash",more:"\u66F4\u591A","Press {key} to show full startup help and loaded resources.":"\u6309 {key} \u5C55\u793A\u5B8C\u6574\u542F\u52A8\u5E2E\u52A9\u4E0E\u5DF2\u52A0\u8F7D\u8D44\u6E90\u3002","Agent Forge can explain its own features and look up its docs. Ask it how to use or extend Agent Forge.":"Agent Forge \u80FD\u89E3\u91CA\u81EA\u8EAB\u529F\u80FD\u5E76\u67E5\u9605\u81EA\u5DF1\u7684\u6587\u6863\u3002\u53EF\u4EE5\u76F4\u63A5\u95EE\u5B83\u5982\u4F55\u4F7F\u7528\u6216\u6269\u5C55 Agent Forge\u3002","Model scope: {models}{hint}":"\u6A21\u578B\u8303\u56F4\uFF1A{models}{hint}","Updated to v{version}. Use {command} to view full changelog.":"\u5DF2\u66F4\u65B0\u5230 v{version}\u3002\u4F7F\u7528 {command} \u67E5\u770B\u5B8C\u6574\u53D8\u66F4\u65E5\u5FD7\u3002","What's New":"\u65B0\u7279\u6027","No changelog entries found.":"\u672A\u627E\u5230\u53D8\u66F4\u65E5\u5FD7\u6761\u76EE\u3002","New version {version} is available. Run":"\u65B0\u7248\u672C {version} \u53EF\u7528\u3002\u8BF7\u8FD0\u884C","Changelog:":"\u53D8\u66F4\u65E5\u5FD7\uFF1A","Changelog URL is not configured.":"\u672A\u914D\u7F6E\u53D8\u66F4\u65E5\u5FD7 URL\u3002","Update Available":"\u6709\u53EF\u7528\u66F4\u65B0","Package updates are available. Run":"\u6709\u53EF\u7528\u7684\u5305\u66F4\u65B0\u3002\u8BF7\u8FD0\u884C","Package Updates Available":"\u6709\u53EF\u7528\u7684\u5305\u66F4\u65B0","Packages:":"\u5305\uFF1A","Migrated credentials to auth.json: {providers}":"\u5DF2\u8FC1\u79FB\u51ED\u636E\u5230 auth.json\uFF1A{providers}","models.json error: {error}":"models.json \u9519\u8BEF\uFF1A{error}","tmux extended-keys is off. Modified Enter keys may not work. Add `set -g extended-keys on` to ~/.tmux.conf and restart tmux.":"tmux extended-keys \u5DF2\u5173\u95ED\uFF0C\u4FEE\u9970 Enter \u952E\u53EF\u80FD\u5931\u6548\u3002\u8BF7\u5728 ~/.tmux.conf \u4E2D\u52A0\u5165 `set -g extended-keys on` \u5E76\u91CD\u542F tmux\u3002","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.":"tmux extended-keys-format \u4E3A xterm\uFF0CAgent Forge \u5728 csi-u \u4E0B\u5DE5\u4F5C\u6700\u4F73\u3002\u8BF7\u5728 ~/.tmux.conf \u4E2D\u52A0\u5165 `set -g extended-keys-format csi-u` \u5E76\u91CD\u542F tmux\u3002","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.":"Anthropic \u8BA2\u9605\u8BA4\u8BC1\u5904\u4E8E\u6D3B\u8DC3\u72B6\u6001\u3002\u7B2C\u4E09\u65B9 harness \u7528\u91CF\u8BA1\u5165 extra usage \u5E76\u6309 token \u8BA1\u8D39\uFF0C\u4E0D\u5360\u7528 Claude \u8BA1\u5212\u989D\u5EA6\u3002\u53EF\u5728 https://claude.ai/settings/usage \u7BA1\u7406 extra usage\u3002\u5728 /settings \u4E2D\u53EF\u5173\u95ED\u6B64\u8B66\u544A\u3002",Context:"\u4E0A\u4E0B\u6587",Skills:"\u6280\u80FD",Prompts:"\u63D0\u793A\u8BCD",Themes:"\u4E3B\u9898","[Skill conflicts]":"[\u6280\u80FD\u51B2\u7A81]","[Prompt conflicts]":"[\u63D0\u793A\u8BCD\u6A21\u677F\u51B2\u7A81]","[Theme conflicts]":"[\u4E3B\u9898\u51B2\u7A81]","Startup in progress \u2014 input queued and will run when startup completes":"\u542F\u52A8\u8FDB\u884C\u4E2D\u2014\u2014\u8F93\u5165\u5DF2\u6392\u961F\uFF0C\u542F\u52A8\u5B8C\u6210\u540E\u6267\u884C","A bash command is already running. Press Esc to cancel it first.":"\u5DF2\u6709 bash \u547D\u4EE4\u5728\u8FD0\u884C\u3002\u8BF7\u5148\u6309 Esc \u53D6\u6D88\u3002","No queued messages to restore":"\u6CA1\u6709\u53EF\u6062\u590D\u7684\u6392\u961F\u6D88\u606F","No queued messages to manage":"\u6CA1\u6709\u53EF\u7BA1\u7406\u7684\u6392\u961F\u6D88\u606F","Restored {count} queued message to editor":"\u5DF2\u6062\u590D {count} \u6761\u6392\u961F\u6D88\u606F\u5230\u7F16\u8F91\u5668","Restored {count} queued messages to editor":"\u5DF2\u6062\u590D {count} \u6761\u6392\u961F\u6D88\u606F\u5230\u7F16\u8F91\u5668","Usage: /queue <text>":"\u7528\u6CD5\uFF1A/queue <\u6587\u672C>","Queued message for after compaction":"\u6D88\u606F\u5DF2\u6392\u961F\uFF0C\u538B\u7F29\u540E\u53D1\u9001","Failed to send queued message: {error}":"\u53D1\u9001\u6392\u961F\u6D88\u606F\u5931\u8D25\uFF1A{error}","Failed to send queued messages: {error}":"\u53D1\u9001\u6392\u961F\u6D88\u606F\u5931\u8D25\uFF1A{error}","Steering: {message}":"\u8F6C\u5411\uFF1A{message}","Follow-up: {message}":"\u540E\u7EED\uFF1A{message}","\u21B3 {key} to edit all queued messages":"\u21B3 {key} \u7F16\u8F91\u5168\u90E8\u6392\u961F\u6D88\u606F","Aborted after {count} retry attempt":"\u5DF2\u4E2D\u6B62\uFF0C\u6B64\u524D\u91CD\u8BD5 {count} \u6B21","Aborted after {count} retry attempts":"\u5DF2\u4E2D\u6B62\uFF0C\u6B64\u524D\u91CD\u8BD5 {count} \u6B21","Operation aborted":"\u64CD\u4F5C\u5DF2\u4E2D\u6B62","Compaction cancelled":"\u5DF2\u53D6\u6D88\u538B\u7F29","Auto-compaction cancelled":"\u5DF2\u53D6\u6D88\u81EA\u52A8\u538B\u7F29","Auto-compaction skipped: nothing to compact":"\u81EA\u52A8\u538B\u7F29\u5DF2\u8DF3\u8FC7\uFF1A\u6CA1\u6709\u53EF\u538B\u7F29\u5185\u5BB9","Retry failed after {count} attempts: {error}":"\u91CD\u8BD5 {count} \u6B21\u540E\u5931\u8D25\uFF1A{error}","Previous reply was empty, retrying...":"\u4E0A\u4E00\u6761\u56DE\u590D\u4E3A\u7A7A\uFF0C\u6B63\u5728\u91CD\u8BD5\u2026",Compaction:"\u538B\u7F29","Branch summary":"\u5206\u652F\u6458\u8981","{tokens} tokens billed{cost}":"\u8BA1\u8D39 {tokens} token{cost}","Anthropic dropped {count} thinking blocks (details in session)":"Anthropic \u4E22\u5F03\u4E86 {count} \u4E2A\u601D\u8003\u5757\uFF08\u8BE6\u60C5\u89C1\u4F1A\u8BDD\uFF09","{tokens} tokens re-billed{cost}":"\u91CD\u65B0\u8BA1\u8D39 {tokens} token{cost}","Cache miss":"\u7F13\u5B58\u672A\u547D\u4E2D","Cache miss after model switch":"\u5207\u6362\u6A21\u578B\u540E\u7F13\u5B58\u672A\u547D\u4E2D","Cache miss after {minutes}m idle":"\u95F2\u7F6E {minutes} \u5206\u949F\u540E\u7F13\u5B58\u672A\u547D\u4E2D","Session compacted {count} time":"\u4F1A\u8BDD\u5DF2\u538B\u7F29 {count} \u6B21","Session compacted {count} times":"\u4F1A\u8BDD\u5DF2\u538B\u7F29 {count} \u6B21","To resume this session:":"\u6062\u590D\u672C\u4F1A\u8BDD\uFF1A","{app} exiting due to uncaughtException:":"{app} \u56E0\u672A\u6355\u83B7\u5F02\u5E38\u9000\u51FA\uFF1A","Suspend to background is not supported on Windows":"Windows \u4E0D\u652F\u6301\u6302\u8D77\u5230\u540E\u53F0","Current model does not support thinking":"\u5F53\u524D\u6A21\u578B\u4E0D\u652F\u6301\u601D\u8003","Thinking level: {level}":"\u601D\u8003\u7EA7\u522B\uFF1A{level}","Only one model in scope":"\u8303\u56F4\u5185\u53EA\u6709\u4E00\u4E2A\u6A21\u578B","Only one model available":"\u53EA\u6709\u4E00\u4E2A\u53EF\u7528\u6A21\u578B","Switched to {model}{thinking}":"\u5DF2\u5207\u6362\u5230 {model}{thinking}","Tool output: expanded":"\u5DE5\u5177\u8F93\u51FA\uFF1A\u5DF2\u5C55\u5F00","Tool output: collapsed":"\u5DE5\u5177\u8F93\u51FA\uFF1A\u5DF2\u6298\u53E0","Thinking blocks: hidden":"\u601D\u8003\u5757\uFF1A\u5DF2\u9690\u85CF","Thinking blocks: visible":"\u601D\u8003\u5757\uFF1A\u5DF2\u663E\u793A","not set":"\u672A\u8BBE\u7F6E","HTTP idle timeout: {value}":"HTTP \u7A7A\u95F2\u8D85\u65F6\uFF1A{value}","Close active overlays before changing TUI mode":"\u5207\u6362 TUI \u6A21\u5F0F\u524D\u8BF7\u5148\u5173\u95ED\u6D3B\u52A8\u6D6E\u5C42","TUI mode: {mode}":"TUI \u6A21\u5F0F\uFF1A{mode}",'Suite "{id}" was not found. The selected suite applies to the new session.':'\u672A\u627E\u5230 suite "{id}"\u3002\u6240\u9009 suite \u5C06\u5E94\u7528\u4E8E\u65B0\u4F1A\u8BDD\u3002','Suite "{id}" was not found \u2014 continuing without a suite. Use /suite to choose one.':'\u672A\u627E\u5230 suite "{id}"\u2014\u2014\u5C06\u5728\u65E0 suite \u4E0B\u7EE7\u7EED\u3002\u53EF\u4F7F\u7528 /suite \u9009\u62E9\u3002',"Suite set to {id} \u2014 new session started":"suite \u5DF2\u8BBE\u4E3A {id}\u2014\u2014\u65B0\u4F1A\u8BDD\u5DF2\u5F00\u59CB","Failed to create session":"\u521B\u5EFA\u4F1A\u8BDD\u5931\u8D25",'Cross-suite compatible mode: session created with "{from}", assembling with "{to}"':'\u8DE8 suite \u517C\u5BB9\u6A21\u5F0F\uFF1A\u4F1A\u8BDD\u521B\u5EFA\u4E8E "{from}"\uFF0C\u6B63\u4EE5 "{to}" \u7EC4\u88C5',"No workflow in this session":"\u672C\u4F1A\u8BDD\u6CA1\u6709 workflow","Workflow action staged \u2014 review in the editor and submit":"workflow \u52A8\u4F5C\u5DF2\u6682\u5B58\u2014\u2014\u8BF7\u5728\u7F16\u8F91\u5668\u4E2D\u5BA1\u9605\u540E\u63D0\u4EA4","No subagent sessions in this session":"\u672C\u4F1A\u8BDD\u6CA1\u6709\u5B50\u4EE3\u7406\u4F1A\u8BDD","No entries in session":"\u4F1A\u8BDD\u4E2D\u6CA1\u6709\u6761\u76EE","Already at this point":"\u5DF2\u5728\u8BE5\u8282\u70B9","Summarize branch?":"\u751F\u6210\u5206\u652F\u6458\u8981\uFF1F","No summary":"\u4E0D\u751F\u6210\u6458\u8981",Summarize:"\u751F\u6210\u6458\u8981","Summarize with custom prompt":"\u4F7F\u7528\u81EA\u5B9A\u4E49\u63D0\u793A\u751F\u6210\u6458\u8981","Custom summarization instructions":"\u81EA\u5B9A\u4E49\u6458\u8981\u6307\u4EE4","Branch summarization cancelled":"\u5DF2\u53D6\u6D88\u5206\u652F\u6458\u8981","Navigation cancelled":"\u5DF2\u53D6\u6D88\u5BFC\u822A","Navigated to selected point":"\u5DF2\u5BFC\u822A\u5230\u6240\u9009\u8282\u70B9","Selected entry has no text to copy":"\u6240\u9009\u6761\u76EE\u6CA1\u6709\u53EF\u590D\u5236\u7684\u6587\u672C","Copied selected message to clipboard":"\u5DF2\u590D\u5236\u6240\u9009\u6D88\u606F\u5230\u526A\u8D34\u677F","Resumed session":"\u5DF2\u6062\u590D\u4F1A\u8BDD","Resume cancelled":"\u5DF2\u53D6\u6D88\u6062\u590D","Resumed session in current cwd":"\u5DF2\u5728\u5F53\u524D\u5DE5\u4F5C\u76EE\u5F55\u6062\u590D\u4F1A\u8BDD","Failed to resume session":"\u6062\u590D\u4F1A\u8BDD\u5931\u8D25","Usage: /import <path.jsonl>":"\u7528\u6CD5\uFF1A/import <\u8DEF\u5F84.jsonl>","Import session":"\u5BFC\u5165\u4F1A\u8BDD","Replace current session with {path}?":"\u7528 {path} \u66FF\u6362\u5F53\u524D\u4F1A\u8BDD\uFF1F","Import cancelled":"\u5DF2\u53D6\u6D88\u5BFC\u5165","Session imported from: {path}":"\u4F1A\u8BDD\u5BFC\u5165\u81EA\uFF1A{path}","Failed to import session: {error}":"\u5BFC\u5165\u4F1A\u8BDD\u5931\u8D25\uFF1A{error}","Failed to import session":"\u5BFC\u5165\u4F1A\u8BDD\u5931\u8D25","Session exported to: {path}":"\u4F1A\u8BDD\u5DF2\u5BFC\u51FA\u5230\uFF1A{path}","Failed to export session: {error}":"\u5BFC\u51FA\u4F1A\u8BDD\u5931\u8D25\uFF1A{error}","No agent messages to copy yet.":"\u8FD8\u6CA1\u6709\u53EF\u590D\u5236\u7684\u4EE3\u7406\u6D88\u606F\u3002","Copied!":"\u5DF2\u590D\u5236\uFF01","Copied last agent message to clipboard":"\u5DF2\u590D\u5236\u6700\u8FD1\u4E00\u6761\u4EE3\u7406\u6D88\u606F\u5230\u526A\u8D34\u677F","Session name: {name}":"\u4F1A\u8BDD\u540D\u79F0\uFF1A{name}","Usage: /name <name>":"\u7528\u6CD5\uFF1A/name <\u540D\u79F0>","Session name was normalized from {from} to {to}":"\u4F1A\u8BDD\u540D\u79F0\u5DF2\u4ECE {from} \u89C4\u8303\u5316\u4E3A {to}","Session name set: {name}":"\u4F1A\u8BDD\u540D\u79F0\u5DF2\u8BBE\u7F6E\uFF1A{name}","No background subagents running":"\u6CA1\u6709\u6B63\u5728\u8FD0\u884C\u7684\u540E\u53F0\u5B50\u4EE3\u7406","Terminated {count} background subagent":"\u5DF2\u7EC8\u6B62 {count} \u4E2A\u540E\u53F0\u5B50\u4EE3\u7406","Terminated {count} background subagents":"\u5DF2\u7EC8\u6B62 {count} \u4E2A\u540E\u53F0\u5B50\u4EE3\u7406","Session Info":"\u4F1A\u8BDD\u4FE1\u606F","Name:":"\u540D\u79F0\uFF1A","File:":"\u6587\u4EF6\uFF1A","ID:":"ID\uFF1A","In-memory":"\u5185\u5B58\u4E2D",Messages:"\u6D88\u606F","Total:":"\u603B\u8BA1\uFF1A","User:":"\u7528\u6237\uFF1A","Assistant:":"\u52A9\u624B\uFF1A","Tools:":"\u5DE5\u5177\uFF1A","{calls} calls, {results} results":"{calls} \u6B21\u8C03\u7528\uFF0C{results} \u6B21\u7ED3\u679C",Tokens:"Token","Input:":"\u8F93\u5165\uFF1A","Cached:":"\u5DF2\u7F13\u5B58\uFF1A","({count} written to cache)":"\uFF08{count} \u5199\u5165\u7F13\u5B58\uFF09","Uncached:":"\u672A\u7F13\u5B58\uFF1A","Output:":"\u8F93\u51FA\uFF1A","By Provider/Model":"\u6309\u4F9B\u5E94\u5546/\u6A21\u578B","(cache {rate}%, W {written})":"\uFF08\u7F13\u5B58 {rate}%\uFF0C\u5199 {written}\uFF09",Cost:"\u8D39\u7528","({tokens} tokens)":"\uFF08{tokens} token\uFF09","{count} miss":"{count} \u6B21\u672A\u547D\u4E2D","{count} misses":"{count} \u6B21\u672A\u547D\u4E2D","{tokens} tokens, {misses}":"{tokens} token\uFF0C{misses}","Cache Re-billed:":"\u7F13\u5B58\u91CD\u65B0\u8BA1\u8D39\uFF1A","Metrics are not available: the observability plugin is not mounted in this session":"\u6307\u6807\u4E0D\u53EF\u7528\uFF1A\u672C\u4F1A\u8BDD\u672A\u6302\u8F7D observability \u63D2\u4EF6","Invalid turns: {turns}. Usage: /metrics [turns]":"\u65E0\u6548\u7684\u8F6E\u6570\uFF1A{turns}\u3002\u7528\u6CD5\uFF1A/metrics [turns]",Command:"\u547D\u4EE4",Description:"\u8BF4\u660E","Built-in commands":"\u5185\u7F6E\u547D\u4EE4","Prompt templates":"\u63D0\u793A\u8BCD\u6A21\u677F","Type `/` for autocomplete. Use `/hotkeys` for keyboard shortcuts.":"\u8F93\u5165 `/` \u81EA\u52A8\u8865\u5168\u3002\u4F7F\u7528 `/hotkeys` \u67E5\u770B\u5FEB\u6377\u952E\u3002","Available Commands":"\u53EF\u7528\u547D\u4EE4","Open model selector":"\u6253\u5F00\u6A21\u578B\u9009\u62E9\u5668","Copy selection in /tree":"\u5728 /tree \u4E2D\u590D\u5236\u9009\u533A","External editor (inside dialog inputs)":"\u5916\u90E8\u7F16\u8F91\u5668\uFF08\u5BF9\u8BDD\u6846\u8F93\u5165\u5185\uFF09","Queue follow-up message":"\u6392\u961F\u540E\u7EED\u6D88\u606F","Restore queued messages":"\u6062\u590D\u6392\u961F\u6D88\u606F","Cycle thinking level":"\u5FAA\u73AF\u5207\u6362\u601D\u8003\u7EA7\u522B","Cycle models":"\u5FAA\u73AF\u5207\u6362\u6A21\u578B","Suspend to background":"\u6302\u8D77\u5230\u540E\u53F0",Navigation:"\u5BFC\u822A",Key:"\u6309\u952E",Action:"\u52A8\u4F5C","Move cursor / browse history":"\u79FB\u52A8\u5149\u6807 / \u6D4F\u89C8\u5386\u53F2","Move by word":"\u6309\u8BCD\u79FB\u52A8","Start of line":"\u884C\u9996","End of line":"\u884C\u5C3E","Jump forward to character":"\u5411\u540E\u8DF3\u5230\u5B57\u7B26","Jump backward to character":"\u5411\u524D\u8DF3\u5230\u5B57\u7B26","Scroll by page":"\u6309\u9875\u6EDA\u52A8",Editing:"\u7F16\u8F91","Send message":"\u53D1\u9001\u6D88\u606F","New line":"\u6362\u884C","New line (Ctrl+Enter on Windows Terminal)":"\u6362\u884C\uFF08Windows Terminal \u4E0A\u4E3A Ctrl+Enter\uFF09","Delete word backwards":"\u5411\u524D\u5220\u9664\u5355\u8BCD","Delete word forwards":"\u5411\u540E\u5220\u9664\u5355\u8BCD","Delete to start of line":"\u5220\u9664\u5230\u884C\u9996","Delete to end of line":"\u5220\u9664\u5230\u884C\u5C3E","Paste the most-recently-deleted text":"\u7C98\u8D34\u6700\u8FD1\u5220\u9664\u7684\u6587\u672C","Cycle through the deleted text after pasting":"\u7C98\u8D34\u540E\u5FAA\u73AF\u5207\u6362\u5DF2\u5220\u9664\u6587\u672C",Undo:"\u64A4\u9500",Other:"\u5176\u4ED6","Path completion / accept autocomplete":"\u8DEF\u5F84\u8865\u5168 / \u63A5\u53D7\u81EA\u52A8\u8865\u5168","Cancel autocomplete / abort streaming":"\u53D6\u6D88\u81EA\u52A8\u8865\u5168 / \u4E2D\u6B62\u6D41\u5F0F\u8F93\u51FA","Clear editor (first) / exit (second)":"\u6E05\u7A7A\u7F16\u8F91\u5668\uFF08\u7B2C\u4E00\u6B21\uFF09/ \u9000\u51FA\uFF08\u7B2C\u4E8C\u6B21\uFF09","Exit (when editor is empty)":"\u9000\u51FA\uFF08\u7F16\u8F91\u5668\u4E3A\u7A7A\u65F6\uFF09","Toggle tool output expansion":"\u5207\u6362\u5DE5\u5177\u8F93\u51FA\u5C55\u5F00","Toggle thinking block visibility":"\u5207\u6362\u601D\u8003\u5757\u53EF\u89C1\u6027","Paste image or text from clipboard":"\u4ECE\u526A\u8D34\u677F\u7C98\u8D34\u56FE\u7247\u6216\u6587\u672C","Slash commands":"\u659C\u6760\u547D\u4EE4","Run bash command":"\u8FD0\u884C bash \u547D\u4EE4","Run bash command (excluded from context)":"\u8FD0\u884C bash \u547D\u4EE4\uFF08\u4E0D\u8FDB\u4E0A\u4E0B\u6587\uFF09","Keyboard Shortcuts":"\u952E\u76D8\u5FEB\u6377\u952E","\u2713 New session started":"\u2713 \u65B0\u4F1A\u8BDD\u5DF2\u5F00\u59CB","Debug output at {date}":"\u8C03\u8BD5\u8F93\u51FA\u65F6\u95F4\uFF1A{date}","Terminal: {columns}x{rows}":"\u7EC8\u7AEF\uFF1A{columns}x{rows}","Total lines: {count}":"\u603B\u884C\u6570\uFF1A{count}","=== All rendered lines with visible widths ===":"=== \u5168\u90E8\u6E32\u67D3\u884C\uFF08\u542B\u53EF\u89C1\u5BBD\u5EA6\uFF09===","=== Agent messages (JSONL) ===":"=== \u4EE3\u7406\u6D88\u606F\uFF08JSONL\uFF09===","\u2713 Debug log written":"\u2713 \u8C03\u8BD5\u65E5\u5FD7\u5DF2\u5199\u5165","Bash command failed: {error}":"bash \u547D\u4EE4\u5931\u8D25\uFF1A{error}","Error: {message}":"\u9519\u8BEF\uFF1A{message}","Warning: {message}":"\u8B66\u544A\uFF1A{message}",Error:"\u9519\u8BEF","Unknown error":"\u672A\u77E5\u9519\u8BEF","Unknown error occurred":"\u53D1\u751F\u672A\u77E5\u9519\u8BEF","Reload failed: {error}":"\u91CD\u8F7D\u5931\u8D25\uFF1A{error}","Wait for the current response to finish before reloading.":"\u8BF7\u7B49\u5F85\u5F53\u524D\u54CD\u5E94\u5B8C\u6210\u540E\u518D\u91CD\u8F7D\u3002","Wait for compaction to finish before reloading.":"\u8BF7\u7B49\u5F85\u538B\u7F29\u5B8C\u6210\u540E\u518D\u91CD\u8F7D\u3002","Reloading keybindings, skills, prompts, themes, and context files...":"\u6B63\u5728\u91CD\u8F7D\u952E\u4F4D\u3001\u6280\u80FD\u3001\u63D0\u793A\u8BCD\u6A21\u677F\u3001\u4E3B\u9898\u4E0E\u4E0A\u4E0B\u6587\u6587\u4EF6\u2026","Reloaded keybindings, skills, prompts, themes, and context files":"\u5DF2\u91CD\u8F7D\u952E\u4F4D\u3001\u6280\u80FD\u3001\u63D0\u793A\u8BCD\u6A21\u677F\u3001\u4E3B\u9898\u4E0E\u4E0A\u4E0B\u6587\u6587\u4EF6"};var keybindings={"Move cursor up":"\u4E0A\u79FB\u5149\u6807","Move cursor down":"\u4E0B\u79FB\u5149\u6807","Select previous prompt history entry":"\u9009\u62E9\u4E0A\u4E00\u6761\u8F93\u5165\u5386\u53F2","Select next prompt history entry":"\u9009\u62E9\u4E0B\u4E00\u6761\u8F93\u5165\u5386\u53F2","Move cursor left":"\u5DE6\u79FB\u5149\u6807","Move cursor right":"\u53F3\u79FB\u5149\u6807","Move cursor word left":"\u5DE6\u79FB\u4E00\u4E2A\u8BCD","Move cursor word right":"\u53F3\u79FB\u4E00\u4E2A\u8BCD","Move to line start":"\u79FB\u5230\u884C\u9996","Move to line end":"\u79FB\u5230\u884C\u5C3E","Jump forward to character":"\u5411\u540E\u8DF3\u5230\u5B57\u7B26","Jump backward to character":"\u5411\u524D\u8DF3\u5230\u5B57\u7B26","Page up":"\u5411\u4E0A\u7FFB\u9875","Page down":"\u5411\u4E0B\u7FFB\u9875","Delete character backward":"\u5411\u524D\u5220\u9664\u5B57\u7B26","Delete character forward":"\u5411\u540E\u5220\u9664\u5B57\u7B26","Delete word backward":"\u5411\u524D\u5220\u9664\u5355\u8BCD","Delete word forward":"\u5411\u540E\u5220\u9664\u5355\u8BCD","Delete to line start":"\u5220\u9664\u5230\u884C\u9996","Delete to line end":"\u5220\u9664\u5230\u884C\u5C3E",Yank:"\u7C98\u8D34\u6700\u8FD1\u5220\u9664\u6587\u672C","Yank pop":"\u5FAA\u73AF\u5207\u6362\u5DF2\u5220\u9664\u6587\u672C",Undo:"\u64A4\u9500","Insert newline":"\u63D2\u5165\u6362\u884C","Submit input":"\u63D0\u4EA4\u8F93\u5165","Tab / autocomplete":"Tab / \u81EA\u52A8\u8865\u5168","Copy selection":"\u590D\u5236\u9009\u533A","Move selection up":"\u4E0A\u79FB\u9009\u4E2D\u9879","Move selection down":"\u4E0B\u79FB\u9009\u4E2D\u9879","Selection page up":"\u9009\u4E2D\u9879\u5411\u4E0A\u7FFB\u9875","Selection page down":"\u9009\u4E2D\u9879\u5411\u4E0B\u7FFB\u9875","Confirm selection":"\u786E\u8BA4\u9009\u62E9","Cancel selection":"\u53D6\u6D88\u9009\u62E9","Scroll viewport up one page":"\u89C6\u53E3\u5411\u4E0A\u6EDA\u52A8\u4E00\u9875","Scroll viewport down one page":"\u89C6\u53E3\u5411\u4E0B\u6EDA\u52A8\u4E00\u9875","Scroll viewport up half a page":"\u89C6\u53E3\u5411\u4E0A\u6EDA\u52A8\u534A\u9875","Scroll viewport down half a page":"\u89C6\u53E3\u5411\u4E0B\u6EDA\u52A8\u534A\u9875","Scroll viewport up one line":"\u89C6\u53E3\u5411\u4E0A\u6EDA\u52A8\u4E00\u884C","Scroll viewport down one line":"\u89C6\u53E3\u5411\u4E0B\u6EDA\u52A8\u4E00\u884C","Jump to previous semantic prompt":"\u8DF3\u5230\u4E0A\u4E00\u4E2A\u8BED\u4E49\u63D0\u793A","Jump to next semantic prompt":"\u8DF3\u5230\u4E0B\u4E00\u4E2A\u8BED\u4E49\u63D0\u793A","Search the primary scroll view":"\u641C\u7D22\u4E3B\u6EDA\u52A8\u89C6\u56FE","Select the next search match":"\u9009\u62E9\u4E0B\u4E00\u4E2A\u641C\u7D22\u5339\u914D","Select the previous search match":"\u9009\u62E9\u4E0A\u4E00\u4E2A\u641C\u7D22\u5339\u914D","Close transcript search":"\u5173\u95ED\u4F1A\u8BDD\u8BB0\u5F55\u641C\u7D22","Scroll viewport to top":"\u89C6\u53E3\u6EDA\u52A8\u5230\u9876\u90E8","Scroll viewport to bottom":"\u89C6\u53E3\u6EDA\u52A8\u5230\u5E95\u90E8","Trigger the global TUI debug handler":"\u89E6\u53D1\u5168\u5C40 TUI \u8C03\u8BD5\u5904\u7406\u5668","to expand":"\u5C55\u5F00"};var slashCommands={"Open settings menu":"\u6253\u5F00\u8BBE\u7F6E\u83DC\u5355","Select model (opens selector UI)":"\u9009\u62E9\u6A21\u578B\uFF08\u6253\u5F00\u9009\u62E9\u5668\u754C\u9762\uFF09","Navigate session tree (switch branches)":"\u6D4F\u89C8\u4F1A\u8BDD\u6811\uFF08\u5207\u6362\u5206\u652F\uFF09","Set thinking level":"\u8BBE\u7F6E\u601D\u8003\u7B49\u7EA7","Set the active suite (takes effect in new sessions)":"\u8BBE\u7F6E\u5F53\u524D suite\uFF08\u5BF9\u65B0\u4F1A\u8BDD\u751F\u6548\uFF09","Enable/disable models in the /model cycling scope":"\u542F\u7528/\u7981\u7528 /model \u8F6E\u6362\u8303\u56F4\u5185\u7684\u6A21\u578B","Export session (HTML default, or specify path: .html/.jsonl)":"\u5BFC\u51FA\u4F1A\u8BDD\uFF08\u9ED8\u8BA4 HTML\uFF0C\u6216\u6307\u5B9A\u8DEF\u5F84\uFF1A.html/.jsonl\uFF09","Import and resume a session from a JSONL file":"\u4ECE JSONL \u6587\u4EF6\u5BFC\u5165\u5E76\u6062\u590D\u4F1A\u8BDD","Copy last agent message to clipboard":"\u590D\u5236\u4E0A\u4E00\u6761 agent \u6D88\u606F\u5230\u526A\u8D34\u677F","Set session display name":"\u8BBE\u7F6E\u4F1A\u8BDD\u663E\u793A\u540D\u79F0","Show session info and stats":"\u663E\u793A\u4F1A\u8BDD\u4FE1\u606F\u4E0E\u7EDF\u8BA1","Show product metrics (turns, tools, memory recall)":"\u663E\u793A\u4EA7\u54C1\u6307\u6807\uFF08\u8F6E\u6B21\u3001\u5DE5\u5177\u3001\u8BB0\u5FC6\u53EC\u56DE\uFF09","Show changelog entries":"\u663E\u793A\u66F4\u65B0\u65E5\u5FD7\u6761\u76EE","Show available commands":"\u663E\u793A\u53EF\u7528\u547D\u4EE4","Show all keyboard shortcuts":"\u663E\u793A\u5168\u90E8\u952E\u76D8\u5FEB\u6377\u952E","Return to any earlier prompt and continue from there (the original path stays as a branch)":"\u56DE\u5230\u4EFB\u610F\u8F83\u65E9\u7684\u63D0\u793A\u8BCD\u5E76\u4ECE\u8BE5\u5904\u7EE7\u7EED\uFF08\u539F\u8DEF\u5F84\u4FDD\u7559\u4E3A\u5206\u652F\uFF09","Duplicate the current session at the current position":"\u5728\u5F53\u524D\u4F4D\u7F6E\u590D\u5236\u5F53\u524D\u4F1A\u8BDD","Configure provider authentication":"\u914D\u7F6E provider \u8BA4\u8BC1","Remove provider authentication":"\u79FB\u9664 provider \u8BA4\u8BC1","Start a new session":"\u5F00\u59CB\u65B0\u4F1A\u8BDD","Terminate all background subagents (Esc never touches them)":"\u7EC8\u6B62\u6240\u6709\u540E\u53F0\u5B50\u4EE3\u7406\uFF08Esc \u4E0D\u4F1A\u89E6\u53CA\u5B83\u4EEC\uFF09","Manually compact the session context":"\u624B\u52A8\u538B\u7F29\u4F1A\u8BDD\u4E0A\u4E0B\u6587","Resume a different session":"\u6062\u590D\u53E6\u4E00\u4E2A\u4F1A\u8BDD","Queue a message for after the current run":"\u4E3A\u5F53\u524D\u8FD0\u884C\u7ED3\u675F\u540E\u6392\u961F\u4E00\u6761\u6D88\u606F","Restore queued messages back to the editor":"\u5C06\u6392\u961F\u7684\u6D88\u606F\u6062\u590D\u5230\u7F16\u8F91\u5668","Open the queued messages manager":"\u6253\u5F00\u6392\u961F\u6D88\u606F\u7BA1\u7406\u5668","Edit the current input in an external editor":"\u5728\u5916\u90E8\u7F16\u8F91\u5668\u4E2D\u7F16\u8F91\u5F53\u524D\u8F93\u5165","Browse this session's subagent sessions (read-only)":"\u6D4F\u89C8\u672C\u4F1A\u8BDD\u7684\u5B50\u4EE3\u7406\u4F1A\u8BDD\uFF08\u53EA\u8BFB\uFF09","Reload keybindings, extensions, skills, prompts, themes, and context files":"\u91CD\u65B0\u52A0\u8F7D\u952E\u4F4D\u7ED1\u5B9A\u3001\u6269\u5C55\u3001skill\u3001\u63D0\u793A\u6A21\u677F\u3001\u4E3B\u9898\u4E0E\u4E0A\u4E0B\u6587\u6587\u4EF6","Promote a memory preference to user-default (visible in every suite)":"\u5C06\u4E00\u6761\u8BB0\u5FC6\u504F\u597D\u63D0\u5347\u4E3A\u7528\u6237\u9ED8\u8BA4\uFF08\u5728\u6BCF\u4E2A suite \u53EF\u89C1\uFF09","Quit {app}":"\u9000\u51FA {app}"};var tuiBuiltin={"Find transcript":"\u641C\u7D22\u4F1A\u8BDD\u8BB0\u5F55","No matches":"\u65E0\u5339\u914D","Copied!":"\u5DF2\u590D\u5236\uFF01","Copy failed":"\u590D\u5236\u5931\u8D25"};var tuiComponentsMisc={"(sub)":"\uFF08\u8BA2\u9605\uFF09","(auto)":"\uFF08\u81EA\u52A8\uFF09","no-model":"\u65E0\u6A21\u578B","{model} \u2022 thinking off":"{model} \u2022 \u601D\u8003\u5173\u95ED","Retrying ({attempt}/{max}) in {seconds}s... ({key} to cancel)":"\u7B2C {attempt}/{max} \u6B21\u91CD\u8BD5\uFF0C{seconds} \u79D2\u540E...\uFF08{key} \u53D6\u6D88\uFF09","Compacting context... ({key} to cancel)":"\u6B63\u5728\u538B\u7F29\u4E0A\u4E0B\u6587...\uFF08{key} \u53D6\u6D88\uFF09","Context overflow detected, Auto-compacting... ({key} to cancel)":"\u68C0\u6D4B\u5230\u4E0A\u4E0B\u6587\u6EA2\u51FA\uFF0C\u81EA\u52A8\u538B\u7F29\u4E2D...\uFF08{key} \u53D6\u6D88\uFF09","Auto-compacting... ({key} to cancel)":"\u81EA\u52A8\u538B\u7F29\u4E2D...\uFF08{key} \u53D6\u6D88\uFF09","Summarizing branch... ({key} to cancel)":"\u6B63\u5728\u751F\u6210\u5206\u652F\u6458\u8981...\uFF08{key} \u53D6\u6D88\uFF09","Running... ({key} to cancel)":"\u8FD0\u884C\u4E2D...\uFF08{key} \u53D6\u6D88\uFF09","({key} to collapse)":"\uFF08{key} \u6298\u53E0\uFF09","... {count} more lines ({key} to expand)":"... \u8FD8\u6709 {count} \u884C\uFF08{key} \u5C55\u5F00\uFF09","(cancelled)":"\uFF08\u5DF2\u53D6\u6D88\uFF09","(exit {code})":"\uFF08\u9000\u51FA\u7801 {code}\uFF09","Output truncated. Full output: {path}":"\u8F93\u51FA\u5DF2\u622A\u65AD\u3002\u5B8C\u6574\u8F93\u51FA\uFF1A{path}","Thinking...":"\u601D\u8003\u4E2D...","Response was truncated before completion.":"\u54CD\u5E94\u5728\u5B8C\u6210\u524D\u88AB\u622A\u65AD\u3002","Operation aborted":"\u64CD\u4F5C\u5DF2\u4E2D\u6B62","Error: {message}":"\u9519\u8BEF\uFF1A{message}","No user messages found":"\u672A\u627E\u5230\u7528\u6237\u6D88\u606F","Message {position} of {total}":"\u7B2C {position} \u6761\uFF0C\u5171 {total} \u6761","Fork from Message":"\u4ECE\u6D88\u606F\u5206\u53C9","Select a user message to copy the active path up to that point into a new session":"\u9009\u62E9\u4E00\u6761\u7528\u6237\u6D88\u606F\uFF0C\u5C06\u622A\u81F3\u8BE5\u70B9\u7684\u5F53\u524D\u8DEF\u5F84\u590D\u5236\u5230\u65B0\u4F1A\u8BDD","Queued Messages":"\u6392\u961F\u6D88\u606F",Steering:"\u8F6C\u5411","Follow-up":"\u540E\u7EED","alt+up/alt+down move \xB7 delete remove \xB7 enter restore \xB7 esc close":"alt+up/alt+down \u79FB\u52A8 \xB7 delete \u79FB\u9664 \xB7 enter \u53D6\u56DE\u7F16\u8F91\u5668 \xB7 esc \u5173\u95ED","user:":"\u7528\u6237:","assistant:":"\u52A9\u624B:","(aborted)":"\uFF08\u5DF2\u4E2D\u6B62\uFF09","(no content)":"\uFF08\u65E0\u5185\u5BB9\uFF09",tool:"\u5DE5\u5177","[bash]: {command}":"[bash]: {command}","[compaction: {tokens}k tokens]":"[\u538B\u7F29: {tokens}k tokens]","[branch summary]:":"[\u5206\u652F\u6458\u8981]:","[model: {model}]":"[\u6A21\u578B: {model}]","[thinking: {level}]":"[\u601D\u8003: {level}]","[custom: {type}]":"[\u81EA\u5B9A\u4E49: {type}]","[label: {label}]":"[\u6807\u7B7E: {label}]","(cleared)":"\uFF08\u5DF2\u6E05\u9664\uFF09","[title: {name}]":"[\u6807\u9898: {name}]",empty:"\u7A7A","[read: {display}]":"[\u8BFB\u53D6: {display}]","[write: {path}]":"[\u5199\u5165: {path}]","[edit: {path}]":"[\u7F16\u8F91: {path}]","[bash: {cmd}]":"[bash: {cmd}]","[grep: /{pattern}/ in {path}]":"[\u641C\u7D22: /{pattern}/ \u4E8E {path}]","[find: {pattern} in {path}]":"[\u67E5\u627E: {pattern} \u4E8E {path}]","[ls: {path}]":"[\u5217\u76EE\u5F55: {path}]","[{name}: {args}]":"[{name}: {args}]","[branch]":"[\u5206\u652F]","**Branch Summary**":"**\u5206\u652F\u6458\u8981**","Branch summary ({key} to expand)":"\u5206\u652F\u6458\u8981\uFF08{key} \u5C55\u5F00\uFF09","[compaction]":"[\u538B\u7F29]","**Compacted from {tokens} tokens**":"**\u5DF2\u4ECE {tokens} tokens \u538B\u7F29**","Compacted from {tokens} tokens ({key} to expand)":"\u5DF2\u4ECE {tokens} tokens \u538B\u7F29\uFF08{key} \u5C55\u5F00\uFF09","({key} to expand)":"\uFF08{key} \u5C55\u5F00\uFF09",Yes:"\u662F",No:"\u5426","Show images inline in terminal":"\u5728\u7EC8\u7AEF\u5185\u8054\u663E\u793A\u56FE\u7247","Show text placeholder instead":"\u6539\u4E3A\u663E\u793A\u6587\u672C\u5360\u4F4D\u7B26",submit:"\u63D0\u4EA4",newline:"\u6362\u884C","external editor":"\u5916\u90E8\u7F16\u8F91\u5668",select:"\u9009\u62E9","Mermaid diagram not rendered: {warning}{suffix}":"Mermaid \u56FE\u8868\u672A\u6E32\u67D3\uFF1A{warning}{suffix}","+{count} more":"\u8FD8\u6709 {count} \u6761","[{type}] renderer failed: {message}":"[{type}] \u6E32\u67D3\u5668\u5931\u8D25\uFF1A{message}","... ({count} more lines, {key} to expand)":"...\uFF08\u8FD8\u6709 {count} \u884C\uFF0C{key} \u5C55\u5F00\uFF09","(current)":"\uFF08\u5F53\u524D\uFF09","Type to filter \xB7 Enter to select \xB7 Esc to go back":"\u8F93\u5165\u4EE5\u8FC7\u6EE4 \xB7 Enter \u9009\u62E9 \xB7 Esc \u8FD4\u56DE","Enter to select \xB7 Esc to go back":"Enter \u9009\u62E9 \xB7 Esc \u8FD4\u56DE","Step {index}/{total}":"\u7B2C {index}/{total} \u6B65"};var tuiComponentsSelectors={"No reasoning":"\u65E0\u63A8\u7406","Very brief reasoning (~1k tokens)":"\u6781\u7B80\u63A8\u7406\uFF08\u7EA6 1k tokens\uFF09","Light reasoning (~2k tokens)":"\u8F7B\u5EA6\u63A8\u7406\uFF08\u7EA6 2k tokens\uFF09","Moderate reasoning (~8k tokens)":"\u4E2D\u5EA6\u63A8\u7406\uFF08\u7EA6 8k tokens\uFF09","Deep reasoning (~16k tokens)":"\u6DF1\u5EA6\u63A8\u7406\uFF08\u7EA6 16k tokens\uFF09","Extra-high reasoning (~32k tokens)":"\u8D85\u9AD8\u63A8\u7406\uFF08\u7EA6 32k tokens\uFF09","Maximum reasoning":"\u6700\u5927\u63A8\u7406","Anthropic extra usage":"Anthropic \u989D\u5916\u7528\u91CF","Warn when Anthropic subscription auth may use paid extra usage":"\u5F53 Anthropic \u8BA2\u9605\u8BA4\u8BC1\u53EF\u80FD\u4F7F\u7528\u4ED8\u8D39\u989D\u5916\u7528\u91CF\u65F6\u8B66\u544A",none:"\u65E0","{count} configured":"\u5DF2\u914D\u7F6E {count} \u9879",Automatic:"\u81EA\u52A8","Use separate themes for light and dark terminal appearance":"\u4E3A\u7EC8\u7AEF\u6D45\u8272\u4E0E\u6DF1\u8272\u5916\u89C2\u5206\u522B\u4F7F\u7528\u4E0D\u540C\u4E3B\u9898",Theme:"\u4E3B\u9898","Select a theme, or choose Automatic to follow terminal appearance.":"\u9009\u62E9\u4E00\u4E2A\u4E3B\u9898\uFF0C\u6216\u9009\u62E9\u201C\u81EA\u52A8\u201D\u8DDF\u968F\u7EC8\u7AEF\u5916\u89C2\u3002","Automatic Theme":"\u81EA\u52A8\u4E3B\u9898","Choose themes for terminal light and dark appearance.":"\u4E3A\u7EC8\u7AEF\u6D45\u8272\u4E0E\u6DF1\u8272\u5916\u89C2\u9009\u62E9\u4E3B\u9898\u3002","Light/dark detection requires terminal support.":"\u6D45\u8272/\u6DF1\u8272\u68C0\u6D4B\u9700\u8981\u7EC8\u7AEF\u652F\u6301\u3002","Light theme":"\u6D45\u8272\u4E3B\u9898","Theme to use in automatic mode when the terminal is light":"\u81EA\u52A8\u6A21\u5F0F\u4E0B\u7EC8\u7AEF\u4E3A\u6D45\u8272\u65F6\u4F7F\u7528\u7684\u4E3B\u9898","Light Theme":"\u6D45\u8272\u4E3B\u9898","Select the theme to use for light terminal appearance":"\u9009\u62E9\u7EC8\u7AEF\u6D45\u8272\u5916\u89C2\u65F6\u4F7F\u7528\u7684\u4E3B\u9898","Dark theme":"\u6DF1\u8272\u4E3B\u9898","Theme to use in automatic mode when the terminal is dark":"\u81EA\u52A8\u6A21\u5F0F\u4E0B\u7EC8\u7AEF\u4E3A\u6DF1\u8272\u65F6\u4F7F\u7528\u7684\u4E3B\u9898","Dark Theme":"\u6DF1\u8272\u4E3B\u9898","Select the theme to use for dark terminal appearance":"\u9009\u62E9\u7EC8\u7AEF\u6DF1\u8272\u5916\u89C2\u65F6\u4F7F\u7528\u7684\u4E3B\u9898",Apply:"\u5E94\u7528","Save and go back":"\u4FDD\u5B58\u5E76\u8FD4\u56DE","save and go back":"\u4FDD\u5B58\u5E76\u8FD4\u56DE","Change mode":"\u5207\u6362\u6A21\u5F0F","Switch to one theme for light and dark":"\u5207\u6362\u4E3A\u6D45\u8272\u4E0E\u6DF1\u8272\u5171\u7528\u5355\u4E00\u4E3B\u9898","switch to single theme":"\u5207\u6362\u4E3A\u5355\u4E00\u4E3B\u9898","Auto-compact":"\u81EA\u52A8\u538B\u7F29","Automatically compact context when it gets too large":"\u4E0A\u4E0B\u6587\u8FC7\u5927\u65F6\u81EA\u52A8\u538B\u7F29","Steering mode":"\u8F6C\u5411\u6A21\u5F0F","Enter while streaming queues steering messages. 'one-at-a-time': deliver one, wait for response. 'all': deliver all at once.":"\u6D41\u5F0F\u8F93\u51FA\u671F\u95F4\u6309 Enter \u4F1A\u5C06\u8F6C\u5411\u6D88\u606F\u52A0\u5165\u961F\u5217\u3002'one-at-a-time'\uFF1A\u6BCF\u6B21\u9001\u8FBE\u4E00\u6761\uFF0C\u7B49\u5F85\u54CD\u5E94\u3002'all'\uFF1A\u4E00\u6B21\u6027\u5168\u90E8\u9001\u8FBE\u3002","Follow-up mode":"\u540E\u7EED\u6D88\u606F\u6A21\u5F0F","{key} queues follow-up messages until agent stops. 'one-at-a-time': deliver one, wait for response. 'all': deliver all at once.":"{key} \u4F1A\u5C06\u540E\u7EED\u6D88\u606F\u6392\u961F\u76F4\u81F3 agent \u505C\u6B62\u3002'one-at-a-time'\uFF1A\u6BCF\u6B21\u9001\u8FBE\u4E00\u6761\uFF0C\u7B49\u5F85\u54CD\u5E94\u3002'all'\uFF1A\u4E00\u6B21\u6027\u5168\u90E8\u9001\u8FBE\u3002",Transport:"\u4F20\u8F93\u65B9\u5F0F","Preferred transport for providers that support multiple transports":"\u652F\u6301\u591A\u79CD\u4F20\u8F93\u65B9\u5F0F\u7684 provider \u7684\u9996\u9009\u4F20\u8F93\u65B9\u5F0F","HTTP idle timeout":"HTTP \u7A7A\u95F2\u8D85\u65F6","Maximum idle gap while waiting for HTTP headers or body chunks. Disable for local models that pause longer than five minutes.":"\u7B49\u5F85 HTTP \u5934\u6216\u6B63\u6587\u5206\u5757\u65F6\u7684\u6700\u5927\u7A7A\u95F2\u95F4\u9694\u3002\u672C\u5730\u6A21\u578B\u6682\u505C\u8D85\u8FC7\u4E94\u5206\u949F\u65F6\u8BF7\u7981\u7528\u3002","Hide thinking":"\u9690\u85CF\u601D\u8003","Hide thinking blocks in assistant responses":"\u9690\u85CF\u52A9\u624B\u56DE\u590D\u4E2D\u7684\u601D\u8003\u5757","Mermaid diagrams":"Mermaid \u56FE\u8868","Render Mermaid code blocks as Unicode diagrams":"\u5C06 Mermaid \u4EE3\u7801\u5757\u6E32\u67D3\u4E3A Unicode \u56FE\u8868","Cache miss notices":"\u7F13\u5B58\u672A\u547D\u4E2D\u63D0\u793A","Show transcript notices for cache costs and provider recovery diagnostics":"\u663E\u793A\u7F13\u5B58\u6210\u672C\u4E0E provider \u6062\u590D\u8BCA\u65AD\u7684\u4F1A\u8BDD\u8BB0\u5F55\u63D0\u793A","Collapse changelog":"\u6298\u53E0\u66F4\u65B0\u65E5\u5FD7","Show condensed changelog after updates":"\u66F4\u65B0\u540E\u663E\u793A\u7CBE\u7B80\u7248\u66F4\u65B0\u65E5\u5FD7","Quiet startup":"\u5B89\u9759\u542F\u52A8","Disable verbose printing at startup":"\u7981\u7528\u542F\u52A8\u65F6\u7684\u8BE6\u7EC6\u8F93\u51FA","Double-escape action":"\u53CC\u51FB Escape \u52A8\u4F5C","Action when pressing Escape twice with empty editor":"\u7F16\u8F91\u5668\u4E3A\u7A7A\u65F6\u8FDE\u6309\u4E24\u6B21 Escape \u6267\u884C\u7684\u52A8\u4F5C","Interface language":"\u754C\u9762\u8BED\u8A00","Language for UI text; takes effect immediately":"\u754C\u9762\u6587\u672C\u8BED\u8A00\uFF0C\u7ACB\u5373\u751F\u6548","Tree filter mode":"\u6811\u89C6\u56FE\u8FC7\u6EE4\u6A21\u5F0F","Default filter when opening /tree":"\u6253\u5F00 /tree \u65F6\u7684\u9ED8\u8BA4\u8FC7\u6EE4\u5668",Warnings:"\u8B66\u544A","Enable or disable individual warnings":"\u542F\u7528\u6216\u7981\u7528\u5404\u9879\u8B66\u544A",configure:"\u914D\u7F6E","Default thinking level per model":"\u5404\u6A21\u578B\u9ED8\u8BA4\u601D\u8003\u7EA7\u522B","Override the default thinking level for specific models. {key} cycles in-session.":"\u4E3A\u7279\u5B9A\u6A21\u578B\u8986\u76D6\u9ED8\u8BA4\u601D\u8003\u7EA7\u522B\u3002{key} \u53EF\u5728\u4F1A\u8BDD\u5185\u5FAA\u73AF\u5207\u6362\u3002","Per-Model Thinking Level":"\u5404\u6A21\u578B\u601D\u8003\u7EA7\u522B","Select a model to configure":"\u9009\u62E9\u8981\u914D\u7F6E\u7684\u6A21\u578B","No models available":"\u65E0\u53EF\u7528\u6A21\u578B","Log in to a provider or configure an API key first":"\u8BF7\u5148\u767B\u5F55 provider \u6216\u914D\u7F6E API key","Thinking Level for {model}":"{model} \u7684\u601D\u8003\u7EA7\u522B","Select default thinking level for this model":"\u9009\u62E9\u8BE5\u6A21\u578B\u7684\u9ED8\u8BA4\u601D\u8003\u7EA7\u522B","(clear override)":"\uFF08\u6E05\u9664\u8986\u76D6\uFF09","Revert to global default ({level})":"\u6062\u590D\u5168\u5C40\u9ED8\u8BA4\uFF08{level}\uFF09","TUI mode":"TUI \u6A21\u5F0F","Interface layout; fullscreen mode is experimental":"\u754C\u9762\u5E03\u5C40\uFF1B\u5168\u5C4F\u6A21\u5F0F\u4E3A\u5B9E\u9A8C\u6027","Fullscreen exit output":"\u5168\u5C4F\u9000\u51FA\u8F93\u51FA","Print the transcript or only a session resume hint when exiting fullscreen mode":"\u9000\u51FA\u5168\u5C4F\u6A21\u5F0F\u65F6\u6253\u5370\u5B8C\u6574\u4F1A\u8BDD\u8BB0\u5F55\u6216\u4EC5\u6253\u5370\u4F1A\u8BDD\u6062\u590D\u63D0\u793A","Fullscreen scrollbar":"\u5168\u5C4F\u6EDA\u52A8\u6761","Scrollbar behavior in fullscreen mode; has no effect in regular mode":"\u5168\u5C4F\u6A21\u5F0F\u4E0B\u7684\u6EDA\u52A8\u6761\u884C\u4E3A\uFF1B\u5E38\u89C4\u6A21\u5F0F\u4E0B\u65E0\u6548","Fullscreen copy on select":"\u5168\u5C4F\u9009\u4E2D\u5373\u590D\u5236","Automatically copy selected text in fullscreen mode; disable to copy selections with Ctrl+X":"\u5168\u5C4F\u6A21\u5F0F\u4E0B\u81EA\u52A8\u590D\u5236\u9009\u4E2D\u6587\u672C\uFF1B\u7981\u7528\u540E\u7528 Ctrl+X \u590D\u5236\u6240\u9009\u5185\u5BB9","Fullscreen wheel scroll lines":"\u5168\u5C4F\u6EDA\u8F6E\u6EDA\u52A8\u884C\u6570","Lines scrolled per wheel event in fullscreen mode; auto accelerates with scroll speed":"\u5168\u5C4F\u6A21\u5F0F\u4E0B\u6BCF\u4E2A\u6EDA\u8F6E\u4E8B\u4EF6\u6EDA\u52A8\u7684\u884C\u6570\uFF1Bauto \u968F\u6EDA\u52A8\u901F\u5EA6\u52A0\u901F","Color theme for the interface":"\u754C\u9762\u914D\u8272\u4E3B\u9898","Show images":"\u663E\u793A\u56FE\u7247","Render images inline in terminal":"\u5728\u7EC8\u7AEF\u5185\u8054\u6E32\u67D3\u56FE\u7247","Image width":"\u56FE\u7247\u5BBD\u5EA6","Preferred inline image width in terminal cells":"\u9996\u9009\u7684\u5185\u8054\u56FE\u7247\u5BBD\u5EA6\uFF08\u7EC8\u7AEF\u5355\u5143\u683C\uFF09","Auto-resize images":"\u81EA\u52A8\u7F29\u653E\u56FE\u7247","Resize large images to 2000x2000 max for better model compatibility":"\u5C06\u5927\u56FE\u7F29\u653E\u81F3\u6700\u5927 2000x2000 \u4EE5\u63D0\u5347\u6A21\u578B\u517C\u5BB9\u6027","Block images":"\u963B\u6B62\u56FE\u7247","Prevent images from being sent to LLM providers":"\u963B\u6B62\u56FE\u7247\u53D1\u9001\u7ED9 LLM provider","Skill commands":"Skill \u547D\u4EE4","Register skills as /skill:name commands":"\u5C06 skill \u6CE8\u518C\u4E3A /skill:name \u547D\u4EE4","Show hardware cursor":"\u663E\u793A\u786C\u4EF6\u5149\u6807","Show the terminal cursor while still positioning it for IME support":"\u663E\u793A\u7EC8\u7AEF\u5149\u6807\uFF0C\u540C\u65F6\u4FDD\u6301\u5176\u5B9A\u4F4D\u4EE5\u652F\u6301\u8F93\u5165\u6CD5","Editor padding":"\u7F16\u8F91\u5668\u5185\u8FB9\u8DDD","Horizontal padding for input editor (0-3)":"\u8F93\u5165\u7F16\u8F91\u5668\u7684\u6C34\u5E73\u5185\u8FB9\u8DDD\uFF080-3\uFF09","Output padding":"\u8F93\u51FA\u5185\u8FB9\u8DDD","Horizontal padding for user messages, assistant messages, and thinking":"\u7528\u6237\u6D88\u606F\u3001\u52A9\u624B\u6D88\u606F\u4E0E\u601D\u8003\u5185\u5BB9\u7684\u6C34\u5E73\u5185\u8FB9\u8DDD","Autocomplete max items":"\u81EA\u52A8\u8865\u5168\u6700\u5927\u6761\u76EE\u6570","Max visible items in autocomplete dropdown (3-20)":"\u81EA\u52A8\u8865\u5168\u4E0B\u62C9\u83DC\u5355\u53EF\u89C1\u7684\u6700\u5927\u6761\u76EE\u6570\uFF083-20\uFF09","Clear on shrink":"\u6536\u7F29\u65F6\u6E05\u5C4F","Clear empty rows when content shrinks (may cause flicker)":"\u5185\u5BB9\u6536\u7F29\u65F6\u6E05\u9664\u7A7A\u884C\uFF08\u53EF\u80FD\u5BFC\u81F4\u95EA\u70C1\uFF09","Terminal progress":"\u7EC8\u7AEF\u8FDB\u5EA6","Show OSC 9;4 progress indicators in the terminal tab bar":"\u5728\u7EC8\u7AEF\u6807\u7B7E\u680F\u663E\u793A OSC 9;4 \u8FDB\u5EA6\u6307\u793A","Resume Session (Current Folder)":"\u6062\u590D\u4F1A\u8BDD\uFF08\u5F53\u524D\u6587\u4EF6\u5939\uFF09","Resume Session (All)":"\u6062\u590D\u4F1A\u8BDD\uFF08\u5168\u90E8\uFF09","Resume Session (All Suites)":"\u6062\u590D\u4F1A\u8BDD\uFF08\u6240\u6709 Suite\uFF09","Resume Session (Suite: {suite})":"\u6062\u590D\u4F1A\u8BDD\uFF08Suite\uFF1A{suite}\uFF09",Threaded:"\u7EBF\u7A0B\u5F0F",Recent:"\u6700\u8FD1",Fuzzy:"\u6A21\u7CCA","Sort:":"\u6392\u5E8F\uFF1A",All:"\u5168\u90E8",Named:"\u5DF2\u547D\u540D","Name:":"\u540D\u79F0\uFF1A","\u25CB Current Folder":"\u25CB \u5F53\u524D\u6587\u4EF6\u5939","Loading {progress}":"\u52A0\u8F7D\u4E2D {progress}","\u25C9 Current Folder":"\u25C9 \u5F53\u524D\u6587\u4EF6\u5939","\u25CB All":"\u25CB \u5168\u90E8","\u25C9 All":"\u25C9 \u5168\u90E8","Delete session? {confirm} \xB7 {cancel}":"\u5220\u9664\u4F1A\u8BDD\uFF1F{confirm} \xB7 {cancel}",confirm:"\u786E\u8BA4",cancel:"\u53D6\u6D88","path (on)":"\u8DEF\u5F84 (\u5F00)","path (off)":"\u8DEF\u5F84 (\u5173)",scope:"\u8303\u56F4",'re:<pattern> regex \xB7 "phrase" exact':'re:<\u6A21\u5F0F> \u6B63\u5219 \xB7 "\u8BCD\u7EC4" \u7CBE\u786E',sort:"\u6392\u5E8F",named:"\u547D\u540D\u8FC7\u6EE4",delete:"\u5220\u9664",rename:"\u91CD\u547D\u540D","Cannot delete the currently active session":"\u65E0\u6CD5\u5220\u9664\u5F53\u524D\u6D3B\u52A8\u4F1A\u8BDD","No named sessions found. Press {key} to show all.":"\u672A\u627E\u5230\u5DF2\u547D\u540D\u4F1A\u8BDD\u3002\u6309 {key} \u663E\u793A\u5168\u90E8\u3002","No named sessions in current folder. Press {key} to show all, or Tab to view all.":"\u5F53\u524D\u6587\u4EF6\u5939\u65E0\u5DF2\u547D\u540D\u4F1A\u8BDD\u3002\u6309 {key} \u663E\u793A\u5168\u90E8\uFF0C\u6216\u6309 Tab \u67E5\u770B\u5168\u90E8\u3002","No sessions found":"\u672A\u627E\u5230\u4F1A\u8BDD","No sessions in current folder. Press Tab to view all.":"\u5F53\u524D\u6587\u4EF6\u5939\u65E0\u4F1A\u8BDD\u3002\u6309 Tab \u67E5\u770B\u5168\u90E8\u3002","Show sessions from all suites":"\u663E\u793A\u6240\u6709 suite \u7684\u4F1A\u8BDD","Show current suite sessions only":"\u4EC5\u663E\u793A\u5F53\u524D suite \u7684\u4F1A\u8BDD","Session moved to trash":"\u4F1A\u8BDD\u5DF2\u79FB\u5165\u56DE\u6536\u7AD9","Session deleted":"\u4F1A\u8BDD\u5DF2\u5220\u9664","Unknown error":"\u672A\u77E5\u9519\u8BEF","Failed to delete: {error}":"\u5220\u9664\u5931\u8D25\uFF1A{error}","Rename Session":"\u91CD\u547D\u540D\u4F1A\u8BDD","{confirm} to save \xB7 {cancel} to cancel":"{confirm} \u4FDD\u5B58 \xB7 {cancel} \u53D6\u6D88","Failed to load sessions: {message}":"\u52A0\u8F7D\u4F1A\u8BDD\u5931\u8D25\uFF1A{message}",Skills:"\u6280\u80FD",Prompts:"\u63D0\u793A\u8BCD",Themes:"\u4E3B\u9898","User ({dir})":"\u7528\u6237\uFF08{dir}\uFF09","Project ({dir})":"\u9879\u76EE\uFF08{dir}\uFF09","User settings":"\u7528\u6237\u8BBE\u7F6E","Project settings":"\u9879\u76EE\u8BBE\u7F6E","Project Local Resources":"\u9879\u76EE\u672C\u5730\u8D44\u6E90","Global Resources":"\u5168\u5C40\u8D44\u6E90","switch mode":"\u5207\u6362\u6A21\u5F0F","cycle inherit/+/-":"\u5FAA\u73AF \u7EE7\u627F/+/-",toggle:"\u5207\u6362",close:"\u5173\u95ED","{config}/settings.json \xB7 inherited global resources are dimmed":"{config}/settings.json \xB7 \u7EE7\u627F\u7684\u5168\u5C40\u8D44\u6E90\u4EE5\u6697\u8272\u663E\u793A","No resources found":"\u672A\u627E\u5230\u8D44\u6E90","inherited global":"\u7EE7\u627F\u81EA\u5168\u5C40","project load":"\u9879\u76EE\u52A0\u8F7D","project unload":"\u9879\u76EE\u5378\u8F7D","Model Configuration":"\u6A21\u578B\u914D\u7F6E","Session-only. {key} to save to settings.":"\u4EC5\u672C\u6B21\u4F1A\u8BDD\u751F\u6548\u3002\u6309 {key} \u4FDD\u5B58\u5230\u8BBE\u7F6E\u3002","all enabled":"\u5168\u90E8\u5DF2\u542F\u7528","{enabled}/{total} enabled":"\u5DF2\u542F\u7528 {enabled}/{total}","{count} unavailable":"{count} \u4E2A\u4E0D\u53EF\u7528",all:"\u5168\u90E8",clear:"\u6E05\u7A7A",reorder:"\u6392\u5E8F",save:"\u4FDD\u5B58","(unsaved)":"\uFF08\u672A\u4FDD\u5B58\uFF09","No matching models":"\u6CA1\u6709\u5339\u914D\u7684\u6A21\u578B","[unavailable]":"[\u4E0D\u53EF\u7528]","Model Name: {name}":"\u6A21\u578B\u540D\u79F0\uFF1A{name}","Model unavailable":"\u6A21\u578B\u4E0D\u53EF\u7528","Refreshing model catalogs\u2026":"\u6B63\u5728\u5237\u65B0\u6A21\u578B\u76EE\u5F55\u2026","Only showing models from configured providers. Use /login to add providers.":"\u4EC5\u663E\u793A\u5DF2\u914D\u7F6E provider \u7684\u6A21\u578B\u3002\u4F7F\u7528 /login \u6DFB\u52A0 provider\u3002","{confirm} to select \xB7 {save} to set as default \xB7 {cancel} to cancel":"{confirm} \u9009\u62E9 \xB7 {save} \u8BBE\u4E3A\u9ED8\u8BA4 \xB7 {cancel} \u53D6\u6D88","Model refresh timed out; showing cached models.":"\u6A21\u578B\u5237\u65B0\u8D85\u65F6\uFF1B\u663E\u793A\u7F13\u5B58\u6A21\u578B\u3002","Could not refresh {provider}; showing cached models.":"\u65E0\u6CD5\u5237\u65B0 {provider}\uFF1B\u663E\u793A\u7F13\u5B58\u7684\u6A21\u578B\u3002","Could not refresh {count} model catalogs ({providers}); showing cached models.":"\u65E0\u6CD5\u5237\u65B0 {count} \u4E2A\u6A21\u578B\u76EE\u5F55\uFF08{providers}\uFF09\uFF1B\u663E\u793A\u7F13\u5B58\u7684\u6A21\u578B\u3002","Model catalogs refreshed.":"\u6A21\u578B\u76EE\u5F55\u5DF2\u5237\u65B0\u3002","Could not refresh model catalogs: {error}":"\u65E0\u6CD5\u5237\u65B0\u6A21\u578B\u76EE\u5F55\uFF1A{error}",scoped:"\u4F1A\u8BDD\u5185","Scope:":"\u8303\u56F4\uFF1A","(all/scoped)":"\uFF08\u5168\u90E8/\u4F1A\u8BDD\u5185\uFF09",default:"\u9ED8\u8BA4","Thinking Level":"\u601D\u8003\u7EA7\u522B","{key} sets thinking level":"{key} \u8BBE\u7F6E\u601D\u8003\u7EA7\u522B",subscription:"\u8BA2\u9605","Select provider to configure:":"\u9009\u62E9\u8981\u914D\u7F6E\u7684 provider\uFF1A","Select provider to logout:":"\u9009\u62E9\u8981\u767B\u51FA\u7684 provider\uFF1A","No providers available":"\u65E0\u53EF\u7528 provider","No providers logged in. Use /login first.":"\u6CA1\u6709\u5DF2\u767B\u5F55\u7684 provider\u3002\u8BF7\u5148\u4F7F\u7528 /login\u3002","No matching providers":"\u6CA1\u6709\u5339\u914D\u7684 provider",unconfigured:"\u672A\u914D\u7F6E","subscription configured":"\u5DF2\u914D\u7F6E\u8BA2\u9605","API key configured":"\u5DF2\u914D\u7F6E API key","API key":"API key",configured:"\u5DF2\u914D\u7F6E","env: {source}":"\u73AF\u5883\u53D8\u91CF\uFF1A{source}","Login to {provider}":"\u767B\u5F55 {provider}","Login cancelled":"\u767B\u5F55\u5DF2\u53D6\u6D88","Cmd+click to open":"Cmd+\u70B9\u51FB\u6253\u5F00","Ctrl+click to open":"Ctrl+\u70B9\u51FB\u6253\u5F00","Enter code: {code}":"\u8F93\u5165\u4EE3\u7801\uFF1A{code}","to cancel":"\u53D6\u6D88","e.g., {placeholder}":"\u4F8B\u5982\uFF0C{placeholder}","to cancel,":"\u53D6\u6D88\uFF0C","to submit":"\u63D0\u4EA4","to close":"\u5173\u95ED","Welcome to {name}, the minimal coding agent.":"\u6B22\u8FCE\u4F7F\u7528 {name}\uFF0C\u6781\u7B80\u7F16\u7801 agent\u3002","Pick a theme.":"\u9009\u62E9\u4E00\u4E2A\u4E3B\u9898\u3002","Detected system appearance: {theme}":"\u68C0\u6D4B\u5230\u7CFB\u7EDF\u5916\u89C2\uFF1A{theme}","Opt-in to anonymous usage data sharing?":"\u662F\u5426\u52A0\u5165\u533F\u540D\u4F7F\u7528\u6570\u636E\u5206\u4EAB\uFF1F","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.":`\u9009\u62E9\u52A0\u5165\u540E\u4F1A\u5728 settings.json \u4E2D\u5B58\u50A8\u4E00\u4E2A\u8FFD\u8E2A\u6807\u8BC6\u7B26\uFF0C\u5E76\u542F\u7528\u533F\u540D\u4F7F\u7528\u5206\u6790\u3002
12
+ \u8FD9\u6709\u52A9\u4E8E\u6211\u4EEC\u66F4\u597D\u5730\u8C03\u8BD5\u3001\u590D\u73B0\u5E76\u89E3\u51B3 Agent Forge \u4E2D\u7684\u95EE\u9898\u4E0E\u7F3A\u9677\u3002
13
+ \u4F60\u53EF\u4EE5\u4F7F\u7528 /privacy \u67E5\u770B\u6240\u5206\u4EAB\u7684\u5185\u5BB9\uFF0C\u5E76\u53EF\u968F\u65F6\u5728 settings.json \u4E2D\u66F4\u6539\u3002`,Dark:"\u6DF1\u8272",Light:"\u6D45\u8272","Share anonymous usage data":"\u5206\u4EAB\u533F\u540D\u4F7F\u7528\u6570\u636E","Don't share":"\u4E0D\u5206\u4EAB",navigate:"\u5BFC\u822A",continue:"\u7EE7\u7EED",finish:"\u5B8C\u6210","skip setup":"\u8DF3\u8FC7\u8BBE\u7F6E","catalog {count}":"\u76EE\u5F55 {count}","catalog unavailable":"\u76EE\u5F55\u4E0D\u53EF\u7528",", bounded":"\uFF0C\u5DF2\u622A\u65AD","Plugin manager \xB7 {state}{bounded} \xB7 Enter open":"\u63D2\u4EF6\u7BA1\u7406\u5668 \xB7 {state}{bounded} \xB7 Enter \u6253\u5F00","Plugin manager":"\u63D2\u4EF6\u7BA1\u7406\u5668","Working\u2026":"\u5904\u7406\u4E2D\u2026","Confirm {action} {plugin}@{version}? Enter confirm \xB7 Esc cancel":"\u786E\u8BA4{action} {plugin}@{version}\uFF1FEnter \u786E\u8BA4 \xB7 Esc \u53D6\u6D88","Error: {code}":"\u9519\u8BEF\uFF1A{code}","No plugins available":"\u65E0\u53EF\u7528\u63D2\u4EF6","installed {version}":"\u5DF2\u5B89\u88C5 {version}","Action: {action} \xB7 Tab switch action \xB7 Enter confirm":"\u64CD\u4F5C\uFF1A{action} \xB7 Tab \u5207\u6362\u64CD\u4F5C \xB7 Enter \u786E\u8BA4","Selected plugin is unavailable":"\u6240\u9009\u63D2\u4EF6\u4E0D\u53EF\u7528","(list bounded)":"\uFF08\u5217\u8868\u5DF2\u622A\u65AD\uFF09","\u2191\u2193 navigate \xB7 Esc close":"\u2191\u2193 \u5BFC\u822A \xB7 Esc \u5173\u95ED","Plugins: unsupported (host selection entry not injected)":"\u63D2\u4EF6\uFF1A\u4E0D\u652F\u6301\uFF08\u5BBF\u4E3B\u9009\u62E9\u5165\u53E3\u672A\u6CE8\u5165\uFF09","Plugins \xB7 {profile}":"\u63D2\u4EF6 \xB7 {profile}","Enter/Space toggle \xB7 Esc close":"Enter/\u7A7A\u683C \u5207\u6362 \xB7 Esc \u5173\u95ED","selected {selected}, disabled {disabled}":"\u5DF2\u9009 {selected}\uFF0C\u5DF2\u7981\u7528 {disabled}","selection pending":"\u9009\u62E9\u5F85\u5B9A","selection not loaded":"\u9009\u62E9\u672A\u52A0\u8F7D","catalog {count} ({ready} ready, {unavailable} unavailable)":"\u76EE\u5F55 {count}\uFF08{ready} \u5C31\u7EEA\uFF0C{unavailable} \u4E0D\u53EF\u7528\uFF09","host store":"\u5BBF\u4E3B\u5B58\u50A8","open via host callback":"\u7ECF\u5BBF\u4E3B\u56DE\u8C03\u6253\u5F00","Plugins: profile {profile} \xB7 {selection} \xB7 {catalog} \xB7 {suffix}":"\u63D2\u4EF6\uFF1A\u914D\u7F6E\u6587\u4EF6 {profile} \xB7 {selection} \xB7 {catalog} \xB7 {suffix}","Type to search:":"\u8F93\u5165\u4EE5\u641C\u7D22\uFF1A",move:"\u79FB\u52A8",page:"\u7FFB\u9875",branch:"\u5206\u652F",copy:"\u590D\u5236",label:"\u6807\u7B7E","label time":"\u6807\u7B7E\u65F6\u95F4",filters:"\u8FC7\u6EE4\u5668",cycle:"\u5FAA\u73AF","Label (empty to remove):":"\u6807\u7B7E\uFF08\u7559\u7A7A\u79FB\u9664\uFF09\uFF1A","Session Tree":"\u4F1A\u8BDD\u6811","[no-tools]":"[\u65E0\u5DE5\u5177]","[user]":"[\u7528\u6237]","[labeled]":"[\u5DF2\u6807\u6CE8]","[all]":"[\u5168\u90E8]","[+label time]":"[+\u6807\u7B7E\u65F6\u95F4]","No entries found":"\u672A\u627E\u5230\u6761\u76EE"};var tuiInteractiveMisc={"Launching external editor: {command}":"\u6B63\u5728\u542F\u52A8\u5916\u90E8\u7F16\u8F91\u5668\uFF1A{command}","Agent Forge will resume when the editor exits.":"\u7F16\u8F91\u5668\u9000\u51FA\u540E Agent Forge \u5C06\u7EE7\u7EED\u3002","Sign in with an account":"\u4F7F\u7528\u8D26\u53F7\u767B\u5F55","Sign in with an API key":"\u4F7F\u7528 API key \u767B\u5F55","No login methods available.":"\u6CA1\u6709\u53EF\u7528\u7684\u767B\u5F55\u65B9\u5F0F\u3002","Select authentication method for {name}:":"\u4E3A {name} \u9009\u62E9\u8BA4\u8BC1\u65B9\u5F0F\uFF1A","Select authentication method:":"\u9009\u62E9\u8BA4\u8BC1\u65B9\u5F0F\uFF1A","No subscription providers available.":"\u6CA1\u6709\u53EF\u7528\u7684\u8BA2\u9605\u63D0\u4F9B\u5546\u3002","No API key providers available.":"\u6CA1\u6709\u53EF\u7528\u7684 API key \u63D0\u4F9B\u5546\u3002","No login providers available.":"\u6CA1\u6709\u53EF\u7528\u7684\u767B\u5F55\u63D0\u4F9B\u5546\u3002","Could not read stored credentials: {error}":"\u65E0\u6CD5\u8BFB\u53D6\u5DF2\u5B58\u51ED\u8BC1\uFF1A{error}","No stored credentials to remove. /logout only removes credentials saved by /login; environment variables and models.json config are unchanged.":"\u6CA1\u6709\u53EF\u79FB\u9664\u7684\u5DF2\u5B58\u51ED\u8BC1\u3002/logout \u53EA\u79FB\u9664 /login \u4FDD\u5B58\u7684\u51ED\u8BC1\uFF1B\u73AF\u5883\u53D8\u91CF\u4E0E models.json \u914D\u7F6E\u4E0D\u53D7\u5F71\u54CD\u3002","Logged out of {name}":"\u5DF2\u767B\u51FA {name}","Removed stored API key for {name}. Environment variables and models.json config are unchanged.":"\u5DF2\u79FB\u9664 {name} \u7684\u5DF2\u5B58 API key\u3002\u73AF\u5883\u53D8\u91CF\u4E0E models.json \u914D\u7F6E\u4E0D\u53D7\u5F71\u54CD\u3002","Credentials removed for {name}, but local model state could not be synchronized: {error}":"\u5DF2\u79FB\u9664 {name} \u7684\u51ED\u8BC1\uFF0C\u4F46\u672C\u5730\u6A21\u578B\u72B6\u6001\u672A\u80FD\u540C\u6B65\uFF1A{error}","Logout failed: {error}":"\u767B\u51FA\u5931\u8D25\uFF1A{error}","Logged in to {name}":"\u5DF2\u767B\u5F55 {name}","Saved API key for {name}":"\u5DF2\u4FDD\u5B58 {name} \u7684 API key","{action}, but no models are available for that provider. Use /model to select a model.":"{action}\uFF0C\u4F46\u8BE5\u63D0\u4F9B\u5546\u6CA1\u6709\u53EF\u7528\u6A21\u578B\u3002\u4F7F\u7528 /model \u9009\u62E9\u6A21\u578B\u3002","{action}, but selecting its default model failed: {error}. Use /model to select a model.":"{action}\uFF0C\u4F46\u9009\u62E9\u5176\u9ED8\u8BA4\u6A21\u578B\u5931\u8D25\uFF1A{error}\u3002\u4F7F\u7528 /model \u9009\u62E9\u6A21\u578B\u3002","{action}. Selected {modelId}. Credentials saved to {path}":"{action}\u3002\u5DF2\u9009\u62E9 {modelId}\u3002\u51ED\u8BC1\u5DF2\u4FDD\u5B58\u5230 {path}","{action}. Credentials saved to {path}":"{action}\u3002\u51ED\u8BC1\u5DF2\u4FDD\u5B58\u5230 {path}","{action}. Credentials saved to {path}. Refreshing model catalog\u2026":"{action}\u3002\u51ED\u8BC1\u5DF2\u4FDD\u5B58\u5230 {path}\u3002\u6B63\u5728\u5237\u65B0\u6A21\u578B\u76EE\u5F55\u2026","{action}, but its model catalog refresh timed out; using cached models.":"{action}\uFF0C\u4F46\u5176\u6A21\u578B\u76EE\u5F55\u5237\u65B0\u8D85\u65F6\uFF1B\u4F7F\u7528\u7F13\u5B58\u6A21\u578B\u3002","{action}, but its model catalog could not be refreshed; using cached models.":"{action}\uFF0C\u4F46\u5176\u6A21\u578B\u76EE\u5F55\u65E0\u6CD5\u5237\u65B0\uFF1B\u4F7F\u7528\u7F13\u5B58\u6A21\u578B\u3002","{action}, but its model catalog could not be refreshed: {error}":"{action}\uFF0C\u4F46\u5176\u6A21\u578B\u76EE\u5F55\u65E0\u6CD5\u5237\u65B0\uFF1A{error}",'{action}, but no default model is configured for provider "{providerId}". Use /model to select a model.':'{action}\uFF0C\u4F46\u63D0\u4F9B\u5546 "{providerId}" \u672A\u914D\u7F6E\u9ED8\u8BA4\u6A21\u578B\u3002\u4F7F\u7528 /model \u9009\u62E9\u6A21\u578B\u3002','{action}, but its default model "{modelId}" is not available. Use /model to select a model.':'{action}\uFF0C\u4F46\u5176\u9ED8\u8BA4\u6A21\u578B "{modelId}" \u4E0D\u53EF\u7528\u3002\u4F7F\u7528 /model \u9009\u62E9\u6A21\u578B\u3002',"{name} setup":"{name} \u8BBE\u7F6E","{method} is configured outside {appName}.":"{method} \u5728 {appName} \u4E4B\u5916\u914D\u7F6E\u3002",Authentication:"\u8BA4\u8BC1","You can also use an AWS profile, IAM keys, or role-based credentials.":"\u4E5F\u53EF\u4EE5\u4F7F\u7528 AWS profile\u3001IAM \u5BC6\u94A5\u6216\u57FA\u4E8E\u89D2\u8272\u7684\u51ED\u8BC1\u3002","See:":"\u53C2\u89C1\uFF1A","Saved API key for {name}, but local model state could not be synchronized: {error}":"\u5DF2\u4FDD\u5B58 {name} \u7684 API key\uFF0C\u4F46\u672C\u5730\u6A21\u578B\u72B6\u6001\u672A\u80FD\u540C\u6B65\uFF1A{error}","Failed to save API key for {name}: {error}":"\u4FDD\u5B58 {name} \u7684 API key \u5931\u8D25\uFF1A{error}","Waiting for authentication...":"\u7B49\u5F85\u8BA4\u8BC1...","Logged in to {name}, but local model state could not be synchronized: {error}":"\u5DF2\u767B\u5F55 {name}\uFF0C\u4F46\u672C\u5730\u6A21\u578B\u72B6\u6001\u672A\u80FD\u540C\u6B65\uFF1A{error}","Failed to login to {name}: {error}":"\u767B\u5F55 {name} \u5931\u8D25\uFF1A{error}","Product Metrics":"\u4EA7\u54C1\u6307\u6807","whole journal":"\u5168\u90E8\u8BB0\u5F55","last {count} turns":"\u6700\u8FD1 {count} \u8F6E","Window:":"\u7A97\u53E3\uFF1A","({count} sampled)":"\uFF08\u91C7\u6837 {count} \u8F6E\uFF09","Turns:":"\u8F6E\u6B21\uFF1A","{count} total, {succeeded} succeeded":"\u5171 {count} \u6B21\uFF0C\u6210\u529F {succeeded} \u6B21","Turn duration:":"\u8F6E\u6B21\u8017\u65F6\uFF1A","{calls} calls, {errors} errors":"{calls} \u6B21\u8C03\u7528\uFF0C{errors} \u6B21\u9519\u8BEF","Top errors:":"\u9AD8\u9891\u9519\u8BEF\uFF1A","{calls} calls, {hits} hits ({percent})":"{calls} \u6B21\u8C03\u7528\uFF0C\u547D\u4E2D {hits} \u6B21\uFF08{percent}\uFF09","not sampled ({reason})":"\u672A\u91C7\u6837\uFF08{reason}\uFF09","Memory recall:":"\u8BB0\u5FC6\u53EC\u56DE\uFF1A","{count} samples, p95 {p95}":"{count} \u4E2A\u6837\u672C\uFF0Cp95 {p95}","Cancel latency:":"\u53D6\u6D88\u5EF6\u8FDF\uFF1A","{count} tokens":"{count} tokens","Tokens:":"Tokens\uFF1A","(skipped)":"\uFF08\u5DF2\u8DF3\u8FC7\uFF09",'"{name}" collision:':'"{name}" \u51B2\u7A81\uFF1A',"{action}. No llama.cpp models are loaded. Use /llama to load a model, then /model to select it.":"{action}\u3002\u6CA1\u6709\u5DF2\u52A0\u8F7D\u7684 llama.cpp \u6A21\u578B\u3002\u4F7F\u7528 /llama \u52A0\u8F7D\u6A21\u578B\uFF0C\u518D\u7528 /model \u9009\u62E9\u3002","{action}. Use /model to select a loaded llama.cpp model, or /llama to manage models.":"{action}\u3002\u4F7F\u7528 /model \u9009\u62E9\u5DF2\u52A0\u8F7D\u7684 llama.cpp \u6A21\u578B\uFF0C\u6216\u7528 /llama \u7BA1\u7406\u6A21\u578B\u3002","Fell back to dark theme.":"\u5DF2\u56DE\u9000\u5230\u6697\u8272\u4E3B\u9898\u3002",'Failed to load theme "{name}": {error}':'\u52A0\u8F7D\u4E3B\u9898 "{name}" \u5931\u8D25\uFF1A{error}'};var tuiSelfOwned={'Unknown suite "{suiteId}". Available suites: {suites}.':'\u672A\u77E5\u7684 suite "{suiteId}"\u3002\u53EF\u7528 suite: {suites}\u3002',"Suite set to {suiteId} \u2014 applies to the next new session (/new); an explicit --suite or AGENT_FORGE_SUITE startup keeps overriding it":"suite \u5DF2\u8BBE\u4E3A {suiteId} \u2014 \u4E8E\u4E0B\u4E00\u4E2A\u65B0\u4F1A\u8BDD\u751F\u6548\uFF08/new\uFF09\uFF1B\u663E\u5F0F --suite \u6216 AGENT_FORGE_SUITE \u542F\u52A8\u503C\u6301\u7EED\u8986\u76D6","Select Suite":"\u9009\u62E9 Suite","The next new session (/new) uses the selected suite; this session keeps its current suite":"\u4E0B\u4E00\u4E2A\u65B0\u4F1A\u8BDD\uFF08/new\uFF09\u4F7F\u7528\u6240\u9009 suite\uFF1B\u672C\u4F1A\u8BDD\u4FDD\u6301\u5F53\u524D suite","current session":"\u5F53\u524D\u4F1A\u8BDD",'Unknown thinking level "{level}". Available levels: {levels}.':'\u672A\u77E5\u7684\u601D\u8003\u7B49\u7EA7 "{level}"\u3002\u53EF\u7528\u7B49\u7EA7: {levels}\u3002',"Default thinking level: {level}":"\u9ED8\u8BA4\u601D\u8003\u7B49\u7EA7\uFF1A{level}","Thinking level: {level}":"\u601D\u8003\u7EA7\u522B\uFF1A{level}","Model: {id}":"\u6A21\u578B\uFF1A{id}","Refreshing model catalogs\u2026":"\u6B63\u5728\u5237\u65B0\u6A21\u578B\u76EE\u5F55\u2026","Model refresh timed out; searching cached models.":"\u6A21\u578B\u5237\u65B0\u8D85\u65F6\uFF1B\u6B63\u5728\u641C\u7D22\u7F13\u5B58\u6A21\u578B\u3002","Could not refresh {providers}; searching cached models.":"\u65E0\u6CD5\u5237\u65B0 {providers}\uFF1B\u6B63\u5728\u641C\u7D22\u7F13\u5B58\u6A21\u578B\u3002","Could not refresh model catalogs: {message}":"\u65E0\u6CD5\u5237\u65B0\u6A21\u578B\u76EE\u5F55\uFF1A{message}","Default model: {provider}/{id}":"\u9ED8\u8BA4\u6A21\u578B\uFF1A{provider}/{id}","Model selection saved to settings":"\u6A21\u578B\u9009\u62E9\u5DF2\u4FDD\u5B58\u5230\u8BBE\u7F6E","Model refresh timed out; showing cached models.":"\u6A21\u578B\u5237\u65B0\u8D85\u65F6\uFF1B\u663E\u793A\u7F13\u5B58\u6A21\u578B\u3002","Could not refresh {providers}; showing cached models.":"\u65E0\u6CD5\u5237\u65B0 {providers}\uFF1B\u663E\u793A\u7F13\u5B58\u6A21\u578B\u3002","Model catalogs refreshed.":"\u6A21\u578B\u76EE\u5F55\u5DF2\u5237\u65B0\u3002","No messages to fork from":"\u6CA1\u6709\u53EF\u4F9B fork \u7684\u6D88\u606F","Forked to new session":"\u5DF2 fork \u5230\u65B0\u4F1A\u8BDD","Nothing to clone yet":"\u5C1A\u65E0\u53EF\u514B\u9686\u7684\u5185\u5BB9","Cloned to new session":"\u5DF2\u514B\u9686\u5230\u65B0\u4F1A\u8BDD","Workflow Overview":"\u5DE5\u4F5C\u6D41\u603B\u89C8",panorama:"\u5168\u666F","transition log (newest first)":"\u6D41\u8F6C\u65E5\u5FD7\uFF08\u6700\u65B0\u5728\u524D\uFF09",move:"\u79FB\u52A8",log:"\u65E5\u5FD7",approve:"\u6279\u51C6",reject:"\u62D2\u7EDD",skip:"\u8DF3\u8FC7",cancel:"\u53D6\u6D88",close:"\u5173\u95ED","no workflow transitions recorded":"\u672A\u8BB0\u5F55\u4EFB\u4F55\u5DE5\u4F5C\u6D41\u6D41\u8F6C","no workflow.state entry in this session":"\u672C\u4F1A\u8BDD\u6CA1\u6709 workflow.state \u6761\u76EE","no workflows in this session; create one with workflow_set":"\u672C\u4F1A\u8BDD\u6CA1\u6709\u5DE5\u4F5C\u6D41\uFF1B\u53EF\u7528 workflow_set \u521B\u5EFA",'workflow "{title}" ({workflowId}) \u2014 {status} \xB7 revision {revision} \xB7 active {activeCount}/{maxActiveStages} \xB7 retreats {retreatCount}/{maxRetreats}':'\u5DE5\u4F5C\u6D41 "{title}" ({workflowId}) \u2014 {status} \xB7 \u4FEE\u8BA2 {revision} \xB7 \u6D3B\u8DC3 {activeCount}/{maxActiveStages} \xB7 \u56DE\u9000 {retreatCount}/{maxRetreats}',"goal: {goalId}":"\u76EE\u6807\uFF1A{goalId}","diagnostics:":"\u8BCA\u65AD:","(shown above)":"\uFF08\u89C1\u4E0A\u6587\uFF09","waiting: {condition}":"\u7B49\u5F85\uFF1A{condition}","\xB7 attempts {count}":"\xB7 \u5C1D\u8BD5 {count}","\xB7 evidence {count}":"\xB7 \u8BC1\u636E {count}","scope:{conflict}":"\u5199\u5165\u8303\u56F4\u51B2\u7A81\uFF1A{conflict}","No workflow to cancel":"\u6CA1\u6709\u53EF\u53D6\u6D88\u7684\u5DE5\u4F5C\u6D41","Select a stage row first":"\u8BF7\u5148\u9009\u4E2D\u4E00\u4E2A\u9636\u6BB5\u884C","Subagent Sessions":"\u5B50\u4EE3\u7406\u4F1A\u8BDD","this session's subagents (newest first)":"\u672C\u4F1A\u8BDD\u7684\u5B50\u4EE3\u7406\uFF08\u6700\u65B0\u5728\u524D\uFF09","transcript (read-only)":"\u4F1A\u8BDD\u8BB0\u5F55\uFF08\u53EA\u8BFB\uFF09",detail:"\u8BE6\u60C5",open:"\u6253\u5F00",list:"\u5217\u8868",back:"\u8FD4\u56DE","session {sessionId}":"\u4F1A\u8BDD {sessionId}","role {role}":"\u89D2\u8272 {role}","created {createdAt}":"\u521B\u5EFA\u4E8E {createdAt}","{count} entries":"{count} \u6761\u76EE",truncated:"\u5DF2\u622A\u65AD","no session selected":"\u672A\u9009\u62E9\u4F1A\u8BDD","transcript unavailable (missing or unreadable)":"\u4F1A\u8BDD\u8BB0\u5F55\u4E0D\u53EF\u7528\uFF08\u7F3A\u5931\u6216\u4E0D\u53EF\u8BFB\uFF09","no subagent sessions in this session":"\u672C\u4F1A\u8BDD\u6CA1\u6709\u5B50\u4EE3\u7406\u4F1A\u8BDD"};var zhCn={...common,...example,...interactiveMode,...slashCommands,...tuiSelfOwned,...tuiComponentsSelectors,...tuiComponentsMisc,...tuiInteractiveMisc,...cli,...coreErrors,...coreContractExtensions,...coreContractCore,...coreContractPlugins,...coreContractFinal,...keybindings,...tuiBuiltin};var LANGUAGE_ENV_VAR="AGENT_FORGE_I18N_LANG",DEFAULT_LANGUAGE="zh-CN",dictionaries={"zh-CN":zhCn},injectedLanguage;function isValidLanguage(value){return value==="zh-CN"||value==="en"}function resolveLanguage(){let envLanguage=process.env[LANGUAGE_ENV_VAR];return isValidLanguage(envLanguage)?envLanguage:injectedLanguage??DEFAULT_LANGUAGE}function interpolate(template,params){return params?template.replace(/\{([^{}]+)\}/g,(match,name)=>{let value=params[name];return value===void 0?match:String(value)}):template}function t(key,params){let normalizedKey=key.trim(),language=resolveLanguage();if(language==="en")return interpolate(normalizedKey,params);let template=dictionaries[language]?.[normalizedKey]??normalizedKey;return interpolate(template,params)}function readOrientationFromTiff(bytes,tiffStart){if(tiffStart+8>bytes.length)return 1;let le=(bytes[tiffStart]<<8|bytes[tiffStart+1])===18761,read16=pos=>le?bytes[pos]|bytes[pos+1]<<8:bytes[pos]<<8|bytes[pos+1],ifdOffset=(pos=>le?bytes[pos]|bytes[pos+1]<<8|bytes[pos+2]<<16|bytes[pos+3]<<24:(bytes[pos]<<24|bytes[pos+1]<<16|bytes[pos+2]<<8|bytes[pos+3])>>>0)(tiffStart+4),ifdStart=tiffStart+ifdOffset;if(ifdStart+2>bytes.length)return 1;let entryCount=read16(ifdStart);for(let i=0;i<entryCount;i++){let entryPos=ifdStart+2+i*12;if(entryPos+12>bytes.length)return 1;if(read16(entryPos)===274){let value=read16(entryPos+8);return value>=1&&value<=8?value:1}}return 1}function findJpegTiffOffset(bytes){let offset=2;for(;offset<bytes.length-1;){if(bytes[offset]!==255)return-1;let marker=bytes[offset+1];if(marker===255){offset++;continue}if(marker===225){if(offset+4>=bytes.length)return-1;let segmentStart=offset+4;if(segmentStart+6>bytes.length)return-1;if(hasExifHeader(bytes,segmentStart))return segmentStart+6}if(offset+4>bytes.length)return-1;let length=bytes[offset+2]<<8|bytes[offset+3];offset+=2+length}return-1}function findWebpTiffOffset(bytes){let offset=12;for(;offset+8<=bytes.length;){let chunkId=String.fromCharCode(bytes[offset],bytes[offset+1],bytes[offset+2],bytes[offset+3]),chunkSize=bytes[offset+4]|bytes[offset+5]<<8|bytes[offset+6]<<16|bytes[offset+7]<<24,dataStart=offset+8;if(chunkId==="EXIF")return dataStart+chunkSize>bytes.length?-1:chunkSize>=6&&hasExifHeader(bytes,dataStart)?dataStart+6:dataStart;offset=dataStart+chunkSize+chunkSize%2}return-1}function hasExifHeader(bytes,offset){return bytes[offset]===69&&bytes[offset+1]===120&&bytes[offset+2]===105&&bytes[offset+3]===102&&bytes[offset+4]===0&&bytes[offset+5]===0}function getExifOrientation(bytes){let tiffOffset=-1;return bytes.length>=2&&bytes[0]===255&&bytes[1]===216?tiffOffset=findJpegTiffOffset(bytes):bytes.length>=12&&bytes[0]===82&&bytes[1]===73&&bytes[2]===70&&bytes[3]===70&&bytes[8]===87&&bytes[9]===69&&bytes[10]===66&&bytes[11]===80&&(tiffOffset=findWebpTiffOffset(bytes)),tiffOffset===-1?1:readOrientationFromTiff(bytes,tiffOffset)}function rotate90(photon,image,dstIndex){let w=image.get_width(),h=image.get_height(),src=image.get_raw_pixels(),dst=new Uint8Array(src.length);for(let y=0;y<h;y++)for(let x=0;x<w;x++){let srcIdx=(y*w+x)*4,dstIdx=dstIndex(x,y,w,h)*4;dst[dstIdx]=src[srcIdx],dst[dstIdx+1]=src[srcIdx+1],dst[dstIdx+2]=src[srcIdx+2],dst[dstIdx+3]=src[srcIdx+3]}return new photon.PhotonImage(dst,h,w)}function applyExifOrientation(photon,image,originalBytes){let orientation=getExifOrientation(originalBytes);if(orientation===1)return image;switch(orientation){case 2:return photon.fliph(image),image;case 3:return photon.fliph(image),photon.flipv(image),image;case 4:return photon.flipv(image),image;case 5:{let rotated=rotate90(photon,image,(x,y,_w,h)=>x*h+(h-1-y));return photon.fliph(rotated),rotated}case 6:return rotate90(photon,image,(x,y,_w,h)=>x*h+(h-1-y));case 7:{let rotated=rotate90(photon,image,(x,y,w,h)=>(w-1-x)*h+y);return photon.fliph(rotated),rotated}case 8:return rotate90(photon,image,(x,y,w,h)=>(w-1-x)*h+y);default:return image}}import{createRequire}from"module";import*as path from"path";import{fileURLToPath}from"url";var require2=createRequire(import.meta.url),fs=require2("fs"),WASM_FILENAME="photon_rs_bg.wasm",photonModule=null,loadPromise=null;function pathOrNull(file){return typeof file=="string"?file:file instanceof URL?fileURLToPath(file):null}function getFallbackWasmPaths(){let execDir=path.dirname(process.execPath);return[path.join(execDir,WASM_FILENAME),path.join(execDir,"photon",WASM_FILENAME),path.join(process.cwd(),WASM_FILENAME)]}function patchPhotonWasmRead(){let originalReadFileSync=fs.readFileSync.bind(fs),fallbackPaths=getFallbackWasmPaths(),mutableFs=fs,patchedReadFileSync=((...args)=>{let[file,options]=args;if(pathOrNull(file)?.endsWith(WASM_FILENAME))try{return originalReadFileSync(...args)}catch(error){let err=error;if(err?.code&&err.code!=="ENOENT")throw error;for(let fallbackPath of fallbackPaths)if(fs.existsSync(fallbackPath))return options===void 0?originalReadFileSync(fallbackPath):originalReadFileSync(fallbackPath,options);throw error}return originalReadFileSync(...args)});try{mutableFs.readFileSync=patchedReadFileSync}catch{Object.defineProperty(fs,"readFileSync",{value:patchedReadFileSync,writable:!0,configurable:!0})}return()=>{try{mutableFs.readFileSync=originalReadFileSync}catch{Object.defineProperty(fs,"readFileSync",{value:originalReadFileSync,writable:!0,configurable:!0})}}}async function loadPhoton(){return photonModule||loadPromise||(loadPromise=(async()=>{let restoreReadFileSync=patchPhotonWasmRead();try{return photonModule=await import("@silvia-odwyer/photon-node"),photonModule}catch{return photonModule=null,photonModule}finally{restoreReadFileSync()}})(),loadPromise)}var DEFAULT_MAX_BYTES=4.5*1024*1024,DEFAULT_OPTIONS={maxWidth:2e3,maxHeight:2e3,maxBytes:DEFAULT_MAX_BYTES,jpegQuality:80};function encodeCandidate(buffer,mimeType){let data=Buffer.from(buffer).toString("base64");return{data,encodedSize:Buffer.byteLength(data,"utf-8"),mimeType}}async function resizeImageInProcess(inputBytes,mimeType,options){let opts={...DEFAULT_OPTIONS,...options},inputBase64Size=Math.ceil(inputBytes.byteLength/3)*4,photon=await loadPhoton();if(!photon)return null;let image;try{let tryEncodings=function(width,height,jpegQualities){let resized=photon.resize(image,width,height,photon.SamplingFilter.Lanczos3);try{let candidates=[encodeCandidate(resized.get_bytes(),"image/png")];for(let quality of jpegQualities)candidates.push(encodeCandidate(resized.get_bytes_jpeg(quality),"image/jpeg"));return candidates}finally{resized.free()}},rawImage=photon.PhotonImage.new_from_byteslice(inputBytes);image=applyExifOrientation(photon,rawImage,inputBytes),image!==rawImage&&rawImage.free();let originalWidth=image.get_width(),originalHeight=image.get_height(),format=mimeType.split("/")[1]??"png";if(originalWidth<=opts.maxWidth&&originalHeight<=opts.maxHeight&&inputBase64Size<opts.maxBytes)return{data:Buffer.from(inputBytes).toString("base64"),mimeType:mimeType||`image/${format}`,originalWidth,originalHeight,width:originalWidth,height:originalHeight,wasResized:!1};let targetWidth=originalWidth,targetHeight=originalHeight;targetWidth>opts.maxWidth&&(targetHeight=Math.round(targetHeight*opts.maxWidth/targetWidth),targetWidth=opts.maxWidth),targetHeight>opts.maxHeight&&(targetWidth=Math.round(targetWidth*opts.maxHeight/targetHeight),targetHeight=opts.maxHeight);let qualitySteps=Array.from(new Set([opts.jpegQuality,85,70,55,40])),currentWidth=targetWidth,currentHeight=targetHeight;for(;;){let candidates=tryEncodings(currentWidth,currentHeight,qualitySteps);for(let candidate of candidates)if(candidate.encodedSize<opts.maxBytes)return{data:candidate.data,mimeType:candidate.mimeType,originalWidth,originalHeight,width:currentWidth,height:currentHeight,wasResized:!0};if(currentWidth===1&&currentHeight===1)break;let nextWidth=currentWidth===1?1:Math.max(1,Math.floor(currentWidth*.75)),nextHeight=currentHeight===1?1:Math.max(1,Math.floor(currentHeight*.75));if(nextWidth===currentWidth&&nextHeight===currentHeight)break;currentWidth=nextWidth,currentHeight=nextHeight}return null}catch{return null}finally{image&&image.free()}}function isResizeImageWorkerRequest(value){if(!value||typeof value!="object")return!1;let record=value;return record.inputBytes instanceof Uint8Array&&typeof record.mimeType=="string"}var port=parentPort;if(!port)throw new Error(t("image resize worker requires parentPort"));port.once("message",message=>{(async()=>{try{if(!isResizeImageWorkerRequest(message))throw new Error(t("Invalid image resize worker request"));let response={result:await resizeImageInProcess(message.inputBytes,message.mimeType,message.options)};port.postMessage(response)}catch(error){let response={error:error instanceof Error?error.message:String(error)};port.postMessage(response)}})()});