@armadra/agent 0.5.1 → 0.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (486) hide show
  1. package/CHANGELOG.md +203 -304
  2. package/CHANGELOG.zh-CN.md +462 -0
  3. package/README.md +408 -364
  4. package/README.zh-CN.md +705 -0
  5. package/dist/agent/session-plan.js +2 -2
  6. package/dist/agent/session-state.d.ts +3 -0
  7. package/dist/agent/session-state.js +20 -0
  8. package/dist/agent/session-subagent.d.ts +15 -1
  9. package/dist/agent/session-subagent.js +26 -3
  10. package/dist/agent/session-telemetry.d.ts +16 -2
  11. package/dist/agent/session-telemetry.js +29 -7
  12. package/dist/agent/session-tools.js +5 -2
  13. package/dist/agent/session-trace-writer.d.ts +27 -0
  14. package/dist/agent/session-trace-writer.js +253 -0
  15. package/dist/agent/session.d.ts +2 -0
  16. package/dist/agent/session.js +12 -0
  17. package/dist/agent/subagent-direct.d.ts +20 -0
  18. package/dist/agent/subagent-direct.js +76 -0
  19. package/dist/agent/subagent-registry.d.ts +8 -1
  20. package/dist/agent/subagent-registry.js +28 -1
  21. package/dist/agent/system-prompt.d.ts +3 -1
  22. package/dist/agent/system-prompt.js +3 -0
  23. package/dist/agent/tool-runner.d.ts +2 -1
  24. package/dist/agent/tool-runner.js +5 -4
  25. package/dist/agent/types-w6.d.ts +39 -0
  26. package/dist/agent/types-w6.js +4 -0
  27. package/dist/agent/types.d.ts +5 -2
  28. package/dist/agents/external.js +1 -1
  29. package/dist/agents/task-record.d.ts +74 -1
  30. package/dist/agents/task-record.js +100 -0
  31. package/dist/ai/apis/cache-params.js +2 -1
  32. package/dist/ai/apis/chatgpt-backend.d.ts +52 -0
  33. package/dist/ai/apis/chatgpt-backend.js +224 -0
  34. package/dist/ai/apis/chatgpt-rate-limits.d.ts +26 -0
  35. package/dist/ai/apis/chatgpt-rate-limits.js +91 -0
  36. package/dist/ai/apis/openai-responses-request.d.ts +2 -1
  37. package/dist/ai/apis/openai-responses-request.js +8 -2
  38. package/dist/ai/apis/openai-responses.d.ts +2 -0
  39. package/dist/ai/apis/openai-responses.js +51 -16
  40. package/dist/ai/overflow.d.ts +1 -1
  41. package/dist/ai/overflow.js +10 -7
  42. package/dist/ai/providers/auth.d.ts +15 -2
  43. package/dist/ai/providers/auth.js +69 -2
  44. package/dist/ai/providers/builtin.js +27 -0
  45. package/dist/ai/providers/catalog-data.js +1 -0
  46. package/dist/ai/providers/discovered-cache.d.ts +48 -0
  47. package/dist/ai/providers/discovered-cache.js +102 -0
  48. package/dist/ai/providers/enrich.js +2 -7
  49. package/dist/ai/providers/model-visibility.d.ts +33 -0
  50. package/dist/ai/providers/model-visibility.js +70 -0
  51. package/dist/ai/providers/models-dev-cache.js +15 -19
  52. package/dist/ai/providers/models-dev-snapshot.js +8 -7
  53. package/dist/ai/providers/models-dev.js +5 -15
  54. package/dist/ai/providers/registry.d.ts +2 -0
  55. package/dist/ai/providers/registry.js +6 -1
  56. package/dist/ai/providers/suggest.js +2 -16
  57. package/dist/ai/types.d.ts +27 -1
  58. package/dist/auth/chatgpt/backend-client.d.ts +26 -0
  59. package/dist/auth/chatgpt/backend-client.js +74 -0
  60. package/dist/auth/chatgpt/claims.d.ts +17 -0
  61. package/dist/auth/chatgpt/claims.js +46 -0
  62. package/dist/auth/chatgpt/cli.d.ts +35 -0
  63. package/dist/auth/chatgpt/cli.js +279 -0
  64. package/dist/auth/chatgpt/doctor.d.ts +17 -0
  65. package/dist/auth/chatgpt/doctor.js +36 -0
  66. package/dist/auth/chatgpt/host-id.d.ts +7 -0
  67. package/dist/auth/chatgpt/host-id.js +26 -0
  68. package/dist/auth/chatgpt/login.d.ts +30 -0
  69. package/dist/auth/chatgpt/login.js +130 -0
  70. package/dist/auth/chatgpt/presets.d.ts +66 -0
  71. package/dist/auth/chatgpt/presets.js +120 -0
  72. package/dist/auth/chatgpt/quota-text.d.ts +13 -0
  73. package/dist/auth/chatgpt/quota-text.js +36 -0
  74. package/dist/auth/oauth/browser.d.ts +12 -0
  75. package/dist/auth/oauth/browser.js +27 -0
  76. package/dist/auth/oauth/callback-server.d.ts +47 -0
  77. package/dist/auth/oauth/callback-server.js +147 -0
  78. package/dist/auth/oauth/flows.d.ts +62 -0
  79. package/dist/auth/oauth/flows.js +113 -0
  80. package/dist/auth/oauth/jwt.d.ts +24 -0
  81. package/dist/auth/oauth/jwt.js +81 -0
  82. package/dist/auth/oauth/live.d.ts +21 -0
  83. package/dist/auth/oauth/live.js +25 -0
  84. package/dist/auth/oauth/oidc.d.ts +26 -0
  85. package/dist/auth/oauth/oidc.js +72 -0
  86. package/dist/auth/oauth/pkce.d.ts +15 -0
  87. package/dist/auth/oauth/pkce.js +20 -0
  88. package/dist/auth/oauth/refresh.d.ts +35 -0
  89. package/dist/auth/oauth/refresh.js +129 -0
  90. package/dist/auth/oauth/token-client.d.ts +33 -0
  91. package/dist/auth/oauth/token-client.js +121 -0
  92. package/dist/auth/oauth/token-store.d.ts +23 -0
  93. package/dist/auth/oauth/token-store.js +125 -0
  94. package/dist/auth/testing/fake-oauth.d.ts +73 -0
  95. package/dist/auth/testing/fake-oauth.js +271 -0
  96. package/dist/auth/testing/refresh-child.d.ts +5 -0
  97. package/dist/auth/testing/refresh-child.js +16 -0
  98. package/dist/bundle/ama.cjs +26532 -11045
  99. package/dist/checkpoints/backend.js +6 -5
  100. package/dist/checkpoints/restore.js +3 -2
  101. package/dist/checkpoints/settings.js +2 -1
  102. package/dist/checkpoints/shadow-git.js +7 -6
  103. package/dist/checkpoints/shadow-restore.js +3 -2
  104. package/dist/checkpoints/tracker.js +4 -3
  105. package/dist/cli/args.d.ts +9 -2
  106. package/dist/cli/args.js +74 -27
  107. package/dist/cli/bootstrap.js +53 -31
  108. package/dist/cli/choice-prompt.js +8 -6
  109. package/dist/cli/codemode-notice.js +2 -2
  110. package/dist/cli/compose-agents.js +2 -1
  111. package/dist/cli/compose-extensions.js +2 -0
  112. package/dist/cli/compose-memory.d.ts +53 -0
  113. package/dist/cli/compose-memory.js +127 -0
  114. package/dist/cli/compose-providers.d.ts +6 -0
  115. package/dist/cli/compose-providers.js +38 -2
  116. package/dist/cli/compose-session.d.ts +5 -0
  117. package/dist/cli/compose-session.js +27 -13
  118. package/dist/cli/compose-store.d.ts +2 -0
  119. package/dist/cli/compose-store.js +9 -5
  120. package/dist/cli/compose.d.ts +2 -0
  121. package/dist/cli/compose.js +13 -5
  122. package/dist/cli/default-model.d.ts +0 -2
  123. package/dist/cli/default-model.js +5 -8
  124. package/dist/cli/deps.d.ts +5 -1
  125. package/dist/cli/exit-codes.d.ts +1 -1
  126. package/dist/cli/exit-codes.js +7 -16
  127. package/dist/cli/from-prompt.js +3 -2
  128. package/dist/cli/help-text.d.ts +2 -1
  129. package/dist/cli/help-text.js +5 -99
  130. package/dist/cli/main.d.ts +5 -0
  131. package/dist/cli/main.js +21 -2
  132. package/dist/cli/proxy.js +14 -9
  133. package/dist/cli/runtime.d.ts +5 -0
  134. package/dist/cli/startup-screen.js +20 -27
  135. package/dist/cli/startup-steps.js +6 -8
  136. package/dist/cli/subcommands/auth.d.ts +6 -3
  137. package/dist/cli/subcommands/auth.js +52 -22
  138. package/dist/cli/subcommands/config-set.d.ts +21 -0
  139. package/dist/cli/subcommands/config-set.js +145 -0
  140. package/dist/cli/subcommands/config.d.ts +2 -1
  141. package/dist/cli/subcommands/config.js +51 -37
  142. package/dist/cli/subcommands/doctor.d.ts +2 -1
  143. package/dist/cli/subcommands/doctor.js +97 -58
  144. package/dist/cli/subcommands/init.d.ts +1 -1
  145. package/dist/cli/subcommands/init.js +8 -7
  146. package/dist/cli/subcommands/memory.d.ts +18 -0
  147. package/dist/cli/subcommands/memory.js +189 -0
  148. package/dist/cli/subcommands/model-meta.js +11 -9
  149. package/dist/cli/subcommands/models-cache-probe.js +23 -20
  150. package/dist/cli/subcommands/models-discover.d.ts +4 -0
  151. package/dist/cli/subcommands/models-discover.js +60 -21
  152. package/dist/cli/subcommands/models-enable.d.ts +13 -0
  153. package/dist/cli/subcommands/models-enable.js +145 -0
  154. package/dist/cli/subcommands/models.d.ts +3 -1
  155. package/dist/cli/subcommands/models.js +39 -24
  156. package/dist/cli/subcommands/probe-runner.js +8 -7
  157. package/dist/cli/subcommands/providers-list.js +32 -21
  158. package/dist/cli/subcommands/providers-plan.js +24 -25
  159. package/dist/cli/subcommands/providers-probe.js +5 -6
  160. package/dist/cli/subcommands/providers.d.ts +1 -1
  161. package/dist/cli/subcommands/providers.js +45 -50
  162. package/dist/cli/subcommands/sessions-export.d.ts +1 -1
  163. package/dist/cli/subcommands/sessions-export.js +10 -9
  164. package/dist/cli/subcommands/sessions-search.d.ts +1 -1
  165. package/dist/cli/subcommands/sessions-search.js +11 -10
  166. package/dist/cli/subcommands/sessions-trace.d.ts +30 -0
  167. package/dist/cli/subcommands/sessions-trace.js +156 -0
  168. package/dist/cli/subcommands/sessions.d.ts +4 -3
  169. package/dist/cli/subcommands/sessions.js +40 -37
  170. package/dist/cli/subcommands/stats.d.ts +1 -1
  171. package/dist/cli/subcommands/stats.js +49 -30
  172. package/dist/cli/system-prompt-arg.js +3 -2
  173. package/dist/codemode/capability.js +3 -2
  174. package/dist/compaction/post-compact.d.ts +1 -0
  175. package/dist/compaction/post-compact.js +15 -1
  176. package/dist/compaction/prune-tier.d.ts +1 -1
  177. package/dist/compaction/prune-tier.js +3 -3
  178. package/dist/compaction/serialize.js +2 -1
  179. package/dist/config/auth-file.d.ts +12 -2
  180. package/dist/config/auth-file.js +32 -10
  181. package/dist/config/checker.js +12 -11
  182. package/dist/config/context-files.js +3 -2
  183. package/dist/config/edit.d.ts +106 -0
  184. package/dist/config/edit.js +350 -0
  185. package/dist/config/init.d.ts +4 -3
  186. package/dist/config/init.js +10 -18
  187. package/dist/config/json-schema.d.ts +2 -1
  188. package/dist/config/json-schema.js +102 -69
  189. package/dist/config/key-docs.d.ts +18 -7
  190. package/dist/config/key-docs.js +43 -128
  191. package/dist/config/load.js +7 -6
  192. package/dist/config/merge.d.ts +4 -1
  193. package/dist/config/merge.js +42 -22
  194. package/dist/config/paths.js +6 -5
  195. package/dist/config/profile.d.ts +5 -1
  196. package/dist/config/profile.js +7 -2
  197. package/dist/config/schema-w5.js +12 -4
  198. package/dist/config/schema-w6.d.ts +19 -0
  199. package/dist/config/schema-w6.js +115 -0
  200. package/dist/config/schema.js +34 -20
  201. package/dist/config/settings-registry.d.ts +81 -0
  202. package/dist/config/settings-registry.js +185 -0
  203. package/dist/config/types-w5.d.ts +7 -0
  204. package/dist/config/types-w5.js +2 -0
  205. package/dist/config/types-w6.d.ts +109 -0
  206. package/dist/config/types-w6.js +19 -0
  207. package/dist/config/types.d.ts +11 -8
  208. package/dist/config/types.js +1 -0
  209. package/dist/drivers/acp/client.js +1 -1
  210. package/dist/drivers/acp/driver.js +13 -8
  211. package/dist/drivers/agents.js +4 -3
  212. package/dist/drivers/base.js +3 -2
  213. package/dist/drivers/host-runners.js +2 -1
  214. package/dist/drivers/native/claude-stream.js +12 -11
  215. package/dist/drivers/native/codex-app-server.js +17 -12
  216. package/dist/drivers/native/oneshot.js +8 -7
  217. package/dist/drivers/pool.js +1 -1
  218. package/dist/drivers/runner.d.ts +3 -1
  219. package/dist/drivers/runner.js +68 -20
  220. package/dist/drivers/turn.js +1 -1
  221. package/dist/hooks/config.js +3 -2
  222. package/dist/hooks/protocol.js +18 -12
  223. package/dist/host/api-impl.js +11 -10
  224. package/dist/host/loader.js +9 -8
  225. package/dist/host/types.d.ts +3 -0
  226. package/dist/i18n/catalog.d.ts +2209 -0
  227. package/dist/i18n/catalog.js +72 -0
  228. package/dist/i18n/format.d.ts +21 -0
  229. package/dist/i18n/format.js +58 -0
  230. package/dist/i18n/index.d.ts +58 -0
  231. package/dist/i18n/index.js +72 -0
  232. package/dist/i18n/messages/agents.d.ts +84 -0
  233. package/dist/i18n/messages/agents.js +85 -0
  234. package/dist/i18n/messages/approval.d.ts +99 -0
  235. package/dist/i18n/messages/approval.js +100 -0
  236. package/dist/i18n/messages/auth.d.ts +189 -0
  237. package/dist/i18n/messages/auth.js +201 -0
  238. package/dist/i18n/messages/cli-args.d.ts +46 -0
  239. package/dist/i18n/messages/cli-args.js +46 -0
  240. package/dist/i18n/messages/cli-help.d.ts +12 -0
  241. package/dist/i18n/messages/cli-help.js +248 -0
  242. package/dist/i18n/messages/cli.d.ts +336 -0
  243. package/dist/i18n/messages/cli.js +311 -0
  244. package/dist/i18n/messages/config-keys.d.ts +293 -0
  245. package/dist/i18n/messages/config-keys.js +296 -0
  246. package/dist/i18n/messages/config.d.ts +508 -0
  247. package/dist/i18n/messages/config.js +241 -0
  248. package/dist/i18n/messages/drivers.d.ts +123 -0
  249. package/dist/i18n/messages/drivers.js +124 -0
  250. package/dist/i18n/messages/errors.d.ts +83 -0
  251. package/dist/i18n/messages/errors.js +171 -0
  252. package/dist/i18n/messages/interactive-line.d.ts +61 -0
  253. package/dist/i18n/messages/interactive-line.js +69 -0
  254. package/dist/i18n/messages/interactive-startup.d.ts +99 -0
  255. package/dist/i18n/messages/interactive-startup.js +100 -0
  256. package/dist/i18n/messages/interactive-view.d.ts +140 -0
  257. package/dist/i18n/messages/interactive-view.js +141 -0
  258. package/dist/i18n/messages/interactive.d.ts +489 -0
  259. package/dist/i18n/messages/interactive.js +248 -0
  260. package/dist/i18n/messages/memory.d.ts +123 -0
  261. package/dist/i18n/messages/memory.js +128 -0
  262. package/dist/i18n/messages/panels.d.ts +233 -0
  263. package/dist/i18n/messages/panels.js +232 -0
  264. package/dist/i18n/messages/permissions.d.ts +126 -0
  265. package/dist/i18n/messages/permissions.js +151 -0
  266. package/dist/i18n/messages/plan.d.ts +123 -0
  267. package/dist/i18n/messages/plan.js +124 -0
  268. package/dist/i18n/messages/print.d.ts +86 -0
  269. package/dist/i18n/messages/print.js +91 -0
  270. package/dist/i18n/messages/report.d.ts +391 -0
  271. package/dist/i18n/messages/report.js +490 -0
  272. package/dist/i18n/messages/rewind.d.ts +198 -0
  273. package/dist/i18n/messages/rewind.js +217 -0
  274. package/dist/i18n/messages/session.d.ts +230 -0
  275. package/dist/i18n/messages/session.js +258 -0
  276. package/dist/i18n/messages/settings.d.ts +355 -0
  277. package/dist/i18n/messages/settings.js +343 -0
  278. package/dist/i18n/messages/subcommands-config.d.ts +113 -0
  279. package/dist/i18n/messages/subcommands-config.js +129 -0
  280. package/dist/i18n/messages/subcommands-models.d.ts +34 -0
  281. package/dist/i18n/messages/subcommands-models.js +34 -0
  282. package/dist/i18n/messages/subcommands.d.ts +576 -0
  283. package/dist/i18n/messages/subcommands.js +477 -0
  284. package/dist/i18n/messages/trace.d.ts +243 -0
  285. package/dist/i18n/messages/trace.js +238 -0
  286. package/dist/i18n/types.d.ts +15 -0
  287. package/dist/i18n/types.js +7 -0
  288. package/dist/index.d.ts +6 -0
  289. package/dist/index.js +2 -0
  290. package/dist/memory/edit.d.ts +24 -0
  291. package/dist/memory/edit.js +63 -0
  292. package/dist/memory/frontmatter.d.ts +37 -0
  293. package/dist/memory/frontmatter.js +79 -0
  294. package/dist/memory/index.d.ts +28 -0
  295. package/dist/memory/index.js +126 -0
  296. package/dist/memory/lock.d.ts +17 -0
  297. package/dist/memory/lock.js +62 -0
  298. package/dist/memory/paths.d.ts +57 -0
  299. package/dist/memory/paths.js +175 -0
  300. package/dist/memory/report.d.ts +36 -0
  301. package/dist/memory/report.js +86 -0
  302. package/dist/memory/runtime.d.ts +42 -0
  303. package/dist/memory/runtime.js +36 -0
  304. package/dist/memory/secrets.d.ts +8 -0
  305. package/dist/memory/secrets.js +27 -0
  306. package/dist/memory/section.d.ts +28 -0
  307. package/dist/memory/section.js +59 -0
  308. package/dist/memory/store.d.ts +70 -0
  309. package/dist/memory/store.js +284 -0
  310. package/dist/memory/tool.d.ts +31 -0
  311. package/dist/memory/tool.js +94 -0
  312. package/dist/modes/acp/acp-events.js +2 -1
  313. package/dist/modes/acp/acp-server.js +13 -12
  314. package/dist/modes/commands-core.d.ts +11 -0
  315. package/dist/modes/commands-core.js +93 -62
  316. package/dist/modes/image-input.js +20 -6
  317. package/dist/modes/interactive/agent-bar.d.ts +95 -0
  318. package/dist/modes/interactive/agent-bar.js +248 -0
  319. package/dist/modes/interactive/agent-panels.js +27 -26
  320. package/dist/modes/interactive/agent-transcript.d.ts +47 -0
  321. package/dist/modes/interactive/agent-transcript.js +191 -0
  322. package/dist/modes/interactive/agent-ui.d.ts +36 -1
  323. package/dist/modes/interactive/agent-ui.js +180 -14
  324. package/dist/modes/interactive/agent-view.d.ts +72 -0
  325. package/dist/modes/interactive/agent-view.js +281 -0
  326. package/dist/modes/interactive/approval-dialog.js +46 -34
  327. package/dist/modes/interactive/clipboard-paste.d.ts +2 -2
  328. package/dist/modes/interactive/clipboard-paste.js +9 -4
  329. package/dist/modes/interactive/commands.d.ts +22 -1
  330. package/dist/modes/interactive/commands.js +100 -49
  331. package/dist/modes/interactive/completion.js +2 -1
  332. package/dist/modes/interactive/config-panel.d.ts +70 -0
  333. package/dist/modes/interactive/config-panel.js +319 -0
  334. package/dist/modes/interactive/config-ui.d.ts +96 -0
  335. package/dist/modes/interactive/config-ui.js +397 -0
  336. package/dist/modes/interactive/confirm-dialog.js +6 -7
  337. package/dist/modes/interactive/event-notices.js +11 -9
  338. package/dist/modes/interactive/interactive-mode.d.ts +1 -1
  339. package/dist/modes/interactive/interactive-mode.js +21 -22
  340. package/dist/modes/interactive/key-dispatch.d.ts +12 -0
  341. package/dist/modes/interactive/key-dispatch.js +24 -9
  342. package/dist/modes/interactive/line/line-editor.js +2 -1
  343. package/dist/modes/interactive/line/line-mode.js +18 -7
  344. package/dist/modes/interactive/line/line-render.js +25 -24
  345. package/dist/modes/interactive/memory-panel.d.ts +64 -0
  346. package/dist/modes/interactive/memory-panel.js +221 -0
  347. package/dist/modes/interactive/message-view.d.ts +4 -2
  348. package/dist/modes/interactive/message-view.js +42 -33
  349. package/dist/modes/interactive/model-items.d.ts +45 -0
  350. package/dist/modes/interactive/model-items.js +134 -0
  351. package/dist/modes/interactive/model-picker.d.ts +57 -0
  352. package/dist/modes/interactive/model-picker.js +191 -0
  353. package/dist/modes/interactive/panels.js +39 -31
  354. package/dist/modes/interactive/pickers.d.ts +2 -1
  355. package/dist/modes/interactive/pickers.js +10 -6
  356. package/dist/modes/interactive/plan-command.d.ts +1 -1
  357. package/dist/modes/interactive/plan-command.js +24 -27
  358. package/dist/modes/interactive/plan-dialog.js +18 -17
  359. package/dist/modes/interactive/plan-flow.js +6 -5
  360. package/dist/modes/interactive/rewind-command.d.ts +1 -1
  361. package/dist/modes/interactive/rewind-command.js +18 -16
  362. package/dist/modes/interactive/rewind-flow.d.ts +0 -1
  363. package/dist/modes/interactive/rewind-flow.js +13 -14
  364. package/dist/modes/interactive/rewind-list.js +7 -6
  365. package/dist/modes/interactive/rewind-panel.js +40 -40
  366. package/dist/modes/interactive/rewind-text.d.ts +5 -3
  367. package/dist/modes/interactive/rewind-text.js +48 -38
  368. package/dist/modes/interactive/run-indicator.js +15 -12
  369. package/dist/modes/interactive/session-events.js +3 -2
  370. package/dist/modes/interactive/startup-header.js +22 -23
  371. package/dist/modes/interactive/startup-ui.d.ts +3 -9
  372. package/dist/modes/interactive/startup-ui.js +44 -88
  373. package/dist/modes/interactive/status-area.d.ts +2 -0
  374. package/dist/modes/interactive/status-area.js +8 -2
  375. package/dist/modes/interactive/status-bar.js +4 -3
  376. package/dist/modes/interactive/subagent-view.js +9 -7
  377. package/dist/modes/interactive/tasks-report.d.ts +6 -0
  378. package/dist/modes/interactive/tasks-report.js +28 -31
  379. package/dist/modes/interactive/terminal-setup.d.ts +9 -0
  380. package/dist/modes/interactive/terminal-setup.js +23 -0
  381. package/dist/modes/interactive/tool-summary.js +19 -17
  382. package/dist/modes/interactive/tool-view.js +7 -4
  383. package/dist/modes/interactive/trace-view.d.ts +89 -0
  384. package/dist/modes/interactive/trace-view.js +332 -0
  385. package/dist/modes/print/print-mode.js +14 -15
  386. package/dist/modes/rpc/commands.js +7 -3
  387. package/dist/modes/rpc/rpc-mode.js +9 -3
  388. package/dist/modes/session-report.d.ts +2 -0
  389. package/dist/modes/session-report.js +101 -105
  390. package/dist/modes/startup-ui-text.js +11 -6
  391. package/dist/permissions/bypass.d.ts +8 -10
  392. package/dist/permissions/bypass.js +19 -10
  393. package/dist/permissions/memory-class.d.ts +23 -0
  394. package/dist/permissions/memory-class.js +54 -0
  395. package/dist/permissions/modes.d.ts +3 -3
  396. package/dist/permissions/modes.js +21 -16
  397. package/dist/permissions/pipeline.d.ts +1 -1
  398. package/dist/permissions/pipeline.js +9 -2
  399. package/dist/permissions/preview.js +49 -42
  400. package/dist/permissions/rules.js +5 -2
  401. package/dist/permissions/types.d.ts +4 -0
  402. package/dist/plan/store.js +2 -1
  403. package/dist/rpc.d.ts +39 -1
  404. package/dist/rpc.js +3 -0
  405. package/dist/sandbox/bash.js +11 -8
  406. package/dist/sandbox/detect.js +14 -11
  407. package/dist/sdk.d.ts +17 -1
  408. package/dist/sdk.js +29 -7
  409. package/dist/session/export.js +31 -30
  410. package/dist/session/manager.d.ts +1 -1
  411. package/dist/session/manager.js +5 -3
  412. package/dist/session/reuse.js +5 -4
  413. package/dist/session/scan.js +3 -2
  414. package/dist/session/stats-aggregate.d.ts +3 -1
  415. package/dist/session/stats-aggregate.js +5 -1
  416. package/dist/session/stats-index.js +2 -1
  417. package/dist/session/stats-scan.d.ts +4 -1
  418. package/dist/session/stats-scan.js +6 -2
  419. package/dist/session/store.d.ts +11 -0
  420. package/dist/session/store.js +48 -1
  421. package/dist/session/types.d.ts +2 -0
  422. package/dist/skills/builtin.js +2 -1
  423. package/dist/tools/image-file.d.ts +26 -1
  424. package/dist/tools/image-file.js +55 -13
  425. package/dist/tools/presets.d.ts +14 -1
  426. package/dist/tools/presets.js +3 -3
  427. package/dist/tools/registry.js +1 -1
  428. package/dist/tools/truncate.d.ts +1 -1
  429. package/dist/tools/truncate.js +2 -2
  430. package/dist/tools/types.d.ts +17 -1
  431. package/dist/trace/build-index.d.ts +91 -0
  432. package/dist/trace/build-index.js +127 -0
  433. package/dist/trace/build-nodes.d.ts +24 -0
  434. package/dist/trace/build-nodes.js +279 -0
  435. package/dist/trace/build-util.d.ts +43 -0
  436. package/dist/trace/build-util.js +120 -0
  437. package/dist/trace/build.d.ts +82 -0
  438. package/dist/trace/build.js +382 -0
  439. package/dist/trace/detail.d.ts +35 -0
  440. package/dist/trace/detail.js +205 -0
  441. package/dist/trace/flatten.d.ts +69 -0
  442. package/dist/trace/flatten.js +173 -0
  443. package/dist/trace/format.d.ts +47 -0
  444. package/dist/trace/format.js +329 -0
  445. package/dist/trace/html-template.d.ts +19 -0
  446. package/dist/trace/html-template.js +150 -0
  447. package/dist/trace/html.d.ts +104 -0
  448. package/dist/trace/html.js +292 -0
  449. package/dist/trace/preview.d.ts +29 -0
  450. package/dist/trace/preview.js +59 -0
  451. package/dist/trace/query-session.d.ts +14 -0
  452. package/dist/trace/query-session.js +38 -0
  453. package/dist/trace/query.d.ts +55 -0
  454. package/dist/trace/query.js +188 -0
  455. package/dist/trace/session.d.ts +40 -0
  456. package/dist/trace/session.js +168 -0
  457. package/dist/trace/types.d.ts +243 -0
  458. package/dist/trace/types.js +13 -0
  459. package/dist/tui/components/editor-paste.d.ts +2 -0
  460. package/dist/tui/components/editor-paste.js +6 -3
  461. package/dist/tui/components/editor.js +2 -2
  462. package/dist/tui/components/loader.d.ts +3 -0
  463. package/dist/tui/components/loader.js +14 -0
  464. package/dist/tui/components/select-list.d.ts +2 -0
  465. package/dist/tui/components/select-list.js +7 -0
  466. package/dist/tui/components/settings-list.d.ts +61 -0
  467. package/dist/tui/components/settings-list.js +135 -0
  468. package/dist/tui/keybindings.d.ts +5 -0
  469. package/dist/tui/keybindings.js +17 -5
  470. package/dist/tui.d.ts +1 -0
  471. package/dist/tui.js +2 -0
  472. package/docs/en/host-api.md +167 -0
  473. package/docs/en/permissions.md +214 -0
  474. package/docs/en/providers.md +627 -0
  475. package/docs/en/rpc.md +361 -0
  476. package/docs/en/sessions.md +219 -0
  477. package/docs/en/tui.md +534 -0
  478. package/docs/host-api.md +18 -17
  479. package/docs/memory.md +172 -0
  480. package/docs/permissions.md +2 -2
  481. package/docs/providers.md +73 -1
  482. package/docs/rpc.md +31 -3
  483. package/docs/session-format.md +8 -2
  484. package/docs/sessions.md +29 -1
  485. package/docs/tui.md +140 -4
  486. package/package.json +8 -3
@@ -0,0 +1,2209 @@
1
+ /**
2
+ * 全部领域的汇总(docs/wave6-plan.md §5.1、D23)。[W6-C0] 一次登记全部领域,之后无人再改本文件:
3
+ * 各批次只改自己的 `messages/<领域>.ts`。
4
+ *
5
+ * 领域 → 所有者:cli / subcommands(I1);interactive / approval / plan / rewind / panels / permissions(I2);
6
+ * report / print / drivers / session / errors(I3);config(I4);agents(A);trace(T1 / T2);
7
+ * memory(M);auth(O);settings(S)。
8
+ */
9
+ import type { Messages } from "./types.js";
10
+ import * as rewind from "./messages/rewind.js";
11
+ import * as permissions from "./messages/permissions.js";
12
+ declare const en: {
13
+ cli: {
14
+ args: {
15
+ flagConflict: (a: string, b: string) => string;
16
+ flagsConflict: (flags: readonly string[]) => string;
17
+ invalidChoice: (option: string, choices: readonly string[], got: string) => string;
18
+ emptyValue: (option: string) => string;
19
+ fullscreenUnsupported: string;
20
+ maxTurnsPositive: (got: string) => string;
21
+ maxCostPositive: (got: string) => string;
22
+ printWithMode: (mode: string) => string;
23
+ apiKeyNeedsModel: string;
24
+ printOnly: (option: string) => string;
25
+ systemPromptModeNeedsPrompt: string;
26
+ noStdinWithDash: string;
27
+ dashPrintOnly: string;
28
+ imagePrintOnly: string;
29
+ unknownOption: (token: string) => string;
30
+ emptyResumeId: string;
31
+ needsValue: (option: string) => string;
32
+ noValue: (option: string) => string;
33
+ };
34
+ main: {
35
+ subcommandUnavailable: (name: string) => string;
36
+ uncaught: (message: string) => string;
37
+ };
38
+ help: string;
39
+ exitCodes: {
40
+ ok: string;
41
+ runtimeError: string;
42
+ usage: string;
43
+ config: string;
44
+ noModel: string;
45
+ session: string;
46
+ hostOrHook: string;
47
+ toolDenied: string;
48
+ limitReached: string;
49
+ planPending: string;
50
+ hostVersion: string;
51
+ sigint: string;
52
+ sigterm: string;
53
+ unknown: string;
54
+ };
55
+ bootstrap: {
56
+ steps: {
57
+ dirs: string;
58
+ config: string;
59
+ sessionList: string;
60
+ session: string;
61
+ trust: string;
62
+ projectConfig: string;
63
+ skillDiscovery: string;
64
+ providers: string;
65
+ model: string;
66
+ tools: string;
67
+ host: string;
68
+ permission: string;
69
+ assembly: string;
70
+ startup: string;
71
+ };
72
+ resumeNeedsId: string;
73
+ noSessionPicked: string;
74
+ sessionCwdMissing: (cwd: string) => string;
75
+ unknownDisabledTool: (name: string) => string;
76
+ eventWarning: (message: string, detail?: string) => string;
77
+ sessionNotReady: string;
78
+ hostDisposeFailed: (error: string) => string;
79
+ sessionStartBlocked: (reason?: string) => string;
80
+ subcommandNotDispatched: string;
81
+ runtimeNotAssembled: string;
82
+ warning: (text: string) => string;
83
+ modeNotAssembled: (mode: string) => string;
84
+ terminalFallback: (message: string) => string;
85
+ usageError: (message: string) => string;
86
+ };
87
+ startupSteps: {
88
+ stepFailed: (label: string, message: string) => string;
89
+ providerNeedsModel: (provider: string) => string;
90
+ noApiKey: (provider: string, envKeys: readonly string[]) => string;
91
+ unknownTools: (unknown: readonly string[], available: readonly string[]) => string;
92
+ instructionsMissing: (path: string) => string;
93
+ };
94
+ startupScreen: {
95
+ header: (version: string) => string;
96
+ model: (ref: string, thinking: string) => string;
97
+ cwd: (cwd: string, trust: string) => string;
98
+ context: (paths: readonly string[]) => string;
99
+ skills: (names: readonly string[]) => string;
100
+ prompts: (names: readonly string[]) => string;
101
+ hooks: (n: number) => string;
102
+ host: (id: string) => string;
103
+ warnings: (n: number) => string;
104
+ trust: (trusted: boolean, from: string) => string;
105
+ trustSource: {
106
+ flag: string;
107
+ trustFile: string;
108
+ prompt: string;
109
+ profile: string;
110
+ default: string;
111
+ };
112
+ };
113
+ proxy: {
114
+ unparsable: (url: string) => string;
115
+ unsupportedHint: (nodeVersion: string) => string;
116
+ invalidHint: (error: string) => string;
117
+ state: {
118
+ none: string;
119
+ runtime: string;
120
+ enabled: string;
121
+ unsupported: (nodeVersion: string) => string;
122
+ invalid: (error: string) => string;
123
+ };
124
+ };
125
+ defaultModel: {
126
+ priceReason: (inputCost: number, context: string) => string;
127
+ builtinFirst: string;
128
+ listFirst: string;
129
+ noModel: (envs: string, more: boolean) => string;
130
+ };
131
+ choicePrompt: {
132
+ hint: (keys: string, n: number) => string;
133
+ cancelled: string;
134
+ continueQuestion: string;
135
+ continue: string;
136
+ cancel: string;
137
+ textQuestion: (question: string) => string;
138
+ };
139
+ fromPrompt: {
140
+ notWithRpc: string;
141
+ imagesDropped: (n: number) => string;
142
+ };
143
+ systemPrompt: {
144
+ fileMissing: (path: string) => string;
145
+ empty: string;
146
+ };
147
+ codemodeNotice: (nodeMajor: number) => string;
148
+ compose: {
149
+ toolFactoryFailed: (message: string) => string;
150
+ toolRegisterFailed: (name: string, message: string) => string;
151
+ permissionRuleIgnored: (source: string, message: string) => string;
152
+ untrustedDirsSkipped: (n: number) => string;
153
+ };
154
+ composeSession: {
155
+ instructionsReadFailed: (path: string, message: string) => string;
156
+ unknownSkill: (name: string, available: readonly string[]) => string;
157
+ invalidCacheWarming: (value: string) => string;
158
+ invalidCacheRetention: (value: string) => string;
159
+ invalidIdleTimeout: (value: string) => string;
160
+ notSessionManager: string;
161
+ apiNotImplemented: (ref: string, api: string, viaOpenrouter: boolean) => string;
162
+ appendToolFailed: (name: string, message: string) => string;
163
+ notComposed: string;
164
+ switchWhileStreaming: string;
165
+ };
166
+ composeStore: {
167
+ ambiguousId: (id: string, candidates: readonly string[]) => string;
168
+ sessionNotFound: (id: string) => string;
169
+ noEntries: (id: string) => string;
170
+ unreadable: (file: string) => string;
171
+ };
172
+ composeAgents: {
173
+ untrustedAgentDir: (dir: string) => string;
174
+ };
175
+ };
176
+ subcommands: {
177
+ common: {
178
+ warning: (text: string) => string;
179
+ cancelled: string;
180
+ extraArgs: (text: string) => string;
181
+ needsArg: (command: string, arg: string) => string;
182
+ unknownSubcommand: (group: string, name: string) => string;
183
+ unknownOption: (option: string) => string;
184
+ invalidChoice: (flag: string, choices: readonly string[], got: string) => string;
185
+ notAssembled: (name: string) => string;
186
+ providerNotFound: (id: string) => string;
187
+ modelNotFound: (ref: string, candidates?: readonly string[]) => string;
188
+ noApiKey: (id: string) => string;
189
+ apiNotImplemented: (api: string) => string;
190
+ };
191
+ providers: {
192
+ usage: string;
193
+ positiveInt: (name: string, raw: string) => string;
194
+ needsYes: (what: string) => string;
195
+ probePlan: (models: number, requests: number, max: number, dropped: number) => string;
196
+ confirmProbe: (requests: number, path: string) => string;
197
+ invalidKeyEnv: (name: string) => string;
198
+ keyEnvUnset: (name: string) => string;
199
+ keyPrompt: (id: string) => string;
200
+ noKeyOnStdin: string;
201
+ invalidId: (id: string) => string;
202
+ missingInConfig: (path: string, id: string) => string;
203
+ needsBaseUrl: string;
204
+ baseUrlNotHttp: (url: string) => string;
205
+ noChannel: (id: string) => string;
206
+ listFailed: (id: string, message: string) => string;
207
+ discovered: (id: string, n: number, url: string) => string;
208
+ candidates: (list: readonly {
209
+ name: string;
210
+ api: string;
211
+ baseUrl: string;
212
+ }[]) => string;
213
+ goneUpstream: (ids: readonly string[]) => string;
214
+ writeSummary: (s: {
215
+ path: string;
216
+ id: string;
217
+ channels: readonly string[];
218
+ models: number;
219
+ authFile?: string | undefined;
220
+ defaultModel?: string | undefined;
221
+ }) => string;
222
+ defaultPick: (id: string, reason: string) => string;
223
+ noDefaultPick: string;
224
+ nothingToWrite: string;
225
+ confirmWrite: string;
226
+ written: (path: string, backup: boolean) => string;
227
+ tryIt: (ref: string) => string;
228
+ probeStopped: (reason: string) => string;
229
+ channelNeedsValue: string;
230
+ };
231
+ providersList: {
232
+ keyCommand: string;
233
+ keyLiteral: string;
234
+ keySameProvider: string;
235
+ keyNone: string;
236
+ keyEnv: (name: string) => string;
237
+ providerLine: (s: {
238
+ id: string;
239
+ builtin: boolean;
240
+ channels: number;
241
+ endpoint: string;
242
+ models: number;
243
+ key: string;
244
+ }) => string;
245
+ channelLine: (name: string, api: string, url: string, models: number, key: string) => string;
246
+ noProviders: string;
247
+ singleChannel: (id: string, api: string, url: string, models: number) => string;
248
+ channelDetail: (s: {
249
+ name: string;
250
+ isDefault: boolean;
251
+ short: string;
252
+ api: string;
253
+ url: string;
254
+ key: string;
255
+ models: readonly string[];
256
+ }) => string;
257
+ removed: (path: string, id: string) => string;
258
+ keysRemoved: (path: string, id: string, n: number) => string;
259
+ noSuchProvider: (id: string) => string;
260
+ };
261
+ providersPlan: {
262
+ channelSpec: (spec: string) => string;
263
+ channelName: (name: string) => string;
264
+ channelApi: (choices: readonly string[], got: string) => string;
265
+ channelUrl: (url: string) => string;
266
+ status: {
267
+ ok: string;
268
+ unprobed: string;
269
+ failed: string;
270
+ noTools: string;
271
+ noChannel: string;
272
+ existing: string;
273
+ };
274
+ yes: string;
275
+ no: string;
276
+ head: {
277
+ model: string;
278
+ channel: string;
279
+ context: string;
280
+ output: string;
281
+ image: string;
282
+ reasoning: string;
283
+ tools: string;
284
+ price: string;
285
+ status: string;
286
+ };
287
+ };
288
+ probe: {
289
+ throttled: (n: number) => string;
290
+ recovered: (n: number) => string;
291
+ modelLine: (id: string, ok: readonly string[], failed: readonly {
292
+ name: string;
293
+ error: string;
294
+ }[], complete: boolean) => string;
295
+ apiNotImplemented: (api: string) => string;
296
+ timeout: (seconds: number) => string;
297
+ rateLimitedStop: (error: string) => string;
298
+ intRange: (name: string, min: number, max: number, raw: string) => string;
299
+ plan: (concurrency: number, timeoutSeconds: number, worst: number) => string;
300
+ done: (done: number, total: number, seconds: string) => string;
301
+ progress: (done: number, total: number) => string;
302
+ };
303
+ stats: {
304
+ usage: string;
305
+ daysAtLeastOne: (option: string, raw: string) => string;
306
+ daySpec: (option: string, raw: string) => string;
307
+ allTime: string;
308
+ range: (since: string | undefined, until: string | undefined) => string;
309
+ header: (range: string, scope: string, sessions: number) => string;
310
+ noRequests: string;
311
+ kindTurn: string;
312
+ costUnpriced: string;
313
+ costPartial: (cost: string, unpriced: number) => string;
314
+ rows: {
315
+ requests: string;
316
+ turns: string;
317
+ tokens: string;
318
+ hitRate: string;
319
+ cost: string;
320
+ subscription: string;
321
+ errors: string;
322
+ };
323
+ subscriptionValue: (requests: number) => string;
324
+ requestsValue: (requests: number, kinds: string) => string;
325
+ turnsValue: (turns: number, avg: string) => string;
326
+ tokensValue: (input: string, output: string, read: string, write: string) => string;
327
+ hitRateValue: (rate: string, reported: number, total: number) => string;
328
+ groupHead: {
329
+ sessions: string;
330
+ requests: string;
331
+ turns: string;
332
+ input: string;
333
+ output: string;
334
+ cacheRead: string;
335
+ cacheWrite: string;
336
+ hitRate: string;
337
+ cost: string;
338
+ };
339
+ topTools: (n: number) => string;
340
+ noPositionals: (arg: string) => string;
341
+ topNonNegative: string;
342
+ allProjects: string;
343
+ project: (path: string) => string;
344
+ skippedInvalid: (n: number) => string;
345
+ };
346
+ models: {
347
+ usage: (lines: readonly string[]) => string;
348
+ refreshCatalogUsage: string;
349
+ keyFrom: (source: string, origin?: string) => string;
350
+ noKey: string;
351
+ keyNotNeeded: string;
352
+ checkFailed: (ref: string, ms: number, error: string) => string;
353
+ checkOk: (ref: string, api: string, ms: number, stopReason: string) => string;
354
+ refreshing: (fetchedAt: string) => string;
355
+ written: (path: string) => string;
356
+ };
357
+ modelMeta: {
358
+ reasoning: string;
359
+ image: string;
360
+ channels: (names: readonly string[]) => string;
361
+ price: string;
362
+ sources: (parts: readonly string[], match: string | undefined, noTools: boolean) => string;
363
+ };
364
+ cacheProbe: {
365
+ adviceSilent: (provider: string, cacheFieldPresent: boolean) => string;
366
+ adviceInconclusive: string;
367
+ advicePromptCache: (provider: string, id: string) => string;
368
+ intAtLeast: (name: string, min: number) => string;
369
+ yes: string;
370
+ no: string;
371
+ sample: (index: number, input: number, read: number, write: number, field: string) => string;
372
+ head: (name: string, api: string, tokens: number, gapMs: number, estimate: string) => string;
373
+ needsYes: string;
374
+ requestFailed: (n: number, error: string) => string;
375
+ share: (percent: number) => string;
376
+ usageFields: (api: string, fields: readonly string[]) => string;
377
+ verdict: (verdict: string, share: string) => string;
378
+ advice: (advice: string) => string;
379
+ };
380
+ init: {
381
+ usage: string;
382
+ };
383
+ sessionsExport: {
384
+ usage: string;
385
+ exported: (path: string) => string;
386
+ };
387
+ sessionsSearch: {
388
+ usage: string;
389
+ needsPattern: string;
390
+ invalidRegex: (message: string) => string;
391
+ limitPositive: string;
392
+ noHits: (all: boolean) => "No matches\n" | "No matches (only sessions of this directory; --all searches all)\n";
393
+ truncated: (limit: number) => string;
394
+ };
395
+ modelsEnabled: {
396
+ badRef: (ref: string) => string;
397
+ unknownModel: (ref: string) => string;
398
+ added: (refs: string, path: string) => string;
399
+ alreadyListed: (refs: string) => string;
400
+ removed: (refs: string, path: string) => string;
401
+ notListed: (refs: string) => string;
402
+ cleared: (path: string) => string;
403
+ listHeader: (path: string) => string;
404
+ listUnset: string;
405
+ notInTable: string;
406
+ nothing: string;
407
+ };
408
+ configShow: {
409
+ usage: string;
410
+ unknownAction: (action: string) => string;
411
+ missing: string;
412
+ configDir: string;
413
+ dataDir: string;
414
+ projectLevel: string;
415
+ noEditor: (path: string) => string;
416
+ editorFailed: (editor: string, path: string) => string;
417
+ registryMissing: string;
418
+ zeroConfigLocal: (provider: string, rule: string) => string;
419
+ zeroConfigKey: (provider: string, source: string, rule: string) => string;
420
+ providersHeading: string;
421
+ baseUrlFromEnv: (env: string) => string;
422
+ layerDefault: string;
423
+ layerCli: string;
424
+ sandboxIsolated: (node: number) => string;
425
+ sandboxOs: (node: number, kind: string) => string;
426
+ sandboxNone: (node: number) => string;
427
+ codemodeExplicit: (sandbox: string) => string;
428
+ codemodeFollowsPreset: (preset: string, sandbox: string) => string;
429
+ presetAlias: (layer: string, label: string, preset: string, canonical: string) => string;
430
+ defaultSource: (reason: string) => string;
431
+ heading: string;
432
+ layerLine: (name: string, label: string) => string;
433
+ model: (ref: string | undefined, reason: string) => string;
434
+ tools: (tools: string, preset: string, codemode: string) => string;
435
+ codemode: (mode: string, reason: string) => string;
436
+ bashSandbox: (detail: string) => string;
437
+ note: (text: string) => string;
438
+ warning: (text: string) => string;
439
+ };
440
+ discover: {
441
+ limitPositive: (raw: string) => string;
442
+ notInUserConfig: (provider: string, path: string) => string;
443
+ nothingToWrite: (kept: number) => string;
444
+ written: (path: string, provider: string, added: number, kept: number, backup: boolean) => string;
445
+ skippedNoTools: (ids: string) => string;
446
+ unmatchedWarning: (ids: string) => string;
447
+ listFailed: (provider: string, error: string) => string;
448
+ found: (provider: string, count: number, url: string) => string;
449
+ unmatched: string;
450
+ image: string;
451
+ reasoning: string;
452
+ noTools: string;
453
+ configured: (api: string) => string;
454
+ probeHeader: (count: number, order: string, requests: number, extra: number, limit: number) => string;
455
+ unavailable: string;
456
+ probeStopped: (reason: string) => string;
457
+ cached: (path: string) => string;
458
+ };
459
+ };
460
+ interactive: {
461
+ commands: {
462
+ unavailable: (name: string) => string;
463
+ treeDescription: string;
464
+ permissionsDescription: string;
465
+ keyHints: string;
466
+ permissionsMode: (label: string, mode: string) => string;
467
+ permissionsOrder: (order: string) => string;
468
+ rulesNone: string;
469
+ rules: (n: number) => string;
470
+ recentAuto: (n: number) => string;
471
+ noUserMessages: string;
472
+ treeUnsupported: string;
473
+ treeBusy: string;
474
+ treeTitle: string;
475
+ modelTitle: string;
476
+ modelSet: (ref: string) => string;
477
+ noOtherSessions: string;
478
+ resumeTitle: string;
479
+ resumed: (id: string) => string;
480
+ forkTitle: string;
481
+ forked: (id: string) => string;
482
+ modeCancelled: (label: string) => string;
483
+ modeSet: (label: string) => string;
484
+ thinkingTitle: string;
485
+ numberFooter: (arrows: string, n: number) => string;
486
+ };
487
+ paste: {
488
+ marker: (id: number, lines: number) => string;
489
+ };
490
+ keys: {
491
+ escRewind: string;
492
+ escClear: string;
493
+ cleared: string;
494
+ bypassSkipped: (label: string) => string;
495
+ clearedCtrlC: string;
496
+ ctrlCAgain: string;
497
+ interrupted: string;
498
+ toolsExpanded: string;
499
+ toolsCollapsed: string;
500
+ };
501
+ app: {
502
+ placeholder: string;
503
+ notTty: string;
504
+ keybindingsWarning: (warning: string) => string;
505
+ noResult: string;
506
+ followed: (text: string) => string;
507
+ terminalInitFailed: (error: string) => string;
508
+ };
509
+ clipboard: {
510
+ noTool: string;
511
+ noImage: string;
512
+ failed: (error: string) => string;
513
+ reading: string;
514
+ inserted: string;
515
+ };
516
+ completion: {
517
+ promptTemplate: string;
518
+ };
519
+ events: {
520
+ compactionNoShrink: string;
521
+ imagesOmitted: (n: number) => string;
522
+ limitTurns: (limit: number) => string;
523
+ limitCost: (limit: string, spent: string) => string;
524
+ modelFallback: (from: string, reason: string, to: string) => string;
525
+ backgroundStarted: (jobId: string, command: string) => string;
526
+ backgroundExited: (jobId: string, code: string, command: string) => string;
527
+ backgroundStopped: (jobId: string, command: string) => string;
528
+ compactionFailed: (error: string) => string;
529
+ compactionCancelled: string;
530
+ };
531
+ statusLine: {
532
+ usage: string;
533
+ full: string;
534
+ compact: string;
535
+ cacheSilent: string;
536
+ sandbox: string;
537
+ cycleHint: string;
538
+ };
539
+ subagent: {
540
+ running: (elapsed: string) => string;
541
+ backgroundEnd: (taskId: string, agent: string, status: string, turns: number) => string;
542
+ notificationTurns: (turns: string) => string;
543
+ viewOutput: string;
544
+ };
545
+ agentUi: {
546
+ tasksTitle: string;
547
+ tasksFooter: (arrows: string) => string;
548
+ viewOutput: string;
549
+ stop: string;
550
+ stopped: (taskId: string) => string;
551
+ };
552
+ keybindings: {
553
+ notObject: string;
554
+ unknownAction: (action: string) => string;
555
+ badKeys: (action: string) => string;
556
+ readFailed: (path: string, error: string) => string;
557
+ badJson: (path: string, error: string) => string;
558
+ };
559
+ editor: {
560
+ completionFooter: string;
561
+ };
562
+ view: {
563
+ message: {
564
+ duration: (seconds: number) => string;
565
+ sessionPrefix: (rule: string) => string;
566
+ turns: (n: number) => string;
567
+ rebill: (cost: string) => string;
568
+ resume: string;
569
+ origin: {
570
+ steer: string;
571
+ followUp: string;
572
+ host: string;
573
+ task: string;
574
+ plan: string;
575
+ };
576
+ planHandoff: string;
577
+ thinkingStreaming: (glyph: string, ellipsis: string) => string;
578
+ thinking: (glyph: string, tokens: string) => string;
579
+ moreLines: (ellipsis: string, n: number) => string;
580
+ image: string;
581
+ modelError: string;
582
+ interrupted: string;
583
+ lengthLimit: string;
584
+ hookBlocked: (glyph: string, reason: string) => string;
585
+ retry: (glyph: string, attempt: number, max: number, seconds: number, error: string) => string;
586
+ retryFailed: (error: string | undefined) => string;
587
+ summaryTokens: (before: string, after: string | undefined) => string;
588
+ compacted: string;
589
+ branchSummary: string;
590
+ };
591
+ run: {
592
+ esc: string;
593
+ awaitingApproval: string;
594
+ runningTool: (name: string) => string;
595
+ runningTools: (n: number) => string;
596
+ retry: (attempt: number, max: number) => string;
597
+ retryIn: (seconds: number) => string;
598
+ compacting: string;
599
+ replying: string;
600
+ thinking: string;
601
+ queueMore: (ellipsis: string, n: number) => string;
602
+ queueHint: (arrow: string) => string;
603
+ };
604
+ tool: {
605
+ interrupted: string;
606
+ timedOut: string;
607
+ exit: (code: number) => string;
608
+ lines: (n: number) => string;
609
+ failed: string;
610
+ image: (mime: string) => string;
611
+ emptyFile: string;
612
+ read: (n: number) => string;
613
+ edits: (n: number) => string;
614
+ write: (created: boolean, n: number) => string;
615
+ noMatch: string;
616
+ matches: (matches: number, files: number | undefined) => string;
617
+ files: (n: number) => string;
618
+ codemode: (calls: number, lines: number) => string;
619
+ done: string;
620
+ outputLines: (n: number) => string;
621
+ awaiting: (glyph: string) => string;
622
+ subagentRunning: (elapsed: string) => string;
623
+ running: (elapsed: string) => string;
624
+ moreLines: (ellipsis: string, n: number) => string;
625
+ earlierCalls: (ellipsis: string, n: number) => string;
626
+ };
627
+ };
628
+ startup: {
629
+ header: {
630
+ trusted: string;
631
+ untrusted: string;
632
+ trustSource: (source: string) => string;
633
+ templates: (n: number) => string;
634
+ host: (host: string) => string;
635
+ warnings: (n: number) => string;
636
+ hintCompact: string;
637
+ keyModel: string;
638
+ keyDir: string;
639
+ keyMode: string;
640
+ keyLoaded: string;
641
+ keyHost: string;
642
+ keyWarnings: string;
643
+ thinking: (level: string) => string;
644
+ preset: (preset: string) => string;
645
+ warningsValue: (n: number) => string;
646
+ hint: string;
647
+ };
648
+ ui: {
649
+ cancelled: string;
650
+ hintFilter: (arrows: string) => string;
651
+ hintNumbers: (arrows: string, n: number) => string;
652
+ hint: (arrows: string) => string;
653
+ justNow: string;
654
+ minutesAgo: (n: number) => string;
655
+ hoursAgo: (n: number) => string;
656
+ daysAgo: (n: number) => string;
657
+ messages: (n: number) => string;
658
+ trustRemember: string;
659
+ trustOnce: string;
660
+ trustSkip: string;
661
+ trustNever: string;
662
+ moreResources: (n: number) => string;
663
+ trustTitle: string;
664
+ resumeTitle: string;
665
+ modelTitle: string;
666
+ cwdTitle: string;
667
+ cwdPrompt: string;
668
+ cwdPlaceholder: string;
669
+ cwdEmpty: string;
670
+ cwdMissing: (path: string) => string;
671
+ cwdNotDir: (path: string) => string;
672
+ };
673
+ };
674
+ line: {
675
+ approvalOrigin: (task: string, title: string, where: string | undefined) => string;
676
+ approvalFirstRun: (task: string, note: string) => string;
677
+ approvalTool: (task: string, tool: string, summary: string, why: import("./messages/interactive-line.js").LineApprovalWhy | undefined) => string;
678
+ retry: (attempt: number, max: number, seconds: number, error: string) => string;
679
+ compacting: string;
680
+ error: (error: string) => string;
681
+ planProposed: (version: number, file: string | undefined) => string;
682
+ subagentStart: (taskId: string, agent: string, background: boolean) => string;
683
+ modelsHeading: string;
684
+ noSessions: string;
685
+ sessionsHeading: string;
686
+ noForkable: string;
687
+ forkHeading: string;
688
+ modeHeading: string;
689
+ thinking: (levels: string, current: string) => string;
690
+ banner: (version: string, model: string) => string;
691
+ interrupted: string;
692
+ ctrlCAgain: string;
693
+ steer: (text: string) => string;
694
+ pasteMarker: (id: number, lines: number) => string;
695
+ };
696
+ };
697
+ approval: {
698
+ originLabel: (agent: string, sessionId: string) => string;
699
+ title: {
700
+ firstRun: string;
701
+ dangerous: string;
702
+ hook: string;
703
+ confirm: string;
704
+ };
705
+ tag: {
706
+ dangerous: string;
707
+ hook: string;
708
+ firstRun: string;
709
+ confirm: string;
710
+ };
711
+ morePaths: (n: number) => string;
712
+ moreLines: (n: number) => string;
713
+ moreLinesView: (n: number) => string;
714
+ moreEdits: (n: number) => string;
715
+ firstRunMode: (mode: string) => string;
716
+ writeLines: (n: number) => string;
717
+ editCount: (n: number) => string;
718
+ externalRunner: (agent: string, runner: string) => string;
719
+ originAsks: (agent: string) => string;
720
+ firstRunLogin: string;
721
+ hookReason: (reason: string | undefined) => string;
722
+ dangerousWarn: string;
723
+ autoReason: (layer: string, reason: string) => string;
724
+ modeNeedsConfirm: (mode: string) => string;
725
+ option: {
726
+ allow: string;
727
+ allowSession: string;
728
+ deny: string;
729
+ };
730
+ hint: (arrows: string) => string;
731
+ hintCompact: (arrows: string) => string;
732
+ outcome: {
733
+ allow: (what: string) => string;
734
+ allowSession: (what: string) => string;
735
+ deny: (what: string) => string;
736
+ cancelled: (what: string) => string;
737
+ };
738
+ choiceHint: (arrows: string, n: number) => string;
739
+ };
740
+ plan: {
741
+ usage: string;
742
+ status: {
743
+ proposed: string;
744
+ approved: string;
745
+ rejected: string;
746
+ superseded: string;
747
+ };
748
+ untitled: string;
749
+ command: {
750
+ modePlan: (back: string) => string;
751
+ mode: (mode: string) => string;
752
+ noPlanYet: string;
753
+ noPlan: string;
754
+ head: (version: number, status: string, title: string) => string;
755
+ file: (path: string) => string;
756
+ steps: (n: number) => string;
757
+ todos: (done: number, total: number, current: string | undefined) => string;
758
+ actions: string;
759
+ notFound: string;
760
+ unavailable: string;
761
+ invalidMode: (arg: string, usage: string) => string;
762
+ approved: (version: number, mode: string) => string;
763
+ rejected: (version: number) => string;
764
+ };
765
+ dialog: {
766
+ title: string;
767
+ optionApprove: string;
768
+ optionApproveFresh: string;
769
+ optionRevise: (ellipsis: string) => string;
770
+ optionReject: string;
771
+ modeBack: (mode: string) => string;
772
+ modeHeadingFresh: string;
773
+ modeHeading: string;
774
+ editing: (ellipsis: string) => string;
775
+ version: (version: number) => string;
776
+ stepCount: (n: number) => string;
777
+ edited: string;
778
+ moreSteps: (ellipsis: string, n: number) => string;
779
+ feedbackCompact: string;
780
+ feedback: string;
781
+ hintMainCompact: (arrows: string, edit: boolean) => string;
782
+ hintMain: (arrows: string, edit: boolean) => string;
783
+ hintModeCompact: (arrows: string) => string;
784
+ hintMode: (arrows: string) => string;
785
+ hintReviseCompact: (edit: boolean) => string;
786
+ hintRevise: (edit: boolean) => string;
787
+ hintEditing: string;
788
+ };
789
+ flow: {
790
+ pending: (version: number) => string;
791
+ approved: (version: number, mode: string) => string;
792
+ approvedFresh: (version: number, sessionId: string, mode: string) => string;
793
+ rejectedExit: (version: number, mode: string) => string;
794
+ rejectedStay: (version: number) => string;
795
+ };
796
+ };
797
+ rewind: {
798
+ skip: {
799
+ reason: (code: rewind.RewindSkipCode) => string;
800
+ failed: (message: string) => string;
801
+ counts: (parts: readonly (readonly [rewind.RewindSkipCode, number])[]) => string;
802
+ detail: (path: string, reason: string) => string;
803
+ more: (n: number) => string;
804
+ };
805
+ badge: {
806
+ noCode: string;
807
+ conflicts: (n: number) => string;
808
+ files: (n: number, stat: string) => string;
809
+ conversationOnly: string;
810
+ };
811
+ restorePreview: {
812
+ onlyConflicts: (n: number) => string;
813
+ files: (n: number, stat: string, conflicts: number) => string;
814
+ };
815
+ result: {
816
+ restored: (done: number) => string;
817
+ restoredSkipped: (done: number, skipped: number, why: string) => string;
818
+ noneRestored: (skipped: number, why: string) => string;
819
+ unchanged: string;
820
+ };
821
+ gitHint: (change: string, brief: boolean) => string;
822
+ error: {
823
+ busy: string;
824
+ noCheckpoint: string;
825
+ failedFiles: (files: readonly (readonly [string, string])[]) => string;
826
+ failed: string;
827
+ };
828
+ command: {
829
+ usage: (forms: string) => string;
830
+ forms: string;
831
+ empty: string;
832
+ conversationOnly: string;
833
+ emptyText: string;
834
+ pointsHeading: (forms: string) => string;
835
+ noSuchPoint: (index: number, total: number) => string;
836
+ summarizedFrom: (text: string) => string;
837
+ summarizedUpTo: (before: number, after: number | undefined) => string;
838
+ conversationBack: (text: string) => string;
839
+ };
840
+ flow: {
841
+ refilled: string;
842
+ refilledImages: (images: number) => string;
843
+ rewinding: string;
844
+ conversationBack: (note: string) => string;
845
+ summarizingFrom: string;
846
+ summarizedFrom: (note: string) => string;
847
+ summarizing: string;
848
+ busy: string;
849
+ empty: string;
850
+ undone: (note: string) => string;
851
+ };
852
+ list: {
853
+ title: string;
854
+ };
855
+ panel: {
856
+ title: string;
857
+ optionBoth: string;
858
+ optionConversation: string;
859
+ optionCode: string;
860
+ optionSummarizeFrom: string;
861
+ optionSummarizeUpTo: string;
862
+ optionCancel: string;
863
+ previewBoth: (restore: string) => string;
864
+ previewConversationKeep: string;
865
+ previewConversation: string;
866
+ previewCode: (restore: string) => string;
867
+ previewSummarizeFrom: string;
868
+ previewSummarizeUpTo: string;
869
+ conflictSkip: string;
870
+ conflictOverwrite: string;
871
+ conflictBack: string;
872
+ conflictHead: (n: number) => string;
873
+ hintConflictCompact: (arrows: string) => string;
874
+ hintConflict: (arrows: string) => string;
875
+ hintCompact: (arrows: string, n: number) => string;
876
+ hint: (arrows: string, n: number) => string;
877
+ moreLines: (ellipsis: string, n: number) => string;
878
+ instructions: (text: string) => string;
879
+ instructionsHint: string;
880
+ tightList: (head: string, files: readonly string[]) => string;
881
+ moreFiles: (ellipsis: string, n: number) => string;
882
+ noCheckpoint: string;
883
+ previewFailed: (error: string) => string;
884
+ conflictsTight: (n: number) => string;
885
+ conflicts: (n: number) => string;
886
+ unrestorable: (n: number) => string;
887
+ fileReason: (reason: string) => string;
888
+ };
889
+ };
890
+ panels: {
891
+ session: {
892
+ title: (id: string) => string;
893
+ notSaved: string;
894
+ model: string;
895
+ thinking: (level: string) => string;
896
+ permission: (mode: string) => string;
897
+ messages: string;
898
+ user: (n: number) => string;
899
+ assistant: (n: number) => string;
900
+ toolCalls: (n: number) => string;
901
+ usage: string;
902
+ input: (tokens: string) => string;
903
+ output: (tokens: string) => string;
904
+ cacheRead: (tokens: string) => string;
905
+ cacheWrite: (tokens: string) => string;
906
+ context: string;
907
+ subagents: string;
908
+ external: string;
909
+ };
910
+ cache: {
911
+ title: string;
912
+ };
913
+ permissions: {
914
+ mode: string;
915
+ modeValue: (label: string, mode: string, dim: (text: string) => string) => string;
916
+ order: string;
917
+ orderAuto: string;
918
+ orderAllowlist: string;
919
+ orderDefault: string;
920
+ rulesNone: string;
921
+ rules: (n: number) => string;
922
+ recentAuto: (n: number) => string;
923
+ cached: string;
924
+ };
925
+ picker: {
926
+ footer: (arrows: string) => string;
927
+ permissionTitle: string;
928
+ permissionFooter: (arrows: string) => string;
929
+ thinkingUnsupported: string;
930
+ emptyText: string;
931
+ };
932
+ model: {
933
+ local: string;
934
+ key: string;
935
+ oauth: string;
936
+ needsLogin: string;
937
+ noKey: string;
938
+ current: string;
939
+ listed: string;
940
+ otherChannels: (names: string) => string;
941
+ discoverHint: (provider: string) => string;
942
+ loginHint: (provider: string) => string;
943
+ footerConfigured: string;
944
+ footerAll: string;
945
+ emptyConfigured: string;
946
+ added: (ref: string) => string;
947
+ addedFirst: (ref: string) => string;
948
+ removed: (ref: string) => string;
949
+ wildcard: (ref: string, pattern: string) => string;
950
+ noKeyHint: (provider: string) => string;
951
+ needsLoginHint: (provider: string) => string;
952
+ };
953
+ plan: {
954
+ title: string;
955
+ titleVersion: (version: number) => string;
956
+ status: string;
957
+ mode: string;
958
+ modePlan: (back: string, dim: (text: string) => string) => string;
959
+ todos: string;
960
+ todosValue: (done: number, total: number, current: string | undefined, dim: (text: string) => string) => string;
961
+ steps: (n: number) => string;
962
+ };
963
+ agents: {
964
+ title: string;
965
+ titleCount: (n: number) => string;
966
+ none: string;
967
+ typesHeading: (n: number) => string;
968
+ source: {
969
+ builtin: string;
970
+ cli: string;
971
+ profile: string;
972
+ user: string;
973
+ project: string;
974
+ host: string;
975
+ };
976
+ notInstalled: string;
977
+ installed: (version: string | undefined) => string;
978
+ };
979
+ tasks: {
980
+ status: {
981
+ running: string;
982
+ completed: string;
983
+ failed: string;
984
+ aborted: string;
985
+ max_turns: string;
986
+ interrupted: string;
987
+ };
988
+ turns: (n: number) => string;
989
+ agentRunner: (agent: string, runner: string) => string;
990
+ background: string;
991
+ none: string;
992
+ heading: (n: number) => string;
993
+ footer: string;
994
+ notFound: (id: string) => string;
995
+ fullOutput: (path: string) => string;
996
+ noOutput: string;
997
+ title: (id: string) => string;
998
+ };
999
+ };
1000
+ permissions: {
1001
+ modeDescription: {
1002
+ default: string;
1003
+ autoEdit: string;
1004
+ plan: string;
1005
+ auto: string;
1006
+ fullAuto: string;
1007
+ allowlist: string;
1008
+ };
1009
+ autoLayer: {
1010
+ rule: string;
1011
+ static: string;
1012
+ classifier: string;
1013
+ };
1014
+ bypass: {
1015
+ title: string;
1016
+ riskAllowAll: string;
1017
+ riskDangerous: string;
1018
+ choiceEnter: string;
1019
+ choiceCancel: string;
1020
+ lineQuestion: string;
1021
+ };
1022
+ preview: {
1023
+ moreHidden: (n: number) => string;
1024
+ timedOut: (ms: number) => string;
1025
+ missing: string;
1026
+ symlink: string;
1027
+ file: (size: string) => string;
1028
+ dirCapped: (max: number) => string;
1029
+ dir: (files: number, size: string, partial: boolean) => string;
1030
+ pathUnexpanded: (verb: permissions.PreviewVerb, word: string) => string;
1031
+ pathTarget: (verb: permissions.PreviewVerb, path: string, detail: string, note: permissions.PreviewNote | undefined) => string;
1032
+ rmUnknown: (name: string) => string;
1033
+ gitResetHard: string;
1034
+ dangerous: (description: string) => string;
1035
+ tooDeep: string;
1036
+ unread: (tool: string) => string;
1037
+ size: (lines: number, size: string) => string;
1038
+ writeNew: (path: string, next: string) => string;
1039
+ writeIsDir: (path: string) => string;
1040
+ writeOverwrite: (path: string, before: string, next: string) => string;
1041
+ editNotUnique: (what: string, count: string) => string;
1042
+ editNotFound: (what: string) => string;
1043
+ editOverlap: string;
1044
+ editNoChange: string;
1045
+ editMissing: (path: string) => string;
1046
+ editTooLarge: (path: string, size: string) => string;
1047
+ editPlan: (path: string, replacements: number, fuzzy: boolean) => string;
1048
+ editOp: (index: number, removed: number, added: number) => string;
1049
+ editMore: (n: number) => string;
1050
+ editTotal: (before: number, after: number) => string;
1051
+ editDryRunFailed: (path: string, reason: string) => string;
1052
+ failed: (reason: string) => string;
1053
+ moreLines: (n: number) => string;
1054
+ };
1055
+ };
1056
+ report: {
1057
+ commands: {
1058
+ help: string;
1059
+ new: string;
1060
+ resume: string;
1061
+ forkArgs: string;
1062
+ fork: string;
1063
+ compactArgs: string;
1064
+ compact: string;
1065
+ rewind: string;
1066
+ model: string;
1067
+ thinkingArgs: string;
1068
+ thinking: string;
1069
+ permissionArgs: string;
1070
+ permission: string;
1071
+ toolsArgs: string;
1072
+ tools: string;
1073
+ hooks: string;
1074
+ session: string;
1075
+ cache: string;
1076
+ statusline: string;
1077
+ planArgs: string;
1078
+ plan: string;
1079
+ tasks: string;
1080
+ agents: string;
1081
+ paste: string;
1082
+ exit: string;
1083
+ config: string;
1084
+ traceArgs: string;
1085
+ trace: string;
1086
+ memoryArgs: string;
1087
+ memory: string;
1088
+ skillLine: string;
1089
+ templateLine: string;
1090
+ };
1091
+ command: {
1092
+ warmingUnsupported: string;
1093
+ warming: (mode: string) => string;
1094
+ warmingInvalid: (modes: readonly string[]) => string;
1095
+ warmingSet: (mode: string) => string;
1096
+ cacheUsage: string;
1097
+ taskStopped: (id: string) => string;
1098
+ tasksUsage: string;
1099
+ newSession: (id: string) => string;
1100
+ resumed: (id: string, messages: number) => string;
1101
+ forked: (id: string) => string;
1102
+ compacted: (before: number, after: number | undefined) => string;
1103
+ model: (ref: string) => string;
1104
+ thinkingInvalid: (levels: readonly string[]) => string;
1105
+ thinking: (level: string) => string;
1106
+ permissionInvalid: (modes: readonly string[]) => string;
1107
+ permissionCancelled: (mode: string) => string;
1108
+ permission: (mode: string) => string;
1109
+ tools: (active: readonly string[], inactive: readonly string[]) => string;
1110
+ noHooks: string;
1111
+ pasted: (path: string) => string;
1112
+ statuslineOnly: string;
1113
+ };
1114
+ startup: {
1115
+ more: (count: number) => string;
1116
+ trustQuestion: (cwd: string) => string;
1117
+ trustChoices: string;
1118
+ resumeQuestion: string;
1119
+ resumeAnswer: string;
1120
+ pickModel: string;
1121
+ pickModelAnswer: string;
1122
+ cwdMissing: (path: string) => string;
1123
+ cwdAnswer: string;
1124
+ notDirectory: (path: string) => string;
1125
+ };
1126
+ cache: {
1127
+ unreported: string;
1128
+ unknown: string;
1129
+ reason: (reason: import("../sdk.js").CacheMissReason) => string;
1130
+ missIdle: (minutes: number) => string;
1131
+ missSubtask: (minutes: number) => string;
1132
+ missModel: string;
1133
+ missTools: string;
1134
+ missSystem: string;
1135
+ missPrefix: string;
1136
+ missEvicted: string;
1137
+ missNotice: (reason: string, tokens: string, cost: string | undefined) => string;
1138
+ pressure: (percent: number) => string;
1139
+ pressureTurns: (percent: number, turns: number) => string;
1140
+ pressureTokens: (percent: number, tokens: string) => string;
1141
+ warmSent: (read: string | undefined, cost: string | undefined) => string;
1142
+ stopReason: (reason: string) => string;
1143
+ stopped: string;
1144
+ stoppedWith: (reason: string) => string;
1145
+ next: (duration: string) => string;
1146
+ savings: (amount: string, floor: string | undefined) => string;
1147
+ pending: string;
1148
+ sent: (count: number, cost: string) => string;
1149
+ missesNone: string;
1150
+ misses: (count: number, tokens: string, cost: string, by: string) => string;
1151
+ keyInput: string;
1152
+ input: (prompt: string, read: string, share: string | undefined, uncached: string, write: string | undefined) => string;
1153
+ keyHitRate: string;
1154
+ sessionRate: (rate: string) => string;
1155
+ rates: (last: string, session: string) => string;
1156
+ keyReporting: string;
1157
+ keyMisses: string;
1158
+ keyWarming: string;
1159
+ keyContext: string;
1160
+ context: (percent: number, remaining: string | undefined, turns: number | undefined) => string;
1161
+ keySubtasks: string;
1162
+ subtasks: (count: number, rate: string, rebilled: string | undefined) => string;
1163
+ title: string;
1164
+ };
1165
+ session: {
1166
+ externalTokens: (tokens: string) => string;
1167
+ externalRequests: (count: number) => string;
1168
+ external: (runs: number, amount: string, tokens: string | undefined) => string;
1169
+ tasks: (total: number) => string;
1170
+ running: (count: number) => string;
1171
+ status: (status: string, count: number) => string;
1172
+ tasksLine: (parts: readonly string[]) => string;
1173
+ keySession: string;
1174
+ session: (id: string, file: string | undefined) => string;
1175
+ keyModel: string;
1176
+ model: (model: string, thinking: string, permission: string) => string;
1177
+ keyMessages: string;
1178
+ messages: (user: number, assistant: number, tools: number) => string;
1179
+ keyUsage: string;
1180
+ usage: (input: number, output: number, cacheRead: number, cacheWrite: number, cost: string) => string;
1181
+ keyContext: string;
1182
+ context: (tokens: string, window: string, percent: string) => string;
1183
+ keyAgents: string;
1184
+ externalTitle: string;
1185
+ noFingerprint: string;
1186
+ noRequestYet: string;
1187
+ fingerprintTitle: string;
1188
+ };
1189
+ doctor: {
1190
+ usage: string;
1191
+ missing: (label: string, path: string) => string;
1192
+ labeled: (label: string, text: string) => string;
1193
+ keySource: (source: string, origin: string | undefined) => string;
1194
+ hookCommand: (command: string, ms: number) => string;
1195
+ codemode: (mode: string, reason: string) => string;
1196
+ warning: (text: string) => string;
1197
+ trustTitle: string;
1198
+ fromCli: string;
1199
+ noRecord: string;
1200
+ trustInvalid: string;
1201
+ trust: (cwd: string, trusted: boolean, from: string) => string;
1202
+ gated: (trusted: boolean) => string;
1203
+ keysTitle: string;
1204
+ authMode: (mode: string, path: string) => string;
1205
+ none: string;
1206
+ notNeeded: string;
1207
+ baseUrlEnv: (env: string, url: string) => string;
1208
+ model: (ref: string | undefined, reason: string) => string;
1209
+ registry: (error: string) => string;
1210
+ envVars: (names: readonly string[]) => string;
1211
+ empty: string;
1212
+ hookSkipped: (path: string) => string;
1213
+ terminalTitle: string;
1214
+ tty: (stdin: boolean, stdout: boolean) => string;
1215
+ term: (term: string | undefined, colorterm: string | undefined) => string;
1216
+ noColor: string;
1217
+ tmux: string;
1218
+ size: (columns: number, rows: number | undefined) => string;
1219
+ defaultUi: (tui: boolean) => string;
1220
+ language: (locale: string, source: string) => string;
1221
+ languageSource: (kind: "env" | "cli" | "config" | "locale" | "default", name: string | undefined, value: string | undefined) => string;
1222
+ proxyTitle: string;
1223
+ fileHistory: (blobs: number, size: string, shadow: string | undefined, dir: string) => string;
1224
+ shadowRepos: (repos: number, size: string) => string;
1225
+ fileHistoryFailed: (error: string) => string;
1226
+ dirsTitle: string;
1227
+ configDir: (path: string) => string;
1228
+ dataDir: (path: string, exists: boolean) => string;
1229
+ layersTitle: string;
1230
+ builtinDefaults: string;
1231
+ userLevel: string;
1232
+ projectLevel: string;
1233
+ tightened: (text: string) => string;
1234
+ permissionMode: (mode: string) => string;
1235
+ osSandbox: (kind: string, detail: string, networkOnly: boolean) => string;
1236
+ bashSandbox: (detail: string) => string;
1237
+ contextTitle: string;
1238
+ contextUser: string;
1239
+ contextProject: string;
1240
+ userHooks: (path: string) => string;
1241
+ };
1242
+ };
1243
+ print: {
1244
+ print: {
1245
+ stdinIgnored: (wait: string) => string;
1246
+ stdinWaiting: string;
1247
+ seconds: (n: number) => string;
1248
+ millis: (n: number) => string;
1249
+ needsPrompt: string;
1250
+ retry: (attempt: number, max: number, seconds: number, error: string) => string;
1251
+ modelFailed: string;
1252
+ planPending: (version: number, where: string) => string;
1253
+ limitTurns: (limit: number) => string;
1254
+ limitCost: (limit: string, spent: string) => string;
1255
+ denied: (count: number, tools: readonly string[], reason: string) => string;
1256
+ };
1257
+ rpc: {
1258
+ unknownCommand: (type: string) => string;
1259
+ parseFailed: (error: string) => string;
1260
+ missingType: string;
1261
+ unsupported: string;
1262
+ noPlan: string;
1263
+ badMode: (modes: readonly string[]) => string;
1264
+ };
1265
+ acp: {
1266
+ missingParam: (key: string) => string;
1267
+ promptNotArray: string;
1268
+ unparsable: (reason: string) => string;
1269
+ missingProtocolVersion: string;
1270
+ fixedCwd: (cwd: string, got: string) => string;
1271
+ sessionNotFound: (id: string, error: string) => string;
1272
+ busy: string;
1273
+ modelFailed: string;
1274
+ unknownMode: (mode: string) => string;
1275
+ allowOnce: string;
1276
+ allowAlways: string;
1277
+ rejectOnce: string;
1278
+ truncated: (length: number) => string;
1279
+ };
1280
+ };
1281
+ config: {
1282
+ keys: {
1283
+ $schema: string;
1284
+ version: string;
1285
+ defaultModel: string;
1286
+ thinkingLevel: string;
1287
+ providers: string;
1288
+ permission: string;
1289
+ "permission.mode": string;
1290
+ "permission.allow": string;
1291
+ "permission.deny": string;
1292
+ "permission.builtinDeny": string;
1293
+ "permission.autoModel": string;
1294
+ "permission.autoSafeCommands": string;
1295
+ compaction: string;
1296
+ "compaction.enabled": string;
1297
+ "compaction.reserveTokens": string;
1298
+ "compaction.keepRecentTokens": string;
1299
+ "compaction.prune": string;
1300
+ "compaction.prune.keepResults": string;
1301
+ "compaction.prune.clearAtLeast": string;
1302
+ "compaction.pruneExclude": string;
1303
+ retry: string;
1304
+ "retry.enabled": string;
1305
+ "retry.maxRetries": string;
1306
+ "retry.baseDelayMs": string;
1307
+ "retry.maxDelayMs": string;
1308
+ tools: string;
1309
+ "tools.preset": string;
1310
+ "tools.default": string;
1311
+ "tools.maxToolResultChars": string;
1312
+ "tools.bashTimeoutMs": string;
1313
+ "tools.disabled": string;
1314
+ codemode: string;
1315
+ "codemode.mode": string;
1316
+ "codemode.inlineBudget": string;
1317
+ "codemode.requireStrict": string;
1318
+ hooks: string;
1319
+ "hooks.timeoutMs": string;
1320
+ ui: string;
1321
+ "ui.theme": string;
1322
+ "ui.markdown": string;
1323
+ "ui.showThinking": string;
1324
+ "ui.tuiMode": string;
1325
+ "ui.quietStartup": string;
1326
+ "ui.ascii": string;
1327
+ "ui.compact": string;
1328
+ "ui.animation": string;
1329
+ "ui.restoreOnCancel": string;
1330
+ "ui.statusLine": string;
1331
+ "ui.language": string;
1332
+ "ui.replyLanguage": string;
1333
+ "ui.agentBar": string;
1334
+ memory: string;
1335
+ "memory.enabled": string;
1336
+ "memory.scopes": string;
1337
+ "memory.indexMaxBytes": string;
1338
+ "memory.fileMaxBytes": string;
1339
+ "memory.maxFiles": string;
1340
+ "memory.subagents": string;
1341
+ auth: string;
1342
+ "auth.chatgpt": string;
1343
+ "auth.chatgpt.flavor": string;
1344
+ "auth.chatgpt.clientId": string;
1345
+ "auth.chatgpt.issuer": string;
1346
+ "auth.chatgpt.originator": string;
1347
+ "auth.chatgpt.redirectPorts": string;
1348
+ skills: string;
1349
+ "skills.dirs": string;
1350
+ cache: string;
1351
+ request: string;
1352
+ "request.idleTimeoutMs": string;
1353
+ "cache.warming": string;
1354
+ "cache.retention": string;
1355
+ "cache.minSavingsUsd": string;
1356
+ "cache.missNotices": string;
1357
+ "cache.warmSubagents": string;
1358
+ checkpoints: string;
1359
+ "checkpoints.mode": string;
1360
+ "checkpoints.maxFileBytes": string;
1361
+ "checkpoints.keep": string;
1362
+ sandbox: string;
1363
+ "sandbox.enabled": string;
1364
+ "sandbox.bash": string;
1365
+ "sandbox.network": string;
1366
+ "sandbox.writable": string;
1367
+ images: string;
1368
+ "images.resize": string;
1369
+ plan: string;
1370
+ "plan.bash": string;
1371
+ "plan.directory": string;
1372
+ "plan.unattended": string;
1373
+ "plan.model": string;
1374
+ "plan.thinkingLevel": string;
1375
+ agents: string;
1376
+ "agents.maxConcurrent": string;
1377
+ "agents.sessionBudgetUsd": string;
1378
+ "agents.dirs": string;
1379
+ subagents: string;
1380
+ "subagents.maxConcurrent": string;
1381
+ "subagents.maxPending": string;
1382
+ "subagents.defaultModel": string;
1383
+ models: string;
1384
+ "models.aliases": string;
1385
+ "models.aliases.fast": string;
1386
+ "models.aliases.strong": string;
1387
+ "models.enabled": string;
1388
+ fallbackModel: string;
1389
+ limits: string;
1390
+ "limits.maxTurns": string;
1391
+ "limits.maxCostUsd": string;
1392
+ reminders: string;
1393
+ "reminders.todo": string;
1394
+ "reminders.fileChanges": string;
1395
+ "reminders.contextPressure": string;
1396
+ "reminders.budget": string;
1397
+ todo: string;
1398
+ "todo.reminder": string;
1399
+ };
1400
+ dynamicDefaults: {
1401
+ $schema: string;
1402
+ defaultModel: string;
1403
+ "permission.autoModel": string;
1404
+ "codemode.mode": string;
1405
+ "ui.ascii": string;
1406
+ "ui.statusLine": string;
1407
+ "plan.directory": string;
1408
+ "plan.model": string;
1409
+ "plan.thinkingLevel": string;
1410
+ "agents.sessionBudgetUsd": string;
1411
+ "subagents.defaultModel": string;
1412
+ "models.aliases.fast": string;
1413
+ "models.aliases.strong": string;
1414
+ "models.enabled": string;
1415
+ fallbackModel: string;
1416
+ "limits.maxTurns": string;
1417
+ "limits.maxCostUsd": string;
1418
+ "ui.replyLanguage": string;
1419
+ "ui.agentBar": string;
1420
+ "auth.chatgpt.clientId": string;
1421
+ "auth.chatgpt.redirectPorts": string;
1422
+ };
1423
+ schema: {
1424
+ enumArray: (choices: readonly string[]) => string;
1425
+ ports: string;
1426
+ required: string;
1427
+ memoryDir: string;
1428
+ object: string;
1429
+ unknownKey: string;
1430
+ version: string;
1431
+ requiredString: string;
1432
+ string: string;
1433
+ boolean: string;
1434
+ number: string;
1435
+ range: (min: number, max: number) => string;
1436
+ oneOf: (choices: readonly string[]) => string;
1437
+ stringArray: string;
1438
+ array: string;
1439
+ modelsDev: string;
1440
+ modelsEnabled: string;
1441
+ noChannels: string;
1442
+ unknownChannelOf: (name: string, available: readonly string[]) => string;
1443
+ modelInput: string;
1444
+ channelName: string;
1445
+ atLeastOneChannel: string;
1446
+ unknownChannel: (name: string) => string;
1447
+ defaultChannelWithoutChannels: string;
1448
+ builtinDeny: string;
1449
+ writablePath: string;
1450
+ providersMissing: string;
1451
+ hookEvent: (events: readonly string[]) => string;
1452
+ hookType: string;
1453
+ hookCommandEmpty: string;
1454
+ clearAtLeast: string;
1455
+ agentId: string;
1456
+ };
1457
+ merge: {
1458
+ projectIgnored: (label: string, key: string) => string;
1459
+ projectMemoryOnlyDisable: (label: string) => string;
1460
+ projectOnlyKeys: (label: string, allowed: string, ignored: string) => string;
1461
+ projectPresetLoosen: (label: string, preset: string, current: string) => string;
1462
+ projectOnlyValue: (label: string, key: string, value: string, ignored: string) => string;
1463
+ projectPlanBashTighten: (label: string, value: string, current: string) => string;
1464
+ projectModeTighten: (label: string, value: string, current: string) => string;
1465
+ projectLowerOnly: (label: string, key: string, value: number, current: number) => string;
1466
+ projectNoAllow: (label: string, rules: string) => string;
1467
+ projectNoBuiltinDeny: (label: string) => string;
1468
+ projectNoAutoSafe: (label: string) => string;
1469
+ projectModeLoosen: (label: string, mode: string) => string;
1470
+ };
1471
+ load: {
1472
+ jsonSyntax: (line: number | string, column: number | string, message: string) => string;
1473
+ jsonSyntaxNear: (line: number, column: number, message: string) => string;
1474
+ jsonEmpty: string;
1475
+ notFound: string;
1476
+ invalid: (lines: readonly string[]) => string;
1477
+ };
1478
+ profile: {
1479
+ notFound: (path: string) => string;
1480
+ relativePaths: (path: string, lines: readonly string[]) => string;
1481
+ };
1482
+ authFile: {
1483
+ modeTooOpen: (path: string, mode: string) => string;
1484
+ };
1485
+ paths: {
1486
+ notDirectory: string;
1487
+ notWritable: (label: string, dir: string, reason: string) => string;
1488
+ configDir: string;
1489
+ dataDir: string;
1490
+ sessionDir: string;
1491
+ };
1492
+ context: {
1493
+ readFailed: (path: string, reason: string) => string;
1494
+ truncated: (path: string, maxBytes: number) => string;
1495
+ };
1496
+ init: {
1497
+ status: {
1498
+ created: string;
1499
+ exists: string;
1500
+ updated: string;
1501
+ unchanged: string;
1502
+ overwritten: string;
1503
+ };
1504
+ dirCreated: string;
1505
+ dirExists: string;
1506
+ nextSteps: string;
1507
+ };
1508
+ jsonSchema: {
1509
+ api: string;
1510
+ compat: string;
1511
+ modelId: string;
1512
+ modelBaseUrl: string;
1513
+ contextWindow: string;
1514
+ maxTokens: string;
1515
+ input: string;
1516
+ modelChannels: string;
1517
+ modelsDev: string;
1518
+ baseUrl: string;
1519
+ channelApiKey: string;
1520
+ apiKey: string;
1521
+ channels: string;
1522
+ defaultChannel: string;
1523
+ models: string;
1524
+ modelOverrides: string;
1525
+ };
1526
+ };
1527
+ drivers: {
1528
+ agent: {
1529
+ reapedOrphans: (pids: string) => string;
1530
+ unverifiedVersion: (program: string, version: string, verified: string) => string;
1531
+ cancelGraceExpired: string;
1532
+ modeClamped: (agent: string, chosen: string, requested: string) => string;
1533
+ overBudget: (agent: string) => string;
1534
+ timedOut: (agent: string) => string;
1535
+ resumeUnsupported: (agent: string) => string;
1536
+ resumeNotFound: (agent: string, id: string) => string;
1537
+ noMatchingMode: (agent: string, mode: string) => string;
1538
+ noImages: (agent: string) => string;
1539
+ noImagesDriver: (agent: string) => string;
1540
+ noImagesOneshot: (agent: string) => string;
1541
+ initializeRejected: (agent: string, error: string) => string;
1542
+ nonJson: (agent: string) => string;
1543
+ denials: (agent: string, count: number) => string;
1544
+ budgetStop: (agent: string) => string;
1545
+ error: (agent: string, message: string, retrying: boolean) => string;
1546
+ askedQuestion: (agent: string, tool: string) => string;
1547
+ askedQuestionCodex: (agent: string) => string;
1548
+ mcpElicitation: (agent: string) => string;
1549
+ };
1550
+ hooks: {
1551
+ configInvalid: (lines: string) => string;
1552
+ projectUntrusted: (path: string) => string;
1553
+ unknownDecision: (value: string) => string;
1554
+ notString: (key: string) => string;
1555
+ timedOut: (event: string, command: string, ms: number) => string;
1556
+ failed: (event: string, command: string, exitCode: number | null, tail: string) => string;
1557
+ invalidDecision: (event: string, command: string, decision: string) => string;
1558
+ multipleInputs: (count: number) => string;
1559
+ multiplePrompts: (count: number) => string;
1560
+ };
1561
+ host: {
1562
+ handlerFailed: (name: string) => string;
1563
+ toolNotObject: string;
1564
+ toolBadName: (name: string) => string;
1565
+ toolNoExecute: (name: string) => string;
1566
+ toolBadPermission: (name: string) => string;
1567
+ toolExists: (name: string) => string;
1568
+ instructionNeedsPath: string;
1569
+ instructionNeedsText: string;
1570
+ brokerNeedsAsk: string;
1571
+ warmingNeedsFunction: string;
1572
+ runnerNeedsIdStart: string;
1573
+ notAdapter: (label: string) => string;
1574
+ versionMismatch: (label: string, found: string, needed: number) => string;
1575
+ noCreate: (label: string) => string;
1576
+ notFound: (path: string) => string;
1577
+ loadFailed: (path: string, error: string) => string;
1578
+ createTimeout: (label: string, ms: number) => string;
1579
+ createFailed: (label: string, error: string) => string;
1580
+ noId: (label: string) => string;
1581
+ };
1582
+ };
1583
+ session: {
1584
+ cli: {
1585
+ usage: string;
1586
+ none: string;
1587
+ subagentTag: string;
1588
+ listRow: (id: string, time: string, count: number, name: string) => string;
1589
+ showNeedsId: string;
1590
+ show: (item: {
1591
+ id: string;
1592
+ file: string;
1593
+ cwd: string;
1594
+ name?: string | undefined;
1595
+ created: string;
1596
+ modified: string;
1597
+ messages: number;
1598
+ entries: string;
1599
+ firstPrompt?: string | undefined;
1600
+ }) => string;
1601
+ userMessages: (shortId: string) => string;
1602
+ images: (count: number) => string;
1603
+ olderThanInvalid: (raw: string) => string;
1604
+ moved: (dryRun: boolean, file: string) => string;
1605
+ pruned: (count: number, dryRun: boolean) => string;
1606
+ unknownAction: (action: string) => string;
1607
+ fileHistoryPruned: (dryRun: boolean, count: number, size: string) => string;
1608
+ fileHistorySkipped: (error: string) => string;
1609
+ clipboardPruned: (dryRun: boolean, count: number) => string;
1610
+ clipboardSkipped: (error: string) => string;
1611
+ notWired: (what: string) => string;
1612
+ };
1613
+ lookup: {
1614
+ fromNeedsId: string;
1615
+ fromInvalid: (spec: string) => string;
1616
+ noUserMessages: (id: string) => string;
1617
+ tooFewMessages: (id: string, count: number, n: number) => string;
1618
+ ambiguousPrefix: (id: string, candidates: string) => string;
1619
+ notFound: (id: string) => string;
1620
+ };
1621
+ export: {
1622
+ truncated: (length: number) => string;
1623
+ image: (mime: string) => string;
1624
+ title: (shortId: string) => string;
1625
+ id: (id: string) => string;
1626
+ cwd: (cwd: string) => string;
1627
+ created: (time: string) => string;
1628
+ scope: (all: boolean, count: number) => string;
1629
+ parent: (id: string) => string;
1630
+ user: (n: number | undefined, origin: string | undefined, time: string) => string;
1631
+ assistant: (model: string, time: string) => string;
1632
+ toolCall: (name: string) => string;
1633
+ stopped: (reason: string, error: string | undefined) => string;
1634
+ toolResult: (name: string, isError: boolean) => string;
1635
+ compaction: (time: string) => string;
1636
+ branchSummary: (time: string) => string;
1637
+ modelChange: (model: string) => string;
1638
+ usage: string;
1639
+ usageHeader: string;
1640
+ };
1641
+ checkpoints: {
1642
+ registerFailed: (error: string) => string;
1643
+ shadowUnavailable: (reason: string) => string;
1644
+ gitMissing: string;
1645
+ createFailed: (error: string) => string;
1646
+ shadowRestoreFailed: (error: string) => string;
1647
+ replacedDuringRestore: string;
1648
+ invalidEnv: (raw: string, modes: readonly string[]) => string;
1649
+ cwdIsRoot: string;
1650
+ cwdIsHome: string;
1651
+ gitNotFound: string;
1652
+ tooManyFiles: (files: number, max: number) => string;
1653
+ tooSlow: (seconds: string, max: number) => string;
1654
+ gitFailed: (command: string, code: string, detail: string) => string;
1655
+ noShadowCommit: string;
1656
+ shadowCommitMissing: (commit: string) => string;
1657
+ backupFailed: (key: string, error: string) => string;
1658
+ recordFailed: (path: string, error: string) => string;
1659
+ snapshotFailed: (key: string, error: string) => string;
1660
+ };
1661
+ plan: {
1662
+ directoryOutside: (configured: string, root: string, fallback: string) => string;
1663
+ pendingNotice: (version: number, file: string | undefined, target: string) => string;
1664
+ };
1665
+ sandbox: {
1666
+ notConfigured: string;
1667
+ bashOff: string;
1668
+ bashUnshareOnly: string;
1669
+ bashUnavailable: (detail: string) => string;
1670
+ bashActive: (kind: string, network: string, extra: readonly string[]) => string;
1671
+ noOsSandbox: string;
1672
+ disabled: string;
1673
+ missing: (path: string) => string;
1674
+ sandboxExecFailed: (code: number | null) => string;
1675
+ bwrapFailed: (code: number | null) => string;
1676
+ noBwrap: string;
1677
+ unshareOnly: (failures: readonly string[]) => string;
1678
+ unshareFailed: (code: number | null) => string;
1679
+ noUnshare: string;
1680
+ failures: (failures: readonly string[]) => string;
1681
+ unsupportedPlatform: (platform: string) => string;
1682
+ };
1683
+ codemode: {
1684
+ disabled: (node: number, detail: string) => string;
1685
+ unisolated: (node: number, detail: string) => string;
1686
+ presetWarning: (w: import("../tools/presets.js").PresetWarning) => string;
1687
+ };
1688
+ };
1689
+ errors: {
1690
+ imageUnsupported: (model: string | undefined) => string;
1691
+ cacheParamsStripped: (key: string, field: string, suggestion: string | undefined) => string;
1692
+ sdk: {
1693
+ noSubcommand: string;
1694
+ modelNotFound: (ref: string) => string;
1695
+ noModel: string;
1696
+ noPlan: string;
1697
+ };
1698
+ models: {
1699
+ lookupFailure: (ref: string, reason: Extract<import("../index.js").ModelLookup, {
1700
+ ok: false;
1701
+ }>["reason"], list: string, hasCandidates: boolean) => string;
1702
+ source: (source: import("../ai/providers/enrich.js").FieldSource) => string;
1703
+ unmatched: string;
1704
+ match: (kind: import("../ai/providers/models-dev.js").MatchKind, ref: string, normalized: string | undefined) => string;
1705
+ consensus: (key: string, entries: number, groups: number, best: number, signature: string) => string;
1706
+ notObject: string;
1707
+ snapshotMissing: (id: string) => string;
1708
+ apiNotObject: string;
1709
+ apiMissingProvider: (id: string) => string;
1710
+ noModelsAfterFilter: (id: string) => string;
1711
+ none: string;
1712
+ describe: (via: string, providers: number, models: number) => string;
1713
+ viaSnapshot: (at: string) => string;
1714
+ viaRefresh: (snapshot: string, refreshed: string) => string;
1715
+ refreshFailed: (reason: string) => string;
1716
+ notListed: (unknown: string, choices: string) => string;
1717
+ refreshStatus: (status: "updated" | "unchanged" | "failed", providers: number, models: number, at: string | undefined) => string;
1718
+ section: (kind: "added" | "removed" | "changed", count: number) => string;
1719
+ more: (count: number) => string;
1720
+ changed: (ref: string, parts: readonly string[]) => string;
1721
+ };
1722
+ imageFile: (d: import("../tools/image-file.js").ImageFileErrorDetail) => string;
1723
+ };
1724
+ agents: {
1725
+ status: {
1726
+ queued: string;
1727
+ running: string;
1728
+ approval: string;
1729
+ completed: string;
1730
+ failed: string;
1731
+ aborted: string;
1732
+ max_turns: string;
1733
+ interrupted: string;
1734
+ };
1735
+ turns: (n: number) => string;
1736
+ bar: {
1737
+ more: (n: number) => string;
1738
+ keys: (up: string, down: string) => string;
1739
+ empty: string;
1740
+ };
1741
+ view: {
1742
+ back: string;
1743
+ stopHint: (taskId: string) => string;
1744
+ paused: string;
1745
+ placeholder: (taskId: string) => string;
1746
+ steered: (taskId: string) => string;
1747
+ queued: (taskId: string) => string;
1748
+ resumed: (taskId: string) => string;
1749
+ sendFailed: (message: string) => string;
1750
+ stopped: (taskId: string) => string;
1751
+ commandsHere: string;
1752
+ removed: (taskId: string) => string;
1753
+ unknown: (taskId: string) => string;
1754
+ turn: (n: number) => string;
1755
+ waiting: string;
1756
+ noTranscript: string;
1757
+ loadFailed: (message: string) => string;
1758
+ externalGone: (runner: string, sessionId: string) => string;
1759
+ externalNoSession: (runner: string) => string;
1760
+ };
1761
+ };
1762
+ trace: {
1763
+ title: string;
1764
+ summary: (turns: number, requests: number, tools: number) => string;
1765
+ cache: (percent: string) => string;
1766
+ empty: string;
1767
+ taskTitle: (taskId: string, agent: string) => string;
1768
+ taskNotFound: (taskId: string) => string;
1769
+ follow: {
1770
+ on: string;
1771
+ off: string;
1772
+ };
1773
+ hints: {
1774
+ list: string;
1775
+ listNarrow: string;
1776
+ detail: string;
1777
+ };
1778
+ row: {
1779
+ turn: (n: number, text: string) => string;
1780
+ turnOrigin: (n: number, origin: string, text: string) => string;
1781
+ step: (model: string) => string;
1782
+ stepAttempt: (model: string, attempt: number) => string;
1783
+ fallback: (from: string) => string;
1784
+ subagent: (taskId: string, agent: string) => string;
1785
+ subagentExternal: (taskId: string, agent: string, runner: string) => string;
1786
+ background: string;
1787
+ childMissing: string;
1788
+ compaction: (trigger: string) => string;
1789
+ compactionPlain: string;
1790
+ retryWait: (delay: string, attempt: number) => string;
1791
+ aux: {
1792
+ cache_warm: string;
1793
+ permission_classify: string;
1794
+ };
1795
+ auxGroup: (n: number) => string;
1796
+ externalTurn: (turn: number, tools: number, files: number) => string;
1797
+ more: (n: number) => string;
1798
+ };
1799
+ status: {
1800
+ ok: string;
1801
+ error: string;
1802
+ aborted: string;
1803
+ denied: string;
1804
+ running: string;
1805
+ retried: string;
1806
+ interrupted: string;
1807
+ };
1808
+ detail: {
1809
+ kind: string;
1810
+ status: string;
1811
+ start: string;
1812
+ duration: string;
1813
+ approx: string;
1814
+ approxValue: string;
1815
+ model: string;
1816
+ attempt: string;
1817
+ fallbackFrom: string;
1818
+ ttft: string;
1819
+ tps: string;
1820
+ thinking: string;
1821
+ stopReason: string;
1822
+ error: string;
1823
+ usage: string;
1824
+ usageValue: (input: string, output: string, cacheRead: string, cacheWrite: string) => string;
1825
+ cacheHit: string;
1826
+ cost: string;
1827
+ approval: string;
1828
+ denied: string;
1829
+ yes: string;
1830
+ task: string;
1831
+ runner: string;
1832
+ background: string;
1833
+ turns: string;
1834
+ childFile: string;
1835
+ childMissing: string;
1836
+ tools: string;
1837
+ files: string;
1838
+ origin: string;
1839
+ input: string;
1840
+ output: string;
1841
+ args: string;
1842
+ result: string;
1843
+ reason: string;
1844
+ truncated: (length: number) => string;
1845
+ };
1846
+ html: {
1847
+ docTitle: (sessionId: string) => string;
1848
+ search: string;
1849
+ noMatch: string;
1850
+ jump: string;
1851
+ zoomIn: string;
1852
+ zoomOut: string;
1853
+ zoomFit: string;
1854
+ expandAll: string;
1855
+ collapseAll: string;
1856
+ legendTtft: string;
1857
+ legendDecode: string;
1858
+ legendTool: string;
1859
+ legendAgent: string;
1860
+ legendWait: string;
1861
+ legendOther: string;
1862
+ axisNote: string;
1863
+ detailEmpty: string;
1864
+ noContent: string;
1865
+ previewDropped: string;
1866
+ childPreviewOff: string;
1867
+ footer: (version: string, generatedAt: string) => string;
1868
+ keys: string;
1869
+ };
1870
+ cli: {
1871
+ usage: string;
1872
+ wrote: (path: string) => string;
1873
+ openFailed: (reason: string) => string;
1874
+ formatConflict: string;
1875
+ badNow: (raw: string) => string;
1876
+ };
1877
+ };
1878
+ memory: {
1879
+ scope: {
1880
+ user: string;
1881
+ project: string;
1882
+ workspace: string;
1883
+ };
1884
+ panel: {
1885
+ title: string;
1886
+ off: string;
1887
+ on: string;
1888
+ disabled: string;
1889
+ noEntries: string;
1890
+ scopeLine: (scope: string, count: number, index: string, limit: string) => string;
1891
+ entryUpdated: (date: string) => string;
1892
+ stale: string;
1893
+ truncated: (omitted: number) => string;
1894
+ untrusted: string;
1895
+ writesOff: string;
1896
+ hint: string;
1897
+ };
1898
+ command: {
1899
+ usage: string;
1900
+ notFound: (name: string) => string;
1901
+ ambiguous: (name: string, matches: string) => string;
1902
+ deleted: (path: string) => string;
1903
+ saved: (path: string) => string;
1904
+ unchanged: string;
1905
+ editCancelled: string;
1906
+ writesOn: string;
1907
+ writesOff: string;
1908
+ reloaded: string;
1909
+ reloadUnchanged: string;
1910
+ confirmTitle: string;
1911
+ confirmDelete: string;
1912
+ confirmCancel: string;
1913
+ lineNoEditor: string;
1914
+ lineNeedsYes: (name: string) => string;
1915
+ newEntryName: (scope: string) => string;
1916
+ };
1917
+ error: {
1918
+ credential: (kind: string) => string;
1919
+ tooLarge: (bytes: number, limit: number) => string;
1920
+ tooMany: (limit: number) => string;
1921
+ locked: string;
1922
+ other: (message: string) => string;
1923
+ };
1924
+ cli: {
1925
+ usage: string;
1926
+ unknownScope: (scope: string) => string;
1927
+ needName: (sub: string) => string;
1928
+ confirmRemove: (path: string) => string;
1929
+ needsYes: string;
1930
+ enabled: (file: string) => string;
1931
+ disabled: (file: string) => string;
1932
+ disabledNote: string;
1933
+ untrusted: (cwd: string) => string;
1934
+ };
1935
+ };
1936
+ auth: {
1937
+ usage: string;
1938
+ kind: {
1939
+ literal: string;
1940
+ command: string;
1941
+ envRef: string;
1942
+ oauth: string;
1943
+ };
1944
+ needProvider: (action: string) => string;
1945
+ extraArgs: (args: string) => string;
1946
+ badProvider: (provider: string) => string;
1947
+ unknownAction: (action: string) => string;
1948
+ setPrompt: (provider: string) => string;
1949
+ noKeyFromStdin: string;
1950
+ saved: (provider: string, path: string) => string;
1951
+ warning: (text: string) => string;
1952
+ listEmpty: (path: string) => string;
1953
+ removed: (provider: string, path: string) => string;
1954
+ notFound: (path: string, provider: string) => string;
1955
+ oauthSummary: (flavor: string, plan: string | undefined, needsLogin: boolean) => string;
1956
+ login: {
1957
+ onlyChatgpt: (provider: string) => string;
1958
+ badFlavor: (flavor: string) => string;
1959
+ badPort: (port: string) => string;
1960
+ pasteDevice: string;
1961
+ deviceNeedsCodex: string;
1962
+ codexNotice: string;
1963
+ codexConfirm: string;
1964
+ codexNeedsYes: string;
1965
+ cancelled: string;
1966
+ openedBrowser: (url: string) => string;
1967
+ openUrl: (url: string) => string;
1968
+ pastePrompt: (url: string) => string;
1969
+ deviceCode: (url: string, code: string) => string;
1970
+ pageSuccess: string;
1971
+ pageFailure: string;
1972
+ loggedIn: (flavor: string, plan: string | undefined, email: string | undefined, path: string) => string;
1973
+ siwcLimitHint: string;
1974
+ freePlanHint: (plan: string) => string;
1975
+ modelHint: string;
1976
+ modelsCached: (count: number) => string;
1977
+ };
1978
+ errors: {
1979
+ portsBusy: (ports: string, codex: boolean) => string;
1980
+ timeout: string;
1981
+ denied: (error: string, codexFallback: boolean) => string;
1982
+ stateMismatch: string;
1983
+ noCode: string;
1984
+ invalidToken: (reason: string) => string;
1985
+ scopeMissing: (scope: string) => string;
1986
+ noClientId: string;
1987
+ noAccount: string;
1988
+ deviceUnavailable: string;
1989
+ http: (what: string) => string;
1990
+ network: (what: string) => string;
1991
+ lockTimeout: string;
1992
+ aborted: string;
1993
+ };
1994
+ logout: {
1995
+ revoked: (provider: string, path: string) => string;
1996
+ notRevoked: (provider: string, path: string) => string;
1997
+ local: (provider: string, path: string) => string;
1998
+ notLoggedIn: (provider: string, path: string) => string;
1999
+ };
2000
+ status: {
2001
+ none: (path: string) => string;
2002
+ header: (provider: string, summary: string, email: string | undefined) => string;
2003
+ expiresIn: (duration: string) => string;
2004
+ expired: string;
2005
+ needsLogin: (provider: string) => string;
2006
+ quota: (parts: string) => string;
2007
+ quotaWindow: (window: string, percent: number, reset: string | undefined) => string;
2008
+ window5h: string;
2009
+ windowWeek: string;
2010
+ windowOther: (duration: string) => string;
2011
+ quotaSiwc: string;
2012
+ quotaUnavailable: string;
2013
+ };
2014
+ report: {
2015
+ section: string;
2016
+ row: (requests: number, input: string, output: string, cacheRead: string, hit: string) => string;
2017
+ quotaKey: string;
2018
+ };
2019
+ doctor: {
2020
+ oauth: (flavor: string, plan: string | undefined, state: string) => string;
2021
+ valid: (duration: string) => string;
2022
+ expired: string;
2023
+ needsLogin: string;
2024
+ relogin: (provider: string) => string;
2025
+ };
2026
+ };
2027
+ settings: {
2028
+ groups: {
2029
+ ui: string;
2030
+ model: string;
2031
+ permission: string;
2032
+ tools: string;
2033
+ context: string;
2034
+ session: string;
2035
+ sandbox: string;
2036
+ agents: string;
2037
+ memory: string;
2038
+ elsewhere: string;
2039
+ };
2040
+ labels: {
2041
+ "ui.theme": string;
2042
+ "ui.markdown": string;
2043
+ "ui.showThinking": string;
2044
+ "ui.compact": string;
2045
+ "ui.animation": string;
2046
+ "ui.statusLine": string;
2047
+ "ui.restoreOnCancel": string;
2048
+ "ui.quietStartup": string;
2049
+ "ui.ascii": string;
2050
+ "ui.language": string;
2051
+ "ui.replyLanguage": string;
2052
+ "ui.agentBar": string;
2053
+ defaultModel: string;
2054
+ thinkingLevel: string;
2055
+ fallbackModel: string;
2056
+ "plan.model": string;
2057
+ "plan.thinkingLevel": string;
2058
+ "subagents.defaultModel": string;
2059
+ "models.aliases.fast": string;
2060
+ "models.aliases.strong": string;
2061
+ "permission.mode": string;
2062
+ "permission.autoModel": string;
2063
+ "plan.bash": string;
2064
+ "plan.unattended": string;
2065
+ "tools.preset": string;
2066
+ "codemode.mode": string;
2067
+ "codemode.inlineBudget": string;
2068
+ "codemode.requireStrict": string;
2069
+ "tools.maxToolResultChars": string;
2070
+ "tools.bashTimeoutMs": string;
2071
+ "images.resize": string;
2072
+ "hooks.timeoutMs": string;
2073
+ "compaction.enabled": string;
2074
+ "compaction.reserveTokens": string;
2075
+ "compaction.keepRecentTokens": string;
2076
+ "compaction.prune.keepResults": string;
2077
+ "compaction.prune.clearAtLeast": string;
2078
+ "cache.warming": string;
2079
+ "cache.retention": string;
2080
+ "cache.minSavingsUsd": string;
2081
+ "cache.missNotices": string;
2082
+ "cache.warmSubagents": string;
2083
+ "request.idleTimeoutMs": string;
2084
+ "retry.enabled": string;
2085
+ "retry.maxRetries": string;
2086
+ "retry.baseDelayMs": string;
2087
+ "retry.maxDelayMs": string;
2088
+ "limits.maxTurns": string;
2089
+ "limits.maxCostUsd": string;
2090
+ "reminders.todo": string;
2091
+ "reminders.fileChanges": string;
2092
+ "reminders.contextPressure": string;
2093
+ "reminders.budget": string;
2094
+ "todo.reminder": string;
2095
+ "checkpoints.mode": string;
2096
+ "checkpoints.maxFileBytes": string;
2097
+ "checkpoints.keep": string;
2098
+ "sandbox.enabled": string;
2099
+ "sandbox.bash": string;
2100
+ "sandbox.network": string;
2101
+ "agents.maxConcurrent": string;
2102
+ "agents.sessionBudgetUsd": string;
2103
+ "subagents.maxConcurrent": string;
2104
+ "subagents.maxPending": string;
2105
+ "memory.enabled": string;
2106
+ "memory.subagents": string;
2107
+ };
2108
+ apply: {
2109
+ now: string;
2110
+ nextSession: string;
2111
+ restart: string;
2112
+ };
2113
+ prefixTag: string;
2114
+ scope: {
2115
+ user: string;
2116
+ project: string;
2117
+ };
2118
+ title: string;
2119
+ writeTo: (scope: string, path: string) => string;
2120
+ tabSwitch: string;
2121
+ embedded: string;
2122
+ searchPlaceholder: string;
2123
+ searchPrompt: (query: string) => string;
2124
+ noMatches: string;
2125
+ unset: string;
2126
+ auto: (value: string) => string;
2127
+ source: (source: string) => string;
2128
+ locked: (source: string) => string;
2129
+ lockReason: {
2130
+ env: (name: string) => string;
2131
+ cli: string;
2132
+ profile: string;
2133
+ project: string;
2134
+ };
2135
+ projectNote: {
2136
+ deny: string;
2137
+ tighten: string;
2138
+ };
2139
+ footer: string;
2140
+ footerCompact: string;
2141
+ footerSearch: string;
2142
+ footerEdit: string;
2143
+ editPrompt: (label: string) => string;
2144
+ confirmUnset: (key: string) => string;
2145
+ prefixNotice: string;
2146
+ bypassPersist: string;
2147
+ pickTitle: (label: string) => string;
2148
+ defaultChoice: string;
2149
+ summaryTitle: string;
2150
+ summaryLine: (label: string, from: string, to: string, scope: string) => string;
2151
+ summaryRestart: (labels: string) => string;
2152
+ summaryNextSession: (labels: string) => string;
2153
+ setDone: (key: string, value: string, scope: string) => string;
2154
+ unsetDone: (key: string, value: string, scope: string) => string;
2155
+ stillOverridden: (key: string, source: string) => string;
2156
+ writtenTo: (key: string, value: string, scope: string) => string;
2157
+ overriddenNow: (source: string, effective: string) => string;
2158
+ slashUsage: string;
2159
+ errors: {
2160
+ unknownKey: (key: string) => string;
2161
+ notSettable: (key: string) => string;
2162
+ invalidBool: (key: string, raw: string) => string;
2163
+ invalidEnum: (key: string, raw: string, options: string) => string;
2164
+ invalidNumber: (key: string, raw: string) => string;
2165
+ outOfRange: (key: string, range: string) => string;
2166
+ invalidModel: (key: string, raw: string) => string;
2167
+ emptyText: (key: string) => string;
2168
+ needsJson: (key: string) => string;
2169
+ invalidJson: (key: string, reason: string) => string;
2170
+ invalid: (key: string, detail: string) => string;
2171
+ projectDenied: (key: string) => string;
2172
+ projectTighten: (key: string, current: string) => string;
2173
+ readFailed: (detail: string) => string;
2174
+ writeFailed: (path: string, reason: string) => string;
2175
+ locked: (key: string, reason: string) => string;
2176
+ };
2177
+ hints: {
2178
+ providers: string;
2179
+ permissionRules: string;
2180
+ tools: string;
2181
+ dirs: string;
2182
+ sandboxWritable: string;
2183
+ agents: string;
2184
+ hooks: string;
2185
+ auth: string;
2186
+ modelsEnabled: string;
2187
+ };
2188
+ cli: {
2189
+ usage: string;
2190
+ getLine: (key: string, value: string, source: string, apply: string) => string;
2191
+ listHeader: string;
2192
+ applyNone: string;
2193
+ confirmBypass: string;
2194
+ needYes: string;
2195
+ cancelled: string;
2196
+ missingKey: string;
2197
+ missingValue: string;
2198
+ };
2199
+ };
2200
+ };
2201
+ /** 运行期取用的目录形状:en 的形状、叶子放宽为 string / 同签名函数。 */
2202
+ export type Catalog = Messages<typeof en>;
2203
+ export declare const CATALOGS: {
2204
+ readonly en: Catalog;
2205
+ readonly zh: Catalog;
2206
+ };
2207
+ /** 领域名(一级命名空间)。 */
2208
+ export declare const MESSAGE_DOMAINS: readonly (keyof Catalog)[];
2209
+ export {};