@downcity/agent 1.1.157 → 1.1.161
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.
- package/bin/config/Paths.d.ts +1 -1
- package/bin/config/Paths.js +1 -1
- package/bin/executor/core-engine/CoreEngineMessageState.d.ts +1 -1
- package/bin/executor/core-engine/CoreEngineMessageState.js +1 -1
- package/bin/executor/messages/AssistantFileResource.d.ts +35 -4
- package/bin/executor/messages/AssistantFileResource.d.ts.map +1 -1
- package/bin/executor/messages/AssistantFileResource.js +151 -23
- package/bin/executor/messages/AssistantFileResource.js.map +1 -1
- package/bin/executor/messages/SessionAttachmentMapper.d.ts +3 -3
- package/bin/executor/messages/SessionAttachmentMapper.d.ts.map +1 -1
- package/bin/executor/messages/SessionAttachmentMapper.js +17 -18
- package/bin/executor/messages/SessionAttachmentMapper.js.map +1 -1
- package/bin/executor/messages/SessionMessageCodec.d.ts.map +1 -1
- package/bin/executor/messages/SessionMessageCodec.js +1 -1
- package/bin/executor/messages/SessionMessageCodec.js.map +1 -1
- package/bin/executor/tools/plugin/PluginToolBridge.d.ts.map +1 -1
- package/bin/executor/tools/plugin/PluginToolBridge.js +14 -25
- package/bin/executor/tools/plugin/PluginToolBridge.js.map +1 -1
- package/bin/executor/tools/plugin/types/PluginTool.d.ts +3 -3
- package/bin/executor/tools/plugin/types/PluginTool.d.ts.map +1 -1
- package/package.json +3 -3
- package/scripts/assistant-file-resource.test.mjs +77 -11
- package/scripts/image-plugin-job.test.mjs +75 -1
- package/scripts/plugin-tool-bridge.test.mjs +4 -4
- package/src/config/Paths.ts +1 -1
- package/src/executor/core-engine/CoreEngineMessageState.ts +1 -1
- package/src/executor/messages/AssistantFileResource.ts +184 -26
- package/src/executor/messages/SessionAttachmentMapper.ts +16 -17
- package/src/executor/messages/SessionMessageCodec.ts +4 -1
- package/src/executor/tools/plugin/PluginToolBridge.ts +17 -27
- package/src/executor/tools/plugin/types/PluginTool.ts +3 -3
- package/tsconfig.tsbuildinfo +1 -1
package/bin/config/Paths.d.ts
CHANGED
|
@@ -180,7 +180,7 @@ export declare function getDowncityPublicDirPath(cwd: string): string;
|
|
|
180
180
|
*
|
|
181
181
|
* 关键点(中文)
|
|
182
182
|
* - 该目录用于存放会话历史引用的二进制资源,例如图片生成结果。
|
|
183
|
-
* - `messages.jsonl` 只保存
|
|
183
|
+
* - `messages.jsonl` 只保存 Agent 根目录相对路径,避免暴露本机绝对路径或长期保存 base64。
|
|
184
184
|
*/
|
|
185
185
|
export declare function getDowncityResourcesDirPath(cwd: string): string;
|
|
186
186
|
/**
|
package/bin/config/Paths.js
CHANGED
|
@@ -266,7 +266,7 @@ export function getDowncityPublicDirPath(cwd) {
|
|
|
266
266
|
*
|
|
267
267
|
* 关键点(中文)
|
|
268
268
|
* - 该目录用于存放会话历史引用的二进制资源,例如图片生成结果。
|
|
269
|
-
* - `messages.jsonl` 只保存
|
|
269
|
+
* - `messages.jsonl` 只保存 Agent 根目录相对路径,避免暴露本机绝对路径或长期保存 base64。
|
|
270
270
|
*/
|
|
271
271
|
export function getDowncityResourcesDirPath(cwd) {
|
|
272
272
|
return path.join(getDowncityDirPath(cwd), "resources");
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* 关键点(中文)
|
|
5
5
|
* - 只处理运行期产生的 assistant file part,不参与 user 附件注入。
|
|
6
6
|
* - 将 data URL、远程 URL 与本地文件统一写入 `.downcity/resources`。
|
|
7
|
-
* -
|
|
7
|
+
* - 历史中只保留基于 Agent 项目根目录的相对路径,避免暴露本机绝对路径。
|
|
8
8
|
* - 资源文件按内容 hash 命名,天然去重并避免重复写入大文件。
|
|
9
9
|
*/
|
|
10
10
|
import type { FileUIPart } from "ai";
|
|
@@ -16,8 +16,8 @@ export interface MaterializeAssistantFilePartsParams {
|
|
|
16
16
|
* 当前项目根目录。
|
|
17
17
|
*
|
|
18
18
|
* 关键点(中文)
|
|
19
|
-
* - 正常 session run
|
|
20
|
-
* -
|
|
19
|
+
* - 正常 session run 必须显式传入 projectRoot。
|
|
20
|
+
* - 旧入口未传时仅为兼容回退到 `process.cwd()`。
|
|
21
21
|
*/
|
|
22
22
|
projectRoot?: string;
|
|
23
23
|
/**
|
|
@@ -26,7 +26,38 @@ export interface MaterializeAssistantFilePartsParams {
|
|
|
26
26
|
parts: FileUIPart[];
|
|
27
27
|
}
|
|
28
28
|
/**
|
|
29
|
-
*
|
|
29
|
+
* 将项目内文件路径转换为基于 Agent 根目录的相对路径。
|
|
30
|
+
*/
|
|
31
|
+
export declare function toAgentRelativePath(params: {
|
|
32
|
+
/**
|
|
33
|
+
* 当前 Agent 项目根目录。
|
|
34
|
+
*/
|
|
35
|
+
projectRoot: string;
|
|
36
|
+
/**
|
|
37
|
+
* 项目内文件绝对路径。
|
|
38
|
+
*/
|
|
39
|
+
filePath: string;
|
|
40
|
+
}): string;
|
|
41
|
+
/**
|
|
42
|
+
* 将相对路径解析为 Agent 项目内绝对路径。
|
|
43
|
+
*
|
|
44
|
+
* 关键点(中文)
|
|
45
|
+
* - 相对路径统一基于 Agent 项目根目录解析。
|
|
46
|
+
* - 绝对路径原样归一化后返回。
|
|
47
|
+
* - 越界路径返回空字符串,由调用方决定是否忽略。
|
|
48
|
+
*/
|
|
49
|
+
export declare function resolveAgentFilePath(params: {
|
|
50
|
+
/**
|
|
51
|
+
* 当前 Agent 项目根目录。
|
|
52
|
+
*/
|
|
53
|
+
projectRoot: string;
|
|
54
|
+
/**
|
|
55
|
+
* 待解析的相对路径或绝对路径。
|
|
56
|
+
*/
|
|
57
|
+
filePath: string;
|
|
58
|
+
}): string;
|
|
59
|
+
/**
|
|
60
|
+
* 将 assistant file part 中的资源统一落盘为 Agent 根目录相对路径。
|
|
30
61
|
*/
|
|
31
62
|
export declare function materializeAssistantFileParts(params: MaterializeAssistantFilePartsParams): Promise<FileUIPart[]>;
|
|
32
63
|
//# sourceMappingURL=AssistantFileResource.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AssistantFileResource.d.ts","sourceRoot":"","sources":["../../../src/executor/messages/AssistantFileResource.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAcrC;;GAEG;AACH,MAAM,WAAW,mCAAmC;IAClD;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,KAAK,EAAE,UAAU,EAAE,CAAC;CACrB;
|
|
1
|
+
{"version":3,"file":"AssistantFileResource.d.ts","sourceRoot":"","sources":["../../../src/executor/messages/AssistantFileResource.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAcrC;;GAEG;AACH,MAAM,WAAW,mCAAmC;IAClD;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,KAAK,EAAE,UAAU,EAAE,CAAC;CACrB;AA2DD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE;IAC1C;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,MAAM,CAUT;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE;IAC3C;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,MAAM,CAWT;AAoOD;;GAEG;AACH,wBAAsB,6BAA6B,CACjD,MAAM,EAAE,mCAAmC,GAC1C,OAAO,CAAC,UAAU,EAAE,CAAC,CAYvB"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* 关键点(中文)
|
|
5
5
|
* - 只处理运行期产生的 assistant file part,不参与 user 附件注入。
|
|
6
6
|
* - 将 data URL、远程 URL 与本地文件统一写入 `.downcity/resources`。
|
|
7
|
-
* -
|
|
7
|
+
* - 历史中只保留基于 Agent 项目根目录的相对路径,避免暴露本机绝对路径。
|
|
8
8
|
* - 资源文件按内容 hash 命名,天然去重并避免重复写入大文件。
|
|
9
9
|
*/
|
|
10
10
|
import crypto from "node:crypto";
|
|
@@ -72,12 +72,42 @@ function filename_from_url(raw_url) {
|
|
|
72
72
|
return undefined;
|
|
73
73
|
}
|
|
74
74
|
}
|
|
75
|
-
|
|
75
|
+
/**
|
|
76
|
+
* 将项目内文件路径转换为基于 Agent 根目录的相对路径。
|
|
77
|
+
*/
|
|
78
|
+
export function toAgentRelativePath(params) {
|
|
79
|
+
const project_root = resolve_project_root(params.projectRoot);
|
|
76
80
|
const relative = path
|
|
77
|
-
.relative(
|
|
81
|
+
.relative(project_root, params.filePath)
|
|
78
82
|
.split(path.sep)
|
|
79
83
|
.join("/");
|
|
80
|
-
|
|
84
|
+
if (!relative || relative.startsWith("..") || path.isAbsolute(relative)) {
|
|
85
|
+
throw new Error(`Assistant resource path is outside agent root: ${params.filePath}`);
|
|
86
|
+
}
|
|
87
|
+
return relative;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* 将相对路径解析为 Agent 项目内绝对路径。
|
|
91
|
+
*
|
|
92
|
+
* 关键点(中文)
|
|
93
|
+
* - 相对路径统一基于 Agent 项目根目录解析。
|
|
94
|
+
* - 绝对路径原样归一化后返回。
|
|
95
|
+
* - 越界路径返回空字符串,由调用方决定是否忽略。
|
|
96
|
+
*/
|
|
97
|
+
export function resolveAgentFilePath(params) {
|
|
98
|
+
const raw = String(params.filePath || "").trim();
|
|
99
|
+
if (!raw)
|
|
100
|
+
return "";
|
|
101
|
+
const project_root = resolve_project_root(params.projectRoot);
|
|
102
|
+
const file_path = path.isAbsolute(raw)
|
|
103
|
+
? path.resolve(raw)
|
|
104
|
+
: path.resolve(project_root, raw);
|
|
105
|
+
if (path.isAbsolute(raw))
|
|
106
|
+
return file_path;
|
|
107
|
+
const rel = path.relative(project_root, file_path);
|
|
108
|
+
if (rel === "" || rel.startsWith("..") || path.isAbsolute(rel))
|
|
109
|
+
return "";
|
|
110
|
+
return file_path;
|
|
81
111
|
}
|
|
82
112
|
async function write_resource_file(params) {
|
|
83
113
|
const hash = crypto.createHash("sha256").update(params.bytes).digest("hex");
|
|
@@ -98,21 +128,81 @@ async function write_resource_file(params) {
|
|
|
98
128
|
return file_path;
|
|
99
129
|
}
|
|
100
130
|
async function read_remote_resource(raw_url) {
|
|
101
|
-
const
|
|
102
|
-
if (!
|
|
103
|
-
throw new Error(`Failed to download assistant file resource: ${
|
|
131
|
+
const result = await fetch_with_retry(raw_url);
|
|
132
|
+
if (!result.ok) {
|
|
133
|
+
throw new Error(`Failed to download assistant file resource: ${result.status} :: url=${raw_url}`);
|
|
104
134
|
}
|
|
105
|
-
const array_buffer = await
|
|
135
|
+
const array_buffer = await result.arrayBuffer();
|
|
106
136
|
const bytes = Buffer.from(array_buffer);
|
|
107
137
|
if (bytes.length === 0) {
|
|
108
|
-
throw new Error(
|
|
138
|
+
throw new Error(`Downloaded assistant file resource is empty :: url=${raw_url}`);
|
|
109
139
|
}
|
|
110
140
|
return {
|
|
111
|
-
mediaType:
|
|
141
|
+
mediaType: result.headers.get("content-type")?.split(";")[0]?.trim(),
|
|
112
142
|
filename: filename_from_url(raw_url),
|
|
113
143
|
bytes,
|
|
114
144
|
};
|
|
115
145
|
}
|
|
146
|
+
/**
|
|
147
|
+
* 带重试的 fetch 远程资源。
|
|
148
|
+
*
|
|
149
|
+
* 关键点(中文)
|
|
150
|
+
* - 对 transient 网络错误(fetch failed / UND_ERR_* / ECONNRESET 等)做 2 次指数退避重试。
|
|
151
|
+
* - 最终失败时把 error.cause 链展开到 message,方便定位是代理问题、DNS 问题还是上游问题。
|
|
152
|
+
*/
|
|
153
|
+
async function fetch_with_retry(raw_url) {
|
|
154
|
+
const delays_ms = [250, 1_000];
|
|
155
|
+
const attempts = delays_ms.length + 1;
|
|
156
|
+
let last_error;
|
|
157
|
+
for (let attempt = 0; attempt < attempts; attempt += 1) {
|
|
158
|
+
try {
|
|
159
|
+
return await fetch(raw_url);
|
|
160
|
+
}
|
|
161
|
+
catch (error) {
|
|
162
|
+
last_error = error;
|
|
163
|
+
if (!is_transient_fetch_error(error) || attempt === attempts - 1) {
|
|
164
|
+
throw enrich_fetch_error(error, raw_url);
|
|
165
|
+
}
|
|
166
|
+
const delay_ms = delays_ms[attempt] ?? 1_000;
|
|
167
|
+
await new Promise((resolve) => setTimeout(resolve, delay_ms));
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
throw enrich_fetch_error(last_error, raw_url);
|
|
171
|
+
}
|
|
172
|
+
function is_transient_fetch_error(error) {
|
|
173
|
+
if (!(error instanceof Error))
|
|
174
|
+
return false;
|
|
175
|
+
const text = `${error.message} ${describe_error_cause(error)}`;
|
|
176
|
+
return /fetch failed|UND_ERR|ECONN(RESET|REFUSED|ABORTED)|ETIMEDOUT|EAI_AGAIN|ENOTFOUND|socket hang up/i.test(text);
|
|
177
|
+
}
|
|
178
|
+
function enrich_fetch_error(error, url) {
|
|
179
|
+
if (!(error instanceof Error)) {
|
|
180
|
+
return new Error(`Download failed: ${String(error)} :: url=${url}`);
|
|
181
|
+
}
|
|
182
|
+
const cause_text = describe_error_cause(error);
|
|
183
|
+
const enriched = new Error(`${error.message}${cause_text ? ` :: cause=${cause_text}` : ""} :: url=${url}`, error.cause ? { cause: error.cause } : undefined);
|
|
184
|
+
enriched.stack = error.stack;
|
|
185
|
+
return enriched;
|
|
186
|
+
}
|
|
187
|
+
function describe_error_cause(error) {
|
|
188
|
+
const parts = [];
|
|
189
|
+
let current = error.cause;
|
|
190
|
+
let depth = 0;
|
|
191
|
+
while (current && depth < 3) {
|
|
192
|
+
if (current instanceof Error) {
|
|
193
|
+
const code = current.code;
|
|
194
|
+
const code_text = typeof code === "string" && code ? `[${code}] ` : "";
|
|
195
|
+
parts.push(`${code_text}${current.message || current.name}`.trim());
|
|
196
|
+
current = current.cause;
|
|
197
|
+
}
|
|
198
|
+
else {
|
|
199
|
+
parts.push(String(current));
|
|
200
|
+
break;
|
|
201
|
+
}
|
|
202
|
+
depth += 1;
|
|
203
|
+
}
|
|
204
|
+
return parts.filter(Boolean).join(" -> ");
|
|
205
|
+
}
|
|
116
206
|
async function read_local_resource(projectRoot, raw_url) {
|
|
117
207
|
const raw = String(raw_url || "").trim();
|
|
118
208
|
const file_path = raw.startsWith("file://")
|
|
@@ -134,20 +224,55 @@ async function materialize_file_part(params) {
|
|
|
134
224
|
if (!raw_url) {
|
|
135
225
|
throw new Error("Assistant file part url is required");
|
|
136
226
|
}
|
|
137
|
-
if (raw_url.startsWith("resources://"))
|
|
138
|
-
return params.part;
|
|
139
227
|
const parsed_data_url = parse_data_url(raw_url);
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
228
|
+
if (parsed_data_url) {
|
|
229
|
+
const media_type = String(params.part.mediaType || parsed_data_url.media_type || "").trim() ||
|
|
230
|
+
"application/octet-stream";
|
|
231
|
+
const file_path = await write_resource_file({
|
|
232
|
+
projectRoot: params.projectRoot,
|
|
233
|
+
mediaType: media_type,
|
|
234
|
+
filename: typeof params.part.filename === "string" ? params.part.filename : undefined,
|
|
146
235
|
bytes: parsed_data_url.bytes,
|
|
236
|
+
});
|
|
237
|
+
return {
|
|
238
|
+
...params.part,
|
|
239
|
+
mediaType: media_type,
|
|
240
|
+
url: toAgentRelativePath({
|
|
241
|
+
projectRoot: params.projectRoot,
|
|
242
|
+
filePath: file_path,
|
|
243
|
+
}),
|
|
244
|
+
};
|
|
245
|
+
}
|
|
246
|
+
if (raw_url.startsWith("http://") || raw_url.startsWith("https://")) {
|
|
247
|
+
try {
|
|
248
|
+
const source = await read_remote_resource(raw_url);
|
|
249
|
+
const media_type = String(params.part.mediaType || source.mediaType || "").trim() ||
|
|
250
|
+
"application/octet-stream";
|
|
251
|
+
const file_path = await write_resource_file({
|
|
252
|
+
projectRoot: params.projectRoot,
|
|
253
|
+
mediaType: media_type,
|
|
254
|
+
filename: typeof params.part.filename === "string"
|
|
255
|
+
? params.part.filename
|
|
256
|
+
: source.filename,
|
|
257
|
+
bytes: source.bytes,
|
|
258
|
+
});
|
|
259
|
+
return {
|
|
260
|
+
...params.part,
|
|
261
|
+
mediaType: media_type,
|
|
262
|
+
url: toAgentRelativePath({
|
|
263
|
+
projectRoot: params.projectRoot,
|
|
264
|
+
filePath: file_path,
|
|
265
|
+
}),
|
|
266
|
+
};
|
|
147
267
|
}
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
268
|
+
catch (error) {
|
|
269
|
+
// 关键点(中文):远程下载失败时保留原始 URL,不让整张图导致 action 失败。
|
|
270
|
+
// 这样图片至少以链接形式存在,用户可手动点击或后续再试。
|
|
271
|
+
console.warn(`[AssistantFileResource] remote download failed, keeping original url :: ${describe_error_cause(error instanceof Error ? error : new Error(String(error)))} :: url=${raw_url}`);
|
|
272
|
+
return params.part;
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
const source = await read_local_resource(params.projectRoot, raw_url);
|
|
151
276
|
const media_type = String(params.part.mediaType || source.mediaType || "").trim() ||
|
|
152
277
|
"application/octet-stream";
|
|
153
278
|
const file_path = await write_resource_file({
|
|
@@ -161,11 +286,14 @@ async function materialize_file_part(params) {
|
|
|
161
286
|
return {
|
|
162
287
|
...params.part,
|
|
163
288
|
mediaType: media_type,
|
|
164
|
-
url:
|
|
289
|
+
url: toAgentRelativePath({
|
|
290
|
+
projectRoot: params.projectRoot,
|
|
291
|
+
filePath: file_path,
|
|
292
|
+
}),
|
|
165
293
|
};
|
|
166
294
|
}
|
|
167
295
|
/**
|
|
168
|
-
* 将 assistant file part 中的资源统一落盘为
|
|
296
|
+
* 将 assistant file part 中的资源统一落盘为 Agent 根目录相对路径。
|
|
169
297
|
*/
|
|
170
298
|
export async function materializeAssistantFileParts(params) {
|
|
171
299
|
const parts = Array.isArray(params.parts) ? params.parts : [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AssistantFileResource.js","sourceRoot":"","sources":["../../../src/executor/messages/AssistantFileResource.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AssistantFileResource.js","sourceRoot":"","sources":["../../../src/executor/messages/AssistantFileResource.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* - 兼容 Telegram / Feishu / TUI 等统一的 `<file>` 协议入口。
|
|
6
6
|
* - 仅在本轮执行的内存消息上追加 file parts,不修改持久化历史。
|
|
7
7
|
* - 当前只为图片与 PDF 注入 file part,保持多模态模型可直接消费。
|
|
8
|
-
* -
|
|
8
|
+
* - 历史中的相对路径与旧版 `file://` 会在喂给模型前临时 hydrate。
|
|
9
9
|
*/
|
|
10
10
|
import type { SessionMessageV1 } from "../../executor/types/SessionMessages.js";
|
|
11
11
|
/**
|
|
@@ -13,11 +13,11 @@ import type { SessionMessageV1 } from "../../executor/types/SessionMessages.js";
|
|
|
13
13
|
*
|
|
14
14
|
* 关键点(中文)
|
|
15
15
|
* - 该函数只修改本轮内存消息,不回写历史。
|
|
16
|
-
* - 新历史保留
|
|
16
|
+
* - 新历史保留 Agent 根目录相对路径,旧历史的 `file://` 仍继续兼容。
|
|
17
17
|
*/
|
|
18
18
|
export declare function hydrateFileUrlPartsForModel(messages: SessionMessageV1[], projectRoot?: string): Promise<SessionMessageV1[]>;
|
|
19
19
|
/**
|
|
20
20
|
* 在 user 消息上注入 FileUIPart,以便多模态模型直接消费本地附件。
|
|
21
21
|
*/
|
|
22
|
-
export declare function injectFilePartsFromAttachments(messages: SessionMessageV1[]): Promise<SessionMessageV1[]>;
|
|
22
|
+
export declare function injectFilePartsFromAttachments(messages: SessionMessageV1[], projectRoot?: string): Promise<SessionMessageV1[]>;
|
|
23
23
|
//# sourceMappingURL=SessionAttachmentMapper.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionAttachmentMapper.d.ts","sourceRoot":"","sources":["../../../src/executor/messages/SessionAttachmentMapper.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAUH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"SessionAttachmentMapper.d.ts","sourceRoot":"","sources":["../../../src/executor/messages/SessionAttachmentMapper.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAUH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAsF5E;;;;;;GAMG;AACH,wBAAsB,2BAA2B,CAC/C,QAAQ,EAAE,gBAAgB,EAAE,EAC5B,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,gBAAgB,EAAE,CAAC,CA2B7B;AAED;;GAEG;AACH,wBAAsB,8BAA8B,CAClD,QAAQ,EAAE,gBAAgB,EAAE,EAC5B,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAsF7B"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* - 兼容 Telegram / Feishu / TUI 等统一的 `<file>` 协议入口。
|
|
6
6
|
* - 仅在本轮执行的内存消息上追加 file parts,不修改持久化历史。
|
|
7
7
|
* - 当前只为图片与 PDF 注入 file part,保持多模态模型可直接消费。
|
|
8
|
-
* -
|
|
8
|
+
* - 历史中的相对路径与旧版 `file://` 会在喂给模型前临时 hydrate。
|
|
9
9
|
*/
|
|
10
10
|
import fs from "fs-extra";
|
|
11
11
|
import path from "node:path";
|
|
@@ -64,16 +64,16 @@ function buildDataUrl(mediaType, buffer) {
|
|
|
64
64
|
const safeType = mediaType || "application/octet-stream";
|
|
65
65
|
return `data:${safeType};base64,${base64}`;
|
|
66
66
|
}
|
|
67
|
-
function
|
|
68
|
-
const
|
|
69
|
-
|
|
70
|
-
if (!raw.startsWith(prefix))
|
|
71
|
-
return null;
|
|
72
|
-
const relative = raw.slice(prefix.length).replace(/^\/+/, "");
|
|
73
|
-
if (!relative)
|
|
67
|
+
function resolveHydratableFilePath(projectRoot, rawPath) {
|
|
68
|
+
const raw = String(rawPath || "").trim();
|
|
69
|
+
if (!raw || raw.startsWith("data:") || /^https?:\/\//i.test(raw))
|
|
74
70
|
return null;
|
|
71
|
+
if (raw.startsWith("file://"))
|
|
72
|
+
return fileURLToPath(raw);
|
|
73
|
+
if (path.isAbsolute(raw))
|
|
74
|
+
return path.resolve(raw);
|
|
75
75
|
const root = path.resolve(String(projectRoot || "").trim() || process.cwd());
|
|
76
|
-
const absPath = path.resolve(root,
|
|
76
|
+
const absPath = path.resolve(root, raw);
|
|
77
77
|
const rel = path.relative(root, absPath);
|
|
78
78
|
if (rel === "" || rel.startsWith("..") || path.isAbsolute(rel))
|
|
79
79
|
return null;
|
|
@@ -81,14 +81,13 @@ function resolveResourcesUrlPath(projectRoot, rawUrl) {
|
|
|
81
81
|
}
|
|
82
82
|
async function hydrateFileUrlPart(part, projectRoot) {
|
|
83
83
|
const url = String(part.url || "").trim();
|
|
84
|
-
const
|
|
85
|
-
if (!
|
|
84
|
+
const filePath = resolveHydratableFilePath(projectRoot, url);
|
|
85
|
+
if (!filePath)
|
|
86
86
|
return part;
|
|
87
87
|
try {
|
|
88
|
-
const
|
|
89
|
-
const buffer = await fs.readFile(absPath);
|
|
88
|
+
const buffer = await fs.readFile(filePath);
|
|
90
89
|
const mediaType = String(part.mediaType || "").trim() ||
|
|
91
|
-
guessAttachmentMediaTypeFromPath(
|
|
90
|
+
guessAttachmentMediaTypeFromPath(filePath) ||
|
|
92
91
|
"application/octet-stream";
|
|
93
92
|
return {
|
|
94
93
|
...part,
|
|
@@ -105,7 +104,7 @@ async function hydrateFileUrlPart(part, projectRoot) {
|
|
|
105
104
|
*
|
|
106
105
|
* 关键点(中文)
|
|
107
106
|
* - 该函数只修改本轮内存消息,不回写历史。
|
|
108
|
-
* - 新历史保留
|
|
107
|
+
* - 新历史保留 Agent 根目录相对路径,旧历史的 `file://` 仍继续兼容。
|
|
109
108
|
*/
|
|
110
109
|
export async function hydrateFileUrlPartsForModel(messages, projectRoot) {
|
|
111
110
|
if (!Array.isArray(messages) || messages.length === 0)
|
|
@@ -136,10 +135,10 @@ export async function hydrateFileUrlPartsForModel(messages, projectRoot) {
|
|
|
136
135
|
/**
|
|
137
136
|
* 在 user 消息上注入 FileUIPart,以便多模态模型直接消费本地附件。
|
|
138
137
|
*/
|
|
139
|
-
export async function injectFilePartsFromAttachments(messages) {
|
|
138
|
+
export async function injectFilePartsFromAttachments(messages, projectRoot) {
|
|
140
139
|
if (!Array.isArray(messages) || messages.length === 0)
|
|
141
140
|
return messages;
|
|
142
|
-
const
|
|
141
|
+
const root = path.resolve(String(projectRoot || "").trim() || process.cwd());
|
|
143
142
|
const out = [];
|
|
144
143
|
for (const message of messages) {
|
|
145
144
|
if (!message || typeof message !== "object" || message.role !== "user") {
|
|
@@ -183,7 +182,7 @@ export async function injectFilePartsFromAttachments(messages) {
|
|
|
183
182
|
}
|
|
184
183
|
const absPath = path.isAbsolute(attachment.path)
|
|
185
184
|
? attachment.path
|
|
186
|
-
: path.resolve(
|
|
185
|
+
: path.resolve(root, attachment.path);
|
|
187
186
|
try {
|
|
188
187
|
const exists = await fs.pathExists(absPath);
|
|
189
188
|
if (!exists)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionAttachmentMapper.js","sourceRoot":"","sources":["../../../src/executor/messages/SessionAttachmentMapper.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EACL,YAAY,EACZ,YAAY,GAEb,MAAM,IAAI,CAAC;AAEZ,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAElF;;GAEG;AACH,SAAS,4BAA4B,CAAC,IAAY;IAKhD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAC/B,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,CAAC;IAC3B,OAAO,sBAAsB,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACtD,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,GAAG,CAAC,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;YACzD,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;YAClC,CAAC,CAAC,EAAE,CAAC;KACR,CAAC,CAAC,CAAC;AACN,CAAC;AAED,SAAS,gCAAgC,CAAC,QAAgB;IACxD,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IACzD,IAAI,GAAG,KAAK,MAAM;QAAE,OAAO,WAAW,CAAC;IACvC,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,OAAO;QAAE,OAAO,YAAY,CAAC;IAC3D,IAAI,GAAG,KAAK,OAAO;QAAE,OAAO,YAAY,CAAC;IACzC,IAAI,GAAG,KAAK,MAAM;QAAE,OAAO,WAAW,CAAC;IACvC,IAAI,GAAG,KAAK,MAAM;QAAE,OAAO,iBAAiB,CAAC;IAC7C,IAAI,GAAG,KAAK,MAAM;QAAE,OAAO,iBAAiB,CAAC;IAC7C,IAAI,GAAG,KAAK,MAAM;QAAE,OAAO,YAAY,CAAC;IACxC,IAAI,GAAG,KAAK,MAAM;QAAE,OAAO,WAAW,CAAC;IACvC,IAAI,GAAG,KAAK,MAAM;QAAE,OAAO,WAAW,CAAC;IACvC,IAAI,GAAG,KAAK,OAAO;QAAE,OAAO,YAAY,CAAC;IACzC,IAAI,GAAG,KAAK,MAAM;QAAE,OAAO,WAAW,CAAC;IACvC,IAAI,GAAG,KAAK,MAAM;QAAE,OAAO,iBAAiB,CAAC;IAC7C,IAAI,GAAG,KAAK,OAAO;QAAE,OAAO,YAAY,CAAC;IACzC,IAAI,GAAG,KAAK,MAAM;QAAE,OAAO,aAAa,CAAC;IACzC,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,YAAY,CAAC,SAAiB,EAAE,MAAc;IACrD,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,SAAS,IAAI,0BAA0B,CAAC;IACzD,OAAO,QAAQ,QAAQ,WAAW,MAAM,EAAE,CAAC;AAC7C,CAAC;AAED,SAAS,
|
|
1
|
+
{"version":3,"file":"SessionAttachmentMapper.js","sourceRoot":"","sources":["../../../src/executor/messages/SessionAttachmentMapper.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionMessageCodec.d.ts","sourceRoot":"","sources":["../../../src/executor/messages/SessionMessageCodec.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAGL,KAAK,YAAY,EACjB,KAAK,IAAI,EAEV,MAAM,IAAI,CAAC;AACZ,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAM5E;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,gBAAgB,EAAE,GAC3B,gBAAgB,EAAE,CA6BpB;AAED;;;;;;;GAOG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,gBAAgB,EAAE,EAC5B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,EAC3B,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,YAAY,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"SessionMessageCodec.d.ts","sourceRoot":"","sources":["../../../src/executor/messages/SessionMessageCodec.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAGL,KAAK,YAAY,EACjB,KAAK,IAAI,EAEV,MAAM,IAAI,CAAC;AACZ,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAM5E;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,gBAAgB,EAAE,GAC3B,gBAAgB,EAAE,CA6BpB;AAED;;;;;;;GAOG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,gBAAgB,EAAE,EAC5B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,EAC3B,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,YAAY,EAAE,CAAC,CAgCzB;AAED;;;;;;GAMG;AACH,wBAAgB,mCAAmC,IAAI;IACrD,MAAM,EAAE;QACN,KAAK,EAAE,OAAO,CAAC;KAChB,CAAC;CACH,CAQA"}
|
|
@@ -58,7 +58,7 @@ export async function toModelMessages(messages, tools, projectRoot) {
|
|
|
58
58
|
if (!Array.isArray(messages) || messages.length === 0)
|
|
59
59
|
return [];
|
|
60
60
|
// 第一步(中文):在 user 消息上注入 file parts(多模态附件)。
|
|
61
|
-
const enrichedMessages = await injectFilePartsFromAttachments(messages);
|
|
61
|
+
const enrichedMessages = await injectFilePartsFromAttachments(messages, projectRoot);
|
|
62
62
|
// 第二步(中文):把历史里的资源 URL 在内存中 hydrate 成模型可消费的 data URL。
|
|
63
63
|
const hydratedMessages = await hydrateFileUrlPartsForModel(enrichedMessages, projectRoot);
|
|
64
64
|
// 第三步(中文):转换前先剔除 UI 层 id 字段,仅保留模型需要的数据结构。
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionMessageCodec.js","sourceRoot":"","sources":["../../../src/executor/messages/SessionMessageCodec.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,sBAAsB,EACtB,YAAY,GAIb,MAAM,IAAI,CAAC;AAEZ,OAAO,EACL,2BAA2B,EAC3B,8BAA8B,GAC/B,MAAM,+CAA+C,CAAC;AAEvD;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB,CACpC,QAA4B;IAE5B,iCAAiC;IACjC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;QAAE,OAAO,EAAE,CAAC;IAExC,UAAU;IACV,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;QACjC,gBAAgB;QAChB,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QAE1D,oBAAoB;QACpB,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO,KAAK,CAAC;QAE1C,oBAAoB;QACpB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QAEhD,8BAA8B;QAC9B,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK;YACxB,oBAAoB;aACnB,MAAM,CAAC,YAAY,CAAC;YACrB,qBAAqB;aACpB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;YACvC,aAAa;aACZ,IAAI,CAAC,IAAI,CAAC;YACX,UAAU;aACT,IAAI,EAAE,CAAC;QAEV,iBAAiB;QACjB,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,QAA4B,EAC5B,KAA2B,EAC3B,WAAoB;IAEpB,wBAAwB;IACxB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEjE,0CAA0C;IAC1C,MAAM,gBAAgB,GAAG,MAAM,8BAA8B,
|
|
1
|
+
{"version":3,"file":"SessionMessageCodec.js","sourceRoot":"","sources":["../../../src/executor/messages/SessionMessageCodec.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,sBAAsB,EACtB,YAAY,GAIb,MAAM,IAAI,CAAC;AAEZ,OAAO,EACL,2BAA2B,EAC3B,8BAA8B,GAC/B,MAAM,+CAA+C,CAAC;AAEvD;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB,CACpC,QAA4B;IAE5B,iCAAiC;IACjC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;QAAE,OAAO,EAAE,CAAC;IAExC,UAAU;IACV,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;QACjC,gBAAgB;QAChB,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QAE1D,oBAAoB;QACpB,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO,KAAK,CAAC;QAE1C,oBAAoB;QACpB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QAEhD,8BAA8B;QAC9B,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK;YACxB,oBAAoB;aACnB,MAAM,CAAC,YAAY,CAAC;YACrB,qBAAqB;aACpB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;YACvC,aAAa;aACZ,IAAI,CAAC,IAAI,CAAC;YACX,UAAU;aACT,IAAI,EAAE,CAAC;QAEV,iBAAiB;QACjB,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,QAA4B,EAC5B,KAA2B,EAC3B,WAAoB;IAEpB,wBAAwB;IACxB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEjE,0CAA0C;IAC1C,MAAM,gBAAgB,GAAG,MAAM,8BAA8B,CAC3D,QAAQ,EACR,WAAW,CACZ,CAAC;IAEF,qDAAqD;IACrD,MAAM,gBAAgB,GAAG,MAAM,2BAA2B,CACxD,gBAAgB,EAChB,WAAW,CACZ,CAAC;IAEF,0CAA0C;IAC1C,MAAM,KAAK,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7C,WAAW;QACX,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;QAErC,UAAU;QACV,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,mBAAmB;IACnB,OAAO,MAAM,sBAAsB,CAAC,KAAK,EAAE;QACzC,uBAAuB;QACvB,GAAG,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9E,uBAAuB;QACvB,yBAAyB,EAAE,IAAI;KAChC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,mCAAmC;IAKjD,sBAAsB;IACtB,OAAO;QACL,MAAM,EAAE;YACN,mBAAmB;YACnB,KAAK,EAAE,KAAK;SACb;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PluginToolBridge.d.ts","sourceRoot":"","sources":["../../../../src/executor/tools/plugin/PluginToolBridge.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EACV,eAAe,EAEf,oBAAoB,EACpB,eAAe,EACf,oBAAoB,EACrB,MAAM,6CAA6C,CAAC;
|
|
1
|
+
{"version":3,"file":"PluginToolBridge.d.ts","sourceRoot":"","sources":["../../../../src/executor/tools/plugin/PluginToolBridge.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EACV,eAAe,EAEf,oBAAoB,EACpB,eAAe,EACf,oBAAoB,EACrB,MAAM,6CAA6C,CAAC;AAYrD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,CAE7D;AAwFD;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,eAAe,GACrB,OAAO,CAAC,oBAAoB,CAAC,CAsE/B;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,eAAe,GACrB,OAAO,CAAC,oBAAoB,CAAC,CAqB/B"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* - 返回给模型的 tool result 只保留短摘要和本地绝对路径,避免 data URL 等大内容污染上下文。
|
|
8
8
|
*/
|
|
9
9
|
import path from "node:path";
|
|
10
|
-
import { materializeAssistantFileParts } from "../../messages/AssistantFileResource.js";
|
|
10
|
+
import { materializeAssistantFileParts, resolveAgentFilePath, } from "../../messages/AssistantFileResource.js";
|
|
11
11
|
import { enqueueAssistantFileParts, getSessionRunContext, } from "../../SessionRunScope.js";
|
|
12
12
|
let plugin_tool_runtime = null;
|
|
13
13
|
/**
|
|
@@ -58,34 +58,23 @@ function resolve_project_root(project_root) {
|
|
|
58
58
|
const raw = String(project_root || "").trim();
|
|
59
59
|
return path.resolve(raw || process.cwd());
|
|
60
60
|
}
|
|
61
|
-
/**
|
|
62
|
-
* 将 `resources://` URL 转成本机绝对路径。
|
|
63
|
-
*/
|
|
64
|
-
function resolve_resources_file_path(project_root, raw_url) {
|
|
65
|
-
const prefix = "resources://";
|
|
66
|
-
const raw = String(raw_url || "").trim();
|
|
67
|
-
if (!raw.startsWith(prefix))
|
|
68
|
-
return "";
|
|
69
|
-
const relative = raw.slice(prefix.length).replace(/^\/+/, "");
|
|
70
|
-
if (!relative)
|
|
71
|
-
return "";
|
|
72
|
-
const file_path = path.resolve(project_root, relative);
|
|
73
|
-
const rel = path.relative(project_root, file_path);
|
|
74
|
-
if (rel === "" || rel.startsWith("..") || path.isAbsolute(rel))
|
|
75
|
-
return "";
|
|
76
|
-
return file_path;
|
|
77
|
-
}
|
|
78
61
|
/**
|
|
79
62
|
* 构建返回给模型和用户可见的文件摘要。
|
|
80
63
|
*/
|
|
81
64
|
function summarize_materialized_files(parts, project_root) {
|
|
82
|
-
return parts.map((part, index) =>
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
65
|
+
return parts.map((part, index) => {
|
|
66
|
+
const relative_path = String(part.url || "");
|
|
67
|
+
return {
|
|
68
|
+
index,
|
|
69
|
+
media_type: part.mediaType,
|
|
70
|
+
filename: typeof part.filename === "string" ? part.filename : "",
|
|
71
|
+
relative_path,
|
|
72
|
+
path: resolveAgentFilePath({
|
|
73
|
+
projectRoot: project_root,
|
|
74
|
+
filePath: relative_path,
|
|
75
|
+
}),
|
|
76
|
+
};
|
|
77
|
+
});
|
|
89
78
|
}
|
|
90
79
|
/**
|
|
91
80
|
* 生成给模型读取的短摘要。
|