agent-tower 0.1.12 → 0.1.14

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 (39) hide show
  1. package/dist/executors/base.executor.d.ts +7 -0
  2. package/dist/executors/base.executor.d.ts.map +1 -1
  3. package/dist/executors/base.executor.js +61 -0
  4. package/dist/executors/base.executor.js.map +1 -1
  5. package/dist/executors/claude-code.executor.d.ts +6 -1
  6. package/dist/executors/claude-code.executor.d.ts.map +1 -1
  7. package/dist/executors/claude-code.executor.js +86 -14
  8. package/dist/executors/claude-code.executor.js.map +1 -1
  9. package/dist/executors/image-utils.d.ts +59 -0
  10. package/dist/executors/image-utils.d.ts.map +1 -0
  11. package/dist/executors/image-utils.js +191 -0
  12. package/dist/executors/image-utils.js.map +1 -0
  13. package/dist/output/claude-code-parser.d.ts.map +1 -1
  14. package/dist/output/claude-code-parser.js.map +1 -1
  15. package/dist/services/session-manager.d.ts.map +1 -1
  16. package/dist/services/session-manager.js +19 -2
  17. package/dist/services/session-manager.js.map +1 -1
  18. package/dist/web/assets/{AgentDemoPage-BSSw8lBi.js → AgentDemoPage-CRvlbWcT.js} +1 -1
  19. package/dist/web/assets/{DemoPage-ChEZOSMK.js → DemoPage-6R4b4Gon.js} +1 -1
  20. package/dist/web/assets/{NotificationSettingsPage-BAJdVRlt.js → NotificationSettingsPage-CZrEncBT.js} +1 -1
  21. package/dist/web/assets/{ProfileSettingsPage-CyPOtbPE.js → ProfileSettingsPage-B0NeNKi9.js} +1 -1
  22. package/dist/web/assets/{ProjectKanbanPage-CsnDujzH.js → ProjectKanbanPage-BM6rclOk.js} +3 -3
  23. package/dist/web/assets/{ProjectSettingsPage-Cxnloxsj.js → ProjectSettingsPage-Ctv5BWdf.js} +1 -1
  24. package/dist/web/assets/{api-client-DMOOJTSp.js → api-client-JWeNZKcl.js} +1 -1
  25. package/dist/web/assets/{chevron-down-7rEIRY5W.js → chevron-down-DVussag2.js} +1 -1
  26. package/dist/web/assets/{circle-alert-CFxKMUaY.js → circle-alert-CvcZV0Gx.js} +1 -1
  27. package/dist/web/assets/{code-block-OCS4YCEC-DUXwMB8K.js → code-block-OCS4YCEC-ZmRyZGvD.js} +1 -1
  28. package/dist/web/assets/{folder-picker-CRsgkd7x.js → folder-picker-B7s6TEGt.js} +1 -1
  29. package/dist/web/assets/{index-Dcp2WlZ9.js → index-BtJ21Bn6.js} +2 -2
  30. package/dist/web/assets/{loader-circle-Cc62DVk-.js → loader-circle-CZN73-Yt.js} +1 -1
  31. package/dist/web/assets/{mermaid-NOHMQCX5-hHU9RKnI.js → mermaid-NOHMQCX5-C13e8gYV.js} +46 -46
  32. package/dist/web/assets/{modal-B3kSXR7L.js → modal-D7xekFRe.js} +1 -1
  33. package/dist/web/assets/{query-keys-BEXbNSOV.js → query-keys-C9CBerVg.js} +1 -1
  34. package/dist/web/assets/{select-CxU95DLf.js → select-Dwk13G3M.js} +1 -1
  35. package/dist/web/assets/{use-profiles-_o0ZlY5d.js → use-profiles-CtLrX0dV.js} +1 -1
  36. package/dist/web/assets/{use-projects-Bhtz9KoT.js → use-projects-CVQDuqNr.js} +1 -1
  37. package/dist/web/assets/{x-BO5t15--.js → x-4BBJo9pY.js} +1 -1
  38. package/dist/web/index.html +1 -1
  39. package/package.json +1 -1
@@ -152,6 +152,13 @@ export declare abstract class BaseExecutor implements StandardCodingAgentExecuto
152
152
  * 内部启动方法
153
153
  */
154
154
  protected spawnInternal(config: ExecutorSpawnConfig, commandParts: CommandParts): Promise<SpawnedChild>;
155
+ /**
156
+ * 通过 stdin 发送数据启动进程
157
+ * 用于需要通过 stdin 传递结构化数据的场景(如图片)
158
+ *
159
+ * 注意:这里使用临时文件方式,因为 PTY 不适合传递大量结构化数据
160
+ */
161
+ protected spawnWithStdin(config: ExecutorSpawnConfig, commandParts: CommandParts, stdinData: string): Promise<SpawnedChild>;
155
162
  /**
156
163
  * 向 PTY 发送消息
157
164
  */
@@ -1 +1 @@
1
- {"version":3,"file":"base.executor.d.ts","sourceRoot":"","sources":["../../src/executors/base.executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.executor.d.ts","sourceRoot":"","sources":["../../src/executors/base.executor.ts"],"names":[],"mappings":"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"}
@@ -112,6 +112,67 @@ export class BaseExecutor {
112
112
  cancel,
113
113
  };
114
114
  }
115
+ /**
116
+ * 通过 stdin 发送数据启动进程
117
+ * 用于需要通过 stdin 传递结构化数据的场景(如图片)
118
+ *
119
+ * 注意:这里使用临时文件方式,因为 PTY 不适合传递大量结构化数据
120
+ */
121
+ async spawnWithStdin(config, commandParts, stdinData) {
122
+ const { programPath, args } = await resolveCommandParts(commandParts);
123
+ const env = config.env.withProfile(this.cmdOverrides);
124
+ const cancel = new CancellationToken();
125
+ // 不添加 prompt 到参数列表,因为会通过 stdin 发送
126
+ const fullArgs = [...args];
127
+ console.log('[BaseExecutor] Spawning with stdin (via temp file)');
128
+ console.log('[BaseExecutor] Program:', programPath);
129
+ console.log('[BaseExecutor] Args:', fullArgs.join(' '));
130
+ console.log('[BaseExecutor] Stdin data length:', stdinData.length);
131
+ console.log('[BaseExecutor] Stdin data preview:', stdinData.substring(0, 500));
132
+ // 使用临时文件传递 stdin 数据,避免命令行参数长度限制
133
+ const fs = await import('node:fs/promises');
134
+ const os = await import('node:os');
135
+ const path = await import('node:path');
136
+ const tmpFile = path.join(os.tmpdir(), `agent-tower-stdin-${Date.now()}.json`);
137
+ await fs.writeFile(tmpFile, stdinData, 'utf-8');
138
+ console.log('[BaseExecutor] Wrote stdin data to temp file:', tmpFile);
139
+ // 使用 shell 重定向从临时文件读取
140
+ const shellCommand = `cat "${tmpFile}" | ${programPath} ${fullArgs.map(arg => `'${arg.replace(/'/g, "'\\''")}'`).join(' ')}; rm -f "${tmpFile}"`;
141
+ const shell = pty.spawn('/bin/bash', ['-c', shellCommand], {
142
+ name: 'xterm-256color',
143
+ cols: 120,
144
+ rows: 30,
145
+ cwd: config.workingDir,
146
+ env: env.getFullEnv(),
147
+ });
148
+ console.log('[BaseExecutor] Process spawned with PID:', shell.pid);
149
+ // 添加调试输出监听
150
+ let outputBuffer = '';
151
+ shell.onData((data) => {
152
+ outputBuffer += data;
153
+ // 只打印前1000个字符,避免日志过多
154
+ if (outputBuffer.length < 1000) {
155
+ console.log('[BaseExecutor] PTY output:', data.substring(0, 200));
156
+ }
157
+ });
158
+ // 监听退出事件
159
+ shell.onExit(({ exitCode, signal }) => {
160
+ console.log('[BaseExecutor] PTY exited, code:', exitCode, 'signal:', signal);
161
+ console.log('[BaseExecutor] Total output length:', outputBuffer.length);
162
+ if (outputBuffer.length < 2000) {
163
+ console.log('[BaseExecutor] Full output:', outputBuffer);
164
+ }
165
+ });
166
+ // 监听取消信号
167
+ cancel.onCancelled(() => {
168
+ shell.kill('SIGINT');
169
+ });
170
+ return {
171
+ pid: shell.pid,
172
+ pty: shell,
173
+ cancel,
174
+ };
175
+ }
115
176
  /**
116
177
  * 向 PTY 发送消息
117
178
  */
@@ -1 +1 @@
1
- {"version":3,"file":"base.executor.js","sourceRoot":"","sources":["../../src/executors/base.executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.executor.js","sourceRoot":"","sources":["../../src/executors/base.executor.ts"],"names":[],"mappings":"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"}
@@ -59,9 +59,14 @@ export declare class ClaudeCodeExecutor extends BaseExecutor {
59
59
  */
60
60
  getPermissionMode(): PermissionMode;
61
61
  /**
62
- * 构建命令
62
+ * 构建命令(用于普通文本 prompt)
63
63
  */
64
64
  protected buildCommandBuilder(): CommandBuilder;
65
+ /**
66
+ * 构建命令(用于包含图片的 stream-json 输入)
67
+ * 使用 -p 模式配合 --input-format=stream-json
68
+ */
69
+ protected buildCommandBuilderForStreamJson(): CommandBuilder;
65
70
  /**
66
71
  * 启动新会话
67
72
  */
@@ -1 +1 @@
1
- {"version":3,"file":"claude-code.executor.d.ts","sourceRoot":"","sources":["../../src/executors/claude-code.executor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,YAAY,EACb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAkB,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpF;;GAEG;AACH,oBAAY,cAAc;IACxB,kBAAkB;IAClB,OAAO,YAAY;IACnB,kCAAkC;IAClC,IAAI,SAAS;IACb,sBAAsB;IACtB,iBAAiB,sBAAsB;CACxC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,qBAAqB;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,8BAA8B;IAC9B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,WAAW;IACX,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,WAAW;IACX,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa;IACb,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,iBAAiB;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW;IACX,GAAG,CAAC,EAAE,YAAY,CAAC;CACpB;AAYD,qBAAa,kBAAmB,SAAQ,YAAY;IAClD,QAAQ,CAAC,SAAS,yBAAyB;IAC3C,QAAQ,CAAC,WAAW,iBAAiB;IAErC,OAAO,CAAC,MAAM,CAAmB;gBAErB,MAAM,GAAE,gBAAqB;IAMzC;;OAEG;IACG,mBAAmB,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAoBtD;;OAEG;IACH,eAAe,IAAI,eAAe,EAAE;IAIpC;;OAEG;IACH,uBAAuB,IAAI,MAAM,GAAG,IAAI;IAIxC;;OAEG;IACH,iBAAiB,IAAI,cAAc;IAUnC;;OAEG;IACH,SAAS,CAAC,mBAAmB,IAAI,cAAc;IAwC/C;;OAEG;IACG,KAAK,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,YAAY,CAAC;IAW/D;;OAEG;IACG,aAAa,CACjB,MAAM,EAAE,mBAAmB,EAC3B,SAAS,EAAE,MAAM,EACjB,gBAAgB,CAAC,EAAE,MAAM,GACxB,OAAO,CAAC,YAAY,CAAC;IAmBxB;;OAEG;IACH,OAAO,CAAC,aAAa;CAMtB"}
1
+ {"version":3,"file":"claude-code.executor.d.ts","sourceRoot":"","sources":["../../src/executors/claude-code.executor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,YAAY,EACb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAkB,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGpF;;GAEG;AACH,oBAAY,cAAc;IACxB,kBAAkB;IAClB,OAAO,YAAY;IACnB,kCAAkC;IAClC,IAAI,SAAS;IACb,sBAAsB;IACtB,iBAAiB,sBAAsB;CACxC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,qBAAqB;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,8BAA8B;IAC9B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,WAAW;IACX,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,WAAW;IACX,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa;IACb,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,iBAAiB;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW;IACX,GAAG,CAAC,EAAE,YAAY,CAAC;CACpB;AAYD,qBAAa,kBAAmB,SAAQ,YAAY;IAClD,QAAQ,CAAC,SAAS,yBAAyB;IAC3C,QAAQ,CAAC,WAAW,iBAAiB;IAErC,OAAO,CAAC,MAAM,CAAmB;gBAErB,MAAM,GAAE,gBAAqB;IAMzC;;OAEG;IACG,mBAAmB,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAoBtD;;OAEG;IACH,eAAe,IAAI,eAAe,EAAE;IAIpC;;OAEG;IACH,uBAAuB,IAAI,MAAM,GAAG,IAAI;IAIxC;;OAEG;IACH,iBAAiB,IAAI,cAAc;IAUnC;;OAEG;IACH,SAAS,CAAC,mBAAmB,IAAI,cAAc;IAwC/C;;;OAGG;IACH,SAAS,CAAC,gCAAgC,IAAI,cAAc;IAwC5D;;OAEG;IACG,KAAK,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,YAAY,CAAC;IA2B/D;;OAEG;IACG,aAAa,CACjB,MAAM,EAAE,mBAAmB,EAC3B,SAAS,EAAE,MAAM,EACjB,gBAAgB,CAAC,EAAE,MAAM,GACxB,OAAO,CAAC,YAAY,CAAC;IAmCxB;;OAEG;IACH,OAAO,CAAC,aAAa;CAMtB"}
@@ -9,6 +9,7 @@ import { AgentType } from '../types/index.js';
9
9
  import { which } from '../utils/index.js';
10
10
  import { BaseExecutor, AgentCapability, } from './base.executor.js';
11
11
  import { CommandBuilder, applyOverrides } from './command-builder.js';
12
+ import { parsePromptWithImages, buildUserMessageNDJSON } from './image-utils.js';
12
13
  /**
13
14
  * Claude Code 权限模式
14
15
  */
@@ -86,7 +87,7 @@ export class ClaudeCodeExecutor extends BaseExecutor {
86
87
  return PermissionMode.BypassPermissions;
87
88
  }
88
89
  /**
89
- * 构建命令
90
+ * 构建命令(用于普通文本 prompt)
90
91
  */
91
92
  buildCommandBuilder() {
92
93
  const useRouter = this.config.claudeCodeRouter ?? false;
@@ -120,32 +121,103 @@ export class ClaudeCodeExecutor extends BaseExecutor {
120
121
  // 应用覆盖
121
122
  return applyOverrides(builder, this.cmdOverrides);
122
123
  }
124
+ /**
125
+ * 构建命令(用于包含图片的 stream-json 输入)
126
+ * 使用 -p 模式配合 --input-format=stream-json
127
+ */
128
+ buildCommandBuilderForStreamJson() {
129
+ const useRouter = this.config.claudeCodeRouter ?? false;
130
+ let builder = CommandBuilder.new(getBaseCommand(useRouter));
131
+ // 使用 -p 参数(print 模式)
132
+ builder.setParams(['-p']);
133
+ // 权限模式设置
134
+ const plan = this.config.plan ?? false;
135
+ const approvals = this.config.approvals ?? false;
136
+ if (plan || approvals) {
137
+ builder.extendParams(['--permission-prompt-tool=stdio']);
138
+ builder.extendParams([`--permission-mode=${PermissionMode.BypassPermissions}`]);
139
+ }
140
+ // 跳过权限检查
141
+ if (this.config.dangerouslySkipPermissions) {
142
+ builder.extendParams(['--dangerously-skip-permissions']);
143
+ }
144
+ // 模型选择
145
+ if (this.config.model) {
146
+ builder.extendParams(['--model', this.config.model]);
147
+ }
148
+ // 输出格式 - 使用 stream-json 进行双向通信
149
+ builder.extendParams([
150
+ '--verbose',
151
+ '--output-format=stream-json',
152
+ '--input-format=stream-json',
153
+ '--include-partial-messages',
154
+ '--replay-user-messages',
155
+ '--disallowedTools=AskUserQuestion',
156
+ ]);
157
+ // 应用覆盖
158
+ return applyOverrides(builder, this.cmdOverrides);
159
+ }
123
160
  /**
124
161
  * 启动新会话
125
162
  */
126
163
  async spawn(config) {
127
- const commandBuilder = this.buildCommandBuilder();
128
- const commandParts = commandBuilder.buildInitial();
129
164
  // 组合 prompt
130
165
  const prompt = this.combinePrompt(config.prompt);
131
- const newConfig = { ...config, prompt };
132
- return this.spawnInternal(newConfig, commandParts);
166
+ console.log('[ClaudeCodeExecutor] spawn - prompt length:', prompt.length);
167
+ console.log('[ClaudeCodeExecutor] spawn - prompt preview:', prompt.substring(0, 200));
168
+ // 检测是否包含图片
169
+ const parsedPrompt = await parsePromptWithImages(prompt);
170
+ if (parsedPrompt.hasImages) {
171
+ console.log('[ClaudeCodeExecutor] ✅ Detected images in prompt, using stdin JSON format');
172
+ // 使用 stdin JSON 格式发送
173
+ const commandBuilder = this.buildCommandBuilderForStreamJson();
174
+ const commandParts = commandBuilder.buildInitial();
175
+ const userMessage = buildUserMessageNDJSON(parsedPrompt.contentBlocks);
176
+ return this.spawnWithStdin(config, commandParts, userMessage);
177
+ }
178
+ else {
179
+ console.log('[ClaudeCodeExecutor] ℹ️ No images detected, using normal text format');
180
+ // 保持原有方式
181
+ const commandBuilder = this.buildCommandBuilder();
182
+ const commandParts = commandBuilder.buildInitial();
183
+ const newConfig = { ...config, prompt };
184
+ return this.spawnInternal(newConfig, commandParts);
185
+ }
133
186
  }
134
187
  /**
135
188
  * 继续现有会话
136
189
  */
137
190
  async spawnFollowUp(config, sessionId, resetToMessageId) {
138
- const commandBuilder = this.buildCommandBuilder();
139
- const additionalArgs = ['--resume', sessionId];
140
- // 支持回滚到指定消息
141
- if (resetToMessageId) {
142
- additionalArgs.push('--resume-session-at', resetToMessageId);
143
- }
144
- const commandParts = commandBuilder.buildFollowUp(additionalArgs);
145
191
  // 组合 prompt
146
192
  const prompt = this.combinePrompt(config.prompt);
147
- const newConfig = { ...config, prompt };
148
- return this.spawnInternal(newConfig, commandParts);
193
+ console.log('[ClaudeCodeExecutor] spawnFollowUp - prompt length:', prompt.length);
194
+ console.log('[ClaudeCodeExecutor] spawnFollowUp - prompt preview:', prompt.substring(0, 200));
195
+ // 检测是否包含图片
196
+ const parsedPrompt = await parsePromptWithImages(prompt);
197
+ if (parsedPrompt.hasImages) {
198
+ console.log('[ClaudeCodeExecutor] ✅ Detected images in follow-up, using stdin JSON format');
199
+ // 使用 stdin JSON 格式发送
200
+ const commandBuilder = this.buildCommandBuilderForStreamJson();
201
+ const additionalArgs = ['--resume', sessionId];
202
+ if (resetToMessageId) {
203
+ additionalArgs.push('--resume-session-at', resetToMessageId);
204
+ }
205
+ const commandParts = commandBuilder.buildFollowUp(additionalArgs);
206
+ const userMessage = buildUserMessageNDJSON(parsedPrompt.contentBlocks);
207
+ return this.spawnWithStdin(config, commandParts, userMessage);
208
+ }
209
+ else {
210
+ console.log('[ClaudeCodeExecutor] ℹ️ No images detected in follow-up, using normal text format');
211
+ // 保持原有方式
212
+ const commandBuilder = this.buildCommandBuilder();
213
+ const additionalArgs = ['--resume', sessionId];
214
+ if (resetToMessageId) {
215
+ additionalArgs.push('--resume-session-at', resetToMessageId);
216
+ }
217
+ const commandParts = commandBuilder.buildFollowUp(additionalArgs);
218
+ const newConfig = { ...config, prompt };
219
+ return this.spawnInternal(newConfig, commandParts);
220
+ }
149
221
  }
150
222
  /**
151
223
  * 组合 prompt
@@ -1 +1 @@
1
- {"version":3,"file":"claude-code.executor.js","sourceRoot":"","sources":["../../src/executors/claude-code.executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-code.executor.js","sourceRoot":"","sources":["../../src/executors/claude-code.executor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * 图片处理工具模块
3
+ * 用于解析 Markdown 中的图片、读取图片文件并转换为 base64
4
+ */
5
+ /**
6
+ * 图片内容块
7
+ */
8
+ export interface ImageBlock {
9
+ type: 'image';
10
+ source: {
11
+ type: 'base64';
12
+ media_type: string;
13
+ data: string;
14
+ };
15
+ }
16
+ /**
17
+ * 文本内容块
18
+ */
19
+ export interface TextBlock {
20
+ type: 'text';
21
+ text: string;
22
+ }
23
+ /**
24
+ * 内容块类型
25
+ */
26
+ export type ContentBlock = ImageBlock | TextBlock;
27
+ /**
28
+ * 解析后的 prompt
29
+ */
30
+ export interface ParsedPrompt {
31
+ contentBlocks: ContentBlock[];
32
+ hasImages: boolean;
33
+ }
34
+ /**
35
+ * 根据文件扩展名获取 MIME 类型
36
+ */
37
+ export declare function getMimeType(filePath: string): string;
38
+ /**
39
+ * 读取图片文件并转换为 base64
40
+ */
41
+ export declare function readImageAsBase64(filePath: string): Promise<string>;
42
+ /**
43
+ * 检查文件是否存在
44
+ */
45
+ export declare function fileExists(filePath: string): Promise<boolean>;
46
+ /**
47
+ * 解析 Markdown 中的图片语法并转换为 content blocks
48
+ * 支持格式:![alt](path)
49
+ */
50
+ export declare function parsePromptWithImages(prompt: string): Promise<ParsedPrompt>;
51
+ /**
52
+ * 构造 Claude Code CLI 格式的用户消息(NDJSON 格式)
53
+ * 用于通过 stdin 发送给 Claude Code CLI
54
+ *
55
+ * 根据 claude-cli-agent-protocol 文档,格式应该是:
56
+ * {"type":"user","message":{"role":"user","content":[...]}}
57
+ */
58
+ export declare function buildUserMessageNDJSON(contentBlocks: ContentBlock[]): string;
59
+ //# sourceMappingURL=image-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image-utils.d.ts","sourceRoot":"","sources":["../../src/executors/image-utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE;QACN,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,SAAS,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,SAAS,EAAE,OAAO,CAAC;CACpB;AAaD;;GAEG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGpD;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAOzE;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAOnE;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAqGjF;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,aAAa,EAAE,YAAY,EAAE,GAAG,MAAM,CA0C5E"}
@@ -0,0 +1,191 @@
1
+ /**
2
+ * 图片处理工具模块
3
+ * 用于解析 Markdown 中的图片、读取图片文件并转换为 base64
4
+ */
5
+ import * as fs from 'node:fs/promises';
6
+ import * as path from 'node:path';
7
+ /**
8
+ * MIME 类型映射
9
+ */
10
+ const MIME_TYPE_MAP = {
11
+ '.png': 'image/png',
12
+ '.jpg': 'image/jpeg',
13
+ '.jpeg': 'image/jpeg',
14
+ '.gif': 'image/gif',
15
+ '.webp': 'image/webp',
16
+ };
17
+ /**
18
+ * 根据文件扩展名获取 MIME 类型
19
+ */
20
+ export function getMimeType(filePath) {
21
+ const ext = path.extname(filePath).toLowerCase();
22
+ return MIME_TYPE_MAP[ext] || 'application/octet-stream';
23
+ }
24
+ /**
25
+ * 读取图片文件并转换为 base64
26
+ */
27
+ export async function readImageAsBase64(filePath) {
28
+ try {
29
+ const buffer = await fs.readFile(filePath);
30
+ return buffer.toString('base64');
31
+ }
32
+ catch (error) {
33
+ throw new Error(`Failed to read image file: ${filePath}. Error: ${error instanceof Error ? error.message : String(error)}`);
34
+ }
35
+ }
36
+ /**
37
+ * 检查文件是否存在
38
+ */
39
+ export async function fileExists(filePath) {
40
+ try {
41
+ await fs.access(filePath);
42
+ return true;
43
+ }
44
+ catch {
45
+ return false;
46
+ }
47
+ }
48
+ /**
49
+ * 解析 Markdown 中的图片语法并转换为 content blocks
50
+ * 支持格式:![alt](path)
51
+ */
52
+ export async function parsePromptWithImages(prompt) {
53
+ // 匹配 ![alt](path) 格式的图片
54
+ const imageRegex = /!\[([^\]]*)\]\(([^)]+)\)/g;
55
+ const contentBlocks = [];
56
+ let hasImages = false;
57
+ let lastIndex = 0;
58
+ let match;
59
+ // 遍历所有匹配的图片
60
+ while ((match = imageRegex.exec(prompt)) !== null) {
61
+ const [fullMatch, _alt, imagePath] = match;
62
+ const matchIndex = match.index;
63
+ // 添加图片前的文本
64
+ if (matchIndex > lastIndex) {
65
+ const textBefore = prompt.substring(lastIndex, matchIndex).trim();
66
+ if (textBefore) {
67
+ contentBlocks.push({
68
+ type: 'text',
69
+ text: textBefore,
70
+ });
71
+ }
72
+ }
73
+ // 检查图片文件是否存在
74
+ const exists = await fileExists(imagePath);
75
+ if (!exists) {
76
+ console.warn(`[image-utils] Image file not found: ${imagePath}`);
77
+ // 如果文件不存在,保留原始 Markdown 文本
78
+ contentBlocks.push({
79
+ type: 'text',
80
+ text: fullMatch,
81
+ });
82
+ }
83
+ else {
84
+ try {
85
+ // 读取图片并转换为 base64
86
+ const base64Data = await readImageAsBase64(imagePath);
87
+ const mimeType = getMimeType(imagePath);
88
+ contentBlocks.push({
89
+ type: 'image',
90
+ source: {
91
+ type: 'base64',
92
+ media_type: mimeType,
93
+ data: base64Data,
94
+ },
95
+ });
96
+ hasImages = true;
97
+ console.log(`[image-utils] Successfully loaded image: ${imagePath} (${mimeType})`);
98
+ }
99
+ catch (error) {
100
+ console.error(`[image-utils] Failed to load image: ${imagePath}`, error);
101
+ // 如果读取失败,保留原始 Markdown 文本
102
+ contentBlocks.push({
103
+ type: 'text',
104
+ text: fullMatch,
105
+ });
106
+ }
107
+ }
108
+ lastIndex = matchIndex + fullMatch.length;
109
+ }
110
+ // 添加剩余的文本
111
+ if (lastIndex < prompt.length) {
112
+ const textAfter = prompt.substring(lastIndex).trim();
113
+ if (textAfter) {
114
+ contentBlocks.push({
115
+ type: 'text',
116
+ text: textAfter,
117
+ });
118
+ }
119
+ }
120
+ // 如果没有找到任何图片,返回原始文本
121
+ if (contentBlocks.length === 0) {
122
+ contentBlocks.push({
123
+ type: 'text',
124
+ text: prompt,
125
+ });
126
+ }
127
+ const result = {
128
+ contentBlocks,
129
+ hasImages,
130
+ };
131
+ // 打印解析结果(用于调试)
132
+ console.log('[image-utils] parsePromptWithImages result:');
133
+ console.log(' hasImages:', result.hasImages);
134
+ console.log(' contentBlocks count:', result.contentBlocks.length);
135
+ result.contentBlocks.forEach((block, index) => {
136
+ if (block.type === 'text') {
137
+ console.log(` [${index}] text: ${block.text.substring(0, 100)}${block.text.length > 100 ? '...' : ''}`);
138
+ }
139
+ else if (block.type === 'image') {
140
+ console.log(` [${index}] image: ${block.source.media_type}, base64 length: ${block.source.data.length}`);
141
+ }
142
+ });
143
+ return result;
144
+ }
145
+ /**
146
+ * 构造 Claude Code CLI 格式的用户消息(NDJSON 格式)
147
+ * 用于通过 stdin 发送给 Claude Code CLI
148
+ *
149
+ * 根据 claude-cli-agent-protocol 文档,格式应该是:
150
+ * {"type":"user","message":{"role":"user","content":[...]}}
151
+ */
152
+ export function buildUserMessageNDJSON(contentBlocks) {
153
+ const message = {
154
+ type: 'user',
155
+ message: {
156
+ role: 'user',
157
+ content: contentBlocks,
158
+ },
159
+ };
160
+ const ndjson = JSON.stringify(message) + '\n';
161
+ // 打印最终消息结构(用于调试)
162
+ console.log('[image-utils] buildUserMessageNDJSON:');
163
+ console.log(' message type:', message.type);
164
+ console.log(' message.message.role:', message.message.role);
165
+ console.log(' message.message.content blocks:', message.message.content.length);
166
+ // 打印消息结构(隐藏 base64 数据)
167
+ const debugMessage = {
168
+ ...message,
169
+ message: {
170
+ ...message.message,
171
+ content: message.message.content.map(block => {
172
+ if (block.type === 'image') {
173
+ return {
174
+ type: 'image',
175
+ source: {
176
+ type: block.source.type,
177
+ media_type: block.source.media_type,
178
+ data: `<base64 data, length: ${block.source.data.length}>`,
179
+ },
180
+ };
181
+ }
182
+ return block;
183
+ }),
184
+ },
185
+ };
186
+ console.log(' Full message structure:', JSON.stringify(debugMessage, null, 2));
187
+ console.log(' NDJSON length:', ndjson.length);
188
+ // 返回 NDJSON 格式(单行 JSON + 换行符)
189
+ return ndjson;
190
+ }
191
+ //# sourceMappingURL=image-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image-utils.js","sourceRoot":"","sources":["../../src/executors/image-utils.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"claude-code-parser.d.ts","sourceRoot":"","sources":["../../src/output/claude-code-parser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AA6H9C;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAU;IAC1B,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,YAAY,CAAiC;IACrD,OAAO,CAAC,qBAAqB,CAAsB;IACnD,OAAO,CAAC,uBAAuB,CAAa;IAE5C,OAAO,CAAC,eAAe,CAAgD;IACvE,OAAO,CAAC,aAAa,CAAsB;IAE3C,OAAO,CAAC,iBAAiB,CAAgD;IACzE,OAAO,CAAC,kBAAkB,CAAsB;IAEhD,OAAO,CAAC,aAAa,CAAqI;gBAE9I,QAAQ,EAAE,QAAQ;IAI9B,2BAA2B;IAC3B,OAAO,KAAK,aAAa,GAExB;IAED;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAqB/B;;OAEG;IACH,OAAO,CAAC,SAAS;IAiBjB;;OAEG;IACH,OAAO,CAAC,aAAa;IAuBrB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAQ3B;;;;OAIG;IACH,OAAO,CAAC,sBAAsB;IAoD9B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAiB3B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAK1B;;OAEG;IACH,OAAO,CAAC,aAAa;IAyBrB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA+BzB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAezB;;OAEG;IACH,OAAO,CAAC,WAAW;IAOnB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAIzB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA0D3B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAO1B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAmHzB;;OAEG;IACH,MAAM,IAAI,IAAI;CAOf;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,GAAG,gBAAgB,CAE3E"}
1
+ {"version":3,"file":"claude-code-parser.d.ts","sourceRoot":"","sources":["../../src/output/claude-code-parser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAqI9C;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAU;IAC1B,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,YAAY,CAAiC;IACrD,OAAO,CAAC,qBAAqB,CAAsB;IACnD,OAAO,CAAC,uBAAuB,CAAa;IAE5C,OAAO,CAAC,eAAe,CAAgD;IACvE,OAAO,CAAC,aAAa,CAAsB;IAE3C,OAAO,CAAC,iBAAiB,CAAgD;IACzE,OAAO,CAAC,kBAAkB,CAAsB;IAEhD,OAAO,CAAC,aAAa,CAAqI;gBAE9I,QAAQ,EAAE,QAAQ;IAI9B,2BAA2B;IAC3B,OAAO,KAAK,aAAa,GAExB;IAED;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAqB/B;;OAEG;IACH,OAAO,CAAC,SAAS;IAiBjB;;OAEG;IACH,OAAO,CAAC,aAAa;IAuBrB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAQ3B;;;;OAIG;IACH,OAAO,CAAC,sBAAsB;IAoD9B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAiB3B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAK1B;;OAEG;IACH,OAAO,CAAC,aAAa;IAyBrB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA+BzB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAezB;;OAEG;IACH,OAAO,CAAC,WAAW;IAOnB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAIzB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA0D3B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAO1B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAmHzB;;OAEG;IACH,MAAM,IAAI,IAAI;CAOf;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,GAAG,gBAAgB,CAE3E"}