@ai-zen/cli 1.0.0-alpha.27 → 1.0.0-alpha.30

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 (171) hide show
  1. package/CHANGELOG.md +158 -0
  2. package/README.md +9 -6
  3. package/README.zh.md +9 -6
  4. package/dist/clipboard.d.ts +68 -0
  5. package/dist/clipboard.d.ts.map +1 -0
  6. package/dist/clipboard.js +177 -0
  7. package/dist/clipboard.js.map +1 -0
  8. package/dist/config-editor.d.ts +17 -0
  9. package/dist/config-editor.d.ts.map +1 -1
  10. package/dist/config-editor.js +31 -0
  11. package/dist/config-editor.js.map +1 -1
  12. package/dist/config.d.ts +53 -15
  13. package/dist/config.d.ts.map +1 -1
  14. package/dist/config.js +90 -26
  15. package/dist/config.js.map +1 -1
  16. package/dist/conversation-commands/registry.d.ts.map +1 -1
  17. package/dist/conversation-persist-plugin.d.ts.map +1 -1
  18. package/dist/conversation-persist-plugin.js.map +1 -1
  19. package/dist/conversation-repository.d.ts +23 -20
  20. package/dist/conversation-repository.d.ts.map +1 -1
  21. package/dist/conversation-repository.js +46 -37
  22. package/dist/conversation-repository.js.map +1 -1
  23. package/dist/cwd-tracker-plugin.d.ts.map +1 -1
  24. package/dist/cwd-tracker-plugin.js +17 -6
  25. package/dist/cwd-tracker-plugin.js.map +1 -1
  26. package/dist/handoff-service.js.map +1 -1
  27. package/dist/i18n/en-wizard.d.ts.map +1 -1
  28. package/dist/i18n/en-wizard.js +9 -6
  29. package/dist/i18n/en-wizard.js.map +1 -1
  30. package/dist/i18n/en.d.ts.map +1 -1
  31. package/dist/i18n/en.js +13 -2
  32. package/dist/i18n/en.js.map +1 -1
  33. package/dist/i18n/index.js.map +1 -1
  34. package/dist/i18n/preferences.d.ts +7 -4
  35. package/dist/i18n/preferences.d.ts.map +1 -1
  36. package/dist/i18n/preferences.js +15 -11
  37. package/dist/i18n/preferences.js.map +1 -1
  38. package/dist/i18n/zh-wizard.d.ts.map +1 -1
  39. package/dist/i18n/zh-wizard.js +9 -6
  40. package/dist/i18n/zh-wizard.js.map +1 -1
  41. package/dist/i18n/zh.d.ts.map +1 -1
  42. package/dist/i18n/zh.js +13 -2
  43. package/dist/i18n/zh.js.map +1 -1
  44. package/dist/index.js +11 -0
  45. package/dist/index.js.map +1 -1
  46. package/dist/sdk-log.d.ts +15 -3
  47. package/dist/sdk-log.d.ts.map +1 -1
  48. package/dist/sdk-log.js +29 -9
  49. package/dist/sdk-log.js.map +1 -1
  50. package/dist/session-pointer.d.ts.map +1 -1
  51. package/dist/session-pointer.js +10 -4
  52. package/dist/session-pointer.js.map +1 -1
  53. package/dist/sub-agent-guard-plugin.d.ts.map +1 -1
  54. package/dist/tui/chat-history.d.ts +29 -0
  55. package/dist/tui/chat-history.d.ts.map +1 -0
  56. package/dist/tui/chat-history.js +55 -0
  57. package/dist/tui/chat-history.js.map +1 -0
  58. package/dist/tui/chat-session.d.ts +31 -2
  59. package/dist/tui/chat-session.d.ts.map +1 -1
  60. package/dist/tui/chat-session.js +64 -9
  61. package/dist/tui/chat-session.js.map +1 -1
  62. package/dist/tui/components.d.ts +65 -5
  63. package/dist/tui/components.d.ts.map +1 -1
  64. package/dist/tui/components.js +85 -13
  65. package/dist/tui/components.js.map +1 -1
  66. package/dist/tui/config-wizard/detail.d.ts +6 -4
  67. package/dist/tui/config-wizard/detail.d.ts.map +1 -1
  68. package/dist/tui/config-wizard/detail.js +20 -14
  69. package/dist/tui/config-wizard/detail.js.map +1 -1
  70. package/dist/tui/config-wizard/engine.d.ts +1 -1
  71. package/dist/tui/config-wizard/engine.d.ts.map +1 -1
  72. package/dist/tui/config-wizard/engine.js +18 -6
  73. package/dist/tui/config-wizard/engine.js.map +1 -1
  74. package/dist/tui/config-wizard/fields.d.ts.map +1 -1
  75. package/dist/tui/config-wizard/fields.js +1 -30
  76. package/dist/tui/config-wizard/fields.js.map +1 -1
  77. package/dist/tui/config-wizard/frame.js +1 -1
  78. package/dist/tui/config-wizard/kv-editor.d.ts.map +1 -1
  79. package/dist/tui/config-wizard/kv-editor.js +4 -0
  80. package/dist/tui/config-wizard/kv-editor.js.map +1 -1
  81. package/dist/tui/config-wizard/list.d.ts +3 -1
  82. package/dist/tui/config-wizard/list.d.ts.map +1 -1
  83. package/dist/tui/config-wizard/list.js +3 -4
  84. package/dist/tui/config-wizard/list.js.map +1 -1
  85. package/dist/tui/config-wizard/prompt-editor.d.ts +8 -1
  86. package/dist/tui/config-wizard/prompt-editor.d.ts.map +1 -1
  87. package/dist/tui/config-wizard/prompt-editor.js +7 -4
  88. package/dist/tui/config-wizard/prompt-editor.js.map +1 -1
  89. package/dist/tui/config-wizard/step-agents.d.ts.map +1 -1
  90. package/dist/tui/config-wizard/step-agents.js +25 -13
  91. package/dist/tui/config-wizard/step-agents.js.map +1 -1
  92. package/dist/tui/config-wizard/step-endpoints.d.ts.map +1 -1
  93. package/dist/tui/config-wizard/step-endpoints.js +18 -15
  94. package/dist/tui/config-wizard/step-endpoints.js.map +1 -1
  95. package/dist/tui/config-wizard/step-mcp.d.ts.map +1 -1
  96. package/dist/tui/config-wizard/step-mcp.js +15 -9
  97. package/dist/tui/config-wizard/step-mcp.js.map +1 -1
  98. package/dist/tui/config-wizard/step-models.d.ts.map +1 -1
  99. package/dist/tui/config-wizard/step-models.js +67 -27
  100. package/dist/tui/config-wizard/step-models.js.map +1 -1
  101. package/dist/tui/config-wizard/types.d.ts +12 -0
  102. package/dist/tui/config-wizard/types.d.ts.map +1 -1
  103. package/dist/tui/file-index.d.ts +38 -0
  104. package/dist/tui/file-index.d.ts.map +1 -0
  105. package/dist/tui/file-index.js +117 -0
  106. package/dist/tui/file-index.js.map +1 -0
  107. package/dist/tui/index.d.ts.map +1 -1
  108. package/dist/tui/index.js +1 -1
  109. package/dist/tui/index.js.map +1 -1
  110. package/dist/tui/key-debug.js.map +1 -1
  111. package/dist/tui/mention.d.ts +47 -0
  112. package/dist/tui/mention.d.ts.map +1 -0
  113. package/dist/tui/mention.js +152 -0
  114. package/dist/tui/mention.js.map +1 -0
  115. package/dist/tui/mouse.js.map +1 -1
  116. package/dist/tui/phase.d.ts.map +1 -1
  117. package/dist/tui/screens/chat-commands.d.ts +8 -0
  118. package/dist/tui/screens/chat-commands.d.ts.map +1 -1
  119. package/dist/tui/screens/chat-commands.js +60 -34
  120. package/dist/tui/screens/chat-commands.js.map +1 -1
  121. package/dist/tui/screens/chat.d.ts +37 -0
  122. package/dist/tui/screens/chat.d.ts.map +1 -1
  123. package/dist/tui/screens/chat.js +238 -31
  124. package/dist/tui/screens/chat.js.map +1 -1
  125. package/dist/tui/screens/common-keys.js.map +1 -1
  126. package/dist/tui/screens/frame-buffer.d.ts.map +1 -1
  127. package/dist/tui/screens/frame-buffer.js.map +1 -1
  128. package/dist/tui/screens/index.d.ts +1 -1
  129. package/dist/tui/screens/index.d.ts.map +1 -1
  130. package/dist/tui/screens/index.js +1 -1
  131. package/dist/tui/screens/index.js.map +1 -1
  132. package/dist/tui/screens/input.d.ts +30 -1
  133. package/dist/tui/screens/input.d.ts.map +1 -1
  134. package/dist/tui/screens/input.js +39 -2
  135. package/dist/tui/screens/input.js.map +1 -1
  136. package/dist/tui/screens/layout.d.ts +14 -0
  137. package/dist/tui/screens/layout.d.ts.map +1 -1
  138. package/dist/tui/screens/layout.js +22 -11
  139. package/dist/tui/screens/layout.js.map +1 -1
  140. package/dist/tui/screens/messages-view.d.ts.map +1 -1
  141. package/dist/tui/screens/messages-view.js +6 -2
  142. package/dist/tui/screens/messages-view.js.map +1 -1
  143. package/dist/tui/screens/notice.d.ts.map +1 -1
  144. package/dist/tui/screens/notice.js.map +1 -1
  145. package/dist/tui/screens/overlays.js +1 -1
  146. package/dist/tui/screens/render.d.ts +1 -1
  147. package/dist/tui/screens/render.d.ts.map +1 -1
  148. package/dist/tui/screens/render.js +6 -2
  149. package/dist/tui/screens/render.js.map +1 -1
  150. package/dist/tui/screens/use-input-editing.d.ts +29 -4
  151. package/dist/tui/screens/use-input-editing.d.ts.map +1 -1
  152. package/dist/tui/screens/use-input-editing.js +42 -14
  153. package/dist/tui/screens/use-input-editing.js.map +1 -1
  154. package/dist/tui/screens/use-wizard-host.d.ts +12 -1
  155. package/dist/tui/screens/use-wizard-host.d.ts.map +1 -1
  156. package/dist/tui/screens/use-wizard-host.js +26 -7
  157. package/dist/tui/screens/use-wizard-host.js.map +1 -1
  158. package/dist/tui/status-segments.js.map +1 -1
  159. package/dist/tui/text.d.ts +7 -0
  160. package/dist/tui/text.d.ts.map +1 -1
  161. package/dist/tui/text.js +5 -1
  162. package/dist/tui/text.js.map +1 -1
  163. package/dist/tui/theme.d.ts.map +1 -1
  164. package/dist/tui/token-rate.d.ts.map +1 -1
  165. package/dist/tui/token-rate.js.map +1 -1
  166. package/dist/user-content.d.ts +41 -0
  167. package/dist/user-content.d.ts.map +1 -0
  168. package/dist/user-content.js +37 -0
  169. package/dist/user-content.js.map +1 -0
  170. package/dist/version.js.map +1 -1
  171. package/package.json +3 -3
@@ -21,7 +21,6 @@ export const zh = {
21
21
  "field.handoffThreshold": "交接阈值",
22
22
  "field.guardThreshold": "阻断阈值",
23
23
  "field.vision": "视觉",
24
- "field.custom": "自定义",
25
24
  "field.size": "尺寸",
26
25
  "field.quality": "质量",
27
26
  // ---------- 通用小词 ----------
@@ -35,7 +34,6 @@ export const zh = {
35
34
  "common.sameAsId": "(同 id)",
36
35
  "common.notAdjustable": "(不调档)",
37
36
  "common.customOnlyNote": "(已标记为自定义,改动才会保留)",
38
- "common.factoryManaged": "否(出厂托管)",
39
37
  // ---------- 校验消息 ----------
40
38
  "err.nameRequired": "名称不能为空",
41
39
  "err.baseUrlScheme": "Base URL 需以 http:// 或 https:// 开头",
@@ -51,6 +49,7 @@ export const zh = {
51
49
  "err.functionNameRequired": "函数名不能为空",
52
50
  "err.mcpNameTaken": "已存在名为 {name} 的服务器",
53
51
  "err.agentIdTaken": "已存在标识 {name} 的定义",
52
+ "err.noEndpoint": "没有可用的端点,请先在「端点管理」里添加一个",
54
53
  // ---------- 更多字段名(MCP / Agent 详情) ----------
55
54
  "field.transport": "传输",
56
55
  "field.command": "命令",
@@ -70,13 +69,10 @@ export const zh = {
70
69
  "common.transportStdio": "stdio(本地子进程)",
71
70
  "common.transportMode": "传输方式",
72
71
  "common.enabledState": "启用状态",
73
- "common.customQuoted": "「自定义」",
74
72
  // ---------- 落盘反馈(带实体名的整句,必须参数化而非拼接) ----------
75
73
  "wiz.endpointUpdated": "端点 {name} 的 {label} 已更新",
76
74
  "wiz.modelUpdated": "模型 {name} 的 {label} 已更新{suffix}",
77
75
  "wiz.imageModelUpdated": "图片模型 {name} 的 {label} 已更新{suffix}",
78
- "wiz.modelCustomSet": "模型 {name} 的「自定义」已设为 {value}",
79
- "wiz.imageModelCustomSet": "图片模型 {name} 的「自定义」已设为 {value}",
80
76
  "wiz.mcpFieldUpdated": "MCP {id} 的{label}已更新({scope})",
81
77
  "wiz.mcpRenamed": "MCP {id} 已重命名为 {name}({scope})",
82
78
  "wiz.agentFieldUpdated": "{kind} {id} 的 {label} 已更新{suffix}",
@@ -156,17 +152,21 @@ export const zh = {
156
152
  "wiz.models.detailTitle": "◆ 模型 · {name}",
157
153
  "wiz.models.detailLine": "{id} · {kind}",
158
154
  "wiz.models.delete": "删除模型",
155
+ "wiz.models.restore": "恢复出厂设置",
156
+ "wiz.models.restored": "已把模型 {name} 恢复为出厂定义",
159
157
  "wiz.models.deleted": "已删除模型 {name}",
160
158
  "wiz.models.createTitle": "新建模型 · 名称",
161
159
  "wiz.models.createDesc": "用于在配置与状态栏中标识该模型,例如 {example}",
162
160
  "wiz.models.created": "已新建模型 {name}({id},已标记为自定义)",
163
- "wiz.models.noEndpoint": "⚠ 尚未配置端点,创建后请先到「端点管理」添加端点",
161
+ "wiz.models.noEndpoint": "⚠ 尚未配置端点,无法创建;请先到「端点管理」添加端点",
164
162
  "wiz.models.defaultEndpoint": "将默认绑定端点:{endpoint}",
165
163
  "wiz.createAndEdit": "创建并编辑",
166
164
  "wiz.imageModels.newItem": "+ 新建图片模型",
167
165
  "wiz.imageModels.subtitle": "共 {n} 个 · 选中后可就地编辑 / 删除",
168
166
  "wiz.imageModels.detailTitle": "◆ 图片模型 · {name}",
169
167
  "wiz.imageModels.delete": "删除图片模型",
168
+ "wiz.imageModels.restore": "恢复出厂设置",
169
+ "wiz.imageModels.restored": "已把图片模型 {name} 恢复为出厂定义",
170
170
  "wiz.imageModels.deleted": "已删除图片模型 {name}",
171
171
  "wiz.imageModels.createTitle": "新建图片模型 · 名称",
172
172
  "wiz.imageModels.created": "已新建图片模型 {name}({id},已标记为自定义)",
@@ -183,6 +183,8 @@ export const zh = {
183
183
  "wiz.agent.detailLine": "{id} · {kind}{subSuffix}",
184
184
  "wiz.agent.moveHint": "↑ ↓ 移动 · Enter 编辑/切换/进入 · 改动即时写入磁盘",
185
185
  "wiz.agent.deleteAction": "删除{kind}",
186
+ "wiz.agent.restore": "恢复出厂设置",
187
+ "wiz.agentRestored": "已把 {kind} {id} 的提示词恢复为出厂定义",
186
188
  "wiz.agent.subscreenTitle": "◆ {kind} · {id} · {label}",
187
189
  "wiz.agent.permHint": "格式:`allow: a, b` 或 `deny: x`(逗号分隔;留空清除该维)",
188
190
  "wiz.agent.permMoveHint": "↑ ↓ 移动 · Enter 编辑 · Esc 返回",
@@ -217,6 +219,7 @@ export const zh = {
217
219
  "wiz.mcp.serverCount": "{n} 个服务器",
218
220
  "wiz.mcp.newItem": "+ 新建服务器",
219
221
  "wiz.mcp.listTitle": "◆ MCP 服务器 · {scope}",
222
+ "wiz.mcp.damaged": "mcp.json 无法解析({error}),本屏按空配置呈现",
220
223
  "wiz.mcp.listSubtitle": "{n} 个 · {path}",
221
224
  "wiz.mcp.detailTitle": "◆ MCP · {id}",
222
225
  "wiz.scopePath": "{scope} · {path}",
@@ -1 +1 @@
1
- {"version":3,"file":"zh-wizard.js","sourceRoot":"","sources":["../../src/i18n/zh-wizard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"zh-wizard.js","sourceRoot":"","sources":["../../src/i18n/zh-wizard.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"zh.d.ts","sourceRoot":"","sources":["../../src/i18n/zh.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,eAAO,MAAM,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAkPrC,CAAC"}
1
+ {"version":3,"file":"zh.d.ts","sourceRoot":"","sources":["../../src/i18n/zh.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,eAAO,MAAM,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA6PrC,CAAC"}
package/dist/i18n/zh.js CHANGED
@@ -8,10 +8,12 @@
8
8
  */
9
9
  export const zh = {
10
10
  // ---------- 输入行 ----------
11
- "input.placeholder": "输入消息,/ 查看命令…",
11
+ "input.placeholder": "输入消息,/ 命令,@ 文件…",
12
12
  "input.hint.ready": "Enter 发送 · Ctrl+J 换行 · / 命令 · PgUp 看历史",
13
13
  "input.hint.scrolling": "↕ 滚动中 · PgUp/PgDn 翻页 · 发送回到底部",
14
14
  "input.hint.initializing": "初始化中…",
15
+ "mention.scanning": "正在扫描项目文件…",
16
+ "input.pastedImages": "已附加 {n} 张图片 · Ctrl+V 再加 · Esc 清空",
15
17
  // ---------- 状态栏 ----------
16
18
  "status.agent": " · agent ",
17
19
  "status.effort": " · 思考 ",
@@ -44,7 +46,13 @@ export const zh = {
44
46
  "notice.reloaded": "已按新配置重建会话(消息与上下文保留)",
45
47
  "notice.draftSaved": "已暂存输入(Ctrl+S 恢复)",
46
48
  "notice.draftRestored": "已恢复暂存的输入",
47
- "notice.pasteImageUnsupported": "暂不支持粘贴图片(Ctrl+V 预留给图片粘贴,当前未实现)",
49
+ "notice.imagePasted": "已粘贴图片(共 {n} 张),Enter 发送",
50
+ "notice.imageLimit": "单条消息最多 {n} 张图片",
51
+ "notice.imageTooLarge": "图片太大({size}MB),已超出 20MB 上限",
52
+ "notice.imagesCleared": "已清空附加的图片",
53
+ "notice.textTooLarge": "剪贴板文本 {size}KB,超过 {limit}KB 上限,没有粘贴 —— 大段内容建议存成文件后用 @ 引用",
54
+ "notice.clipboardEmpty": "剪贴板里没有内容",
55
+ "notice.clipboardUnavailable": "没有可用的剪贴板工具(macOS 需 pbpaste,Linux 需 wl-paste 或 xclip)",
48
56
  "notice.inputCleared": "已清空输入 · 再按一次 Ctrl+C 退出",
49
57
  "notice.pressCtrlDAgain": "再按一次 Ctrl+D 退出",
50
58
  "notice.languageChanged": "界面语言已切换为中文",
@@ -130,6 +138,8 @@ export const zh = {
130
138
  "cmd.think.failed": "切换思考强度失败:{error}",
131
139
  "cmd.save.done": "对话已保存:{id}",
132
140
  "cmd.save.failed": "保存失败:{error}",
141
+ "cmd.save.overwrite": "已存在同名对话 {id},覆盖吗?",
142
+ "cmd.save.cancelled": "已取消保存",
133
143
  "cmd.load.tooMany": "选择要加载的对话(仅显示最近 {n} 条)",
134
144
  "cmd.load.readFailed": "对话不存在或读取失败:{id}",
135
145
  "cmd.handoff.unknownMode": "未知的执行者:{who}(可选 self / summary)",
@@ -164,6 +174,7 @@ export const zh = {
164
174
  "splash.pressAnyKey": "按任意键开始…",
165
175
  "splash.preparing": "正在准备",
166
176
  "msg.image": "[图片: {url}]",
177
+ "msg.imageInline": "[图片]",
167
178
  "msg.file": "[文件: {name}]",
168
179
  "msg.inlineFile": "内联文件",
169
180
  "msg.userHeader": "❯ 你",
@@ -1 +1 @@
1
- {"version":3,"file":"zh.js","sourceRoot":"","sources":["../../src/i18n/zh.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"zh.js","sourceRoot":"","sources":["../../src/i18n/zh.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,EAAE,GAA2B;IACxC,4BAA4B;IAC5B,mBAAmB,EAAE,iBAAiB;IACtC,kBAAkB,EAAE,wCAAwC;IAC5D,sBAAsB,EAAE,+BAA+B;IACvD,yBAAyB,EAAE,OAAO;IAClC,kBAAkB,EAAE,WAAW;IAC/B,oBAAoB,EAAE,kCAAkC;IAExD,4BAA4B;IAC5B,cAAc,EAAE,WAAW;IAC3B,eAAe,EAAE,QAAQ;IACzB,mBAAmB,EAAE,sBAAsB;IAC3C,oBAAoB,EAAE,sBAAsB;IAC5C,gBAAgB,EAAE,sBAAsB;IAExC,6BAA6B;IAC7B,YAAY,EAAE,GAAG;IACjB,aAAa,EAAE,GAAG;IAClB,gBAAgB,EAAE,IAAI;IACtB,YAAY,EAAE,GAAG;IACjB,eAAe,EAAE,GAAG;IACpB,aAAa,EAAE,GAAG;IAClB,cAAc,EAAE,IAAI;IACpB,YAAY,EAAE,IAAI;IAClB,eAAe,EAAE,KAAK;IACtB,gBAAgB,EAAE,IAAI;IACtB,oBAAoB,EAAE,GAAG;IAEzB,6DAA6D;IAC7D,eAAe,EAAE,MAAM;IACvB,kBAAkB,EAAE,MAAM;IAC1B,cAAc,EAAE,MAAM;IACtB,gBAAgB,EAAE,MAAM;IACxB,mBAAmB,EAAE,OAAO;IAC5B,uBAAuB,EAAE,cAAc;IACvC,mBAAmB,EAAE,SAAS;IAC9B,uBAAuB,EAAE,eAAe;IACxC,iBAAiB,EAAE,MAAM;IAEzB,2BAA2B;IAC3B,iBAAiB,EAAE,qBAAqB;IACxC,mBAAmB,EAAE,kBAAkB;IACvC,sBAAsB,EAAE,UAAU;IAClC,oBAAoB,EAAE,yBAAyB;IAC/C,mBAAmB,EAAE,gBAAgB;IACrC,sBAAsB,EAAE,4BAA4B;IACpD,sBAAsB,EAAE,UAAU;IAClC,qBAAqB,EAAE,0DAA0D;IACjF,uBAAuB,EAAE,UAAU;IACnC,6BAA6B,EAAE,sDAAsD;IACrF,qBAAqB,EAAE,wBAAwB;IAC/C,wBAAwB,EAAE,gBAAgB;IAC1C,wBAAwB,EAAE,YAAY;IAEtC,0CAA0C;IAC1C,eAAe,EAAE,MAAM;IACvB,eAAe,EAAE,cAAc;IAC/B,cAAc,EAAE,YAAY;IAC5B,eAAe,EAAE,cAAc;IAC/B,iBAAiB,EAAE,YAAY;IAC/B,gBAAgB,EAAE,IAAI;IACtB,iBAAiB,EAAE,iBAAiB;IACpC,gBAAgB,EAAE,YAAY;IAC9B,gBAAgB,EAAE,iBAAiB;IACnC,iBAAiB,EAAE,sBAAsB;IACzC,iBAAiB,EAAE,qBAAqB;IACxC,cAAc,EAAE,sBAAsB;IACtC,eAAe,EAAE,QAAQ;IACzB,gBAAgB,EAAE,QAAQ;IAC1B,cAAc,EAAE,cAAc;IAC9B,kBAAkB,EAAE,eAAe;IACnC,kBAAkB,EAAE,UAAU;IAC9B,eAAe,EAAE,MAAM;IACvB,eAAe,EAAE,YAAY;IAC7B,aAAa,EAAE,eAAe;IAE9B,yCAAyC;IACzC,gBAAgB,EAAE,MAAM;IACxB,oBAAoB,EAAE,+BAA+B;IACrD,iBAAiB,EAAE,aAAa;IAChC,qBAAqB,EAAE,SAAS;IAChC,oBAAoB,EAAE,4BAA4B;IAClD,uBAAuB,EAAE,QAAQ;IACjC,iBAAiB,EAAE,wBAAwB;IAC3C,qBAAqB,EAAE,cAAc;IACrC,iBAAiB,EAAE,+CAA+C;IAClE,iBAAiB,EAAE,sCAAsC;IACzD,qBAAqB,EAAE,mBAAmB;IAC1C,kBAAkB,EAAE,sCAAsC;IAC1D,0BAA0B,EAAE,4GAA4G;IACxI,wBAAwB,EAAE,IAAI;IAC9B,2BAA2B,EAAE,yDAAyD;IACtF,iBAAiB,EAAE,0BAA0B;IAC7C,oBAAoB,EAAE,oCAAoC;IAC1D,mBAAmB,EAAE,wBAAwB;IAC7C,uBAAuB,EAAE,kCAAkC;IAC3D,sBAAsB,EAAE,8BAA8B;IACtD,yBAAyB,EAAE,QAAQ;IACnC,qBAAqB,EAAE,iBAAiB;IACxC,qBAAqB,EAAE,WAAW;IAClC,qBAAqB,EAAE,SAAS;IAChC,gBAAgB,EAAE,OAAO;IACzB,kBAAkB,EAAE,qBAAqB;IACzC,iBAAiB,EAAE,QAAQ;IAC3B,eAAe,EAAE,WAAW;IAC5B,gBAAgB,EAAE,UAAU;IAC5B,yBAAyB,EAAE,oBAAoB;IAC/C,oBAAoB,EAAE,OAAO;IAC7B,mBAAmB,EAAE,eAAe;IACpC,mBAAmB,EAAE,iBAAiB;IACtC,uBAAuB,EAAE,OAAO;IAChC,mBAAmB,EAAE,eAAe;IACpC,mBAAmB,EAAE,yBAAyB;IAC9C,uBAAuB,EAAE,OAAO;IAChC,gBAAgB,EAAE,WAAW;IAC7B,gBAAgB,EAAE,qBAAqB;IACvC,oBAAoB,EAAE,OAAO;IAC7B,mBAAmB,EAAE,yBAAyB;IAC9C,mBAAmB,EAAE,cAAc;IACnC,2BAA2B,EAAE,4CAA4C;IACzE,oBAAoB,EAAE,0CAA0C;IAChE,kBAAkB,EAAE,gBAAgB;IACpC,mBAAmB,EAAE,6BAA6B;IAClD,6BAA6B,EAAE,2BAA2B;IAC1D,qBAAqB,EAAE,4BAA4B;IACnD,kBAAkB,EAAE,sBAAsB;IAC1C,sBAAsB,EAAE,0CAA0C;IAClE,kBAAkB,EAAE,iCAAiC;IACrD,mBAAmB,EAAE,cAAc;IACnC,mBAAmB,EAAE,oCAAoC;IACzD,wBAAwB,EAAE,oCAAoC;IAC9D,yBAAyB,EAAE,sDAAsD;IACjF,mBAAmB,EAAE,sCAAsC;IAC3D,iBAAiB,EAAE,kBAAkB;IACrC,kBAAkB,EAAE,kBAAkB;IACtC,eAAe,EAAE,YAAY;IAC7B,iBAAiB,EAAE,cAAc;IACjC,oBAAoB,EAAE,mBAAmB;IACzC,oBAAoB,EAAE,OAAO;IAC7B,kBAAkB,EAAE,uBAAuB;IAC3C,qBAAqB,EAAE,iBAAiB;IACxC,yBAAyB,EAAE,iCAAiC;IAC5D,kBAAkB,EAAE,gBAAgB;IACpC,oBAAoB,EAAE,kBAAkB;IACxC,kBAAkB,EAAE,+BAA+B;IACnD,oBAAoB,EAAE,gBAAgB;IACtC,kBAAkB,EAAE,wBAAwB;IAC5C,mBAAmB,EAAE,iBAAiB;IACtC,aAAa,EAAE,6BAA6B;IAE5C,mDAAmD;IACnD,mBAAmB,EAAE,wCAAwC;IAC7D,kBAAkB,EAAE,aAAa;IACjC,sBAAsB,EAAE,cAAc;IACtC,qBAAqB,EAAE,gBAAgB;IACvC,yBAAyB,EAAE,kBAAkB;IAC7C,kBAAkB,EAAE,KAAK;IACzB,sBAAsB,EAAE,MAAM;IAC9B,gBAAgB,EAAE,QAAQ;IAC1B,eAAe,EAAE,WAAW;IAC5B,mBAAmB,EAAE,eAAe;IACpC,oBAAoB,EAAE,eAAe;IACrC,uBAAuB,EAAE,gBAAgB;IACzC,sBAAsB,EAAE,iCAAiC;IACzD,oBAAoB,EAAE,cAAc;IACpC,yCAAyC;IACzC,yBAAyB,EAAE,iBAAiB;IAC5C,0BAA0B,EAAE,gBAAgB;IAC5C,iBAAiB,EAAE,kBAAkB;IACrC,eAAe,EAAE,0CAA0C;IAC3D,gBAAgB,EAAE,aAAa;IAC/B,oBAAoB,EAAE,SAAS;IAC/B,kBAAkB,EAAE,MAAM;IAC1B,WAAW,EAAE,aAAa;IAC1B,iBAAiB,EAAE,MAAM;IACzB,UAAU,EAAE,cAAc;IAC1B,gBAAgB,EAAE,MAAM;IACxB,gBAAgB,EAAE,KAAK;IACvB,cAAc,EAAE,MAAM;IACtB,cAAc,EAAE,yBAAyB;IAEzC,wEAAwE;IACxE,yBAAyB,EAAE,oBAAoB;IAC/C,oBAAoB,EAAE,+BAA+B;IACrD,yBAAyB,EAAE,yCAAyC;IACpE,qBAAqB,EAAE,kDAAkD;IACzE,yBAAyB,EAAE,gDAAgD;IAC3E,sBAAsB,EAAE,QAAQ;IAChC,eAAe,EAAE,WAAW;IAC5B,gBAAgB,EAAE,8CAA8C;IAChE,8BAA8B,EAAE,iBAAiB;IACjD,8BAA8B,EAAE,oBAAoB;IACpD,uBAAuB,EAAE,iBAAiB;IAC1C,qBAAqB,EAAE,8CAA8C;IACrE,yBAAyB,EAAE,OAAO;IAClC,8BAA8B,EAAE,aAAa;IAC7C,4BAA4B,EAAE,yBAAyB;IACvD,8BAA8B,EAAE,oBAAoB;IACpD,8BAA8B,EAAE,uCAAuC;IACvE,2BAA2B,EAAE,yDAAyD;IACtF,uBAAuB,EAAE,8CAA8C;IACvE,qBAAqB,EAAE,gDAAgD;IACvE,mBAAmB,EAAE,aAAa;IAClC,sBAAsB,EAAE,MAAM;IAC9B,sBAAsB,EAAE,oDAAoD;IAC5E,iBAAiB,EAAE,wBAAwB;IAC3C,kBAAkB,EAAE,iCAAiC;IACrD,cAAc,EAAE,gBAAgB;IAChC,2BAA2B,EAAE,iBAAiB;IAC9C,kBAAkB,EAAE,6BAA6B;IACjD,sBAAsB,EAAE,4BAA4B;IACpD,uBAAuB,EAAE,sBAAsB;IAE/C,uCAAuC;IACvC,aAAa,EAAE,WAAW;IAC1B,kBAAkB,EAAE,oCAAoC;IACxD,oBAAoB,EAAE,iDAAiD;IACvE,cAAc,EAAE,wCAAwC;IACxD,gBAAgB,EAAE,kBAAkB;IACpC,gBAAgB,EAAE,iBAAiB;IACnC,oBAAoB,EAAE,mBAAmB;IACzC,iBAAiB,EAAE,wDAAwD;IAC3E,gBAAgB,EAAE,WAAW;IAC7B,uBAAuB,EAAE,YAAY;IACrC,oBAAoB,EAAE,iBAAiB;IACvC,mBAAmB,EAAE,oBAAoB;IACzC,mBAAmB,EAAE,iBAAiB;IAEtC,kEAAkE;IAClE,gBAAgB,EAAE,4BAA4B;IAC9C,gBAAgB,EAAE,8PAA8P;IAChR,kBAAkB,EAAE,gOAAgO;IACpP,gBAAgB,EAAE,uDAAuD;IAEzE,oFAAoF;IACpF,eAAe,EAAE,+BAA+B;IAChD,uBAAuB,EAAE,qBAAqB;IAC9C,uBAAuB,EAAE,8BAA8B;IACvD,uBAAuB,EAAE,wBAAwB;IACjD,gBAAgB,EAAE,uBAAuB;IACzC,cAAc,EAAE,4BAA4B;IAC5C,eAAe,EAAE,uBAAuB;IACxC,kBAAkB,EAAE,+BAA+B;IACnD,kBAAkB,EAAE,2BAA2B;IAC/C,yBAAyB,EAAE,wBAAwB;IACnD,mBAAmB,EAAE,iBAAiB;IACtC,kBAAkB,EAAE,wBAAwB;IAE5C,6BAA6B;IAC7B,yBAAyB,EAAE,SAAS;IACpC,iBAAiB,EAAE,4BAA4B;IAC/C,oBAAoB,EAAE,sBAAsB;CAC7C,CAAC"}
package/dist/index.js CHANGED
@@ -17,6 +17,17 @@ import { t } from "./i18n/index.js";
17
17
  // 则 React 会在本行之前就被求值成 DEV 版。因此对 TUI 入口改用动态 import(见下方 tui 分支)。
18
18
  // 用 `||=` 而非 `??=`:空的 NODE_ENV 同样会被 React 视为非 production,需一并纠正。
19
19
  process.env.NODE_ENV ||= "production";
20
+ /**
21
+ * stdout 被提前关闭(`ai --help | head -1`、`ai "…" | head`)时的 EPIPE。
22
+ *
23
+ * 默认行为是未捕获的 `'error'` 事件:Node 把堆栈打到 stderr、退出码 1 —— 管道下游
24
+ * 主动不读了不是错误,按正常结束处理(退出码 0)。不在这里 flush 任何东西:
25
+ * 写不进去就是没人要。
26
+ */
27
+ process.stdout.on("error", (error) => {
28
+ if (error.code === "EPIPE")
29
+ process.exit(0);
30
+ });
20
31
  /**
21
32
  * CLI 入口 —— 双模式路由
22
33
  *
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/sdk-log.d.ts CHANGED
@@ -27,10 +27,15 @@
27
27
  * 只留给结果,日志本身是有用的。本模块只服务「界面被占用」的 TUI。
28
28
  */
29
29
  import { type Logger } from "@ai-zen/agents-sdk";
30
+ /**
31
+ * 日志落盘路径(测试与用户都可能改写,故每次重新解析)。
32
+ *
33
+ * 不在模块加载时固化成常量:`AI_ZEN_DIR` 是活绑定,测试会在用例之间改它 ——
34
+ * 而**顶层常量**拿到的才是快照。
35
+ */
36
+ export declare function sdkLogFile(root?: string): string;
30
37
  /** 是否把 SDK 日志落盘(默认开启,`AIZ_DEBUG_SDK=0` 关闭) */
31
- export declare const SDK_LOG_ENABLED: boolean;
32
- /** 日志落盘路径(测试与用户都可能改写,故导出常量) */
33
- export declare const SDK_LOG_FILE: string;
38
+ export declare function sdkLogEnabled(): boolean;
34
39
  /** 单文件上限 2MB;超出后轮转为 `<file>.1`(只保留上一份,总量有界) */
35
40
  export declare const MAX_LOG_BYTES: number;
36
41
  /** 单行日志格式:`<ISO 时间> [level] message` */
@@ -44,6 +49,13 @@ export type SdkNoticeSink = (level: "warn" | "error", message: string) => void;
44
49
  * 封顶后补一句「剩下的看文件」,信息不丢,界面也不废。
45
50
  */
46
51
  export declare const MAX_SDK_NOTICES = 20;
52
+ /**
53
+ * 重置全部模块级投递状态(**仅测试使用**)。
54
+ *
55
+ * 去重表与封顶计数器是进程级单例:进程内共享模块跑测试时,前一个用例上过栏的文案
56
+ * 会让后一个用例看不见同一条日志,表现为“日志没出来”的假失败。
57
+ */
58
+ export declare function resetSdkLogState(): void;
47
59
  /**
48
60
  * 注册 / 注销通知栏 sink(`null` 表示界面还没起来 / 已卸载)。
49
61
  *
@@ -1 +1 @@
1
- {"version":3,"file":"sdk-log.d.ts","sourceRoot":"","sources":["../src/sdk-log.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAIH,OAAO,EAAa,KAAK,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAO5D,8CAA8C;AAC9C,eAAO,MAAM,eAAe,SAAoC,CAAC;AAEjE,+BAA+B;AAC/B,eAAO,MAAM,YAAY,QAC4C,CAAC;AAEtE,+CAA+C;AAC/C,eAAO,MAAM,aAAa,QAAkB,CAAC;AAE7C,wCAAwC;AACxC,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,EAAE,GAAE,IAAiB,GACpB,MAAM,CAER;AAYD,gDAAgD;AAChD,MAAM,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;AAE/E;;;;;GAKG;AACH,eAAO,MAAM,eAAe,KAAK,CAAC;AAiClC;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI,GAAG,IAAI,CAIjE;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAgBrD;AAED,oCAAoC;AACpC,wBAAgB,kBAAkB,IAAI,MAAM,CAG3C;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,GAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,GACjD,MAAM,CAMR"}
1
+ {"version":3,"file":"sdk-log.d.ts","sourceRoot":"","sources":["../src/sdk-log.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAIH,OAAO,EAAa,KAAK,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAG5D;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,IAAI,GAAE,MAAmB,GAAG,MAAM,CAE5D;AAED,8CAA8C;AAC9C,wBAAgB,aAAa,IAAI,OAAO,CAEvC;AAED,+CAA+C;AAC/C,eAAO,MAAM,aAAa,QAAkB,CAAC;AAE7C,wCAAwC;AACxC,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,EAAE,GAAE,IAAiB,GACpB,MAAM,CAER;AAYD,gDAAgD;AAChD,MAAM,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;AAE/E;;;;;GAKG;AACH,eAAO,MAAM,eAAe,KAAK,CAAC;AAalC;;;;;GAKG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAMvC;AAsBD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI,GAAG,IAAI,CAIjE;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAgBrD;AAED,oCAAoC;AACpC,wBAAgB,kBAAkB,IAAI,MAAM,CAG3C;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,GAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,GACjD,MAAM,CAMR"}
package/dist/sdk-log.js CHANGED
@@ -29,13 +29,20 @@
29
29
  import { appendFileSync, mkdirSync, renameSync, statSync } from "node:fs";
30
30
  import { dirname, join } from "node:path";
31
31
  import { setLogger } from "@ai-zen/agents-sdk";
32
- /** 共享根目录 `~/.ai-zen`(与 config.ts 的 AI_ZEN_DIR 同一约定) */
33
- const AI_ZEN_DIR = process.env.AI_ZEN_DIR ||
34
- join(process.env.HOME || process.env.USERPROFILE || "", ".ai-zen");
32
+ import { AI_ZEN_DIR } from "./config.js";
33
+ /**
34
+ * 日志落盘路径(测试与用户都可能改写,故每次重新解析)。
35
+ *
36
+ * 不在模块加载时固化成常量:`AI_ZEN_DIR` 是活绑定,测试会在用例之间改它 ——
37
+ * 而**顶层常量**拿到的才是快照。
38
+ */
39
+ export function sdkLogFile(root = AI_ZEN_DIR) {
40
+ return process.env.AIZ_SDK_LOG_FILE || join(root, "logs", "sdk.log");
41
+ }
35
42
  /** 是否把 SDK 日志落盘(默认开启,`AIZ_DEBUG_SDK=0` 关闭) */
36
- export const SDK_LOG_ENABLED = process.env.AIZ_DEBUG_SDK !== "0";
37
- /** 日志落盘路径(测试与用户都可能改写,故导出常量) */
38
- export const SDK_LOG_FILE = process.env.AIZ_SDK_LOG_FILE || join(AI_ZEN_DIR, "logs", "sdk.log");
43
+ export function sdkLogEnabled() {
44
+ return process.env.AIZ_DEBUG_SDK !== "0";
45
+ }
39
46
  /** 单文件上限 2MB;超出后轮转为 `<file>.1`(只保留上一份,总量有界) */
40
47
  export const MAX_LOG_BYTES = 2 * 1024 * 1024;
41
48
  /** 单行日志格式:`<ISO 时间> [level] message` */
@@ -69,6 +76,19 @@ let capReported = false;
69
76
  const deliveredOnce = new Set();
70
77
  /** 界面还没起来时攒下的 warn / error,注册 sink 时补推 */
71
78
  const pending = [];
79
+ /**
80
+ * 重置全部模块级投递状态(**仅测试使用**)。
81
+ *
82
+ * 去重表与封顶计数器是进程级单例:进程内共享模块跑测试时,前一个用例上过栏的文案
83
+ * 会让后一个用例看不见同一条日志,表现为“日志没出来”的假失败。
84
+ */
85
+ export function resetSdkLogState() {
86
+ noticeSink = null;
87
+ delivered = 0;
88
+ capReported = false;
89
+ deliveredOnce.clear();
90
+ pending.length = 0;
91
+ }
72
92
  function deliver(level, message) {
73
93
  if (!message)
74
94
  return;
@@ -83,7 +103,7 @@ function deliver(level, message) {
83
103
  if (delivered >= MAX_SDK_NOTICES) {
84
104
  if (!capReported) {
85
105
  capReported = true;
86
- noticeSink("warn", `More SDK warnings suppressed — see ${SDK_LOG_FILE}`);
106
+ noticeSink("warn", `More SDK warnings suppressed — see ${sdkLogFile()}`);
87
107
  }
88
108
  return;
89
109
  }
@@ -138,8 +158,8 @@ export function createSilentLogger() {
138
158
  * 返回实际安装的日志器,便于测试断言 / 上层复用。
139
159
  */
140
160
  export function installSdkLogger(options = {}) {
141
- const enabled = options.enabled ?? SDK_LOG_ENABLED;
142
- const file = options.file ?? SDK_LOG_FILE;
161
+ const enabled = options.enabled ?? sdkLogEnabled();
162
+ const file = options.file ?? sdkLogFile();
143
163
  const logger = enabled ? createFileLogger(file) : createSilentLogger();
144
164
  setLogger(logger);
145
165
  return logger;
@@ -1 +1 @@
1
- {"version":3,"file":"sdk-log.js","sourceRoot":"","sources":["../src/sdk-log.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sdk-log.js","sourceRoot":"","sources":["../src/sdk-log.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"session-pointer.d.ts","sourceRoot":"","sources":["../src/session-pointer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AASH,kBAAkB;AAClB,MAAM,WAAW,cAAc;IAC7B,qBAAqB;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,sBAAsB;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB;AA2CD,sCAAsC;AACtC,wBAAsB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAGjF;AAED,yCAAyC;AACzC,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAI7E;AAED,8BAA8B;AAC9B,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAKjE"}
1
+ {"version":3,"file":"session-pointer.d.ts","sourceRoot":"","sources":["../src/session-pointer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAeH,kBAAkB;AAClB,MAAM,WAAW,cAAc;IAC7B,qBAAqB;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,sBAAsB;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB;AA2CD,sCAAsC;AACtC,wBAAsB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAGjF;AAED,yCAAyC;AACzC,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAI7E;AAED,8BAA8B;AAC9B,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAKjE"}
@@ -22,14 +22,20 @@
22
22
  import { promises as fs } from "node:fs";
23
23
  import { join } from "node:path";
24
24
  import { CLI_DIR } from "./config.js";
25
- const POINTER_FILE = join(CLI_DIR, "last-session.json");
25
+ /**
26
+ * 指针文件路径。每次调用重新拼接:`CLI_DIR` 是会变的活绑定(测试会在用例之间换
27
+ * `AI_ZEN_DIR`),**在模块顶层固化成常量**才是快照。
28
+ */
29
+ function pointerFile() {
30
+ return join(CLI_DIR, "last-session.json");
31
+ }
26
32
  const FILE_VERSION = 1;
27
33
  /** 读取整份指针文件;不存在 / 损坏 / 旧版格式时返回空结构 */
28
34
  async function readPointerFile() {
29
35
  const empty = { version: FILE_VERSION, sessions: {} };
30
36
  let parsed;
31
37
  try {
32
- parsed = JSON.parse(await fs.readFile(POINTER_FILE, "utf-8"));
38
+ parsed = JSON.parse(await fs.readFile(pointerFile(), "utf-8"));
33
39
  }
34
40
  catch {
35
41
  return empty;
@@ -55,9 +61,9 @@ async function writePointerFile(file) {
55
61
  catch {
56
62
  await fs.mkdir(CLI_DIR, { recursive: true });
57
63
  }
58
- const tmp = `${POINTER_FILE}.tmp`;
64
+ const tmp = `${pointerFile()}.tmp`;
59
65
  await fs.writeFile(tmp, JSON.stringify(file, null, 2), "utf-8");
60
- await fs.rename(tmp, POINTER_FILE);
66
+ await fs.rename(tmp, pointerFile());
61
67
  }
62
68
  /** 读取指定工作目录的「上一轮会话 id」;无记录时返回 null */
63
69
  export async function readLastSession(cwd) {
@@ -1 +1 @@
1
- {"version":3,"file":"session-pointer.js","sourceRoot":"","sources":["../src/session-pointer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-pointer.js","sourceRoot":"","sources":["../src/session-pointer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sub-agent-guard-plugin.d.ts","sourceRoot":"","sources":["../src/sub-agent-guard-plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D,MAAM,WAAW,oBAAoB;IACnC,wDAAwD;IACxD,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;GAMG;AACH,qBAAa,4BAA6B,YAAW,WAAW;IAC9D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;gBAEzB,OAAO,EAAE,oBAAoB;IAIzC,eAAe,CAAC,EAAE,QAAQ,EAAE,EAAE,eAAe,GAAG,IAAI;CASrD"}
1
+ {"version":3,"file":"sub-agent-guard-plugin.d.ts","sourceRoot":"","sources":["../src/sub-agent-guard-plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D,MAAM,WAAW,oBAAoB;IACnC,wDAAwD;IACxD,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;GAMG;AACH,qBAAa,4BAA6B,YAAW,WAAW;IAC9D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IAErC,YAAY,OAAO,EAAE,oBAAoB,EAExC;IAED,eAAe,CAAC,EAAE,QAAQ,EAAE,EAAE,eAAe,GAAG,IAAI,CAQnD;CACF"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * `↑` 历史的唯一数据源 —— 直接派生自 `session.messages` 里的用户消息。
3
+ *
4
+ * ## 为什么不另存一份历史
5
+ *
6
+ * 旧实现在 `useInputEditing` 内部维护 `string[]`:只有文本。于是 `↑` 翻回一条**带图片**
7
+ * 的消息时图片静默丢失,用户直接回车就把「图 + 文」重发成了纯文本 —— 看起来什么都没少,
8
+ * 但模型收到的完全不同。而真相本来就在 messages 的内容段里(`Ctrl+V` 粘贴的图会以
9
+ * `image_url` 的 data URL 落进用户消息),派生出来即可,不需要第二份会漂移的副本。
10
+ *
11
+ * ## 还原不了的情况(刻意如此)
12
+ *
13
+ * 走 Files API 上传过的图片在消息里是 `file_id`,本地没有副本 —— 这种只恢复文本,
14
+ * 不塞一个空壳附件(重发时才会真的丢图,而不是假装有)。
15
+ */
16
+ import { AgentNS } from "@ai-zen/agents-core";
17
+ import type { ClipboardImage } from "../clipboard.js";
18
+ /** 一条可再次编辑的草稿:文本 + 附件 */
19
+ export interface HistoryEntry {
20
+ text: string;
21
+ images: readonly ClipboardImage[];
22
+ }
23
+ /**
24
+ * 用户消息 → 草稿列表(按发送顺序,**最后一条最新**)。
25
+ *
26
+ * `↑` 从末尾往回走,与「最近说过的话先翻出来」一致。
27
+ */
28
+ export declare function userDrafts(messages: readonly AgentNS.Message[]): HistoryEntry[];
29
+ //# sourceMappingURL=chat-history.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-history.d.ts","sourceRoot":"","sources":["../../src/tui/chat-history.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGtD,yBAAyB;AACzB,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,cAAc,EAAE,CAAC;CACnC;AA6BD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,SAAS,OAAO,CAAC,OAAO,EAAE,GAAG,YAAY,EAAE,CAE/E"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * `↑` 历史的唯一数据源 —— 直接派生自 `session.messages` 里的用户消息。
3
+ *
4
+ * ## 为什么不另存一份历史
5
+ *
6
+ * 旧实现在 `useInputEditing` 内部维护 `string[]`:只有文本。于是 `↑` 翻回一条**带图片**
7
+ * 的消息时图片静默丢失,用户直接回车就把「图 + 文」重发成了纯文本 —— 看起来什么都没少,
8
+ * 但模型收到的完全不同。而真相本来就在 messages 的内容段里(`Ctrl+V` 粘贴的图会以
9
+ * `image_url` 的 data URL 落进用户消息),派生出来即可,不需要第二份会漂移的副本。
10
+ *
11
+ * ## 还原不了的情况(刻意如此)
12
+ *
13
+ * 走 Files API 上传过的图片在消息里是 `file_id`,本地没有副本 —— 这种只恢复文本,
14
+ * 不塞一个空壳附件(重发时才会真的丢图,而不是假装有)。
15
+ */
16
+ import { AgentNS } from "@ai-zen/agents-core";
17
+ import { stripCwdNote } from "./text.js";
18
+ /** `data:<mime>;base64,<data>` → `{ base64, mime }`;不是内联图片(http URL 等)返回 null */
19
+ function parseDataUrl(url) {
20
+ const match = /^data:([^;,]+);base64,(.*)$/s.exec(url);
21
+ if (!match)
22
+ return null;
23
+ return { mime: match[1], base64: match[2] };
24
+ }
25
+ /** 一条用户消息 → 草稿(文本剥掉 CwdTracker 追加的工作目录注记) */
26
+ function toDraft(message) {
27
+ const content = message.content;
28
+ if (content == null)
29
+ return { text: "", images: [] };
30
+ if (typeof content === "string")
31
+ return { text: stripCwdNote(content), images: [] };
32
+ const texts = [];
33
+ const images = [];
34
+ for (const part of content) {
35
+ if (part.type === "text") {
36
+ texts.push(part.text);
37
+ continue;
38
+ }
39
+ if (part.type !== "image_url")
40
+ continue; // `file`(Files API)本地无副本
41
+ const image = parseDataUrl(part.image_url.url);
42
+ if (image)
43
+ images.push(image);
44
+ }
45
+ return { text: stripCwdNote(texts.join("")), images };
46
+ }
47
+ /**
48
+ * 用户消息 → 草稿列表(按发送顺序,**最后一条最新**)。
49
+ *
50
+ * `↑` 从末尾往回走,与「最近说过的话先翻出来」一致。
51
+ */
52
+ export function userDrafts(messages) {
53
+ return messages.filter((message) => message.role === AgentNS.Role.User).map(toDraft);
54
+ }
55
+ //# sourceMappingURL=chat-history.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-history.js","sourceRoot":"","sources":["../../src/tui/chat-history.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAQzC,iFAAiF;AACjF,SAAS,YAAY,CAAC,GAAW;IAC/B,MAAM,KAAK,GAAG,8BAA8B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvD,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAE,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAE,EAAE,CAAC;AAChD,CAAC;AAED,6CAA6C;AAC7C,SAAS,OAAO,CAAC,OAAwB;IACvC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAChC,IAAI,OAAO,IAAI,IAAI;QAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IACrD,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,EAAE,IAAI,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IAEpF,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,MAAM,GAAqB,EAAE,CAAC;IACpC,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC3B,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACzB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtB,SAAS;QACX,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW;YAAE,SAAS,CAAC,yBAAyB;QAClE,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAC/C,IAAI,KAAK;YAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;AACxD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,QAAoC;IAC7D,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACvF,CAAC"}
@@ -11,6 +11,8 @@
11
11
  import { AgentNS } from "@ai-zen/agents-core";
12
12
  import type { Agent as CoreAgent } from "@ai-zen/agents-core";
13
13
  import { type AutoMigrateTriggerInfo, type HandoffMode } from "@ai-zen/agents-sdk";
14
+ import { createAgent, resetScope } from "../agent-creator.js";
15
+ import type { ClipboardImage } from "../clipboard.js";
14
16
  import type { TokenThresholds } from "@ai-zen/agents-sdk";
15
17
  import { stripCwdNote } from "./text.js";
16
18
  import { type RateSample } from "./token-rate.js";
@@ -62,6 +64,14 @@ export interface ChatSessionOptions {
62
64
  * 返回 `null` 表示跳过本次迁移;未提供时按默认执行者(原 agent 自交接)直接迁移。
63
65
  */
64
66
  requestMode?: (info: AutoMigrateTriggerInfo) => Promise<HandoffMode | null>;
67
+ /**
68
+ * 可注入的 Agent 工厂 / Scope 重置。缺省用真实实现;测试注入假实现即可,
69
+ * **不必** `vi.mock("../agent-creator.js")` —— 进程内共享模块时模块级 mock 会串。
70
+ */
71
+ deps?: {
72
+ createAgent?: typeof createAgent;
73
+ resetScope?: typeof resetScope;
74
+ };
65
75
  }
66
76
  /** 去掉 CwdTrackerPlugin 追加在用户消息末尾的工作目录提示(转发自 ./text.js) */
67
77
  export { stripCwdNote };
@@ -120,6 +130,9 @@ export declare class ChatSession {
120
130
  * 而选中态是按 id 匹配的——残留的选中 id 会突然「接上」新一轮的子 Agent。
121
131
  */
122
132
  private subAgentIdSeq;
133
+ /** Agent 工厂 / Scope 重置(构造时可注入,见 `ChatSessionOptions.deps`) */
134
+ private readonly createAgentFn;
135
+ private readonly resetScopeFn;
123
136
  private constructor();
124
137
  /** 创建会话:装配 Agent、插件与「变更信号」 */
125
138
  static create(options: ChatSessionOptions, notifier: ChatSessionNotifier): Promise<ChatSession>;
@@ -143,8 +156,13 @@ export declare class ChatSession {
143
156
  get phase(): PhaseInfo | null;
144
157
  /** 清空 Agent 栏目(新一轮输入 / 换 Agent / 换会话时调用;序号一并归零) */
145
158
  private clearSubAgents;
146
- /** 发送一条消息;内容变化经 `notifier.onChange` 通知,`resolve` 表示本轮结束 */
147
- send(input: string): Promise<void>;
159
+ /**
160
+ * 发送一条消息;内容变化经 `notifier.onChange` 通知,`resolve` 表示本轮结束。
161
+ *
162
+ * `images` 非空时,消息内容由「文本段 + 图片内容块」组成(转换规则与降级全在
163
+ * `user-content.ts`):这是粘贴图片唯一的入口,不另开一条发送路径。
164
+ */
165
+ send(input: string, images?: readonly ClipboardImage[]): Promise<void>;
148
166
  /** 中止当前请求(Ctrl+C 语义:仅取消本轮,不退出) */
149
167
  abort(): void;
150
168
  /**
@@ -183,6 +201,17 @@ export declare class ChatSession {
183
201
  rollbackTo(index: number): string;
184
202
  /** 保存当前对话到存档 */
185
203
  save(): Promise<string>;
204
+ /**
205
+ * 把当前会话存成指定文件名(`/save <名字>`),成功后 `currentId` 与 last-session
206
+ * 指针一并跟过去,于是后续自动落盘直接写新文件。
207
+ *
208
+ * 实现是「写新文件 → 删旧文件」,而不是 `fs.rename`:
209
+ * · rename 要求旧文件**已存在**,而刚开的新会话还没落过盘(会 ENOENT);
210
+ * · 覆盖已有目标在 Windows 上还得先 unlink,跨平台两边都得写分支;
211
+ * · 写新文件时父目录由仓储 `write()` 的 `mkdir(recursive)` 负责(`/save a/b` 可用)。
212
+ * 中途被杀最多留下两份副本(可读、无损),不会丢内容。
213
+ */
214
+ saveAs(id: string): Promise<string>;
186
215
  /** 释放事件监听(重建 Agent 时调用,避免监听器泄漏) */
187
216
  dispose(): void;
188
217
  private attach;
@@ -1 +1 @@
1
- {"version":3,"file":"chat-session.d.ts","sourceRoot":"","sources":["../../src/tui/chat-session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-session.d.ts","sourceRoot":"","sources":["../../src/tui/chat-session.ts"],"names":[],"mappings":"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"}