@downcity/plugins 1.0.103 → 1.0.108
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/image/ImagePlugin.d.ts +4 -0
- package/bin/image/ImagePlugin.d.ts.map +1 -1
- package/bin/image/ImagePlugin.js +160 -16
- package/bin/image/ImagePlugin.js.map +1 -1
- package/bin/image/types/ImagePlugin.d.ts +24 -0
- package/bin/image/types/ImagePlugin.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/image/ImagePlugin.ts +171 -17
- package/src/image/types/ImagePlugin.ts +24 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImagePlugin.d.ts","sourceRoot":"","sources":["../../src/image/ImagePlugin.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,OAAO,EAAE,UAAU,EAAE,MAAM,oDAAoD,CAAC;AAChF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8DAA8D,CAAC;AACjG,OAAO,KAAK,EACV,UAAU,EACV,SAAS,EACV,MAAM,+CAA+C,CAAC;AACvD,OAAO,KAAK,EAQV,kBAAkB,EAInB,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"ImagePlugin.d.ts","sourceRoot":"","sources":["../../src/image/ImagePlugin.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,OAAO,EAAE,UAAU,EAAE,MAAM,oDAAoD,CAAC;AAChF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8DAA8D,CAAC;AACjG,OAAO,KAAK,EACV,UAAU,EACV,SAAS,EACV,MAAM,+CAA+C,CAAC;AACvD,OAAO,KAAK,EAQV,kBAAkB,EAInB,MAAM,8BAA8B,CAAC;AA6ZtC;;GAEG;AACH,qBAAa,WAAY,SAAQ,UAAU;IACzC;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAkD;IAC/E,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAkD;IAC/E,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAoC;IACjE,OAAO,CAAC,gBAAgB,CAAC,CAAS;gBAEtB,OAAO,EAAE,kBAAkB;IAsBvC;;OAEG;IACH,MAAM,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM;IAmCtC;;OAEG;YACW,kBAAkB;YAQlB,wBAAwB;IAQtC;;OAEG;YACW,iBAAiB;IA6B/B;;OAEG;YACW,cAAc;IAS5B;;OAEG;IACH,QAAQ,CAAC,OAAO;;;;MAoMd;CACH"}
|
package/bin/image/ImagePlugin.js
CHANGED
|
@@ -16,6 +16,68 @@ const DEFAULT_IMAGE_PLUGIN_TITLE = "Image";
|
|
|
16
16
|
const DEFAULT_IMAGE_PLUGIN_DESCRIPTION = "Generate images and return them as assistant file parts.";
|
|
17
17
|
const HTTP_URL_RE = /^https?:\/\//i;
|
|
18
18
|
const DEFAULT_IMAGE_MEDIA_TYPE = "image/png";
|
|
19
|
+
/**
|
|
20
|
+
* `image_result` 阻塞等待时的默认参数。
|
|
21
|
+
*
|
|
22
|
+
* 关键点(中文)
|
|
23
|
+
* - DEFAULT_IMAGE_WAIT_MS:总等待上限(毫秒),避免 agent 单次调用挂太久。
|
|
24
|
+
* - DEFAULT_IMAGE_POLL_MS:相邻两次轮询的最小间隔(毫秒)。
|
|
25
|
+
* - MAX_IMAGE_WAIT_MS:用户参数硬上限,防止异常值导致 agent 永远等下去。
|
|
26
|
+
*/
|
|
27
|
+
const DEFAULT_IMAGE_WAIT_MS = 60_000;
|
|
28
|
+
const DEFAULT_IMAGE_POLL_MS = 1_500;
|
|
29
|
+
const MAX_IMAGE_WAIT_MS = 10 * 60_000;
|
|
30
|
+
/**
|
|
31
|
+
* 判断任务状态是否已到达终态。
|
|
32
|
+
*/
|
|
33
|
+
function is_terminal_status(status) {
|
|
34
|
+
return status === "succeeded" || status === "failed";
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* sleep 工具。
|
|
38
|
+
*/
|
|
39
|
+
function delay_ms(ms) {
|
|
40
|
+
return new Promise((resolve) => setTimeout(resolve, Math.max(0, ms)));
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* 把外部传入的等待参数夹到合法区间。
|
|
44
|
+
*/
|
|
45
|
+
function clamp_wait_ms(value) {
|
|
46
|
+
if (!Number.isFinite(value) || value < 0)
|
|
47
|
+
return 0;
|
|
48
|
+
if (value > MAX_IMAGE_WAIT_MS)
|
|
49
|
+
return MAX_IMAGE_WAIT_MS;
|
|
50
|
+
return Math.floor(value);
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* 把异常完整描述为字符串,保留 `error.cause` 链上的诊断信息。
|
|
54
|
+
*
|
|
55
|
+
* 关键点(中文)
|
|
56
|
+
* - Node fetch 抛出的 `TypeError: fetch failed` 把真正的根因放在 `error.cause`;
|
|
57
|
+
* `String(error)` 只会拿到 message,会让上层只看到一个干瘪的 "fetch failed"。
|
|
58
|
+
* - 这里递归读取 cause 链,并取每一层的 `code` + `message`,方便在 agent 输出里直接定位问题。
|
|
59
|
+
*/
|
|
60
|
+
function describe_error(error) {
|
|
61
|
+
if (!(error instanceof Error))
|
|
62
|
+
return String(error);
|
|
63
|
+
const parts = [error.message || error.name || "Error"];
|
|
64
|
+
let current = error.cause;
|
|
65
|
+
let depth = 0;
|
|
66
|
+
while (current && depth < 3) {
|
|
67
|
+
if (current instanceof Error) {
|
|
68
|
+
const code = current.code;
|
|
69
|
+
const code_text = typeof code === "string" && code ? `[${code}] ` : "";
|
|
70
|
+
parts.push(`${code_text}${current.message || current.name}`.trim());
|
|
71
|
+
current = current.cause;
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
parts.push(String(current));
|
|
75
|
+
break;
|
|
76
|
+
}
|
|
77
|
+
depth += 1;
|
|
78
|
+
}
|
|
79
|
+
return parts.filter(Boolean).join(" :: ");
|
|
80
|
+
}
|
|
19
81
|
const IMAGE_MEDIA_TYPES = {
|
|
20
82
|
".apng": "image/apng",
|
|
21
83
|
".avif": "image/avif",
|
|
@@ -53,6 +115,9 @@ const IMAGE_CREATE_INPUT_SCHEMA = z.object({
|
|
|
53
115
|
}).passthrough();
|
|
54
116
|
const IMAGE_RESULT_INPUT_SCHEMA = z.object({
|
|
55
117
|
job_id: z.string(),
|
|
118
|
+
until_done: z.boolean().optional(),
|
|
119
|
+
max_wait_ms: z.number().optional(),
|
|
120
|
+
poll_interval_ms: z.number().optional(),
|
|
56
121
|
}).passthrough();
|
|
57
122
|
/**
|
|
58
123
|
* 判断值是否为普通对象。
|
|
@@ -188,9 +253,20 @@ function normalize_image_result_payload(payload) {
|
|
|
188
253
|
if (!job_id) {
|
|
189
254
|
throw new TypeError("ImagePlugin.image_result payload must include job_id");
|
|
190
255
|
}
|
|
256
|
+
const until_done = record.until_done === true;
|
|
257
|
+
const max_wait_ms = typeof record.max_wait_ms === "number" && Number.isFinite(record.max_wait_ms)
|
|
258
|
+
? Math.max(0, Math.floor(record.max_wait_ms))
|
|
259
|
+
: undefined;
|
|
260
|
+
const poll_interval_ms = typeof record.poll_interval_ms === "number" &&
|
|
261
|
+
Number.isFinite(record.poll_interval_ms)
|
|
262
|
+
? Math.max(0, Math.floor(record.poll_interval_ms))
|
|
263
|
+
: undefined;
|
|
191
264
|
return {
|
|
192
265
|
...record,
|
|
193
266
|
job_id,
|
|
267
|
+
...(until_done ? { until_done: true } : {}),
|
|
268
|
+
...(max_wait_ms !== undefined ? { max_wait_ms } : {}),
|
|
269
|
+
...(poll_interval_ms !== undefined ? { poll_interval_ms } : {}),
|
|
194
270
|
};
|
|
195
271
|
}
|
|
196
272
|
/**
|
|
@@ -341,14 +417,34 @@ export class ImagePlugin extends BasePlugin {
|
|
|
341
417
|
return [
|
|
342
418
|
"# Image Plugin",
|
|
343
419
|
"",
|
|
344
|
-
"Use this plugin only when the user asks to create or
|
|
345
|
-
"
|
|
346
|
-
"
|
|
347
|
-
"
|
|
348
|
-
"
|
|
349
|
-
"`
|
|
350
|
-
"
|
|
351
|
-
"
|
|
420
|
+
"Use this plugin only when the user asks to create, edit, or otherwise produce an image.",
|
|
421
|
+
"Do not call it for ordinary text answers, even if the message mentions visual ideas.",
|
|
422
|
+
"",
|
|
423
|
+
"## Actions",
|
|
424
|
+
"",
|
|
425
|
+
"- `models`:列出当前可用的图片模型,返回 `{ models, default_model_id }`。",
|
|
426
|
+
" 仅当你需要让用户挑模型,或当前没有默认模型可用时才调用。",
|
|
427
|
+
"- `image_create`:创建一个异步图片任务,返回 `{ job_id, status }`。",
|
|
428
|
+
" - 纯文本生成:填 `prompt`(字符串)。",
|
|
429
|
+
" - 编辑 / 参考图:填 `content`,格式:",
|
|
430
|
+
" `[{ type: \"text\", text }, { type: \"image\", url }]`。可以多段文本和多张图任意顺序混排。",
|
|
431
|
+
" - 同时给了 `content` 和 `prompt` 时,`content` 生效,`prompt` 被忽略。",
|
|
432
|
+
" - `url` 支持三种写法:在线 URL、绝对本地路径、相对 Agent 项目根目录的相对路径。",
|
|
433
|
+
" 不要传 base64 / data URL,也不要再用旧的 `messages` 字段。",
|
|
434
|
+
" - 可选参数:`model`、`aspect_ratio`(如 `16:9`)、`size`(如 `1024x1024`)、`quality`、`seed`。",
|
|
435
|
+
"- `image_result`:用 `job_id` 读取任务状态。",
|
|
436
|
+
" - 默认读取一次。`queued` / `running` 时保存好 `job_id`,下一轮再查,不要在同一轮里反复轮询。",
|
|
437
|
+
" - 想直接等到出图,可以传 `until_done: true`,可选 `max_wait_ms`(默认 60000,最长 600000)与 `poll_interval_ms`(默认 1500)。超时仍未完成会返回最后一次的中间状态。",
|
|
438
|
+
" - `succeeded`:返回的图片 file part 会自动落盘并附加到下一条 assistant 消息,无需自己再拼图。",
|
|
439
|
+
" - `failed`:把 `error` 信息如实回报给用户,不要编造图片结果。",
|
|
440
|
+
"",
|
|
441
|
+
"## Flow",
|
|
442
|
+
"",
|
|
443
|
+
"1. 需要选模型时先 `models`,否则直接进入第 2 步。",
|
|
444
|
+
"2. `image_create` 拿到 `job_id`。",
|
|
445
|
+
"3. `image_result` 查询;短任务可加 `until_done: true` 一次拿结果,长任务保存 `job_id` 下一轮再查。",
|
|
446
|
+
"",
|
|
447
|
+
"如有疑问可用 `plugin_read { plugin: \"image\", action: \"...\" }` 查看每个 action 完整的输入 schema 与示例。",
|
|
352
448
|
].join("\n");
|
|
353
449
|
}
|
|
354
450
|
/**
|
|
@@ -373,7 +469,35 @@ export class ImagePlugin extends BasePlugin {
|
|
|
373
469
|
* 查询图片任务当前状态。
|
|
374
470
|
*/
|
|
375
471
|
async read_image_result(input) {
|
|
376
|
-
const
|
|
472
|
+
const first = await this.fetch_job_once(input.job_id);
|
|
473
|
+
if (!input.until_done)
|
|
474
|
+
return first;
|
|
475
|
+
if (is_terminal_status(first.status))
|
|
476
|
+
return first;
|
|
477
|
+
const deadline = Date.now() + clamp_wait_ms(input.max_wait_ms ?? DEFAULT_IMAGE_WAIT_MS);
|
|
478
|
+
const base_interval = clamp_wait_ms(input.poll_interval_ms ?? DEFAULT_IMAGE_POLL_MS);
|
|
479
|
+
let current = first;
|
|
480
|
+
while (Date.now() < deadline) {
|
|
481
|
+
const provider_hint = typeof current.poll_after_ms === "number" && current.poll_after_ms > 0
|
|
482
|
+
? Math.floor(current.poll_after_ms)
|
|
483
|
+
: 0;
|
|
484
|
+
const wait_ms = Math.max(base_interval, provider_hint);
|
|
485
|
+
const remaining = Math.max(0, deadline - Date.now());
|
|
486
|
+
const sleep_ms = Math.min(wait_ms, remaining);
|
|
487
|
+
if (sleep_ms === 0)
|
|
488
|
+
break;
|
|
489
|
+
await delay_ms(sleep_ms);
|
|
490
|
+
current = await this.fetch_job_once(input.job_id);
|
|
491
|
+
if (is_terminal_status(current.status))
|
|
492
|
+
return current;
|
|
493
|
+
}
|
|
494
|
+
return current;
|
|
495
|
+
}
|
|
496
|
+
/**
|
|
497
|
+
* 拉取一次任务状态并校验。
|
|
498
|
+
*/
|
|
499
|
+
async fetch_job_once(job_id) {
|
|
500
|
+
const current = await this.image_result({ job_id });
|
|
377
501
|
validate_job_result(current);
|
|
378
502
|
if (current.status === "succeeded" && current.result) {
|
|
379
503
|
normalize_image_result(current.result);
|
|
@@ -407,8 +531,8 @@ export class ImagePlugin extends BasePlugin {
|
|
|
407
531
|
catch (error) {
|
|
408
532
|
return {
|
|
409
533
|
success: false,
|
|
410
|
-
error:
|
|
411
|
-
message:
|
|
534
|
+
error: describe_error(error),
|
|
535
|
+
message: describe_error(error),
|
|
412
536
|
};
|
|
413
537
|
}
|
|
414
538
|
},
|
|
@@ -494,14 +618,14 @@ export class ImagePlugin extends BasePlugin {
|
|
|
494
618
|
catch (error) {
|
|
495
619
|
return {
|
|
496
620
|
success: false,
|
|
497
|
-
error:
|
|
498
|
-
message:
|
|
621
|
+
error: describe_error(error),
|
|
622
|
+
message: describe_error(error),
|
|
499
623
|
};
|
|
500
624
|
}
|
|
501
625
|
},
|
|
502
626
|
}),
|
|
503
627
|
image_result: createAction({
|
|
504
|
-
description: "Read
|
|
628
|
+
description: "Read an async image job. By default reads once; pass until_done=true to block-wait until succeeded/failed or max_wait_ms times out.",
|
|
505
629
|
input_schema: {
|
|
506
630
|
zod: IMAGE_RESULT_INPUT_SCHEMA,
|
|
507
631
|
json_schema: {
|
|
@@ -512,6 +636,18 @@ export class ImagePlugin extends BasePlugin {
|
|
|
512
636
|
type: "string",
|
|
513
637
|
description: "Image job id returned by image_create.",
|
|
514
638
|
},
|
|
639
|
+
until_done: {
|
|
640
|
+
type: "boolean",
|
|
641
|
+
description: "If true, the plugin internally polls until the job reaches a terminal state (succeeded/failed) or max_wait_ms elapses.",
|
|
642
|
+
},
|
|
643
|
+
max_wait_ms: {
|
|
644
|
+
type: "number",
|
|
645
|
+
description: "Total wait budget in milliseconds when until_done is true. Default 60000, hard cap 600000.",
|
|
646
|
+
},
|
|
647
|
+
poll_interval_ms: {
|
|
648
|
+
type: "number",
|
|
649
|
+
description: "Minimum delay between polls in milliseconds when until_done is true. Default 1500. Provider poll_after_ms overrides when larger.",
|
|
650
|
+
},
|
|
515
651
|
},
|
|
516
652
|
},
|
|
517
653
|
},
|
|
@@ -522,6 +658,14 @@ export class ImagePlugin extends BasePlugin {
|
|
|
522
658
|
job_id: "img_123",
|
|
523
659
|
},
|
|
524
660
|
},
|
|
661
|
+
{
|
|
662
|
+
title: "Wait until done",
|
|
663
|
+
payload: {
|
|
664
|
+
job_id: "img_123",
|
|
665
|
+
until_done: true,
|
|
666
|
+
max_wait_ms: 30000,
|
|
667
|
+
},
|
|
668
|
+
},
|
|
525
669
|
],
|
|
526
670
|
execute: async ({ payload }) => {
|
|
527
671
|
try {
|
|
@@ -549,8 +693,8 @@ export class ImagePlugin extends BasePlugin {
|
|
|
549
693
|
catch (error) {
|
|
550
694
|
return {
|
|
551
695
|
success: false,
|
|
552
|
-
error:
|
|
553
|
-
message:
|
|
696
|
+
error: describe_error(error),
|
|
697
|
+
message: describe_error(error),
|
|
554
698
|
};
|
|
555
699
|
}
|
|
556
700
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImagePlugin.js","sourceRoot":"","sources":["../../src/image/ImagePlugin.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ImagePlugin.js","sourceRoot":"","sources":["../../src/image/ImagePlugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -161,6 +161,30 @@ export interface ImagePluginJobResult {
|
|
|
161
161
|
export interface ImagePluginJobResultInput {
|
|
162
162
|
/** 图片任务 ID,由 `image_create` 返回。 */
|
|
163
163
|
job_id: string;
|
|
164
|
+
/**
|
|
165
|
+
* 是否阻塞等待任务到达终态(`succeeded` / `failed`)。
|
|
166
|
+
*
|
|
167
|
+
* 关键点(中文)
|
|
168
|
+
* - 默认 false:行为与历史一致,调用一次 provider 即返回。
|
|
169
|
+
* - true:plugin 内部按 `poll_interval_ms` 节奏轮询,直到任务终止或 `max_wait_ms` 到期。
|
|
170
|
+
*/
|
|
171
|
+
until_done?: boolean;
|
|
172
|
+
/**
|
|
173
|
+
* 轮询的总等待上限(毫秒)。
|
|
174
|
+
*
|
|
175
|
+
* 关键点(中文)
|
|
176
|
+
* - 仅当 `until_done` 为 true 时生效。
|
|
177
|
+
* - 默认 60_000;命中上限后返回当前最后一次状态,不抛错。
|
|
178
|
+
*/
|
|
179
|
+
max_wait_ms?: number;
|
|
180
|
+
/**
|
|
181
|
+
* 单次轮询之间的等待间隔(毫秒)。
|
|
182
|
+
*
|
|
183
|
+
* 关键点(中文)
|
|
184
|
+
* - 仅当 `until_done` 为 true 时生效。
|
|
185
|
+
* - 默认 1500;若 provider 返回 `poll_after_ms`,则取两者较大值。
|
|
186
|
+
*/
|
|
187
|
+
poll_interval_ms?: number;
|
|
164
188
|
}
|
|
165
189
|
/**
|
|
166
190
|
* ImagePlugin 可见模型信息。
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImagePlugin.d.ts","sourceRoot":"","sources":["../../../src/image/types/ImagePlugin.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ImagePlugin.d.ts","sourceRoot":"","sources":["../../../src/image/types/ImagePlugin.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@downcity/plugins",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.108",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Downcity 内建 plugin 集合包",
|
|
6
6
|
"main": "./bin/index.js",
|
|
@@ -12,8 +12,8 @@
|
|
|
12
12
|
}
|
|
13
13
|
},
|
|
14
14
|
"dependencies": {
|
|
15
|
-
"@downcity/agent": "^1.1.
|
|
16
|
-
"@downcity/shell": "^0.1.
|
|
15
|
+
"@downcity/agent": "^1.1.160",
|
|
16
|
+
"@downcity/shell": "^0.1.36",
|
|
17
17
|
"@larksuiteoapi/node-sdk": "^1.66.0",
|
|
18
18
|
"ai": "^6.0.193",
|
|
19
19
|
"better-sqlite3": "^12.10.0",
|
package/src/image/ImagePlugin.ts
CHANGED
|
@@ -37,6 +37,68 @@ const DEFAULT_IMAGE_PLUGIN_DESCRIPTION =
|
|
|
37
37
|
"Generate images and return them as assistant file parts.";
|
|
38
38
|
const HTTP_URL_RE = /^https?:\/\//i;
|
|
39
39
|
const DEFAULT_IMAGE_MEDIA_TYPE = "image/png";
|
|
40
|
+
/**
|
|
41
|
+
* `image_result` 阻塞等待时的默认参数。
|
|
42
|
+
*
|
|
43
|
+
* 关键点(中文)
|
|
44
|
+
* - DEFAULT_IMAGE_WAIT_MS:总等待上限(毫秒),避免 agent 单次调用挂太久。
|
|
45
|
+
* - DEFAULT_IMAGE_POLL_MS:相邻两次轮询的最小间隔(毫秒)。
|
|
46
|
+
* - MAX_IMAGE_WAIT_MS:用户参数硬上限,防止异常值导致 agent 永远等下去。
|
|
47
|
+
*/
|
|
48
|
+
const DEFAULT_IMAGE_WAIT_MS = 60_000;
|
|
49
|
+
const DEFAULT_IMAGE_POLL_MS = 1_500;
|
|
50
|
+
const MAX_IMAGE_WAIT_MS = 10 * 60_000;
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* 判断任务状态是否已到达终态。
|
|
54
|
+
*/
|
|
55
|
+
function is_terminal_status(status: string | undefined): boolean {
|
|
56
|
+
return status === "succeeded" || status === "failed";
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* sleep 工具。
|
|
61
|
+
*/
|
|
62
|
+
function delay_ms(ms: number): Promise<void> {
|
|
63
|
+
return new Promise((resolve) => setTimeout(resolve, Math.max(0, ms)));
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* 把外部传入的等待参数夹到合法区间。
|
|
68
|
+
*/
|
|
69
|
+
function clamp_wait_ms(value: number): number {
|
|
70
|
+
if (!Number.isFinite(value) || value < 0) return 0;
|
|
71
|
+
if (value > MAX_IMAGE_WAIT_MS) return MAX_IMAGE_WAIT_MS;
|
|
72
|
+
return Math.floor(value);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* 把异常完整描述为字符串,保留 `error.cause` 链上的诊断信息。
|
|
77
|
+
*
|
|
78
|
+
* 关键点(中文)
|
|
79
|
+
* - Node fetch 抛出的 `TypeError: fetch failed` 把真正的根因放在 `error.cause`;
|
|
80
|
+
* `String(error)` 只会拿到 message,会让上层只看到一个干瘪的 "fetch failed"。
|
|
81
|
+
* - 这里递归读取 cause 链,并取每一层的 `code` + `message`,方便在 agent 输出里直接定位问题。
|
|
82
|
+
*/
|
|
83
|
+
function describe_error(error: unknown): string {
|
|
84
|
+
if (!(error instanceof Error)) return String(error);
|
|
85
|
+
const parts: string[] = [error.message || error.name || "Error"];
|
|
86
|
+
let current: unknown = (error as { cause?: unknown }).cause;
|
|
87
|
+
let depth = 0;
|
|
88
|
+
while (current && depth < 3) {
|
|
89
|
+
if (current instanceof Error) {
|
|
90
|
+
const code = (current as { code?: unknown }).code;
|
|
91
|
+
const code_text = typeof code === "string" && code ? `[${code}] ` : "";
|
|
92
|
+
parts.push(`${code_text}${current.message || current.name}`.trim());
|
|
93
|
+
current = (current as { cause?: unknown }).cause;
|
|
94
|
+
} else {
|
|
95
|
+
parts.push(String(current));
|
|
96
|
+
break;
|
|
97
|
+
}
|
|
98
|
+
depth += 1;
|
|
99
|
+
}
|
|
100
|
+
return parts.filter(Boolean).join(" :: ");
|
|
101
|
+
}
|
|
40
102
|
|
|
41
103
|
const IMAGE_MEDIA_TYPES: Record<string, string> = {
|
|
42
104
|
".apng": "image/apng",
|
|
@@ -79,6 +141,9 @@ const IMAGE_CREATE_INPUT_SCHEMA = z.object({
|
|
|
79
141
|
|
|
80
142
|
const IMAGE_RESULT_INPUT_SCHEMA = z.object({
|
|
81
143
|
job_id: z.string(),
|
|
144
|
+
until_done: z.boolean().optional(),
|
|
145
|
+
max_wait_ms: z.number().optional(),
|
|
146
|
+
poll_interval_ms: z.number().optional(),
|
|
82
147
|
}).passthrough();
|
|
83
148
|
|
|
84
149
|
/**
|
|
@@ -249,9 +314,22 @@ function normalize_image_result_payload(
|
|
|
249
314
|
if (!job_id) {
|
|
250
315
|
throw new TypeError("ImagePlugin.image_result payload must include job_id");
|
|
251
316
|
}
|
|
317
|
+
const until_done = record.until_done === true;
|
|
318
|
+
const max_wait_ms =
|
|
319
|
+
typeof record.max_wait_ms === "number" && Number.isFinite(record.max_wait_ms)
|
|
320
|
+
? Math.max(0, Math.floor(record.max_wait_ms as number))
|
|
321
|
+
: undefined;
|
|
322
|
+
const poll_interval_ms =
|
|
323
|
+
typeof record.poll_interval_ms === "number" &&
|
|
324
|
+
Number.isFinite(record.poll_interval_ms)
|
|
325
|
+
? Math.max(0, Math.floor(record.poll_interval_ms as number))
|
|
326
|
+
: undefined;
|
|
252
327
|
return {
|
|
253
328
|
...record,
|
|
254
329
|
job_id,
|
|
330
|
+
...(until_done ? { until_done: true } : {}),
|
|
331
|
+
...(max_wait_ms !== undefined ? { max_wait_ms } : {}),
|
|
332
|
+
...(poll_interval_ms !== undefined ? { poll_interval_ms } : {}),
|
|
255
333
|
} as ImagePluginJobResultInput;
|
|
256
334
|
}
|
|
257
335
|
|
|
@@ -417,14 +495,34 @@ export class ImagePlugin extends BasePlugin {
|
|
|
417
495
|
return [
|
|
418
496
|
"# Image Plugin",
|
|
419
497
|
"",
|
|
420
|
-
"Use this plugin only when the user asks to create or
|
|
421
|
-
"
|
|
422
|
-
"
|
|
423
|
-
"
|
|
424
|
-
"
|
|
425
|
-
"`
|
|
426
|
-
"
|
|
427
|
-
"
|
|
498
|
+
"Use this plugin only when the user asks to create, edit, or otherwise produce an image.",
|
|
499
|
+
"Do not call it for ordinary text answers, even if the message mentions visual ideas.",
|
|
500
|
+
"",
|
|
501
|
+
"## Actions",
|
|
502
|
+
"",
|
|
503
|
+
"- `models`:列出当前可用的图片模型,返回 `{ models, default_model_id }`。",
|
|
504
|
+
" 仅当你需要让用户挑模型,或当前没有默认模型可用时才调用。",
|
|
505
|
+
"- `image_create`:创建一个异步图片任务,返回 `{ job_id, status }`。",
|
|
506
|
+
" - 纯文本生成:填 `prompt`(字符串)。",
|
|
507
|
+
" - 编辑 / 参考图:填 `content`,格式:",
|
|
508
|
+
" `[{ type: \"text\", text }, { type: \"image\", url }]`。可以多段文本和多张图任意顺序混排。",
|
|
509
|
+
" - 同时给了 `content` 和 `prompt` 时,`content` 生效,`prompt` 被忽略。",
|
|
510
|
+
" - `url` 支持三种写法:在线 URL、绝对本地路径、相对 Agent 项目根目录的相对路径。",
|
|
511
|
+
" 不要传 base64 / data URL,也不要再用旧的 `messages` 字段。",
|
|
512
|
+
" - 可选参数:`model`、`aspect_ratio`(如 `16:9`)、`size`(如 `1024x1024`)、`quality`、`seed`。",
|
|
513
|
+
"- `image_result`:用 `job_id` 读取任务状态。",
|
|
514
|
+
" - 默认读取一次。`queued` / `running` 时保存好 `job_id`,下一轮再查,不要在同一轮里反复轮询。",
|
|
515
|
+
" - 想直接等到出图,可以传 `until_done: true`,可选 `max_wait_ms`(默认 60000,最长 600000)与 `poll_interval_ms`(默认 1500)。超时仍未完成会返回最后一次的中间状态。",
|
|
516
|
+
" - `succeeded`:返回的图片 file part 会自动落盘并附加到下一条 assistant 消息,无需自己再拼图。",
|
|
517
|
+
" - `failed`:把 `error` 信息如实回报给用户,不要编造图片结果。",
|
|
518
|
+
"",
|
|
519
|
+
"## Flow",
|
|
520
|
+
"",
|
|
521
|
+
"1. 需要选模型时先 `models`,否则直接进入第 2 步。",
|
|
522
|
+
"2. `image_create` 拿到 `job_id`。",
|
|
523
|
+
"3. `image_result` 查询;短任务可加 `until_done: true` 一次拿结果,长任务保存 `job_id` 下一轮再查。",
|
|
524
|
+
"",
|
|
525
|
+
"如有疑问可用 `plugin_read { plugin: \"image\", action: \"...\" }` 查看每个 action 完整的输入 schema 与示例。",
|
|
428
526
|
].join("\n");
|
|
429
527
|
}
|
|
430
528
|
|
|
@@ -450,8 +548,40 @@ export class ImagePlugin extends BasePlugin {
|
|
|
450
548
|
/**
|
|
451
549
|
* 查询图片任务当前状态。
|
|
452
550
|
*/
|
|
453
|
-
private async read_image_result(
|
|
454
|
-
|
|
551
|
+
private async read_image_result(
|
|
552
|
+
input: ImagePluginJobResultInput,
|
|
553
|
+
): Promise<ImagePluginJobResult> {
|
|
554
|
+
const first = await this.fetch_job_once(input.job_id);
|
|
555
|
+
if (!input.until_done) return first;
|
|
556
|
+
if (is_terminal_status(first.status)) return first;
|
|
557
|
+
|
|
558
|
+
const deadline =
|
|
559
|
+
Date.now() + clamp_wait_ms(input.max_wait_ms ?? DEFAULT_IMAGE_WAIT_MS);
|
|
560
|
+
const base_interval = clamp_wait_ms(
|
|
561
|
+
input.poll_interval_ms ?? DEFAULT_IMAGE_POLL_MS,
|
|
562
|
+
);
|
|
563
|
+
let current = first;
|
|
564
|
+
while (Date.now() < deadline) {
|
|
565
|
+
const provider_hint =
|
|
566
|
+
typeof current.poll_after_ms === "number" && current.poll_after_ms > 0
|
|
567
|
+
? Math.floor(current.poll_after_ms)
|
|
568
|
+
: 0;
|
|
569
|
+
const wait_ms = Math.max(base_interval, provider_hint);
|
|
570
|
+
const remaining = Math.max(0, deadline - Date.now());
|
|
571
|
+
const sleep_ms = Math.min(wait_ms, remaining);
|
|
572
|
+
if (sleep_ms === 0) break;
|
|
573
|
+
await delay_ms(sleep_ms);
|
|
574
|
+
current = await this.fetch_job_once(input.job_id);
|
|
575
|
+
if (is_terminal_status(current.status)) return current;
|
|
576
|
+
}
|
|
577
|
+
return current;
|
|
578
|
+
}
|
|
579
|
+
|
|
580
|
+
/**
|
|
581
|
+
* 拉取一次任务状态并校验。
|
|
582
|
+
*/
|
|
583
|
+
private async fetch_job_once(job_id: string): Promise<ImagePluginJobResult> {
|
|
584
|
+
const current = await this.image_result({ job_id });
|
|
455
585
|
validate_job_result(current);
|
|
456
586
|
if (current.status === "succeeded" && current.result) {
|
|
457
587
|
normalize_image_result(current.result);
|
|
@@ -485,8 +615,8 @@ export class ImagePlugin extends BasePlugin {
|
|
|
485
615
|
} catch (error) {
|
|
486
616
|
return {
|
|
487
617
|
success: false,
|
|
488
|
-
error:
|
|
489
|
-
message:
|
|
618
|
+
error: describe_error(error),
|
|
619
|
+
message: describe_error(error),
|
|
490
620
|
};
|
|
491
621
|
}
|
|
492
622
|
},
|
|
@@ -573,14 +703,15 @@ export class ImagePlugin extends BasePlugin {
|
|
|
573
703
|
} catch (error) {
|
|
574
704
|
return {
|
|
575
705
|
success: false,
|
|
576
|
-
error:
|
|
577
|
-
message:
|
|
706
|
+
error: describe_error(error),
|
|
707
|
+
message: describe_error(error),
|
|
578
708
|
};
|
|
579
709
|
}
|
|
580
710
|
},
|
|
581
711
|
}),
|
|
582
712
|
image_result: createAction({
|
|
583
|
-
description:
|
|
713
|
+
description:
|
|
714
|
+
"Read an async image job. By default reads once; pass until_done=true to block-wait until succeeded/failed or max_wait_ms times out.",
|
|
584
715
|
input_schema: {
|
|
585
716
|
zod: IMAGE_RESULT_INPUT_SCHEMA,
|
|
586
717
|
json_schema: {
|
|
@@ -591,6 +722,21 @@ export class ImagePlugin extends BasePlugin {
|
|
|
591
722
|
type: "string",
|
|
592
723
|
description: "Image job id returned by image_create.",
|
|
593
724
|
},
|
|
725
|
+
until_done: {
|
|
726
|
+
type: "boolean",
|
|
727
|
+
description:
|
|
728
|
+
"If true, the plugin internally polls until the job reaches a terminal state (succeeded/failed) or max_wait_ms elapses.",
|
|
729
|
+
},
|
|
730
|
+
max_wait_ms: {
|
|
731
|
+
type: "number",
|
|
732
|
+
description:
|
|
733
|
+
"Total wait budget in milliseconds when until_done is true. Default 60000, hard cap 600000.",
|
|
734
|
+
},
|
|
735
|
+
poll_interval_ms: {
|
|
736
|
+
type: "number",
|
|
737
|
+
description:
|
|
738
|
+
"Minimum delay between polls in milliseconds when until_done is true. Default 1500. Provider poll_after_ms overrides when larger.",
|
|
739
|
+
},
|
|
594
740
|
},
|
|
595
741
|
},
|
|
596
742
|
},
|
|
@@ -601,6 +747,14 @@ export class ImagePlugin extends BasePlugin {
|
|
|
601
747
|
job_id: "img_123",
|
|
602
748
|
},
|
|
603
749
|
},
|
|
750
|
+
{
|
|
751
|
+
title: "Wait until done",
|
|
752
|
+
payload: {
|
|
753
|
+
job_id: "img_123",
|
|
754
|
+
until_done: true,
|
|
755
|
+
max_wait_ms: 30000,
|
|
756
|
+
},
|
|
757
|
+
},
|
|
604
758
|
],
|
|
605
759
|
execute: async ({ payload }: { payload: JsonValue }) => {
|
|
606
760
|
try {
|
|
@@ -628,8 +782,8 @@ export class ImagePlugin extends BasePlugin {
|
|
|
628
782
|
} catch (error) {
|
|
629
783
|
return {
|
|
630
784
|
success: false,
|
|
631
|
-
error:
|
|
632
|
-
message:
|
|
785
|
+
error: describe_error(error),
|
|
786
|
+
message: describe_error(error),
|
|
633
787
|
};
|
|
634
788
|
}
|
|
635
789
|
},
|
|
@@ -185,6 +185,30 @@ export interface ImagePluginJobResult {
|
|
|
185
185
|
export interface ImagePluginJobResultInput {
|
|
186
186
|
/** 图片任务 ID,由 `image_create` 返回。 */
|
|
187
187
|
job_id: string;
|
|
188
|
+
/**
|
|
189
|
+
* 是否阻塞等待任务到达终态(`succeeded` / `failed`)。
|
|
190
|
+
*
|
|
191
|
+
* 关键点(中文)
|
|
192
|
+
* - 默认 false:行为与历史一致,调用一次 provider 即返回。
|
|
193
|
+
* - true:plugin 内部按 `poll_interval_ms` 节奏轮询,直到任务终止或 `max_wait_ms` 到期。
|
|
194
|
+
*/
|
|
195
|
+
until_done?: boolean;
|
|
196
|
+
/**
|
|
197
|
+
* 轮询的总等待上限(毫秒)。
|
|
198
|
+
*
|
|
199
|
+
* 关键点(中文)
|
|
200
|
+
* - 仅当 `until_done` 为 true 时生效。
|
|
201
|
+
* - 默认 60_000;命中上限后返回当前最后一次状态,不抛错。
|
|
202
|
+
*/
|
|
203
|
+
max_wait_ms?: number;
|
|
204
|
+
/**
|
|
205
|
+
* 单次轮询之间的等待间隔(毫秒)。
|
|
206
|
+
*
|
|
207
|
+
* 关键点(中文)
|
|
208
|
+
* - 仅当 `until_done` 为 true 时生效。
|
|
209
|
+
* - 默认 1500;若 provider 返回 `poll_after_ms`,则取两者较大值。
|
|
210
|
+
*/
|
|
211
|
+
poll_interval_ms?: number;
|
|
188
212
|
}
|
|
189
213
|
|
|
190
214
|
/**
|