@armadra/agent 0.2.1 → 0.3.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 (80) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +55 -11
  3. package/dist/agent/session-cache.js +5 -2
  4. package/dist/agent/session-state.js +2 -1
  5. package/dist/agent/session-sync.js +9 -2
  6. package/dist/agent/session.js +8 -7
  7. package/dist/ai/apis/openai-responses.js +2 -1
  8. package/dist/ai/cache/fingerprint.d.ts +1 -1
  9. package/dist/ai/cache/fingerprint.js +1 -1
  10. package/dist/ai/cache/reporting.js +2 -1
  11. package/dist/ai/providers/channels.d.ts +51 -0
  12. package/dist/ai/providers/channels.js +96 -0
  13. package/dist/ai/providers/enrich.d.ts +34 -0
  14. package/dist/ai/providers/enrich.js +86 -0
  15. package/dist/ai/providers/models-dev-cache.d.ts +53 -0
  16. package/dist/ai/providers/models-dev-cache.js +147 -0
  17. package/dist/ai/providers/models-dev.d.ts +99 -0
  18. package/dist/ai/providers/models-dev.js +315 -0
  19. package/dist/ai/providers/registry.d.ts +35 -4
  20. package/dist/ai/providers/registry.js +177 -24
  21. package/dist/ai/types.d.ts +21 -1
  22. package/dist/bundle/ama.cjs +4075 -2008
  23. package/dist/cli/args.d.ts +6 -3
  24. package/dist/cli/args.js +30 -3
  25. package/dist/cli/bootstrap.js +1 -0
  26. package/dist/cli/compose-providers.js +3 -0
  27. package/dist/cli/compose-session.d.ts +3 -0
  28. package/dist/cli/compose.d.ts +3 -1
  29. package/dist/cli/compose.js +24 -9
  30. package/dist/cli/deps.d.ts +2 -0
  31. package/dist/cli/main.d.ts +2 -1
  32. package/dist/cli/main.js +13 -1
  33. package/dist/cli/startup-steps.js +6 -1
  34. package/dist/cli/subcommands/config.d.ts +11 -2
  35. package/dist/cli/subcommands/config.js +80 -4
  36. package/dist/cli/subcommands/context.js +1 -0
  37. package/dist/cli/subcommands/init.d.ts +6 -0
  38. package/dist/cli/subcommands/init.js +22 -0
  39. package/dist/cli/subcommands/model-meta.d.ts +16 -0
  40. package/dist/cli/subcommands/model-meta.js +54 -0
  41. package/dist/cli/subcommands/models-cache-probe.js +1 -1
  42. package/dist/cli/subcommands/models-discover.d.ts +6 -0
  43. package/dist/cli/subcommands/models-discover.js +37 -9
  44. package/dist/cli/subcommands/models.js +26 -18
  45. package/dist/cli/subcommands/providers-list.d.ts +8 -0
  46. package/dist/cli/subcommands/providers-list.js +97 -0
  47. package/dist/cli/subcommands/providers-plan.d.ts +79 -0
  48. package/dist/cli/subcommands/providers-plan.js +215 -0
  49. package/dist/cli/subcommands/providers.d.ts +27 -0
  50. package/dist/cli/subcommands/providers.js +433 -0
  51. package/dist/config/init.d.ts +30 -0
  52. package/dist/config/init.js +92 -0
  53. package/dist/config/json-schema.d.ts +14 -0
  54. package/dist/config/json-schema.js +182 -0
  55. package/dist/config/schema.d.ts +1 -1
  56. package/dist/config/schema.js +74 -11
  57. package/dist/config/types.d.ts +23 -5
  58. package/dist/config/types.js +2 -0
  59. package/dist/modes/image-input.d.ts +27 -0
  60. package/dist/modes/image-input.js +78 -0
  61. package/dist/modes/interactive/commands.js +2 -3
  62. package/dist/modes/interactive/interactive-mode.js +5 -1
  63. package/dist/modes/interactive/line/line-mode.js +3 -1
  64. package/dist/modes/interactive/startup-ui.d.ts +7 -2
  65. package/dist/modes/interactive/startup-ui.js +41 -11
  66. package/dist/modes/print/print-mode.d.ts +2 -0
  67. package/dist/modes/print/print-mode.js +12 -1
  68. package/dist/modes/rpc/commands.js +7 -2
  69. package/dist/rpc.d.ts +2 -0
  70. package/dist/session/projection.js +5 -1
  71. package/dist/session/types.d.ts +2 -0
  72. package/dist/tools/image-file.d.ts +31 -0
  73. package/dist/tools/image-file.js +114 -0
  74. package/dist/tools/read.d.ts +4 -8
  75. package/dist/tools/read.js +15 -64
  76. package/docs/providers.md +216 -1
  77. package/docs/rpc.md +3 -3
  78. package/docs/session-format.md +1 -1
  79. package/docs/tui.md +2 -0
  80. package/package.json +1 -1
package/docs/rpc.md CHANGED
@@ -54,13 +54,13 @@
54
54
  | `get_last_assistant_text` | — | `{ text: string \| null }` |
55
55
  | `get_session_stats` | — | `SessionStats`(见「会话统计」) |
56
56
 
57
- `SessionState`:`isStreaming`、`isCompacting`、`isRetrying`、`model`(`{ provider, id }` 或缺省)、`thinkingLevel`、`permissionMode`、`sessionId`、`sessionFile`、`cwd`、`sessionName`、`messageCount`、`pendingMessageCount`、`steeringMode`、`followUpMode`、`autoCompaction`、`autoRetry`。
57
+ `SessionState`:`isStreaming`、`isCompacting`、`isRetrying`、`model`(`{ provider, id, channel? }` 或缺省;`channel` 只在多渠道供应商上出现)、`thinkingLevel`、`permissionMode`、`sessionId`、`sessionFile`、`cwd`、`sessionName`、`messageCount`、`pendingMessageCount`、`steeringMode`、`followUpMode`、`autoCompaction`、`autoRetry`。
58
58
 
59
59
  ### 模型
60
60
 
61
61
  | 命令 | 参数 | `data` |
62
62
  | ------------------------------- | --------------------------------------------------------- | ---------------------------------------------------------------- |
63
- | `set_model` | `provider: string`、`modelId: string` | `{ model: { provider, id } }` |
63
+ | `set_model` | `provider: string`、`modelId: string`、`channel?: string` | `{ model: { provider, id, channel? } }` |
64
64
  | `get_available_models` | — | `{ models: RpcModelInfo[] }` |
65
65
  | `set_thinking_level` | `level: off \| minimal \| low \| medium \| high \| xhigh` | `{ level }` |
66
66
  | `get_available_thinking_levels` | — | `{ levels: string[] }`(当前模型支持的级别;无模型时 `["off"]`) |
@@ -137,7 +137,7 @@
137
137
  | `permission_request` | `requestId`、`toolName`、`input`、`reason: mode \| dangerous \| hook`、`hookReason?`、`timeoutMs`、`preview?` |
138
138
  | `permission_resolved` | `requestId`、`decision` |
139
139
  | `permission_mode_changed` | `mode` |
140
- | `model_changed` | `model: { provider, id }` |
140
+ | `model_changed` | `model: { provider, id, channel? }` |
141
141
  | `thinking_level_changed` | `level` |
142
142
  | `entry_appended` | `entry`(刚落盘的会话条目) |
143
143
  | `hook_executed` | `event`、`command`、`exitCode`(超时或被信号杀死为 null)、`durationMs` |
@@ -37,7 +37,7 @@
37
37
  | `compaction` | `summary`、`firstKeptEntryId`、`tokensBefore`、`usage?`、`details?`(`readFiles` / `modifiedFiles`) | 是,作为摘要消息 |
38
38
  | `branch_summary` | `fromId`、`summary`、`usage?`、`details?` | 是,作为分支摘要消息 |
39
39
  | `context_edit` | `targetId`、`replacement: string \| null`、`reason: prune \| abort \| retry \| overflow \| manual` | 改写目标条目 |
40
- | `model_change` | `provider`、`modelId` | 否(决定续会话时的模型) |
40
+ | `model_change` | `provider`、`modelId`、可选 `channel`(多渠道供应商的渠道名) | 否(决定续会话时的模型) |
41
41
  | `thinking_level_change` | `thinkingLevel` | 否(决定续会话时的思考级别) |
42
42
  | `custom` | `customType`、`data` | 否 |
43
43
  | `custom_message` | `customType`、`content`(字符串或内容块)、`display`、`details?` | 是,作为 custom 消息 |
package/docs/tui.md CHANGED
@@ -94,6 +94,8 @@ anthropic/claude-sonnet · think:medium · ↑12k ↓1.2k · cache 80% ♨ · $0
94
94
  - `/tree`:列出会话里的全部用户消息(分叉处缩进,`●` 是当前分支);选中一条后回到它之前,原文回填输入框,修改后发送就形成新分支。
95
95
  - `/fork`(无参数):同样选一条用户消息,从它之前复制出新会话。
96
96
  - `/model`、`/resume`、`/permission`、`/thinking` 不带参数时打开选择器;`/permissions` 显示权限判定顺序与已加载规则。
97
+ - `/model` 选择器按「供应商 · 渠道」分组(多渠道模型在每个渠道下各一项,非首选渠道带 `@渠道`),说明里有上下文与 `img`(收图片);`/model packy/kimi-k2.5@messages` 直接切到指定渠道。
98
+ - 输入里的 `@图片路径`(可加引号,Tab 补全路径)或粘贴 / 拖入的图片文件路径作为图片附件随消息发送;当前模型不收图片时 `@` 附件报错、不发送,未加 `@` 的路径忽略(见 [providers.md](providers.md)「图像输入」)。
97
99
  - `/session`、`/cache`:会话用量与缓存统计(见下文「缓存与上下文」)。
98
100
 
99
101
  ## 补全
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@armadra/agent",
3
- "version": "0.2.1",
3
+ "version": "0.3.0",
4
4
  "description": "可独立使用、可嵌入 Armadra 的编码 / 协调 Agent",
5
5
  "type": "module",
6
6
  "keywords": [