@armadra/agent 0.7.6 → 0.8.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 (516) hide show
  1. package/CHANGELOG.md +51 -31
  2. package/CHANGELOG.zh-CN.md +68 -48
  3. package/README.md +162 -204
  4. package/README.zh-CN.md +150 -199
  5. package/dist/acp.d.ts +1 -1
  6. package/dist/acp.js +1 -1
  7. package/dist/agent/limits.d.ts +1 -1
  8. package/dist/agent/limits.js +1 -1
  9. package/dist/agent/loop-guard.d.ts +1 -1
  10. package/dist/agent/loop-guard.js +1 -1
  11. package/dist/agent/prompt-rules.d.ts +1 -1
  12. package/dist/agent/prompt-rules.js +1 -1
  13. package/dist/agent/reminders.d.ts +1 -1
  14. package/dist/agent/reminders.js +1 -1
  15. package/dist/agent/session-cache-key.d.ts +1 -1
  16. package/dist/agent/session-cache-key.js +1 -1
  17. package/dist/agent/session-extensions.d.ts +1 -1
  18. package/dist/agent/session-extensions.js +1 -1
  19. package/dist/agent/session-images.d.ts +1 -1
  20. package/dist/agent/session-images.js +1 -1
  21. package/dist/agent/session-plan.d.ts +1 -1
  22. package/dist/agent/session-plan.js +1 -1
  23. package/dist/agent/session-rewind.d.ts +1 -1
  24. package/dist/agent/session-rewind.js +1 -1
  25. package/dist/agent/session-settings.d.ts +1 -1
  26. package/dist/agent/session-settings.js +1 -1
  27. package/dist/agent/session-subagent.d.ts +1 -1
  28. package/dist/agent/session-subagent.js +1 -1
  29. package/dist/agent/session-telemetry.d.ts +1 -1
  30. package/dist/agent/session-telemetry.js +1 -1
  31. package/dist/agent/session-trace-writer.d.ts +1 -1
  32. package/dist/agent/session-trace-writer.js +1 -1
  33. package/dist/agent/session.js +1 -1
  34. package/dist/agent/subagent-background.d.ts +1 -1
  35. package/dist/agent/subagent-background.js +1 -1
  36. package/dist/agent/subagent-direct.d.ts +1 -1
  37. package/dist/agent/subagent-direct.js +1 -1
  38. package/dist/agent/subagent-fork.d.ts +1 -1
  39. package/dist/agent/subagent-fork.js +1 -1
  40. package/dist/agent/subagent-registry.d.ts +1 -1
  41. package/dist/agent/subagent-registry.js +1 -1
  42. package/dist/agent/system-prompt.js +1 -1
  43. package/dist/agent/tool-availability.d.ts +1 -1
  44. package/dist/agent/tool-availability.js +1 -1
  45. package/dist/agent/types-w5.d.ts +2 -2
  46. package/dist/agent/types-w5.js +1 -1
  47. package/dist/agent/types-w6.d.ts +1 -1
  48. package/dist/agent/types-w6.js +1 -1
  49. package/dist/agent/types.d.ts +1 -1
  50. package/dist/agent/worktree.d.ts +1 -1
  51. package/dist/agent/worktree.js +1 -1
  52. package/dist/agents/builtin.d.ts +1 -1
  53. package/dist/agents/builtin.js +1 -1
  54. package/dist/agents/catalog.d.ts +1 -1
  55. package/dist/agents/catalog.js +1 -1
  56. package/dist/agents/discover.d.ts +1 -1
  57. package/dist/agents/discover.js +1 -1
  58. package/dist/agents/external.d.ts +1 -1
  59. package/dist/agents/external.js +1 -1
  60. package/dist/agents/parse.d.ts +1 -1
  61. package/dist/agents/parse.js +1 -1
  62. package/dist/agents/result.d.ts +1 -1
  63. package/dist/agents/result.js +2 -2
  64. package/dist/agents/task-record.d.ts +3 -3
  65. package/dist/agents/task-record.js +2 -2
  66. package/dist/agents/types.d.ts +1 -1
  67. package/dist/agents/types.js +1 -1
  68. package/dist/ai/apis/anthropic-compat.d.ts +2 -2
  69. package/dist/ai/apis/anthropic-compat.js +2 -2
  70. package/dist/ai/apis/cache-params.d.ts +1 -1
  71. package/dist/ai/apis/cache-params.js +1 -1
  72. package/dist/ai/apis/chatgpt-backend.d.ts +4 -2
  73. package/dist/ai/apis/chatgpt-backend.js +11 -2
  74. package/dist/ai/apis/chatgpt-rate-limits.d.ts +1 -1
  75. package/dist/ai/apis/chatgpt-rate-limits.js +1 -1
  76. package/dist/ai/apis/max-tokens.d.ts +1 -1
  77. package/dist/ai/apis/max-tokens.js +1 -1
  78. package/dist/ai/apis/shared.d.ts +1 -1
  79. package/dist/ai/apis/shared.js +1 -1
  80. package/dist/ai/image-intern.d.ts +2 -2
  81. package/dist/ai/image-intern.js +1 -1
  82. package/dist/ai/image-limits.d.ts +1 -1
  83. package/dist/ai/image-limits.js +1 -1
  84. package/dist/ai/json-body.d.ts +1 -1
  85. package/dist/ai/json-body.js +1 -1
  86. package/dist/ai/providers/builtin.d.ts +2 -2
  87. package/dist/ai/providers/builtin.js +4 -4
  88. package/dist/ai/providers/catalog.d.ts +2 -2
  89. package/dist/ai/providers/catalog.js +1 -1
  90. package/dist/ai/providers/channels.d.ts +1 -1
  91. package/dist/ai/providers/channels.js +1 -1
  92. package/dist/ai/providers/enrich.d.ts +1 -1
  93. package/dist/ai/providers/enrich.js +1 -1
  94. package/dist/ai/providers/models-dev-cache.d.ts +1 -1
  95. package/dist/ai/providers/models-dev-cache.js +1 -1
  96. package/dist/ai/providers/models-dev-data.d.ts +1 -1
  97. package/dist/ai/providers/models-dev-data.js +1 -1
  98. package/dist/ai/providers/models-dev-snapshot.d.ts +1 -1
  99. package/dist/ai/providers/models-dev-snapshot.js +1 -1
  100. package/dist/ai/providers/models-dev.d.ts +4 -4
  101. package/dist/ai/providers/models-dev.js +3 -3
  102. package/dist/ai/types.d.ts +2 -2
  103. package/dist/ai/types.js +1 -1
  104. package/dist/auth/chatgpt/cli.d.ts +1 -1
  105. package/dist/auth/chatgpt/cli.js +1 -1
  106. package/dist/auth/chatgpt/host-id.d.ts +1 -1
  107. package/dist/auth/chatgpt/host-id.js +1 -1
  108. package/dist/auth/chatgpt/login.d.ts +1 -1
  109. package/dist/auth/chatgpt/login.js +1 -1
  110. package/dist/auth/chatgpt/presets.d.ts +1 -1
  111. package/dist/auth/chatgpt/presets.js +1 -1
  112. package/dist/auth/oauth/callback-server.d.ts +1 -1
  113. package/dist/auth/oauth/callback-server.js +1 -1
  114. package/dist/auth/oauth/flows.d.ts +1 -1
  115. package/dist/auth/oauth/flows.js +1 -1
  116. package/dist/auth/oauth/oidc.d.ts +1 -1
  117. package/dist/auth/oauth/oidc.js +1 -1
  118. package/dist/auth/oauth/pkce.d.ts +1 -1
  119. package/dist/auth/oauth/pkce.js +1 -1
  120. package/dist/auth/oauth/refresh.d.ts +1 -1
  121. package/dist/auth/oauth/refresh.js +1 -1
  122. package/dist/auth/oauth/token-client.d.ts +1 -1
  123. package/dist/auth/oauth/token-client.js +1 -1
  124. package/dist/auth/oauth/token-store.d.ts +1 -1
  125. package/dist/auth/oauth/token-store.js +1 -1
  126. package/dist/auth/testing/fake-oauth.d.ts +1 -1
  127. package/dist/auth/testing/fake-oauth.js +1 -1
  128. package/dist/bundle/ama.cjs +1041 -359
  129. package/dist/checkpoints/blobs.d.ts +1 -1
  130. package/dist/checkpoints/blobs.js +1 -1
  131. package/dist/checkpoints/gc.d.ts +1 -1
  132. package/dist/checkpoints/gc.js +1 -1
  133. package/dist/checkpoints/git-head.d.ts +1 -1
  134. package/dist/checkpoints/git-head.js +1 -1
  135. package/dist/checkpoints/index.d.ts +1 -1
  136. package/dist/checkpoints/index.js +1 -1
  137. package/dist/checkpoints/replay.d.ts +1 -1
  138. package/dist/checkpoints/replay.js +1 -1
  139. package/dist/checkpoints/restore.d.ts +1 -1
  140. package/dist/checkpoints/restore.js +1 -1
  141. package/dist/checkpoints/settings.d.ts +1 -1
  142. package/dist/checkpoints/settings.js +1 -1
  143. package/dist/checkpoints/shadow-git.d.ts +1 -1
  144. package/dist/checkpoints/shadow-git.js +1 -1
  145. package/dist/checkpoints/shadow-restore.d.ts +1 -1
  146. package/dist/checkpoints/shadow-restore.js +1 -1
  147. package/dist/checkpoints/tracker.d.ts +1 -1
  148. package/dist/checkpoints/tracker.js +1 -1
  149. package/dist/checkpoints/types.d.ts +1 -1
  150. package/dist/checkpoints/types.js +1 -1
  151. package/dist/cli/args.d.ts +2 -2
  152. package/dist/cli/args.js +1 -1
  153. package/dist/cli/bootstrap.js +1 -1
  154. package/dist/cli/choice-prompt.d.ts +1 -1
  155. package/dist/cli/choice-prompt.js +1 -1
  156. package/dist/cli/codemode-notice.d.ts +1 -1
  157. package/dist/cli/codemode-notice.js +1 -1
  158. package/dist/cli/compose-agents.d.ts +1 -1
  159. package/dist/cli/compose-agents.js +1 -1
  160. package/dist/cli/compose-extensions.d.ts +1 -1
  161. package/dist/cli/compose-extensions.js +1 -1
  162. package/dist/cli/compose-memory.d.ts +1 -1
  163. package/dist/cli/compose-memory.js +1 -1
  164. package/dist/cli/compose-providers.d.ts +1 -1
  165. package/dist/cli/compose-providers.js +1 -1
  166. package/dist/cli/compose-request.d.ts +1 -1
  167. package/dist/cli/compose-request.js +1 -1
  168. package/dist/cli/from-prompt.d.ts +1 -1
  169. package/dist/cli/from-prompt.js +1 -1
  170. package/dist/cli/main.d.ts +1 -1
  171. package/dist/cli/main.js +1 -1
  172. package/dist/cli/subcommands/auth.d.ts +1 -1
  173. package/dist/cli/subcommands/auth.js +1 -1
  174. package/dist/cli/subcommands/config-set.d.ts +1 -1
  175. package/dist/cli/subcommands/config-set.js +1 -1
  176. package/dist/cli/subcommands/doctor.js +1 -1
  177. package/dist/cli/subcommands/init.d.ts +1 -1
  178. package/dist/cli/subcommands/init.js +1 -1
  179. package/dist/cli/subcommands/memory.d.ts +1 -1
  180. package/dist/cli/subcommands/memory.js +1 -1
  181. package/dist/cli/subcommands/models.js +1 -1
  182. package/dist/cli/subcommands/providers-list.d.ts +1 -1
  183. package/dist/cli/subcommands/providers-list.js +1 -1
  184. package/dist/cli/subcommands/providers-plan.d.ts +1 -1
  185. package/dist/cli/subcommands/providers-plan.js +1 -1
  186. package/dist/cli/subcommands/providers.d.ts +1 -1
  187. package/dist/cli/subcommands/providers.js +1 -1
  188. package/dist/cli/subcommands/sessions-export.d.ts +1 -1
  189. package/dist/cli/subcommands/sessions-export.js +1 -1
  190. package/dist/cli/subcommands/sessions-trace.d.ts +1 -1
  191. package/dist/cli/subcommands/sessions-trace.js +1 -1
  192. package/dist/cli/subcommands/sessions.d.ts +1 -1
  193. package/dist/cli/subcommands/sessions.js +1 -1
  194. package/dist/cli/subcommands/stats.d.ts +1 -1
  195. package/dist/cli/subcommands/stats.js +1 -1
  196. package/dist/codemode/capability.d.ts +1 -1
  197. package/dist/codemode/capability.js +1 -1
  198. package/dist/codemode/host-side.d.ts +2 -2
  199. package/dist/codemode/host-side.js +2 -2
  200. package/dist/compaction/image-budget.d.ts +1 -1
  201. package/dist/compaction/image-budget.js +1 -1
  202. package/dist/config/edit.d.ts +1 -1
  203. package/dist/config/edit.js +1 -1
  204. package/dist/config/init.d.ts +1 -1
  205. package/dist/config/init.js +1 -1
  206. package/dist/config/json-schema.d.ts +2 -2
  207. package/dist/config/json-schema.js +2 -2
  208. package/dist/config/schema-w5.d.ts +1 -1
  209. package/dist/config/schema-w5.js +1 -1
  210. package/dist/config/schema-w6.d.ts +1 -1
  211. package/dist/config/schema-w6.js +1 -1
  212. package/dist/config/settings-registry.d.ts +1 -1
  213. package/dist/config/settings-registry.js +1 -1
  214. package/dist/config/types-w5.d.ts +2 -2
  215. package/dist/config/types-w5.js +2 -2
  216. package/dist/config/types-w6.d.ts +5 -5
  217. package/dist/config/types-w6.js +1 -1
  218. package/dist/config/types.d.ts +6 -6
  219. package/dist/config/types.js +1 -1
  220. package/dist/drivers/acp/client.d.ts +1 -1
  221. package/dist/drivers/acp/client.js +1 -1
  222. package/dist/drivers/acp/driver.d.ts +23 -2
  223. package/dist/drivers/acp/driver.js +60 -6
  224. package/dist/drivers/acp/testing/fake-agent.d.ts +1 -1
  225. package/dist/drivers/acp/testing/fake-agent.js +1 -1
  226. package/dist/drivers/acp/types.d.ts +1 -1
  227. package/dist/drivers/acp/types.js +1 -1
  228. package/dist/drivers/agents.d.ts +1 -1
  229. package/dist/drivers/agents.js +4 -1
  230. package/dist/drivers/base.d.ts +1 -1
  231. package/dist/drivers/base.js +1 -1
  232. package/dist/drivers/catalog.d.ts +3 -1
  233. package/dist/drivers/catalog.js +95 -5
  234. package/dist/drivers/env.d.ts +1 -1
  235. package/dist/drivers/env.js +1 -1
  236. package/dist/drivers/host-runners.d.ts +1 -1
  237. package/dist/drivers/host-runners.js +1 -1
  238. package/dist/drivers/jsonrpc.d.ts +1 -1
  239. package/dist/drivers/jsonrpc.js +1 -1
  240. package/dist/drivers/native/claude-normalize.d.ts +9 -1
  241. package/dist/drivers/native/claude-normalize.js +28 -1
  242. package/dist/drivers/native/claude-stream.d.ts +1 -1
  243. package/dist/drivers/native/claude-stream.js +17 -2
  244. package/dist/drivers/native/codex-app-server.d.ts +1 -1
  245. package/dist/drivers/native/codex-app-server.js +5 -3
  246. package/dist/drivers/native/codex-normalize.d.ts +1 -1
  247. package/dist/drivers/native/codex-normalize.js +1 -1
  248. package/dist/drivers/native/oneshot.d.ts +1 -1
  249. package/dist/drivers/native/oneshot.js +13 -3
  250. package/dist/drivers/native/pi-gate.d.ts +19 -0
  251. package/dist/drivers/native/pi-gate.js +39 -0
  252. package/dist/drivers/native/pi-rpc.d.ts +29 -0
  253. package/dist/drivers/native/pi-rpc.js +483 -0
  254. package/dist/drivers/permissions.d.ts +1 -1
  255. package/dist/drivers/permissions.js +1 -1
  256. package/dist/drivers/pids.d.ts +1 -1
  257. package/dist/drivers/pids.js +1 -1
  258. package/dist/drivers/pool.d.ts +1 -1
  259. package/dist/drivers/pool.js +1 -1
  260. package/dist/drivers/probe.d.ts +1 -1
  261. package/dist/drivers/probe.js +1 -1
  262. package/dist/drivers/process.d.ts +1 -1
  263. package/dist/drivers/process.js +1 -1
  264. package/dist/drivers/runner.d.ts +1 -1
  265. package/dist/drivers/runner.js +2 -1
  266. package/dist/drivers/store.d.ts +1 -1
  267. package/dist/drivers/store.js +1 -1
  268. package/dist/drivers/types.d.ts +2 -2
  269. package/dist/drivers/types.js +1 -1
  270. package/dist/git/info.d.ts +1 -1
  271. package/dist/git/info.js +1 -1
  272. package/dist/host/api-impl.d.ts +1 -1
  273. package/dist/host/api-impl.js +1 -1
  274. package/dist/host/types.d.ts +2 -2
  275. package/dist/i18n/catalog.d.ts +5 -2
  276. package/dist/i18n/catalog.js +2 -2
  277. package/dist/i18n/format.d.ts +1 -1
  278. package/dist/i18n/format.js +1 -1
  279. package/dist/i18n/index.d.ts +1 -1
  280. package/dist/i18n/index.js +1 -1
  281. package/dist/i18n/messages/acp.d.ts +1 -1
  282. package/dist/i18n/messages/acp.js +1 -1
  283. package/dist/i18n/messages/agents.d.ts +1 -1
  284. package/dist/i18n/messages/agents.js +1 -1
  285. package/dist/i18n/messages/approval.d.ts +1 -1
  286. package/dist/i18n/messages/approval.js +1 -1
  287. package/dist/i18n/messages/auth.d.ts +3 -1
  288. package/dist/i18n/messages/auth.js +3 -1
  289. package/dist/i18n/messages/cli.d.ts +1 -1
  290. package/dist/i18n/messages/cli.js +1 -1
  291. package/dist/i18n/messages/config-keys.js +12 -12
  292. package/dist/i18n/messages/config.d.ts +1 -1
  293. package/dist/i18n/messages/config.js +3 -3
  294. package/dist/i18n/messages/drivers.d.ts +5 -1
  295. package/dist/i18n/messages/drivers.js +5 -1
  296. package/dist/i18n/messages/errors.d.ts +1 -1
  297. package/dist/i18n/messages/errors.js +1 -1
  298. package/dist/i18n/messages/interactive-line.d.ts +1 -1
  299. package/dist/i18n/messages/interactive-line.js +1 -1
  300. package/dist/i18n/messages/interactive-startup.d.ts +1 -1
  301. package/dist/i18n/messages/interactive-startup.js +1 -1
  302. package/dist/i18n/messages/interactive-view.d.ts +1 -1
  303. package/dist/i18n/messages/interactive-view.js +1 -1
  304. package/dist/i18n/messages/interactive.d.ts +1 -1
  305. package/dist/i18n/messages/interactive.js +1 -1
  306. package/dist/i18n/messages/memory.d.ts +1 -1
  307. package/dist/i18n/messages/memory.js +1 -1
  308. package/dist/i18n/messages/panels.d.ts +1 -1
  309. package/dist/i18n/messages/panels.js +1 -1
  310. package/dist/i18n/messages/permissions.d.ts +1 -1
  311. package/dist/i18n/messages/permissions.js +1 -1
  312. package/dist/i18n/messages/plan.d.ts +1 -1
  313. package/dist/i18n/messages/plan.js +1 -1
  314. package/dist/i18n/messages/print.d.ts +2 -2
  315. package/dist/i18n/messages/print.js +2 -2
  316. package/dist/i18n/messages/report-context.d.ts +1 -1
  317. package/dist/i18n/messages/report-context.js +1 -1
  318. package/dist/i18n/messages/report.d.ts +1 -1
  319. package/dist/i18n/messages/report.js +1 -1
  320. package/dist/i18n/messages/rewind.d.ts +1 -1
  321. package/dist/i18n/messages/rewind.js +1 -1
  322. package/dist/i18n/messages/session.d.ts +1 -1
  323. package/dist/i18n/messages/session.js +1 -1
  324. package/dist/i18n/messages/settings.d.ts +1 -1
  325. package/dist/i18n/messages/settings.js +1 -1
  326. package/dist/i18n/messages/subcommands.d.ts +1 -1
  327. package/dist/i18n/messages/subcommands.js +1 -1
  328. package/dist/i18n/messages/trace.d.ts +1 -1
  329. package/dist/i18n/messages/trace.js +1 -1
  330. package/dist/i18n/types.d.ts +1 -1
  331. package/dist/i18n/types.js +1 -1
  332. package/dist/memory/frontmatter.d.ts +1 -1
  333. package/dist/memory/frontmatter.js +1 -1
  334. package/dist/memory/index.d.ts +1 -1
  335. package/dist/memory/index.js +1 -1
  336. package/dist/memory/lock.d.ts +1 -1
  337. package/dist/memory/lock.js +1 -1
  338. package/dist/memory/paths.d.ts +1 -1
  339. package/dist/memory/paths.js +1 -1
  340. package/dist/memory/runtime.d.ts +1 -1
  341. package/dist/memory/runtime.js +1 -1
  342. package/dist/memory/secrets.d.ts +1 -1
  343. package/dist/memory/secrets.js +1 -1
  344. package/dist/memory/section.d.ts +1 -1
  345. package/dist/memory/section.js +1 -1
  346. package/dist/memory/store.d.ts +1 -1
  347. package/dist/memory/store.js +1 -1
  348. package/dist/memory/tool.d.ts +1 -1
  349. package/dist/memory/tool.js +1 -1
  350. package/dist/modes/acp/acp-auth-gate.d.ts +1 -1
  351. package/dist/modes/acp/acp-auth-gate.js +1 -1
  352. package/dist/modes/acp/acp-config.d.ts +1 -1
  353. package/dist/modes/acp/acp-config.js +1 -1
  354. package/dist/modes/acp/acp-connection.d.ts +1 -1
  355. package/dist/modes/acp/acp-connection.js +1 -1
  356. package/dist/modes/acp/acp-events.d.ts +1 -1
  357. package/dist/modes/acp/acp-events.js +1 -1
  358. package/dist/modes/acp/acp-mode.d.ts +1 -1
  359. package/dist/modes/acp/acp-mode.js +1 -1
  360. package/dist/modes/acp/acp-server.d.ts +2 -2
  361. package/dist/modes/acp/acp-server.js +2 -2
  362. package/dist/modes/acp/acp-sessions.d.ts +2 -2
  363. package/dist/modes/acp/acp-sessions.js +2 -2
  364. package/dist/modes/acp/acp-tool-text.d.ts +1 -1
  365. package/dist/modes/acp/acp-tool-text.js +1 -1
  366. package/dist/modes/commands-core.js +1 -1
  367. package/dist/modes/image-input.d.ts +1 -1
  368. package/dist/modes/image-input.js +1 -1
  369. package/dist/modes/interactive/agent-bar.d.ts +1 -1
  370. package/dist/modes/interactive/agent-bar.js +1 -1
  371. package/dist/modes/interactive/agent-transcript.d.ts +1 -1
  372. package/dist/modes/interactive/agent-transcript.js +1 -1
  373. package/dist/modes/interactive/agent-view.d.ts +1 -1
  374. package/dist/modes/interactive/agent-view.js +1 -1
  375. package/dist/modes/interactive/approval-dock.d.ts +1 -1
  376. package/dist/modes/interactive/approval-dock.js +1 -1
  377. package/dist/modes/interactive/config-panel.d.ts +1 -1
  378. package/dist/modes/interactive/config-panel.js +1 -1
  379. package/dist/modes/interactive/config-ui.d.ts +1 -1
  380. package/dist/modes/interactive/config-ui.js +1 -1
  381. package/dist/modes/interactive/memory-panel.d.ts +1 -1
  382. package/dist/modes/interactive/memory-panel.js +1 -1
  383. package/dist/modes/interactive/plan-command.d.ts +1 -1
  384. package/dist/modes/interactive/plan-command.js +1 -1
  385. package/dist/modes/interactive/plan-dialog.d.ts +1 -1
  386. package/dist/modes/interactive/plan-dialog.js +1 -1
  387. package/dist/modes/interactive/plan-flow.d.ts +1 -1
  388. package/dist/modes/interactive/plan-flow.js +1 -1
  389. package/dist/modes/interactive/subagent-view.d.ts +1 -1
  390. package/dist/modes/interactive/subagent-view.js +1 -1
  391. package/dist/modes/interactive/task-background.d.ts +1 -1
  392. package/dist/modes/interactive/task-background.js +1 -1
  393. package/dist/modes/interactive/trace-view.d.ts +1 -1
  394. package/dist/modes/interactive/trace-view.js +1 -1
  395. package/dist/modes/print/json-event.d.ts +1 -1
  396. package/dist/modes/print/json-event.js +2 -2
  397. package/dist/modes/print/print-mode.d.ts +1 -1
  398. package/dist/modes/print/print-mode.js +1 -1
  399. package/dist/modes/print/search-hint.d.ts +1 -1
  400. package/dist/modes/print/search-hint.js +1 -1
  401. package/dist/modes/rpc/commands.js +2 -2
  402. package/dist/permissions/auto-safe.d.ts +1 -1
  403. package/dist/permissions/auto-safe.js +1 -1
  404. package/dist/permissions/bypass.d.ts +1 -1
  405. package/dist/permissions/bypass.js +1 -1
  406. package/dist/permissions/classifier.d.ts +1 -1
  407. package/dist/permissions/classifier.js +1 -1
  408. package/dist/permissions/memory-class.d.ts +1 -1
  409. package/dist/permissions/memory-class.js +1 -1
  410. package/dist/permissions/pipeline.d.ts +2 -2
  411. package/dist/permissions/pipeline.js +2 -2
  412. package/dist/permissions/protected.d.ts +1 -1
  413. package/dist/permissions/protected.js +1 -1
  414. package/dist/permissions/readonly-bash.d.ts +1 -1
  415. package/dist/permissions/readonly-bash.js +1 -1
  416. package/dist/permissions/types.d.ts +2 -2
  417. package/dist/plan/done-markers.d.ts +1 -1
  418. package/dist/plan/done-markers.js +1 -1
  419. package/dist/plan/extract.d.ts +1 -1
  420. package/dist/plan/extract.js +1 -1
  421. package/dist/plan/prompts.d.ts +1 -1
  422. package/dist/plan/prompts.js +1 -1
  423. package/dist/plan/store.d.ts +1 -1
  424. package/dist/plan/store.js +1 -1
  425. package/dist/rpc.d.ts +3 -3
  426. package/dist/rpc.js +3 -3
  427. package/dist/sandbox/bash.d.ts +1 -1
  428. package/dist/sandbox/bash.js +1 -1
  429. package/dist/sandbox/detect.d.ts +1 -1
  430. package/dist/sandbox/detect.js +1 -1
  431. package/dist/sandbox/index.d.ts +1 -1
  432. package/dist/sandbox/index.js +1 -1
  433. package/dist/sandbox/profile.d.ts +1 -1
  434. package/dist/sandbox/profile.js +1 -1
  435. package/dist/sandbox/wrap.d.ts +1 -1
  436. package/dist/sandbox/wrap.js +1 -1
  437. package/dist/sdk.d.ts +3 -3
  438. package/dist/sdk.js +2 -2
  439. package/dist/session/line-reader.d.ts +1 -1
  440. package/dist/session/line-reader.js +1 -1
  441. package/dist/session/list.d.ts +1 -1
  442. package/dist/session/list.js +1 -1
  443. package/dist/session/migrate.d.ts +1 -1
  444. package/dist/session/migrate.js +1 -1
  445. package/dist/session/store.d.ts +1 -1
  446. package/dist/session/store.js +1 -1
  447. package/dist/skills/builtin.js +2 -2
  448. package/dist/tools/background-jobs.d.ts +1 -1
  449. package/dist/tools/background-jobs.js +1 -1
  450. package/dist/tools/clipboard-image.d.ts +1 -1
  451. package/dist/tools/clipboard-image.js +1 -1
  452. package/dist/tools/edit.d.ts +1 -1
  453. package/dist/tools/edit.js +1 -1
  454. package/dist/tools/grep.d.ts +1 -1
  455. package/dist/tools/grep.js +1 -1
  456. package/dist/tools/image-resize.d.ts +1 -1
  457. package/dist/tools/image-resize.js +1 -1
  458. package/dist/tools/read-lines.d.ts +1 -1
  459. package/dist/tools/read-lines.js +1 -1
  460. package/dist/tools/read.d.ts +1 -1
  461. package/dist/tools/read.js +1 -1
  462. package/dist/tools/task-ctl.d.ts +1 -1
  463. package/dist/tools/task-ctl.js +1 -1
  464. package/dist/tools/task.d.ts +2 -2
  465. package/dist/tools/task.js +2 -2
  466. package/dist/tools/types.d.ts +3 -3
  467. package/dist/tools/types.js +1 -1
  468. package/dist/trace/build.d.ts +1 -1
  469. package/dist/trace/build.js +1 -1
  470. package/dist/trace/detail.d.ts +1 -1
  471. package/dist/trace/detail.js +1 -1
  472. package/dist/trace/flatten.d.ts +1 -1
  473. package/dist/trace/flatten.js +1 -1
  474. package/dist/trace/format.d.ts +1 -1
  475. package/dist/trace/format.js +1 -1
  476. package/dist/trace/html-template.d.ts +1 -1
  477. package/dist/trace/html-template.js +1 -1
  478. package/dist/trace/html.d.ts +1 -1
  479. package/dist/trace/html.js +1 -1
  480. package/dist/trace/query-session.d.ts +1 -1
  481. package/dist/trace/query-session.js +1 -1
  482. package/dist/trace/query.d.ts +1 -1
  483. package/dist/trace/query.js +1 -1
  484. package/dist/trace/types.d.ts +1 -1
  485. package/dist/trace/types.js +1 -1
  486. package/dist/tui/components/settings-list.d.ts +1 -1
  487. package/dist/tui/components/settings-list.js +1 -1
  488. package/docs/README.md +85 -0
  489. package/docs/assets/ama-wordmark-dark.svg +37 -0
  490. package/docs/assets/ama-wordmark-light.svg +37 -0
  491. package/docs/en/README.md +39 -0
  492. package/docs/en/{permissions.md → guides/permissions.md} +14 -14
  493. package/docs/en/{providers.md → guides/providers.md} +13 -12
  494. package/docs/en/{sessions.md → guides/sessions.md} +6 -6
  495. package/docs/en/{tui.md → guides/tui.md} +15 -15
  496. package/docs/en/{acp.md → reference/acp.md} +6 -6
  497. package/docs/en/{host-api.md → reference/host-api.md} +7 -7
  498. package/docs/en/{rpc.md → reference/rpc.md} +13 -13
  499. package/docs/{agents.md → guides/agents.md} +68 -23
  500. package/docs/{codemode.md → guides/codemode.md} +3 -3
  501. package/docs/{hooks.md → guides/hooks.md} +2 -2
  502. package/docs/guides/i18n.md +93 -0
  503. package/docs/{memory.md → guides/memory.md} +1 -1
  504. package/docs/{permissions.md → guides/permissions.md} +2 -2
  505. package/docs/{plan.md → guides/plan.md} +4 -4
  506. package/docs/{providers.md → guides/providers.md} +11 -10
  507. package/docs/{sessions.md → guides/sessions.md} +5 -5
  508. package/docs/{tui.md → guides/tui.md} +8 -8
  509. package/docs/{acp.md → reference/acp.md} +5 -5
  510. package/docs/{host-api.md → reference/host-api.md} +4 -4
  511. package/docs/{rpc.md → reference/rpc.md} +11 -11
  512. package/docs/{session-format.md → reference/session-format.md} +7 -7
  513. package/package.json +12 -23
  514. package/docs/rewind-plan.md +0 -181
  515. package/docs/tui-design.md +0 -764
  516. /package/docs/{sandbox.md → guides/sandbox.md} +0 -0
@@ -1,5 +1,5 @@
1
1
  /**
2
- * 图片大小上限(docs/wave5-plan.md §4、D11;R1 §3.2)。[W5-I]
2
+ * 图片大小上限(docs/history/wave5-plan.md §4、D11;R1 §3.2)。[W5-I]
3
3
  *
4
4
  * 各家的上限都按 **base64 后**的字节数计算:`base64Bytes = ceil(bytes / 3) * 4`。
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /**
2
- * 图片大小上限(docs/wave5-plan.md §4、D11;R1 §3.2)。[W5-I]
2
+ * 图片大小上限(docs/history/wave5-plan.md §4、D11;R1 §3.2)。[W5-I]
3
3
  *
4
4
  * 各家的上限都按 **base64 后**的字节数计算:`base64Bytes = ceil(bytes / 3) * 4`。
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /**
2
- * 请求体序列化(docs/memory-plan.md D3、§2.3)。
2
+ * 请求体序列化(docs/history/memory-plan.md D3、§2.3)。
3
3
  *
4
4
  * 带图请求体里 base64 占绝大部分字节;`JSON.stringify(body)` 会先拼出整份中间字符串,再由 fetch
5
5
  * 编码成 UTF-8。这里先廉价扫一遍:没有 ≥ {@link LARGE_STRING_BYTES} 的字符串就照旧走原生;有就只沿
@@ -1,5 +1,5 @@
1
1
  /**
2
- * 请求体序列化(docs/memory-plan.md D3、§2.3)。
2
+ * 请求体序列化(docs/history/memory-plan.md D3、§2.3)。
3
3
  *
4
4
  * 带图请求体里 base64 占绝大部分字节;`JSON.stringify(body)` 会先拼出整份中间字符串,再由 fetch
5
5
  * 编码成 UTF-8。这里先廉价扫一遍:没有 ≥ {@link LARGE_STRING_BYTES} 的字符串就照旧走原生;有就只沿
@@ -1,5 +1,5 @@
1
1
  /**
2
- * 内置供应商(设计 §3.3、docs/wave5-plan.md §3.2)。这里只放供应商级数据;模型来自 catalog/*.json,
2
+ * 内置供应商(设计 §3.3、docs/history/wave5-plan.md §3.2)。这里只放供应商级数据;模型来自 catalog/*.json,
3
3
  * compat 由各协议的 detectCompat 推断(openai-compat.ts、anthropic-compat.ts 的主机表),这里只写推断
4
4
  * 不出来的东西。
5
5
  *
@@ -7,7 +7,7 @@
7
7
  * registry 物化时与用户 config 的 `channels` 合并(同名字段级覆盖、新名追加),用户的 `defaultChannel`
8
8
  * 优先。供应商级 `api` + `baseUrl` 是**单渠道回落**:用户(config / auth.json / `*_BASE_URL`)把
9
9
  * baseUrl 改到别处时内置渠道整体作废,按这一对单渠道处理(与引入内置渠道之前的行为一致)。
10
- * 只做按量计费端点;Coding Plan 类订阅端点不做内置渠道(D9),见 docs/providers.md。
10
+ * 只做按量计费端点;Coding Plan 类订阅端点不做内置渠道(D9),见 docs/guides/providers.md。
11
11
  *
12
12
  * `baseUrlEnv`(第三波 §2.3):通行约定的 baseUrl 环境变量(OpenAI SDK 的 `OPENAI_BASE_URL`、
13
13
  * Claude Code 的 `ANTHROPIC_BASE_URL`),设了就把内置供应商指向中转站,零配置可用;优先级低于
@@ -1,5 +1,5 @@
1
1
  /**
2
- * 内置供应商(设计 §3.3、docs/wave5-plan.md §3.2)。这里只放供应商级数据;模型来自 catalog/*.json,
2
+ * 内置供应商(设计 §3.3、docs/history/wave5-plan.md §3.2)。这里只放供应商级数据;模型来自 catalog/*.json,
3
3
  * compat 由各协议的 detectCompat 推断(openai-compat.ts、anthropic-compat.ts 的主机表),这里只写推断
4
4
  * 不出来的东西。
5
5
  *
@@ -7,7 +7,7 @@
7
7
  * registry 物化时与用户 config 的 `channels` 合并(同名字段级覆盖、新名追加),用户的 `defaultChannel`
8
8
  * 优先。供应商级 `api` + `baseUrl` 是**单渠道回落**:用户(config / auth.json / `*_BASE_URL`)把
9
9
  * baseUrl 改到别处时内置渠道整体作废,按这一对单渠道处理(与引入内置渠道之前的行为一致)。
10
- * 只做按量计费端点;Coding Plan 类订阅端点不做内置渠道(D9),见 docs/providers.md。
10
+ * 只做按量计费端点;Coding Plan 类订阅端点不做内置渠道(D9),见 docs/guides/providers.md。
11
11
  *
12
12
  * `baseUrlEnv`(第三波 §2.3):通行约定的 baseUrl 环境变量(OpenAI SDK 的 `OPENAI_BASE_URL`、
13
13
  * Claude Code 的 `ANTHROPIC_BASE_URL`),设了就把内置供应商指向中转站,零配置可用;优先级低于
@@ -128,7 +128,7 @@ export const BUILTIN_PROVIDERS = [
128
128
  baseUrl: "https://openrouter.ai/api/v1",
129
129
  envKeys: ["OPENROUTER_API_KEY", "AMA_API_KEY_OPENROUTER"],
130
130
  headers: {
131
- "HTTP-Referer": "https://github.com/Owlbay/armadra-agent",
131
+ "HTTP-Referer": "https://github.com/AMA-Link/armadra-agent",
132
132
  "X-Title": "ama",
133
133
  },
134
134
  requiresApiKey: true,
@@ -228,7 +228,7 @@ export const BUILTIN_PROVIDERS = [
228
228
  requiresApiKey: true,
229
229
  },
230
230
  {
231
- // [W6-O] ChatGPT 订阅(docs/wave6-plan.md §4、D14):`ama auth login chatgpt` 写 auth.json 的 OAuth 条目;
231
+ // [W6-O] ChatGPT 订阅(docs/history/wave6-plan.md §4、D14):`ama auth login chatgpt` 写 auth.json 的 OAuth 条目;
232
232
  // 缺省渠道在组装时按条目的 flavor 定(compose-providers.ts)。模型表为空:`chatgpt/<slug>` 任意接受,
233
233
  // `ama models discover chatgpt` 列出账户可用的 slug。缓存只有 prompt_cache_key(无 24h / 30m 显式缓存)。
234
234
  id: "chatgpt",
@@ -5,7 +5,7 @@
5
5
  * 的字符串表(`UPDATE_CATALOG=1 pnpm vitest run src/ai/providers/catalog.test.ts` 重新生成,
6
6
  * 测试守住两者一致)。本模块解析并校验它,另提供覆盖合并。
7
7
  *
8
- * [W5-M1] 「快照 ⊕ 覆盖」格式(docs/wave5-plan.md §2.2、D6):文件级 `modelsDev` 指向 models.dev
8
+ * [W5-M1] 「快照 ⊕ 覆盖」格式(docs/history/wave5-plan.md §2.2、D6):文件级 `modelsDev` 指向 models.dev
9
9
  * 快照里的供应商 id(`false` = 没有对应),条目按 `<modelsDev>/<id>`(或条目自己的 `modelsDev:
10
10
  * "provider/model"`)从快照继承数值事实——name、reasoning、contextWindow、maxTokens、input、cost、
11
11
  * family / knowledge / releaseDate / inputLimit / status;目录只写覆盖项与 ama 特有字段(`api`、
@@ -74,7 +74,7 @@ export declare function loadBuiltinCatalog(index?: ModelsDevIndex): Map<string,
74
74
  /** 最近一次 `loadBuiltinCatalog()` 里,该目录模型从快照继承的字段(来源展示用)。 */
75
75
  export declare function catalogInherited(provider: string, modelId: string): readonly string[];
76
76
  /**
77
- * [ME-D] 中转 / 自定义模型按 id 匹配内置目录(docs/model-efficiency-plan.md D10):小写、去一层
77
+ * [ME-D] 中转 / 自定义模型按 id 匹配内置目录(docs/history/model-efficiency-plan.md D10):小写、去一层
78
78
  * `vendor/` 前缀与 `:latest` 后精确比较;键是第一方条目的 id(含 `/` 的聚合商条目不进索引)与各条
79
79
  * `aliases`。同一个键落在两条上即 ambiguous,不命中。精确不中时再去掉思考档后缀(`-low` 等)试一次。
80
80
  */
@@ -5,7 +5,7 @@
5
5
  * 的字符串表(`UPDATE_CATALOG=1 pnpm vitest run src/ai/providers/catalog.test.ts` 重新生成,
6
6
  * 测试守住两者一致)。本模块解析并校验它,另提供覆盖合并。
7
7
  *
8
- * [W5-M1] 「快照 ⊕ 覆盖」格式(docs/wave5-plan.md §2.2、D6):文件级 `modelsDev` 指向 models.dev
8
+ * [W5-M1] 「快照 ⊕ 覆盖」格式(docs/history/wave5-plan.md §2.2、D6):文件级 `modelsDev` 指向 models.dev
9
9
  * 快照里的供应商 id(`false` = 没有对应),条目按 `<modelsDev>/<id>`(或条目自己的 `modelsDev:
10
10
  * "provider/model"`)从快照继承数值事实——name、reasoning、contextWindow、maxTokens、input、cost、
11
11
  * family / knowledge / releaseDate / inputLimit / status;目录只写覆盖项与 ama 特有字段(`api`、
@@ -1,5 +1,5 @@
1
1
  /**
2
- * 渠道(docs/providers.md「渠道」):一个供应商下的多种接口(协议 + 地址 + 可选 key / headers / compat)。
2
+ * 渠道(docs/guides/providers.md「渠道」):一个供应商下的多种接口(协议 + 地址 + 可选 key / headers / compat)。
3
3
  *
4
4
  * - 没有 `channels` 的供应商按单渠道处理:供应商级 `api` + `baseUrl` 就是隐式的 `default` 渠道,
5
5
  * 模型上不出现 `channel` / `channels` 字段,行为与引入渠道之前完全相同。
@@ -1,5 +1,5 @@
1
1
  /**
2
- * 渠道(docs/providers.md「渠道」):一个供应商下的多种接口(协议 + 地址 + 可选 key / headers / compat)。
2
+ * 渠道(docs/guides/providers.md「渠道」):一个供应商下的多种接口(协议 + 地址 + 可选 key / headers / compat)。
3
3
  *
4
4
  * - 没有 `channels` 的供应商按单渠道处理:供应商级 `api` + `baseUrl` 就是隐式的 `default` 渠道,
5
5
  * 模型上不出现 `channel` / `channels` 字段,行为与引入渠道之前完全相同。
@@ -1,5 +1,5 @@
1
1
  /**
2
- * 用 models.dev 缓存给自定义模型补元数据(docs/providers.md「模型元数据:models.dev」)。
2
+ * 用 models.dev 缓存给自定义模型补元数据(docs/guides/providers.md「模型元数据:models.dev」)。
3
3
  *
4
4
  * 优先级:用户配置写了的字段 > models.dev > 自定义缺省(maxTokens 8192、input ["text"]、
5
5
  * reasoning false、不猜 contextWindow)。内置目录的模型不经过这里:目录在 catalog.ts 里已经
@@ -1,5 +1,5 @@
1
1
  /**
2
- * 用 models.dev 缓存给自定义模型补元数据(docs/providers.md「模型元数据:models.dev」)。
2
+ * 用 models.dev 缓存给自定义模型补元数据(docs/guides/providers.md「模型元数据:models.dev」)。
3
3
  *
4
4
  * 优先级:用户配置写了的字段 > models.dev > 自定义缺省(maxTokens 8192、input ["text"]、
5
5
  * reasoning false、不猜 contextWindow)。内置目录的模型不经过这里:目录在 catalog.ts 里已经
@@ -1,5 +1,5 @@
1
1
  /**
2
- * models.dev 索引 = 内置快照 ⊕ 用户级覆盖(docs/wave5-plan.md §2.2、docs/providers.md「模型元数据」)。
2
+ * models.dev 索引 = 内置快照 ⊕ 用户级覆盖(docs/history/wave5-plan.md §2.2、docs/guides/providers.md「模型元数据」)。
3
3
  *
4
4
  * - 内置快照随 bundle 携带(models-dev-snapshot.ts),**启动与运行都不联网**。
5
5
  * - 覆盖文件 `<dataDir>/models-dev.json`:`{ version: 2, url, fetchedAt, providers }`,只有
@@ -1,5 +1,5 @@
1
1
  /**
2
- * models.dev 索引 = 内置快照 ⊕ 用户级覆盖(docs/wave5-plan.md §2.2、docs/providers.md「模型元数据」)。
2
+ * models.dev 索引 = 内置快照 ⊕ 用户级覆盖(docs/history/wave5-plan.md §2.2、docs/guides/providers.md「模型元数据」)。
3
3
  *
4
4
  * - 内置快照随 bundle 携带(models-dev-snapshot.ts),**启动与运行都不联网**。
5
5
  * - 覆盖文件 `<dataDir>/models-dev.json`:`{ version: 2, url, fetchedAt, providers }`,只有
@@ -1,5 +1,5 @@
1
1
  /**
2
- * 由 scripts/update-models-dev.mjs 生成,勿手改(docs/providers.md「模型元数据」)。
2
+ * 由 scripts/update-models-dev.mjs 生成,勿手改(docs/guides/providers.md「模型元数据」)。
3
3
  *
4
4
  * 数据来自 models.dev(https://models.dev/api.json,github.com/anomalyco/models.dev),MIT 许可:
5
5
  * Copyright (c) 2025 models.dev。完整声明见 THIRD_PARTY_NOTICES.md。
@@ -1,5 +1,5 @@
1
1
  /**
2
- * 由 scripts/update-models-dev.mjs 生成,勿手改(docs/providers.md「模型元数据」)。
2
+ * 由 scripts/update-models-dev.mjs 生成,勿手改(docs/guides/providers.md「模型元数据」)。
3
3
  *
4
4
  * 数据来自 models.dev(https://models.dev/api.json,github.com/anomalyco/models.dev),MIT 许可:
5
5
  * Copyright (c) 2025 models.dev。完整声明见 THIRD_PARTY_NOTICES.md。
@@ -1,5 +1,5 @@
1
1
  /**
2
- * 入库的 models.dev 快照(docs/wave5-plan.md §2.1、docs/providers.md「模型元数据」)。
2
+ * 入库的 models.dev 快照(docs/history/wave5-plan.md §2.1、docs/guides/providers.md「模型元数据」)。
3
3
  *
4
4
  * `models-dev/*.json` 由 `scripts/update-models-dev.mjs` 生成并内联进 `models-dev-data.ts`(单 bundle,
5
5
  * 运行时不读 JSON 文件、不联网)。本模块解析内联数据,并提供与脚本同一口径的 `buildSnapshot()`
@@ -1,5 +1,5 @@
1
1
  /**
2
- * 入库的 models.dev 快照(docs/wave5-plan.md §2.1、docs/providers.md「模型元数据」)。
2
+ * 入库的 models.dev 快照(docs/history/wave5-plan.md §2.1、docs/guides/providers.md「模型元数据」)。
3
3
  *
4
4
  * `models-dev/*.json` 由 `scripts/update-models-dev.mjs` 生成并内联进 `models-dev-data.ts`(单 bundle,
5
5
  * 运行时不读 JSON 文件、不联网)。本模块解析内联数据,并提供与脚本同一口径的 `buildSnapshot()`
@@ -1,5 +1,5 @@
1
1
  /**
2
- * models.dev 模型元数据(docs/providers.md「模型元数据:models.dev」):裁剪、索引、匹配、映射。
2
+ * models.dev 模型元数据(docs/guides/providers.md「模型元数据:models.dev」):裁剪、索引、匹配、映射。
3
3
  *
4
4
  * 数据源 `https://models.dev/api.json` 是「供应商 → 模型」两层表,同一个模型 id 会在几十家转售商下
5
5
  * 重复出现且取值不一。`ModelsDevIndex.match()` 按文档里的顺序挑一条:显式 `provider/model` →
@@ -18,7 +18,7 @@ export interface ModelsDevPrices {
18
18
  }
19
19
  /**
20
20
  * 用到的模型字段(models.dev 原名);其余裁剪时丢掉。快照只多存 family / knowledge /
21
- * release_date / limit.input / 价格档位 / interleaved / status(docs/wave5-plan.md §2.1)。
21
+ * release_date / limit.input / 价格档位 / interleaved / status(docs/history/wave5-plan.md §2.1)。
22
22
  */
23
23
  export interface ModelsDevModel {
24
24
  id: string;
@@ -104,7 +104,7 @@ export interface ModelsDevFields {
104
104
  * 缺的缓存价记 0(与目录一贯写法一致:没有单独计价)。
105
105
  */
106
106
  export type ModelsDevMapping = "custom" | "catalog";
107
- /** 快照过滤:丢 deprecated、输出不含文本、上下文为 0 / 缺失、tool_call:false(docs/wave5-plan.md §2.1)。 */
107
+ /** 快照过滤:丢 deprecated、输出不含文本、上下文为 0 / 缺失、tool_call:false(docs/history/wave5-plan.md §2.1)。 */
108
108
  export declare function keepForSnapshot(raw: unknown): boolean;
109
109
  /** 裁剪一家供应商;`keep` 给出时只留它放行的模型(模型 id 按字典序)。 */
110
110
  export declare function trimProvider(providerId: string, provider: Record<string, unknown>, keep?: (modelId: string, raw: unknown) => boolean): ModelsDevProvider;
@@ -131,7 +131,7 @@ export declare class ModelsDevIndex {
131
131
  match(id: string, explicit?: string): ModelsDevMatch | undefined;
132
132
  private choose;
133
133
  }
134
- /** models.dev 条目 → ama Model 字段(规则见 docs/providers.md「模型元数据」)。 */
134
+ /** models.dev 条目 → ama Model 字段(规则见 docs/guides/providers.md「模型元数据」)。 */
135
135
  export declare function modelsDevFields(model: ModelsDevModel, mapping?: ModelsDevMapping): ModelsDevFields;
136
136
  /** 可由 models.dev 补的 Model 字段(展示来源用)。 */
137
137
  export declare const ENRICHABLE_FIELDS: readonly ["contextWindow", "maxTokens", "input", "reasoning", "cost"];
@@ -1,5 +1,5 @@
1
1
  /**
2
- * models.dev 模型元数据(docs/providers.md「模型元数据:models.dev」):裁剪、索引、匹配、映射。
2
+ * models.dev 模型元数据(docs/guides/providers.md「模型元数据:models.dev」):裁剪、索引、匹配、映射。
3
3
  *
4
4
  * 数据源 `https://models.dev/api.json` 是「供应商 → 模型」两层表,同一个模型 id 会在几十家转售商下
5
5
  * 重复出现且取值不一。`ModelsDevIndex.match()` 按文档里的顺序挑一条:显式 `provider/model` →
@@ -136,7 +136,7 @@ function trimModel(id, raw) {
136
136
  out.interleaved = { field: interleaved["field"] };
137
137
  return out;
138
138
  }
139
- /** 快照过滤:丢 deprecated、输出不含文本、上下文为 0 / 缺失、tool_call:false(docs/wave5-plan.md §2.1)。 */
139
+ /** 快照过滤:丢 deprecated、输出不含文本、上下文为 0 / 缺失、tool_call:false(docs/history/wave5-plan.md §2.1)。 */
140
140
  export function keepForSnapshot(raw) {
141
141
  if (!isRecord(raw))
142
142
  return false;
@@ -337,7 +337,7 @@ function toCost(p, mapping) {
337
337
  cacheWrite: p.cache_write ?? missing,
338
338
  };
339
339
  }
340
- /** models.dev 条目 → ama Model 字段(规则见 docs/providers.md「模型元数据」)。 */
340
+ /** models.dev 条目 → ama Model 字段(规则见 docs/guides/providers.md「模型元数据」)。 */
341
341
  export function modelsDevFields(model, mapping = "custom") {
342
342
  const out = {};
343
343
  if (model.name !== undefined)
@@ -15,7 +15,7 @@
15
15
  * - [W3-C0] 第三波 §1.3 的五个缓存兼容开关单列为 `PromptCacheCompat`(各协议共用),只并入
16
16
  * `ProviderCompat`(全部可选),不改各协议 compat 接口——`detectCompat` 的返回形状不变,
17
17
  * 缺省值由 C1a 在协议层按端点推断。
18
- * - [W5-C0] 第五波(docs/wave5-plan.md §2.1、§3.1):`Model` 加 models.dev 元数据字段
18
+ * - [W5-C0] 第五波(docs/history/wave5-plan.md §2.1、§3.1):`Model` 加 models.dev 元数据字段
19
19
  * (`family / knowledge / releaseDate / inputLimit / status`);`AnthropicMessagesCompat` 加
20
20
  * `sendInterleavedThinkingBeta / sendCacheControl`、`OpenAIResponsesCompat` 加
21
21
  * `explicitCacheField`,全部可选(缺省由 W5-M2 的主机推断表给出);`ProviderData.channels /
@@ -345,7 +345,7 @@ export interface Model {
345
345
  /** 发布状态;正式版不填(deprecated 的模型在快照里已过滤)。 */
346
346
  status?: "beta";
347
347
  }
348
- /** 物化后的渠道(docs/providers.md「渠道」);key 不在这里,经 `resolveApiKey(provider, channel)` 取。 */
348
+ /** 物化后的渠道(docs/guides/providers.md「渠道」);key 不在这里,经 `resolveApiKey(provider, channel)` 取。 */
349
349
  export interface ProviderChannel {
350
350
  name: string;
351
351
  api: Api;
package/dist/ai/types.js CHANGED
@@ -15,7 +15,7 @@
15
15
  * - [W3-C0] 第三波 §1.3 的五个缓存兼容开关单列为 `PromptCacheCompat`(各协议共用),只并入
16
16
  * `ProviderCompat`(全部可选),不改各协议 compat 接口——`detectCompat` 的返回形状不变,
17
17
  * 缺省值由 C1a 在协议层按端点推断。
18
- * - [W5-C0] 第五波(docs/wave5-plan.md §2.1、§3.1):`Model` 加 models.dev 元数据字段
18
+ * - [W5-C0] 第五波(docs/history/wave5-plan.md §2.1、§3.1):`Model` 加 models.dev 元数据字段
19
19
  * (`family / knowledge / releaseDate / inputLimit / status`);`AnthropicMessagesCompat` 加
20
20
  * `sendInterleavedThinkingBeta / sendCacheControl`、`OpenAIResponsesCompat` 加
21
21
  * `explicitCacheField`,全部可选(缺省由 W5-M2 的主机推断表给出);`ProviderData.channels /
@@ -1,5 +1,5 @@
1
1
  /**
2
- * `ama auth login | logout | status chatgpt`(docs/wave6-plan.md §4.2、D16)。[W6-O]
2
+ * `ama auth login | logout | status chatgpt`(docs/history/wave6-plan.md §4.2、D16)。[W6-O]
3
3
  *
4
4
  * - login:flavor 取 `--flavor` > 用户级 `auth.chatgpt.flavor` > siwc;`--paste` / `--device`(只 codex)/ 缺省
5
5
  * 浏览器;codex 首次在 TTY 下一次性确认「非官方、仅个人使用」(非 TTY 需 `--yes`),`acknowledgedAt` 入条目;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * `ama auth login | logout | status chatgpt`(docs/wave6-plan.md §4.2、D16)。[W6-O]
2
+ * `ama auth login | logout | status chatgpt`(docs/history/wave6-plan.md §4.2、D16)。[W6-O]
3
3
  *
4
4
  * - login:flavor 取 `--flavor` > 用户级 `auth.chatgpt.flavor` > siwc;`--paste` / `--device`(只 codex)/ 缺省
5
5
  * 浏览器;codex 首次在 TTY 下一次性确认「非官方、仅个人使用」(非 TTY 需 `--yes`),`acknowledgedAt` 入条目;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * SIWC 的 `ext_agent_host_id`(docs/wave6-plan.md D16):每个安装稳定不变,存
2
+ * SIWC 的 `ext_agent_host_id`(docs/history/wave6-plan.md D16):每个安装稳定不变,存
3
3
  * `<dataDir>/chatgpt-host.json`(0600,按安装、不随 dotfiles 同步),形如 `urn:uuid:…`。[W6-O]
4
4
  */
5
5
  export declare const HOST_ID_FILE = "chatgpt-host.json";
@@ -1,5 +1,5 @@
1
1
  /**
2
- * SIWC 的 `ext_agent_host_id`(docs/wave6-plan.md D16):每个安装稳定不变,存
2
+ * SIWC 的 `ext_agent_host_id`(docs/history/wave6-plan.md D16):每个安装稳定不变,存
3
3
  * `<dataDir>/chatgpt-host.json`(0600,按安装、不随 dotfiles 同步),形如 `urn:uuid:…`。[W6-O]
4
4
  */
5
5
  import { randomUUID } from "node:crypto";
@@ -1,5 +1,5 @@
1
1
  /**
2
- * ChatGPT 登录 / 登出编排(docs/wave6-plan.md §4.1–§4.3、D13–D16)。[W6-O]
2
+ * ChatGPT 登录 / 登出编排(docs/history/wave6-plan.md §4.1–§4.3、D13–D16)。[W6-O]
3
3
  *
4
4
  * 登录:预设 → 授权码(browser / paste / device)→ 换 token(表单编码;SIWC 带 `resource`,client id 用
5
5
  * 回调带回的签发 id)→ 校验(SIWC:JWKS 验签 iss / aud / nonce / exp + 授予 scope 含
@@ -1,5 +1,5 @@
1
1
  /**
2
- * ChatGPT 登录 / 登出编排(docs/wave6-plan.md §4.1–§4.3、D13–D16)。[W6-O]
2
+ * ChatGPT 登录 / 登出编排(docs/history/wave6-plan.md §4.1–§4.3、D13–D16)。[W6-O]
3
3
  *
4
4
  * 登录:预设 → 授权码(browser / paste / device)→ 换 token(表单编码;SIWC 带 `resource`,client id 用
5
5
  * 回调带回的签发 id)→ 校验(SIWC:JWKS 验签 iss / aud / nonce / exp + 授予 scope 含
@@ -1,5 +1,5 @@
1
1
  /**
2
- * ChatGPT 登录预设表(docs/wave6-plan.md §4.1、D13–D16;R6 §1.1、§1.2、§4.10)。[W6-O]
2
+ * ChatGPT 登录预设表(docs/history/wave6-plan.md §4.1、D13–D16;R6 §1.1、§1.2、§4.10)。[W6-O]
3
3
  *
4
4
  * 两条路径共用 PKCE / 回调 / 存储 / 锁 / 配额框架,差异全部在这张表里:
5
5
  * - `siwc`(缺省,官方动态注册):`/api/accounts/*`,首次 `client_id=dynamic_agent_client`,回调带回签发的
@@ -1,5 +1,5 @@
1
1
  /**
2
- * ChatGPT 登录预设表(docs/wave6-plan.md §4.1、D13–D16;R6 §1.1、§1.2、§4.10)。[W6-O]
2
+ * ChatGPT 登录预设表(docs/history/wave6-plan.md §4.1、D13–D16;R6 §1.1、§1.2、§4.10)。[W6-O]
3
3
  *
4
4
  * 两条路径共用 PKCE / 回调 / 存储 / 锁 / 配额框架,差异全部在这张表里:
5
5
  * - `siwc`(缺省,官方动态注册):`/api/accounts/*`,首次 `client_id=dynamic_agent_client`,回调带回签发的
@@ -1,5 +1,5 @@
1
1
  /**
2
- * 本地 OAuth 回调服务(docs/wave6-plan.md §4.1 回调行;R6 §4.3)。[W6-O]
2
+ * 本地 OAuth 回调服务(docs/history/wave6-plan.md §4.1 回调行;R6 §4.3)。[W6-O]
3
3
  *
4
4
  * - 只监听 `127.0.0.1`;端口按 `ports` 依次尝试(0 = 任意空闲端口),被占用就试下一个;全被占用报
5
5
  * `oauth_ports_busy`(**不**像别的客户端那样发 `/cancel` 抢占他人的监听);
@@ -1,5 +1,5 @@
1
1
  /**
2
- * 本地 OAuth 回调服务(docs/wave6-plan.md §4.1 回调行;R6 §4.3)。[W6-O]
2
+ * 本地 OAuth 回调服务(docs/history/wave6-plan.md §4.1 回调行;R6 §4.3)。[W6-O]
3
3
  *
4
4
  * - 只监听 `127.0.0.1`;端口按 `ports` 依次尝试(0 = 任意空闲端口),被占用就试下一个;全被占用报
5
5
  * `oauth_ports_busy`(**不**像别的客户端那样发 `/cancel` 抢占他人的监听);
@@ -1,5 +1,5 @@
1
1
  /**
2
- * 授权流程(docs/wave6-plan.md §4.2、D16;R6 §4.2、§4.3、§1.2 设备码行)。[W6-O]
2
+ * 授权流程(docs/history/wave6-plan.md §4.2、D16;R6 §4.2、§4.3、§1.2 设备码行)。[W6-O]
3
3
  *
4
4
  * 三种拿授权码的方式,产出同一个 `AuthorizationResult`,由各预设的登录模块去换 token:
5
5
  * - `browser`:本地回调服务 + 打开浏览器(打不开就只给 URL);
@@ -1,5 +1,5 @@
1
1
  /**
2
- * 授权流程(docs/wave6-plan.md §4.2、D16;R6 §4.2、§4.3、§1.2 设备码行)。[W6-O]
2
+ * 授权流程(docs/history/wave6-plan.md §4.2、D16;R6 §4.2、§4.3、§1.2 设备码行)。[W6-O]
3
3
  *
4
4
  * 三种拿授权码的方式,产出同一个 `AuthorizationResult`,由各预设的登录模块去换 token:
5
5
  * - `browser`:本地回调服务 + 打开浏览器(打不开就只给 URL);
@@ -1,5 +1,5 @@
1
1
  /**
2
- * OIDC discovery、JWKS 与 id_token 校验(docs/wave6-plan.md §4.1 id_token 行;R6 §1.1)。[W6-O]
2
+ * OIDC discovery、JWKS 与 id_token 校验(docs/history/wave6-plan.md §4.1 id_token 行;R6 §1.1)。[W6-O]
3
3
  *
4
4
  * SIWC 必须:JWKS 验签 + `iss` = issuer、`aud` 含签发的 client id、`nonce` = 本次登录的、`exp` 未过
5
5
  * (允许 60 s 时钟偏差)。discovery 与 JWKS 每进程按 issuer 缓存一次。
@@ -1,5 +1,5 @@
1
1
  /**
2
- * OIDC discovery、JWKS 与 id_token 校验(docs/wave6-plan.md §4.1 id_token 行;R6 §1.1)。[W6-O]
2
+ * OIDC discovery、JWKS 与 id_token 校验(docs/history/wave6-plan.md §4.1 id_token 行;R6 §1.1)。[W6-O]
3
3
  *
4
4
  * SIWC 必须:JWKS 验签 + `iss` = issuer、`aud` 含签发的 client id、`nonce` = 本次登录的、`exp` 未过
5
5
  * (允许 60 s 时钟偏差)。discovery 与 JWKS 每进程按 issuer 缓存一次。
@@ -1,5 +1,5 @@
1
1
  /**
2
- * PKCE(RFC 7636,S256)与随机串(docs/wave6-plan.md §4.1;R6 §4.3)。[W6-O]
2
+ * PKCE(RFC 7636,S256)与随机串(docs/history/wave6-plan.md §4.1;R6 §4.3)。[W6-O]
3
3
  *
4
4
  * verifier 32 字节随机数的 base64url(43 字符),challenge = base64url(SHA-256(verifier)) 无填充;
5
5
  * `state` / `nonce` 同样 32 字节随机。只用 `node:crypto`。
@@ -1,5 +1,5 @@
1
1
  /**
2
- * PKCE(RFC 7636,S256)与随机串(docs/wave6-plan.md §4.1;R6 §4.3)。[W6-O]
2
+ * PKCE(RFC 7636,S256)与随机串(docs/history/wave6-plan.md §4.1;R6 §4.3)。[W6-O]
3
3
  *
4
4
  * verifier 32 字节随机数的 base64url(43 字符),challenge = base64url(SHA-256(verifier)) 无填充;
5
5
  * `state` / `nonce` 同样 32 字节随机。只用 `node:crypto`。
@@ -1,5 +1,5 @@
1
1
  /**
2
- * OAuth access token 的取用与刷新(docs/wave6-plan.md §4.3、D15)。[W6-O]
2
+ * OAuth access token 的取用与刷新(docs/history/wave6-plan.md §4.3、D15)。[W6-O]
3
3
  *
4
4
  * - 触发:`expiresAt − now < 5 min`,或协议层 401 后 `force`;
5
5
  * - 进程内:同一 (auth.json, 供应商) 共用一个刷新 Promise;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * OAuth access token 的取用与刷新(docs/wave6-plan.md §4.3、D15)。[W6-O]
2
+ * OAuth access token 的取用与刷新(docs/history/wave6-plan.md §4.3、D15)。[W6-O]
3
3
  *
4
4
  * - 触发:`expiresAt − now < 5 min`,或协议层 401 后 `force`;
5
5
  * - 进程内:同一 (auth.json, 供应商) 共用一个刷新 Promise;
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * OAuth 端点的 HTTP 调用(token 交换 / 刷新 / 撤销 / discovery)。[W6-O]
3
3
  *
4
- * 日志红线(docs/wave6-plan.md §4.3):错误只带 HTTP 状态与 `error` 码(截断到 64 字符),从不带响应
4
+ * 日志红线(docs/history/wave6-plan.md §4.3):错误只带 HTTP 状态与 `error` 码(截断到 64 字符),从不带响应
5
5
  * 原文、请求参数、code 或任何 token。
6
6
  */
7
7
  import { AmaError } from "../../errors.js";
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * OAuth 端点的 HTTP 调用(token 交换 / 刷新 / 撤销 / discovery)。[W6-O]
3
3
  *
4
- * 日志红线(docs/wave6-plan.md §4.3):错误只带 HTTP 状态与 `error` 码(截断到 64 字符),从不带响应
4
+ * 日志红线(docs/history/wave6-plan.md §4.3):错误只带 HTTP 状态与 `error` 码(截断到 64 字符),从不带响应
5
5
  * 原文、请求参数、code 或任何 token。
6
6
  */
7
7
  import { AmaError } from "../../errors.js";
@@ -1,5 +1,5 @@
1
1
  /**
2
- * OAuth 条目的存取与跨进程刷新锁(docs/wave6-plan.md §4.3、D15)。[W6-O]
2
+ * OAuth 条目的存取与跨进程刷新锁(docs/history/wave6-plan.md §4.3、D15)。[W6-O]
3
3
  *
4
4
  * - 读:每次都从磁盘读(绕过 `ApiKeyResolver.fileCache`,长会话才能看到别的进程刷新后的 token);文件不存在 /
5
5
  * 坏掉 / 不是 oauth 条目 → undefined;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * OAuth 条目的存取与跨进程刷新锁(docs/wave6-plan.md §4.3、D15)。[W6-O]
2
+ * OAuth 条目的存取与跨进程刷新锁(docs/history/wave6-plan.md §4.3、D15)。[W6-O]
3
3
  *
4
4
  * - 读:每次都从磁盘读(绕过 `ApiKeyResolver.fileCache`,长会话才能看到别的进程刷新后的 token);文件不存在 /
5
5
  * 坏掉 / 不是 oauth 条目 → undefined;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * 测试用 fake OAuth / ChatGPT 后端(docs/wave6-plan.md §4.6)。`node:http` 随机端口;不进 bundle。
2
+ * 测试用 fake OAuth / ChatGPT 后端(docs/history/wave6-plan.md §4.6)。`node:http` 随机端口;不进 bundle。
3
3
  *
4
4
  * OAuth:authorize(记参数、302 回 redirect_uri;SIWC 注册时带签发的 client_id 与 scope)、token(校验 PKCE;
5
5
  * 授权码 / 刷新;刷新轮换,旧 refresh token 再用 → `refresh_token_reused`)、deviceauth、discovery + JWKS
@@ -1,5 +1,5 @@
1
1
  /**
2
- * 测试用 fake OAuth / ChatGPT 后端(docs/wave6-plan.md §4.6)。`node:http` 随机端口;不进 bundle。
2
+ * 测试用 fake OAuth / ChatGPT 后端(docs/history/wave6-plan.md §4.6)。`node:http` 随机端口;不进 bundle。
3
3
  *
4
4
  * OAuth:authorize(记参数、302 回 redirect_uri;SIWC 注册时带签发的 client_id 与 scope)、token(校验 PKCE;
5
5
  * 授权码 / 刷新;刷新轮换,旧 refresh token 再用 → `refresh_token_reused`)、deviceauth、discovery + JWKS