@armadra/agent 0.5.1 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (467) hide show
  1. package/CHANGELOG.md +177 -304
  2. package/CHANGELOG.zh-CN.md +442 -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/enrich.js +2 -7
  47. package/dist/ai/providers/models-dev-cache.js +15 -19
  48. package/dist/ai/providers/models-dev-snapshot.js +8 -7
  49. package/dist/ai/providers/models-dev.js +5 -15
  50. package/dist/ai/providers/suggest.js +2 -16
  51. package/dist/ai/types.d.ts +27 -1
  52. package/dist/auth/chatgpt/backend-client.d.ts +26 -0
  53. package/dist/auth/chatgpt/backend-client.js +74 -0
  54. package/dist/auth/chatgpt/claims.d.ts +17 -0
  55. package/dist/auth/chatgpt/claims.js +46 -0
  56. package/dist/auth/chatgpt/cli.d.ts +33 -0
  57. package/dist/auth/chatgpt/cli.js +252 -0
  58. package/dist/auth/chatgpt/doctor.d.ts +17 -0
  59. package/dist/auth/chatgpt/doctor.js +36 -0
  60. package/dist/auth/chatgpt/host-id.d.ts +7 -0
  61. package/dist/auth/chatgpt/host-id.js +26 -0
  62. package/dist/auth/chatgpt/login.d.ts +30 -0
  63. package/dist/auth/chatgpt/login.js +130 -0
  64. package/dist/auth/chatgpt/presets.d.ts +66 -0
  65. package/dist/auth/chatgpt/presets.js +120 -0
  66. package/dist/auth/chatgpt/quota-text.d.ts +13 -0
  67. package/dist/auth/chatgpt/quota-text.js +36 -0
  68. package/dist/auth/oauth/browser.d.ts +12 -0
  69. package/dist/auth/oauth/browser.js +27 -0
  70. package/dist/auth/oauth/callback-server.d.ts +47 -0
  71. package/dist/auth/oauth/callback-server.js +147 -0
  72. package/dist/auth/oauth/flows.d.ts +62 -0
  73. package/dist/auth/oauth/flows.js +113 -0
  74. package/dist/auth/oauth/jwt.d.ts +24 -0
  75. package/dist/auth/oauth/jwt.js +81 -0
  76. package/dist/auth/oauth/live.d.ts +21 -0
  77. package/dist/auth/oauth/live.js +25 -0
  78. package/dist/auth/oauth/oidc.d.ts +26 -0
  79. package/dist/auth/oauth/oidc.js +72 -0
  80. package/dist/auth/oauth/pkce.d.ts +15 -0
  81. package/dist/auth/oauth/pkce.js +20 -0
  82. package/dist/auth/oauth/refresh.d.ts +35 -0
  83. package/dist/auth/oauth/refresh.js +129 -0
  84. package/dist/auth/oauth/token-client.d.ts +33 -0
  85. package/dist/auth/oauth/token-client.js +121 -0
  86. package/dist/auth/oauth/token-store.d.ts +23 -0
  87. package/dist/auth/oauth/token-store.js +125 -0
  88. package/dist/auth/testing/fake-oauth.d.ts +73 -0
  89. package/dist/auth/testing/fake-oauth.js +271 -0
  90. package/dist/auth/testing/refresh-child.d.ts +5 -0
  91. package/dist/auth/testing/refresh-child.js +16 -0
  92. package/dist/bundle/ama.cjs +25928 -11144
  93. package/dist/checkpoints/backend.js +6 -5
  94. package/dist/checkpoints/restore.js +3 -2
  95. package/dist/checkpoints/settings.js +2 -1
  96. package/dist/checkpoints/shadow-git.js +7 -6
  97. package/dist/checkpoints/shadow-restore.js +3 -2
  98. package/dist/checkpoints/tracker.js +4 -3
  99. package/dist/cli/args.d.ts +9 -2
  100. package/dist/cli/args.js +74 -27
  101. package/dist/cli/bootstrap.js +53 -31
  102. package/dist/cli/choice-prompt.js +8 -6
  103. package/dist/cli/codemode-notice.js +2 -2
  104. package/dist/cli/compose-agents.js +2 -1
  105. package/dist/cli/compose-extensions.js +2 -0
  106. package/dist/cli/compose-memory.d.ts +53 -0
  107. package/dist/cli/compose-memory.js +127 -0
  108. package/dist/cli/compose-providers.d.ts +5 -0
  109. package/dist/cli/compose-providers.js +32 -2
  110. package/dist/cli/compose-session.d.ts +5 -0
  111. package/dist/cli/compose-session.js +27 -13
  112. package/dist/cli/compose-store.d.ts +2 -0
  113. package/dist/cli/compose-store.js +9 -5
  114. package/dist/cli/compose.d.ts +2 -0
  115. package/dist/cli/compose.js +13 -5
  116. package/dist/cli/default-model.d.ts +0 -2
  117. package/dist/cli/default-model.js +5 -8
  118. package/dist/cli/deps.d.ts +5 -1
  119. package/dist/cli/exit-codes.d.ts +1 -1
  120. package/dist/cli/exit-codes.js +7 -16
  121. package/dist/cli/from-prompt.js +3 -2
  122. package/dist/cli/help-text.d.ts +2 -1
  123. package/dist/cli/help-text.js +5 -99
  124. package/dist/cli/main.d.ts +5 -0
  125. package/dist/cli/main.js +21 -2
  126. package/dist/cli/proxy.js +14 -9
  127. package/dist/cli/runtime.d.ts +5 -0
  128. package/dist/cli/startup-screen.js +20 -27
  129. package/dist/cli/startup-steps.js +6 -8
  130. package/dist/cli/subcommands/auth.d.ts +6 -3
  131. package/dist/cli/subcommands/auth.js +52 -22
  132. package/dist/cli/subcommands/config-set.d.ts +21 -0
  133. package/dist/cli/subcommands/config-set.js +137 -0
  134. package/dist/cli/subcommands/config.d.ts +2 -1
  135. package/dist/cli/subcommands/config.js +51 -37
  136. package/dist/cli/subcommands/doctor.d.ts +2 -1
  137. package/dist/cli/subcommands/doctor.js +97 -58
  138. package/dist/cli/subcommands/init.d.ts +1 -1
  139. package/dist/cli/subcommands/init.js +8 -7
  140. package/dist/cli/subcommands/memory.d.ts +18 -0
  141. package/dist/cli/subcommands/memory.js +189 -0
  142. package/dist/cli/subcommands/model-meta.js +11 -9
  143. package/dist/cli/subcommands/models-cache-probe.js +23 -20
  144. package/dist/cli/subcommands/models-discover.d.ts +3 -0
  145. package/dist/cli/subcommands/models-discover.js +44 -21
  146. package/dist/cli/subcommands/models.d.ts +1 -1
  147. package/dist/cli/subcommands/models.js +29 -22
  148. package/dist/cli/subcommands/probe-runner.js +8 -7
  149. package/dist/cli/subcommands/providers-list.js +32 -21
  150. package/dist/cli/subcommands/providers-plan.js +24 -25
  151. package/dist/cli/subcommands/providers-probe.js +5 -6
  152. package/dist/cli/subcommands/providers.d.ts +1 -1
  153. package/dist/cli/subcommands/providers.js +45 -50
  154. package/dist/cli/subcommands/sessions-export.d.ts +1 -1
  155. package/dist/cli/subcommands/sessions-export.js +10 -9
  156. package/dist/cli/subcommands/sessions-search.d.ts +1 -1
  157. package/dist/cli/subcommands/sessions-search.js +11 -10
  158. package/dist/cli/subcommands/sessions-trace.d.ts +30 -0
  159. package/dist/cli/subcommands/sessions-trace.js +156 -0
  160. package/dist/cli/subcommands/sessions.d.ts +4 -3
  161. package/dist/cli/subcommands/sessions.js +40 -37
  162. package/dist/cli/subcommands/stats.d.ts +1 -1
  163. package/dist/cli/subcommands/stats.js +49 -30
  164. package/dist/cli/system-prompt-arg.js +3 -2
  165. package/dist/codemode/capability.js +3 -2
  166. package/dist/compaction/post-compact.d.ts +1 -0
  167. package/dist/compaction/post-compact.js +15 -1
  168. package/dist/compaction/prune-tier.d.ts +1 -1
  169. package/dist/compaction/prune-tier.js +3 -3
  170. package/dist/compaction/serialize.js +2 -1
  171. package/dist/config/auth-file.d.ts +12 -2
  172. package/dist/config/auth-file.js +32 -10
  173. package/dist/config/checker.js +12 -11
  174. package/dist/config/context-files.js +3 -2
  175. package/dist/config/edit.d.ts +106 -0
  176. package/dist/config/edit.js +350 -0
  177. package/dist/config/init.d.ts +4 -3
  178. package/dist/config/init.js +10 -18
  179. package/dist/config/json-schema.d.ts +2 -1
  180. package/dist/config/json-schema.js +101 -68
  181. package/dist/config/key-docs.d.ts +18 -7
  182. package/dist/config/key-docs.js +43 -128
  183. package/dist/config/load.js +7 -6
  184. package/dist/config/merge.d.ts +4 -1
  185. package/dist/config/merge.js +42 -22
  186. package/dist/config/paths.js +6 -5
  187. package/dist/config/profile.d.ts +5 -1
  188. package/dist/config/profile.js +7 -2
  189. package/dist/config/schema-w5.js +3 -2
  190. package/dist/config/schema-w6.d.ts +19 -0
  191. package/dist/config/schema-w6.js +115 -0
  192. package/dist/config/schema.js +34 -20
  193. package/dist/config/settings-registry.d.ts +78 -0
  194. package/dist/config/settings-registry.js +184 -0
  195. package/dist/config/types-w6.d.ts +109 -0
  196. package/dist/config/types-w6.js +19 -0
  197. package/dist/config/types.d.ts +11 -8
  198. package/dist/config/types.js +1 -0
  199. package/dist/drivers/acp/client.js +1 -1
  200. package/dist/drivers/acp/driver.js +13 -8
  201. package/dist/drivers/agents.js +4 -3
  202. package/dist/drivers/base.js +3 -2
  203. package/dist/drivers/host-runners.js +2 -1
  204. package/dist/drivers/native/claude-stream.js +12 -11
  205. package/dist/drivers/native/codex-app-server.js +17 -12
  206. package/dist/drivers/native/oneshot.js +8 -7
  207. package/dist/drivers/pool.js +1 -1
  208. package/dist/drivers/runner.d.ts +3 -1
  209. package/dist/drivers/runner.js +68 -20
  210. package/dist/drivers/turn.js +1 -1
  211. package/dist/hooks/config.js +3 -2
  212. package/dist/hooks/protocol.js +18 -12
  213. package/dist/host/api-impl.js +11 -10
  214. package/dist/host/loader.js +9 -8
  215. package/dist/host/types.d.ts +3 -0
  216. package/dist/i18n/catalog.d.ts +2169 -0
  217. package/dist/i18n/catalog.js +72 -0
  218. package/dist/i18n/format.d.ts +21 -0
  219. package/dist/i18n/format.js +58 -0
  220. package/dist/i18n/index.d.ts +58 -0
  221. package/dist/i18n/index.js +72 -0
  222. package/dist/i18n/messages/agents.d.ts +84 -0
  223. package/dist/i18n/messages/agents.js +85 -0
  224. package/dist/i18n/messages/approval.d.ts +99 -0
  225. package/dist/i18n/messages/approval.js +100 -0
  226. package/dist/i18n/messages/auth.d.ts +187 -0
  227. package/dist/i18n/messages/auth.js +189 -0
  228. package/dist/i18n/messages/cli-args.d.ts +46 -0
  229. package/dist/i18n/messages/cli-args.js +46 -0
  230. package/dist/i18n/messages/cli-help.d.ts +12 -0
  231. package/dist/i18n/messages/cli-help.js +244 -0
  232. package/dist/i18n/messages/cli.d.ts +336 -0
  233. package/dist/i18n/messages/cli.js +311 -0
  234. package/dist/i18n/messages/config-keys.d.ts +289 -0
  235. package/dist/i18n/messages/config-keys.js +292 -0
  236. package/dist/i18n/messages/config.d.ts +502 -0
  237. package/dist/i18n/messages/config.js +239 -0
  238. package/dist/i18n/messages/drivers.d.ts +123 -0
  239. package/dist/i18n/messages/drivers.js +124 -0
  240. package/dist/i18n/messages/errors.d.ts +83 -0
  241. package/dist/i18n/messages/errors.js +171 -0
  242. package/dist/i18n/messages/interactive-line.d.ts +61 -0
  243. package/dist/i18n/messages/interactive-line.js +69 -0
  244. package/dist/i18n/messages/interactive-startup.d.ts +103 -0
  245. package/dist/i18n/messages/interactive-startup.js +104 -0
  246. package/dist/i18n/messages/interactive-view.d.ts +140 -0
  247. package/dist/i18n/messages/interactive-view.js +141 -0
  248. package/dist/i18n/messages/interactive.d.ts +493 -0
  249. package/dist/i18n/messages/interactive.js +248 -0
  250. package/dist/i18n/messages/memory.d.ts +123 -0
  251. package/dist/i18n/messages/memory.js +128 -0
  252. package/dist/i18n/messages/panels.d.ts +190 -0
  253. package/dist/i18n/messages/panels.js +189 -0
  254. package/dist/i18n/messages/permissions.d.ts +126 -0
  255. package/dist/i18n/messages/permissions.js +151 -0
  256. package/dist/i18n/messages/plan.d.ts +123 -0
  257. package/dist/i18n/messages/plan.js +124 -0
  258. package/dist/i18n/messages/print.d.ts +86 -0
  259. package/dist/i18n/messages/print.js +91 -0
  260. package/dist/i18n/messages/report.d.ts +391 -0
  261. package/dist/i18n/messages/report.js +490 -0
  262. package/dist/i18n/messages/rewind.d.ts +198 -0
  263. package/dist/i18n/messages/rewind.js +217 -0
  264. package/dist/i18n/messages/session.d.ts +230 -0
  265. package/dist/i18n/messages/session.js +258 -0
  266. package/dist/i18n/messages/settings.d.ts +348 -0
  267. package/dist/i18n/messages/settings.js +336 -0
  268. package/dist/i18n/messages/subcommands-config.d.ts +111 -0
  269. package/dist/i18n/messages/subcommands-config.js +127 -0
  270. package/dist/i18n/messages/subcommands.d.ts +548 -0
  271. package/dist/i18n/messages/subcommands.js +474 -0
  272. package/dist/i18n/messages/trace.d.ts +243 -0
  273. package/dist/i18n/messages/trace.js +238 -0
  274. package/dist/i18n/types.d.ts +15 -0
  275. package/dist/i18n/types.js +7 -0
  276. package/dist/index.d.ts +6 -0
  277. package/dist/index.js +2 -0
  278. package/dist/memory/edit.d.ts +24 -0
  279. package/dist/memory/edit.js +63 -0
  280. package/dist/memory/frontmatter.d.ts +37 -0
  281. package/dist/memory/frontmatter.js +79 -0
  282. package/dist/memory/index.d.ts +28 -0
  283. package/dist/memory/index.js +126 -0
  284. package/dist/memory/lock.d.ts +17 -0
  285. package/dist/memory/lock.js +62 -0
  286. package/dist/memory/paths.d.ts +57 -0
  287. package/dist/memory/paths.js +175 -0
  288. package/dist/memory/report.d.ts +36 -0
  289. package/dist/memory/report.js +86 -0
  290. package/dist/memory/runtime.d.ts +42 -0
  291. package/dist/memory/runtime.js +36 -0
  292. package/dist/memory/secrets.d.ts +8 -0
  293. package/dist/memory/secrets.js +27 -0
  294. package/dist/memory/section.d.ts +28 -0
  295. package/dist/memory/section.js +59 -0
  296. package/dist/memory/store.d.ts +70 -0
  297. package/dist/memory/store.js +284 -0
  298. package/dist/memory/tool.d.ts +31 -0
  299. package/dist/memory/tool.js +94 -0
  300. package/dist/modes/acp/acp-events.js +2 -1
  301. package/dist/modes/acp/acp-server.js +13 -12
  302. package/dist/modes/commands-core.d.ts +11 -0
  303. package/dist/modes/commands-core.js +93 -62
  304. package/dist/modes/image-input.js +20 -6
  305. package/dist/modes/interactive/agent-bar.d.ts +95 -0
  306. package/dist/modes/interactive/agent-bar.js +248 -0
  307. package/dist/modes/interactive/agent-panels.js +27 -26
  308. package/dist/modes/interactive/agent-transcript.d.ts +47 -0
  309. package/dist/modes/interactive/agent-transcript.js +191 -0
  310. package/dist/modes/interactive/agent-ui.d.ts +36 -1
  311. package/dist/modes/interactive/agent-ui.js +180 -14
  312. package/dist/modes/interactive/agent-view.d.ts +72 -0
  313. package/dist/modes/interactive/agent-view.js +281 -0
  314. package/dist/modes/interactive/approval-dialog.js +46 -34
  315. package/dist/modes/interactive/clipboard-paste.d.ts +2 -2
  316. package/dist/modes/interactive/clipboard-paste.js +9 -4
  317. package/dist/modes/interactive/commands.d.ts +19 -1
  318. package/dist/modes/interactive/commands.js +84 -40
  319. package/dist/modes/interactive/completion.js +2 -1
  320. package/dist/modes/interactive/config-panel.d.ts +70 -0
  321. package/dist/modes/interactive/config-panel.js +319 -0
  322. package/dist/modes/interactive/config-ui.d.ts +96 -0
  323. package/dist/modes/interactive/config-ui.js +397 -0
  324. package/dist/modes/interactive/confirm-dialog.js +6 -7
  325. package/dist/modes/interactive/event-notices.js +11 -9
  326. package/dist/modes/interactive/interactive-mode.d.ts +1 -1
  327. package/dist/modes/interactive/interactive-mode.js +19 -22
  328. package/dist/modes/interactive/key-dispatch.d.ts +12 -0
  329. package/dist/modes/interactive/key-dispatch.js +24 -9
  330. package/dist/modes/interactive/line/line-editor.js +2 -1
  331. package/dist/modes/interactive/line/line-mode.js +18 -7
  332. package/dist/modes/interactive/line/line-render.js +25 -24
  333. package/dist/modes/interactive/memory-panel.d.ts +64 -0
  334. package/dist/modes/interactive/memory-panel.js +221 -0
  335. package/dist/modes/interactive/message-view.d.ts +4 -2
  336. package/dist/modes/interactive/message-view.js +42 -33
  337. package/dist/modes/interactive/panels.js +39 -31
  338. package/dist/modes/interactive/pickers.d.ts +2 -1
  339. package/dist/modes/interactive/pickers.js +10 -6
  340. package/dist/modes/interactive/plan-command.d.ts +1 -1
  341. package/dist/modes/interactive/plan-command.js +24 -27
  342. package/dist/modes/interactive/plan-dialog.js +18 -17
  343. package/dist/modes/interactive/plan-flow.js +6 -5
  344. package/dist/modes/interactive/rewind-command.d.ts +1 -1
  345. package/dist/modes/interactive/rewind-command.js +18 -16
  346. package/dist/modes/interactive/rewind-flow.d.ts +0 -1
  347. package/dist/modes/interactive/rewind-flow.js +13 -14
  348. package/dist/modes/interactive/rewind-list.js +7 -6
  349. package/dist/modes/interactive/rewind-panel.js +40 -40
  350. package/dist/modes/interactive/rewind-text.d.ts +5 -3
  351. package/dist/modes/interactive/rewind-text.js +48 -38
  352. package/dist/modes/interactive/run-indicator.js +15 -12
  353. package/dist/modes/interactive/session-events.js +3 -2
  354. package/dist/modes/interactive/startup-header.js +22 -23
  355. package/dist/modes/interactive/startup-ui.js +38 -30
  356. package/dist/modes/interactive/status-area.d.ts +2 -0
  357. package/dist/modes/interactive/status-area.js +8 -2
  358. package/dist/modes/interactive/status-bar.js +4 -3
  359. package/dist/modes/interactive/subagent-view.js +9 -7
  360. package/dist/modes/interactive/tasks-report.d.ts +6 -0
  361. package/dist/modes/interactive/tasks-report.js +28 -31
  362. package/dist/modes/interactive/terminal-setup.d.ts +9 -0
  363. package/dist/modes/interactive/terminal-setup.js +23 -0
  364. package/dist/modes/interactive/tool-summary.js +19 -17
  365. package/dist/modes/interactive/tool-view.js +7 -4
  366. package/dist/modes/interactive/trace-view.d.ts +89 -0
  367. package/dist/modes/interactive/trace-view.js +332 -0
  368. package/dist/modes/print/print-mode.js +14 -15
  369. package/dist/modes/rpc/commands.js +7 -3
  370. package/dist/modes/rpc/rpc-mode.js +9 -3
  371. package/dist/modes/session-report.d.ts +2 -0
  372. package/dist/modes/session-report.js +101 -105
  373. package/dist/modes/startup-ui-text.js +11 -6
  374. package/dist/permissions/bypass.d.ts +8 -10
  375. package/dist/permissions/bypass.js +19 -10
  376. package/dist/permissions/memory-class.d.ts +23 -0
  377. package/dist/permissions/memory-class.js +54 -0
  378. package/dist/permissions/modes.d.ts +3 -3
  379. package/dist/permissions/modes.js +21 -16
  380. package/dist/permissions/pipeline.d.ts +1 -1
  381. package/dist/permissions/pipeline.js +9 -2
  382. package/dist/permissions/preview.js +49 -42
  383. package/dist/permissions/rules.js +5 -2
  384. package/dist/permissions/types.d.ts +4 -0
  385. package/dist/plan/store.js +2 -1
  386. package/dist/rpc.d.ts +39 -1
  387. package/dist/rpc.js +3 -0
  388. package/dist/sandbox/bash.js +11 -8
  389. package/dist/sandbox/detect.js +14 -11
  390. package/dist/sdk.d.ts +17 -1
  391. package/dist/sdk.js +29 -7
  392. package/dist/session/export.js +31 -30
  393. package/dist/session/manager.d.ts +1 -1
  394. package/dist/session/manager.js +5 -3
  395. package/dist/session/reuse.js +5 -4
  396. package/dist/session/scan.js +3 -2
  397. package/dist/session/stats-aggregate.d.ts +3 -1
  398. package/dist/session/stats-aggregate.js +5 -1
  399. package/dist/session/stats-index.js +2 -1
  400. package/dist/session/stats-scan.d.ts +4 -1
  401. package/dist/session/stats-scan.js +6 -2
  402. package/dist/session/store.d.ts +11 -0
  403. package/dist/session/store.js +48 -1
  404. package/dist/session/types.d.ts +2 -0
  405. package/dist/skills/builtin.js +2 -1
  406. package/dist/tools/image-file.d.ts +26 -1
  407. package/dist/tools/image-file.js +55 -13
  408. package/dist/tools/presets.d.ts +14 -1
  409. package/dist/tools/presets.js +3 -3
  410. package/dist/tools/registry.js +1 -1
  411. package/dist/tools/truncate.d.ts +1 -1
  412. package/dist/tools/truncate.js +2 -2
  413. package/dist/tools/types.d.ts +17 -1
  414. package/dist/trace/build-index.d.ts +91 -0
  415. package/dist/trace/build-index.js +127 -0
  416. package/dist/trace/build-nodes.d.ts +24 -0
  417. package/dist/trace/build-nodes.js +279 -0
  418. package/dist/trace/build-util.d.ts +43 -0
  419. package/dist/trace/build-util.js +120 -0
  420. package/dist/trace/build.d.ts +82 -0
  421. package/dist/trace/build.js +382 -0
  422. package/dist/trace/detail.d.ts +35 -0
  423. package/dist/trace/detail.js +205 -0
  424. package/dist/trace/flatten.d.ts +69 -0
  425. package/dist/trace/flatten.js +173 -0
  426. package/dist/trace/format.d.ts +47 -0
  427. package/dist/trace/format.js +329 -0
  428. package/dist/trace/html-template.d.ts +19 -0
  429. package/dist/trace/html-template.js +150 -0
  430. package/dist/trace/html.d.ts +104 -0
  431. package/dist/trace/html.js +292 -0
  432. package/dist/trace/preview.d.ts +29 -0
  433. package/dist/trace/preview.js +59 -0
  434. package/dist/trace/query-session.d.ts +14 -0
  435. package/dist/trace/query-session.js +38 -0
  436. package/dist/trace/query.d.ts +55 -0
  437. package/dist/trace/query.js +188 -0
  438. package/dist/trace/session.d.ts +40 -0
  439. package/dist/trace/session.js +168 -0
  440. package/dist/trace/types.d.ts +243 -0
  441. package/dist/trace/types.js +13 -0
  442. package/dist/tui/components/editor-paste.d.ts +2 -0
  443. package/dist/tui/components/editor-paste.js +6 -3
  444. package/dist/tui/components/editor.js +2 -2
  445. package/dist/tui/components/loader.d.ts +3 -0
  446. package/dist/tui/components/loader.js +14 -0
  447. package/dist/tui/components/settings-list.d.ts +61 -0
  448. package/dist/tui/components/settings-list.js +135 -0
  449. package/dist/tui/keybindings.d.ts +5 -0
  450. package/dist/tui/keybindings.js +17 -5
  451. package/dist/tui.d.ts +1 -0
  452. package/dist/tui.js +2 -0
  453. package/docs/en/host-api.md +167 -0
  454. package/docs/en/permissions.md +214 -0
  455. package/docs/en/providers.md +625 -0
  456. package/docs/en/rpc.md +361 -0
  457. package/docs/en/sessions.md +219 -0
  458. package/docs/en/tui.md +527 -0
  459. package/docs/host-api.md +18 -17
  460. package/docs/memory.md +172 -0
  461. package/docs/permissions.md +2 -2
  462. package/docs/providers.md +67 -1
  463. package/docs/rpc.md +31 -3
  464. package/docs/session-format.md +8 -2
  465. package/docs/sessions.md +29 -1
  466. package/docs/tui.md +132 -3
  467. package/package.json +8 -3
@@ -0,0 +1,187 @@
1
+ /**
2
+ * 消息目录:auth(键名规范见 docs/i18n.md)。[W6-C0 建空壳,归 W6-O]
3
+ *
4
+ * en 是形状源;zh 用 `satisfies Messages<typeof en>`,缺键 / 多键 / 参数不符在 tsc 期报错。
5
+ * 整句一个键、禁止片段拼接;插值写成函数,条件分支写进函数体。
6
+ * 文案里从不放 token、code、账户 id;邮箱只放掩码。
7
+ */
8
+ export declare const en: {
9
+ usage: string;
10
+ kind: {
11
+ literal: string;
12
+ command: string;
13
+ envRef: string;
14
+ oauth: string;
15
+ };
16
+ needProvider: (action: string) => string;
17
+ extraArgs: (args: string) => string;
18
+ badProvider: (provider: string) => string;
19
+ unknownAction: (action: string) => string;
20
+ setPrompt: (provider: string) => string;
21
+ noKeyFromStdin: string;
22
+ saved: (provider: string, path: string) => string;
23
+ warning: (text: string) => string;
24
+ listEmpty: (path: string) => string;
25
+ removed: (provider: string, path: string) => string;
26
+ notFound: (path: string, provider: string) => string;
27
+ oauthSummary: (flavor: string, plan: string | undefined, needsLogin: boolean) => string;
28
+ login: {
29
+ onlyChatgpt: (provider: string) => string;
30
+ badFlavor: (flavor: string) => string;
31
+ badPort: (port: string) => string;
32
+ pasteDevice: string;
33
+ deviceNeedsCodex: string;
34
+ codexNotice: string;
35
+ codexConfirm: string;
36
+ codexNeedsYes: string;
37
+ cancelled: string;
38
+ openedBrowser: (url: string) => string;
39
+ openUrl: (url: string) => string;
40
+ pastePrompt: (url: string) => string;
41
+ deviceCode: (url: string, code: string) => string;
42
+ pageSuccess: string;
43
+ pageFailure: string;
44
+ loggedIn: (flavor: string, plan: string | undefined, email: string | undefined, path: string) => string;
45
+ siwcLimitHint: string;
46
+ freePlanHint: (plan: string) => string;
47
+ modelHint: string;
48
+ };
49
+ errors: {
50
+ portsBusy: (ports: string, codex: boolean) => string;
51
+ timeout: string;
52
+ denied: (error: string) => string;
53
+ stateMismatch: string;
54
+ noCode: string;
55
+ invalidToken: (reason: string) => string;
56
+ scopeMissing: (scope: string) => string;
57
+ noClientId: string;
58
+ noAccount: string;
59
+ deviceUnavailable: string;
60
+ http: (what: string) => string;
61
+ network: (what: string) => string;
62
+ lockTimeout: string;
63
+ aborted: string;
64
+ };
65
+ logout: {
66
+ revoked: (provider: string, path: string) => string;
67
+ notRevoked: (provider: string, path: string) => string;
68
+ local: (provider: string, path: string) => string;
69
+ notLoggedIn: (provider: string, path: string) => string;
70
+ };
71
+ status: {
72
+ none: (path: string) => string;
73
+ header: (provider: string, summary: string, email: string | undefined) => string;
74
+ expiresIn: (duration: string) => string;
75
+ expired: string;
76
+ needsLogin: (provider: string) => string;
77
+ quota: (parts: string) => string;
78
+ quotaWindow: (window: string, percent: number, reset: string | undefined) => string;
79
+ window5h: string;
80
+ windowWeek: string;
81
+ windowOther: (duration: string) => string;
82
+ quotaSiwc: string;
83
+ quotaUnavailable: string;
84
+ };
85
+ report: {
86
+ section: string;
87
+ row: (requests: number, input: string, output: string, cacheRead: string, hit: string) => string;
88
+ quotaKey: string;
89
+ };
90
+ doctor: {
91
+ oauth: (flavor: string, plan: string | undefined, state: string) => string;
92
+ valid: (duration: string) => string;
93
+ expired: string;
94
+ needsLogin: string;
95
+ relogin: (provider: string) => string;
96
+ };
97
+ };
98
+ export declare const zh: {
99
+ usage: string;
100
+ kind: {
101
+ literal: string;
102
+ command: string;
103
+ envRef: string;
104
+ oauth: string;
105
+ };
106
+ needProvider: (action: string) => string;
107
+ extraArgs: (args: string) => string;
108
+ badProvider: (provider: string) => string;
109
+ unknownAction: (action: string) => string;
110
+ setPrompt: (provider: string) => string;
111
+ noKeyFromStdin: string;
112
+ saved: (provider: string, path: string) => string;
113
+ warning: (text: string) => string;
114
+ listEmpty: (path: string) => string;
115
+ removed: (provider: string, path: string) => string;
116
+ notFound: (path: string, provider: string) => string;
117
+ oauthSummary: (flavor: string, plan: string | undefined, needsLogin: boolean) => string;
118
+ login: {
119
+ onlyChatgpt: (provider: string) => string;
120
+ badFlavor: (flavor: string) => string;
121
+ badPort: (port: string) => string;
122
+ pasteDevice: string;
123
+ deviceNeedsCodex: string;
124
+ codexNotice: string;
125
+ codexConfirm: string;
126
+ codexNeedsYes: string;
127
+ cancelled: string;
128
+ openedBrowser: (url: string) => string;
129
+ openUrl: (url: string) => string;
130
+ pastePrompt: (url: string) => string;
131
+ deviceCode: (url: string, code: string) => string;
132
+ pageSuccess: string;
133
+ pageFailure: string;
134
+ loggedIn: (flavor: string, plan: string | undefined, email: string | undefined, path: string) => string;
135
+ siwcLimitHint: string;
136
+ freePlanHint: (plan: string) => string;
137
+ modelHint: string;
138
+ };
139
+ errors: {
140
+ portsBusy: (ports: string, codex: boolean) => string;
141
+ timeout: string;
142
+ denied: (error: string) => string;
143
+ stateMismatch: string;
144
+ noCode: string;
145
+ invalidToken: (reason: string) => string;
146
+ scopeMissing: (scope: string) => string;
147
+ noClientId: string;
148
+ noAccount: string;
149
+ deviceUnavailable: string;
150
+ http: (what: string) => string;
151
+ network: (what: string) => string;
152
+ lockTimeout: string;
153
+ aborted: string;
154
+ };
155
+ logout: {
156
+ revoked: (provider: string, path: string) => string;
157
+ notRevoked: (provider: string, path: string) => string;
158
+ local: (provider: string, path: string) => string;
159
+ notLoggedIn: (provider: string, path: string) => string;
160
+ };
161
+ status: {
162
+ none: (path: string) => string;
163
+ header: (provider: string, summary: string, email: string | undefined) => string;
164
+ expiresIn: (duration: string) => string;
165
+ expired: string;
166
+ needsLogin: (provider: string) => string;
167
+ quota: (parts: string) => string;
168
+ quotaWindow: (window: string, percent: number, reset: string | undefined) => string;
169
+ window5h: string;
170
+ windowWeek: string;
171
+ windowOther: (duration: string) => string;
172
+ quotaSiwc: string;
173
+ quotaUnavailable: string;
174
+ };
175
+ report: {
176
+ section: string;
177
+ row: (requests: number, input: string, output: string, cacheRead: string, hit: string) => string;
178
+ quotaKey: string;
179
+ };
180
+ doctor: {
181
+ oauth: (flavor: string, plan: string | undefined, state: string) => string;
182
+ valid: (duration: string) => string;
183
+ expired: string;
184
+ needsLogin: string;
185
+ relogin: (provider: string) => string;
186
+ };
187
+ };
@@ -0,0 +1,189 @@
1
+ /**
2
+ * 消息目录:auth(键名规范见 docs/i18n.md)。[W6-C0 建空壳,归 W6-O]
3
+ *
4
+ * en 是形状源;zh 用 `satisfies Messages<typeof en>`,缺键 / 多键 / 参数不符在 tsc 期报错。
5
+ * 整句一个键、禁止片段拼接;插值写成函数,条件分支写进函数体。
6
+ * 文案里从不放 token、code、账户 id;邮箱只放掩码。
7
+ */
8
+ export const en = {
9
+ usage: `Usage: ama auth set <provider> [--auth-file <file>] read the key from stdin
10
+ ama auth list [--auth-file <file>]
11
+ ama auth remove <provider> [--auth-file <file>]
12
+ ama auth login chatgpt [--flavor siwc|codex] [--paste | --device] [--port <n>] [--no-browser] [--yes] [--auth-file <file>]
13
+ ama auth logout chatgpt [--auth-file <file>]
14
+ ama auth status [chatgpt] [--auth-file <file>]
15
+ `,
16
+ kind: { literal: "key", command: "!command", envRef: "env reference", oauth: "oauth" },
17
+ needProvider: (action) => `ama auth ${action} needs <provider>`,
18
+ extraArgs: (args) => `unexpected arguments: ${args}`,
19
+ badProvider: (provider) => `invalid provider id: ${provider}`,
20
+ unknownAction: (action) => `unknown auth subcommand: ${action}`,
21
+ setPrompt: (provider) => `Enter the API key for ${provider} (hidden), then press Enter: `,
22
+ noKeyFromStdin: "no key read from stdin",
23
+ saved: (provider, path) => `Saved the key for ${provider} → ${path} (0600)`,
24
+ warning: (text) => `ama: warning: ${text}`,
25
+ listEmpty: (path) => `${path}: no saved keys`,
26
+ removed: (provider, path) => `Removed the key for ${provider} (${path})`,
27
+ notFound: (path, provider) => `ama: ${path} has no ${provider}`,
28
+ oauthSummary: (flavor, plan, needsLogin) => `${flavor}${plan !== undefined ? ` · ${plan}` : ""}${needsLogin ? " · sign-in expired" : ""}`,
29
+ login: {
30
+ onlyChatgpt: (provider) => `ama auth login supports only chatgpt (got ${provider}); use ama auth set for API keys`,
31
+ badFlavor: (flavor) => `--flavor must be siwc or codex: ${flavor}`,
32
+ badPort: (port) => `--port needs a port number (0–65535): ${port}`,
33
+ pasteDevice: "--paste and --device cannot be used together",
34
+ deviceNeedsCodex: "--device is only available with --flavor codex (Sign in with ChatGPT has no device code); use --paste on a machine without a browser",
35
+ codexNotice: "--flavor codex signs in with the Codex CLI's public client. This is unofficial use: for your own personal use only, OpenAI may change or restrict it at any time, and usage counts against your ChatGPT plan.",
36
+ codexConfirm: "Continue? [y/N] ",
37
+ codexNeedsYes: "--flavor codex needs a one-time confirmation; without a terminal pass --yes",
38
+ cancelled: "cancelled",
39
+ openedBrowser: (url) => `Opened the browser to sign in. If nothing opened, visit:\n ${url}\nWaiting for the browser (5 minutes; Ctrl-C to cancel)…`,
40
+ openUrl: (url) => `Open this URL in a browser to sign in:\n ${url}\nWaiting for the browser (5 minutes; Ctrl-C to cancel)…`,
41
+ pastePrompt: (url) => `Open this URL in any browser and sign in:\n ${url}\nThen paste the full URL from the address bar (http://127.0.0.1:…/auth/callback?code=…) and press Enter (input is hidden): `,
42
+ deviceCode: (url, code) => `Open ${url} and enter the code ${code} (valid for 15 minutes). Continue only if you started this login.`,
43
+ pageSuccess: "Signed in to ama. You can close this page and return to the terminal.",
44
+ pageFailure: "Sign-in failed. Return to the terminal for details.",
45
+ loggedIn: (flavor, plan, email, path) => `Signed in to ChatGPT (${flavor}${plan !== undefined ? ` · ${plan}` : ""}${email !== undefined ? ` · ${email}` : ""}) → ${path} (0600)`,
46
+ siwcLimitHint: "Tip: set a weekly limit for ama in ChatGPT → Settings → Usage → App limits. For personal use only; never share one sign-in between several people.",
47
+ freePlanHint: (plan) => `Note: the "${plan}" plan may not include subscription usage for ama.`,
48
+ modelHint: "Use it with --model chatgpt/<model>; list the models your account can use with ama models discover chatgpt.",
49
+ },
50
+ errors: {
51
+ portsBusy: (ports, codex) => `callback port ${ports} is in use: finish the other sign-in first, or use --paste${codex ? " / --device" : ""}`,
52
+ timeout: "sign-in timed out; run the command again",
53
+ denied: (error) => `sign-in was not authorized (${error})`,
54
+ stateMismatch: "the pasted URL does not belong to this sign-in (state mismatch); start again",
55
+ noCode: "the pasted URL has no code; copy the whole address after the browser redirects",
56
+ invalidToken: (reason) => `id_token failed verification (${reason}); sign-in rejected`,
57
+ scopeMissing: (scope) => `the grant lacks ${scope}: allow ama to use your plan on the consent page and sign in again`,
58
+ noClientId: "dynamic registration returned no client id; try again later",
59
+ noAccount: "the id_token has no ChatGPT account id; sign in with a ChatGPT account",
60
+ deviceUnavailable: "device code sign-in is not enabled; it may need to be turned on in ChatGPT → Settings → Security, or use --paste",
61
+ http: (what) => `${what}; try again later`,
62
+ network: (what) => `${what} (network error); check the connection or proxy`,
63
+ lockTimeout: "auth.json is locked by another ama process; try again",
64
+ aborted: "sign-in cancelled",
65
+ },
66
+ logout: {
67
+ revoked: (provider, path) => `Signed out of ${provider}: token revoked and removed from ${path}`,
68
+ notRevoked: (provider, path) => `Signed out of ${provider} (removed from ${path}); revocation could not be confirmed — you can disconnect ama in ChatGPT → Settings`,
69
+ local: (provider, path) => `Signed out of ${provider}: removed from ${path}`,
70
+ notLoggedIn: (provider, path) => `ama: ${path} has no sign-in for ${provider}`,
71
+ },
72
+ status: {
73
+ none: (path) => `${path}: no OAuth sign-ins`,
74
+ header: (provider, summary, email) => `${provider} ${summary}${email !== undefined ? ` · ${email}` : ""}`,
75
+ expiresIn: (duration) => ` access token valid for ${duration} (refreshed automatically)`,
76
+ expired: " access token expired (refreshed on next use)",
77
+ needsLogin: (provider) => ` sign-in expired: run ama auth login ${provider}`,
78
+ quota: (parts) => ` quota: ${parts}`,
79
+ quotaWindow: (window, percent, reset) => `${window} ${percent}%${reset !== undefined ? ` (resets ${reset})` : ""}`,
80
+ window5h: "5h",
81
+ windowWeek: "weekly",
82
+ windowOther: (duration) => `${duration} window`,
83
+ quotaSiwc: " quota: only reported when exceeded; see ChatGPT → Settings → Usage",
84
+ quotaUnavailable: " quota: unavailable",
85
+ },
86
+ report: {
87
+ section: "Subscription usage",
88
+ row: (requests, input, output, cacheRead, hit) => `${requests} requests · input ${input} · output ${output} · cache read ${cacheRead} (hit rate ${hit}) · not billed in USD`,
89
+ quotaKey: "quota",
90
+ },
91
+ doctor: {
92
+ oauth: (flavor, plan, state) => `oauth (${flavor}${plan !== undefined ? ` · ${plan}` : ""} · ${state})`,
93
+ valid: (duration) => `valid ${duration}`,
94
+ expired: "expired, refreshed on next use",
95
+ needsLogin: "sign-in expired",
96
+ relogin: (provider) => `${provider}: sign-in expired, run ama auth login ${provider}`,
97
+ },
98
+ };
99
+ export const zh = {
100
+ usage: `用法:ama auth set <provider> [--auth-file <文件>] 从 stdin 读取 key
101
+ ama auth list [--auth-file <文件>]
102
+ ama auth remove <provider> [--auth-file <文件>]
103
+ ama auth login chatgpt [--flavor siwc|codex] [--paste | --device] [--port <n>] [--no-browser] [--yes] [--auth-file <文件>]
104
+ ama auth logout chatgpt [--auth-file <文件>]
105
+ ama auth status [chatgpt] [--auth-file <文件>]
106
+ `,
107
+ kind: { literal: "key", command: "!命令", envRef: "环境变量引用", oauth: "oauth" },
108
+ needProvider: (action) => `ama auth ${action} 需要 <provider>`,
109
+ extraArgs: (args) => `多余的参数:${args}`,
110
+ badProvider: (provider) => `供应商 id 不合法:${provider}`,
111
+ unknownAction: (action) => `未知的 auth 子命令:${action}`,
112
+ setPrompt: (provider) => `输入 ${provider} 的 API key(不回显),回车结束:`,
113
+ noKeyFromStdin: "没有从 stdin 读到 key",
114
+ saved: (provider, path) => `已保存 ${provider} 的 key → ${path}(0600)`,
115
+ warning: (text) => `ama: 警告:${text}`,
116
+ listEmpty: (path) => `${path}:没有保存的 key`,
117
+ removed: (provider, path) => `已删除 ${provider} 的 key(${path})`,
118
+ notFound: (path, provider) => `ama: ${path} 中没有 ${provider}`,
119
+ oauthSummary: (flavor, plan, needsLogin) => `${flavor}${plan !== undefined ? ` · ${plan}` : ""}${needsLogin ? " · 登录已失效" : ""}`,
120
+ login: {
121
+ onlyChatgpt: (provider) => `ama auth login 只支持 chatgpt(收到 ${provider});API key 用 ama auth set`,
122
+ badFlavor: (flavor) => `--flavor 只能是 siwc 或 codex:${flavor}`,
123
+ badPort: (port) => `--port 需要端口号(0–65535):${port}`,
124
+ pasteDevice: "--paste 与 --device 不能同时使用",
125
+ deviceNeedsCodex: "--device 只在 --flavor codex 下可用(官方 ChatGPT 登录没有设备码);没有浏览器的机器用 --paste",
126
+ codexNotice: "--flavor codex 借用 Codex CLI 的公开客户端登录。这是非官方用法:仅限本人个人使用,OpenAI 可能随时变更或限制,用量计入你的 ChatGPT 计划。",
127
+ codexConfirm: "继续吗?[y/N] ",
128
+ codexNeedsYes: "--flavor codex 需要一次性确认;没有终端时请加 --yes",
129
+ cancelled: "已取消",
130
+ openedBrowser: (url) => `已在浏览器打开登录页;如果没有打开,请访问:\n ${url}\n等待浏览器完成(5 分钟;Ctrl-C 取消)…`,
131
+ openUrl: (url) => `请在浏览器打开下面的地址登录:\n ${url}\n等待浏览器完成(5 分钟;Ctrl-C 取消)…`,
132
+ pastePrompt: (url) => `在任意浏览器打开下面的地址并登录:\n ${url}\n然后把地址栏里的完整 URL(http://127.0.0.1:…/auth/callback?code=…)粘贴到这里并回车(不回显):`,
133
+ deviceCode: (url, code) => `打开 ${url} 并输入代码 ${code}(15 分钟内有效)。只在这次登录是你自己发起时继续。`,
134
+ pageSuccess: "ama 已登录,可以关闭此页回到终端。",
135
+ pageFailure: "登录失败,请回到终端查看原因。",
136
+ loggedIn: (flavor, plan, email, path) => `已登录 ChatGPT(${flavor}${plan !== undefined ? ` · ${plan}` : ""}${email !== undefined ? ` · ${email}` : ""})→ ${path}(0600)`,
137
+ siwcLimitHint: "提示:可在 ChatGPT → 设置 → Usage → App limits 给 ama 设周上限。仅限本人使用,不要让多人共用一个登录。",
138
+ freePlanHint: (plan) => `注意:「${plan}」计划可能不含给 ama 用的订阅额度。`,
139
+ modelHint: "用 --model chatgpt/<模型> 使用;账户可用的模型用 ama models discover chatgpt 查看。",
140
+ },
141
+ errors: {
142
+ portsBusy: (ports, codex) => `回调端口 ${ports} 被占用:请先结束其它登录,或用 --paste${codex ? " / --device" : ""}`,
143
+ timeout: "登录超时,请重新运行命令",
144
+ denied: (error) => `授权未通过(${error})`,
145
+ stateMismatch: "粘贴的 URL 不属于这次登录(state 不符),请重新开始",
146
+ noCode: "粘贴的 URL 里没有 code;请在浏览器跳转后复制完整地址",
147
+ invalidToken: (reason) => `id_token 校验失败(${reason}),已拒绝这次登录`,
148
+ scopeMissing: (scope) => `授权缺少 ${scope}:请在授权页允许 ama 使用你的计划额度后重新登录`,
149
+ noClientId: "动态注册没有返回 client id,请稍后再试",
150
+ noAccount: "id_token 里没有 ChatGPT 账户 id,请用 ChatGPT 账户登录",
151
+ deviceUnavailable: "设备码登录未开启:可能需要在 ChatGPT → 设置 → Security 里打开,或改用 --paste",
152
+ http: (what) => `${what},请稍后再试`,
153
+ network: (what) => `${what}(网络错误),请检查网络或代理`,
154
+ lockTimeout: "auth.json 正被另一个 ama 进程锁定,请重试",
155
+ aborted: "已取消登录",
156
+ },
157
+ logout: {
158
+ revoked: (provider, path) => `已登出 ${provider}:token 已撤销并从 ${path} 删除`,
159
+ notRevoked: (provider, path) => `已登出 ${provider}(已从 ${path} 删除);未能确认撤销,可在 ChatGPT → 设置里断开 ama`,
160
+ local: (provider, path) => `已登出 ${provider}:已从 ${path} 删除`,
161
+ notLoggedIn: (provider, path) => `ama: ${path} 中没有 ${provider} 的登录`,
162
+ },
163
+ status: {
164
+ none: (path) => `${path}:没有 OAuth 登录`,
165
+ header: (provider, summary, email) => `${provider} ${summary}${email !== undefined ? ` · ${email}` : ""}`,
166
+ expiresIn: (duration) => ` access token 还剩 ${duration}(自动刷新)`,
167
+ expired: " access token 已过期(下次使用时自动刷新)",
168
+ needsLogin: (provider) => ` 登录已失效:运行 ama auth login ${provider}`,
169
+ quota: (parts) => ` 配额:${parts}`,
170
+ quotaWindow: (window, percent, reset) => `${window} ${percent}%${reset !== undefined ? `(${reset} 重置)` : ""}`,
171
+ window5h: "5 小时",
172
+ windowWeek: "周",
173
+ windowOther: (duration) => `${duration} 窗口`,
174
+ quotaSiwc: " 配额:只在超限时可知;在 ChatGPT → 设置 → Usage 查看",
175
+ quotaUnavailable: " 配额:暂不可用",
176
+ },
177
+ report: {
178
+ section: "订阅用量",
179
+ row: (requests, input, output, cacheRead, hit) => `${requests} 次请求 · 输入 ${input} · 输出 ${output} · 缓存读 ${cacheRead}(命中率 ${hit})· 不折算美元`,
180
+ quotaKey: "配额",
181
+ },
182
+ doctor: {
183
+ oauth: (flavor, plan, state) => `oauth(${flavor}${plan !== undefined ? ` · ${plan}` : ""} · ${state})`,
184
+ valid: (duration) => `剩 ${duration}`,
185
+ expired: "已过期,下次使用时刷新",
186
+ needsLogin: "登录已失效",
187
+ relogin: (provider) => `${provider}:登录已失效,运行 ama auth login ${provider}`,
188
+ },
189
+ };
@@ -0,0 +1,46 @@
1
+ /**
2
+ * 消息目录:cli 的参数解析错误(`src/cli/args.ts`,由 messages/cli.ts 引用为 `cli.args`)。[W6-I5]
3
+ *
4
+ * zh 逐字节保留迁移前的原文。选项名、取值、命令不译。
5
+ */
6
+ export declare const en: {
7
+ flagConflict: (a: string, b: string) => string;
8
+ /** 两个以上:`--continue, --resume and --fork cannot be used together`。 */
9
+ flagsConflict: (flags: readonly string[]) => string;
10
+ invalidChoice: (option: string, choices: readonly string[], got: string) => string;
11
+ emptyValue: (option: string) => string;
12
+ fullscreenUnsupported: string;
13
+ maxTurnsPositive: (got: string) => string;
14
+ maxCostPositive: (got: string) => string;
15
+ printWithMode: (mode: string) => string;
16
+ apiKeyNeedsModel: string;
17
+ printOnly: (option: string) => string;
18
+ systemPromptModeNeedsPrompt: string;
19
+ noStdinWithDash: string;
20
+ dashPrintOnly: string;
21
+ imagePrintOnly: string;
22
+ unknownOption: (token: string) => string;
23
+ emptyResumeId: string;
24
+ needsValue: (option: string) => string;
25
+ noValue: (option: string) => string;
26
+ };
27
+ export declare const zh: {
28
+ flagConflict: (a: string, b: string) => string;
29
+ flagsConflict: (flags: readonly string[]) => string;
30
+ invalidChoice: (option: string, choices: readonly string[], got: string) => string;
31
+ emptyValue: (option: string) => string;
32
+ fullscreenUnsupported: string;
33
+ maxTurnsPositive: (got: string) => string;
34
+ maxCostPositive: (got: string) => string;
35
+ printWithMode: (mode: string) => string;
36
+ apiKeyNeedsModel: string;
37
+ printOnly: (option: string) => string;
38
+ systemPromptModeNeedsPrompt: string;
39
+ noStdinWithDash: string;
40
+ dashPrintOnly: string;
41
+ imagePrintOnly: string;
42
+ unknownOption: (token: string) => string;
43
+ emptyResumeId: string;
44
+ needsValue: (option: string) => string;
45
+ noValue: (option: string) => string;
46
+ };
@@ -0,0 +1,46 @@
1
+ /**
2
+ * 消息目录:cli 的参数解析错误(`src/cli/args.ts`,由 messages/cli.ts 引用为 `cli.args`)。[W6-I5]
3
+ *
4
+ * zh 逐字节保留迁移前的原文。选项名、取值、命令不译。
5
+ */
6
+ export const en = {
7
+ flagConflict: (a, b) => `${a} and ${b} cannot be used together`,
8
+ /** 两个以上:`--continue, --resume and --fork cannot be used together`。 */
9
+ flagsConflict: (flags) => `${flags.length > 2 ? `${flags.slice(0, -1).join(", ")} and ${flags.at(-1)}` : flags.join(" and ")} cannot be used together`,
10
+ invalidChoice: (option, choices, got) => `--${option} must be one of ${choices.join(" | ")} (got ${got})`,
11
+ emptyValue: (option) => `--${option} cannot be empty`,
12
+ fullscreenUnsupported: "--tui-mode fullscreen is not supported yet (only regular for now)",
13
+ maxTurnsPositive: (got) => `--max-turns must be a positive integer (got ${got})`,
14
+ maxCostPositive: (got) => `--max-cost must be a positive number (USD, got ${got})`,
15
+ printWithMode: (mode) => `-p and --mode ${mode} cannot be used together`,
16
+ apiKeyNeedsModel: "--api-key requires --model",
17
+ printOnly: (option) => `${option} is only for -p / --print`,
18
+ systemPromptModeNeedsPrompt: "--system-prompt-mode requires --system-prompt",
19
+ noStdinWithDash: "--no-stdin and the positional argument - cannot be used together",
20
+ dashPrintOnly: "The positional argument - (read the prompt from stdin) is only for -p / --print",
21
+ imagePrintOnly: "--image is only for -p / --print (in the interactive UI write @image-path)",
22
+ unknownOption: (token) => `Unknown option: ${token}`,
23
+ emptyResumeId: "--resume= needs a non-empty id",
24
+ needsValue: (option) => `--${option} needs a value`,
25
+ noValue: (option) => `--${option} does not take a value`,
26
+ };
27
+ export const zh = {
28
+ flagConflict: (a, b) => `${a} 与 ${b} 不能同时使用`,
29
+ flagsConflict: (flags) => `${flags.join(" 与 ")} 不能同时使用`,
30
+ invalidChoice: (option, choices, got) => `--${option} 的取值应为 ${choices.join(" | ")}(收到 ${got})`,
31
+ emptyValue: (option) => `--${option} 的值不能为空`,
32
+ fullscreenUnsupported: "--tui-mode fullscreen 尚未支持(第一期只有 regular)",
33
+ maxTurnsPositive: (got) => `--max-turns 应为正整数(收到 ${got})`,
34
+ maxCostPositive: (got) => `--max-cost 应为正数(美元,收到 ${got})`,
35
+ printWithMode: (mode) => `-p 与 --mode ${mode} 不能同时使用`,
36
+ apiKeyNeedsModel: "--api-key 需要同时给出 --model",
37
+ printOnly: (option) => `${option} 只用于 -p / --print`,
38
+ systemPromptModeNeedsPrompt: "--system-prompt-mode 需要同时给出 --system-prompt",
39
+ noStdinWithDash: "--no-stdin 与位置参数 - 不能同时使用",
40
+ dashPrintOnly: "位置参数 - (从 stdin 读提示)只用于 -p / --print",
41
+ imagePrintOnly: "--image 只用于 -p / --print(交互界面里写 @图片路径)",
42
+ unknownOption: (token) => `未知选项:${token}`,
43
+ emptyResumeId: "--resume= 的 id 不能为空",
44
+ needsValue: (option) => `--${option} 需要一个值`,
45
+ noValue: (option) => `--${option} 不接受值`,
46
+ };
@@ -0,0 +1,12 @@
1
+ /**
2
+ * 消息目录:cli 的 `ama --help` 全文(由 messages/cli.ts 引用为 `cli.help`)。[W6-I1]
3
+ *
4
+ * 帮助是整块排版好的文本(列对齐、手工折行),两种语言各一整段,不拆成片段。
5
+ * 中文原文逐字节保留自第五波的 `HELP_TEXT`。
6
+ */
7
+ export declare const en: {
8
+ text: string;
9
+ };
10
+ export declare const zh: {
11
+ text: string;
12
+ };