@downcity/agent 1.1.270 → 1.1.276
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/executor/core-engine/CoreEngineRunner.d.ts.map +1 -1
- package/bin/executor/core-engine/CoreEngineRunner.js +18 -0
- package/bin/executor/core-engine/CoreEngineRunner.js.map +1 -1
- package/bin/executor/core-engine/CoreEngineUiStreamCollector.d.ts +1 -1
- package/bin/executor/core-engine/CoreEngineUiStreamCollector.d.ts.map +1 -1
- package/bin/executor/core-engine/CoreEngineUiStreamCollector.js +6 -4
- package/bin/executor/core-engine/CoreEngineUiStreamCollector.js.map +1 -1
- package/bin/executor/types/SessionRun.d.ts +14 -1
- package/bin/executor/types/SessionRun.d.ts.map +1 -1
- package/bin/session/SessionMessages.d.ts +2 -0
- package/bin/session/SessionMessages.d.ts.map +1 -1
- package/bin/session/SessionMessages.js +21 -0
- package/bin/session/SessionMessages.js.map +1 -1
- package/bin/session/SessionTurn.d.ts.map +1 -1
- package/bin/session/SessionTurn.js +20 -7
- package/bin/session/SessionTurn.js.map +1 -1
- package/bin/session/messages/SessionAssistantMessageWriter.d.ts +21 -8
- package/bin/session/messages/SessionAssistantMessageWriter.d.ts.map +1 -1
- package/bin/session/messages/SessionAssistantMessageWriter.js +116 -23
- package/bin/session/messages/SessionAssistantMessageWriter.js.map +1 -1
- package/bin/types/executor/SessionRunContext.d.ts +21 -1
- package/bin/types/executor/SessionRunContext.d.ts.map +1 -1
- package/package.json +3 -3
- package/scripts/core-engine-ui-stream-collector.test.mjs +38 -0
- package/scripts/executor-failure-result.test.mjs +104 -1
- package/scripts/session-messages.test.mjs +161 -2
- package/scripts/session-turn-failure.test.mjs +108 -1
- package/src/executor/core-engine/CoreEngineRunner.ts +23 -0
- package/src/executor/core-engine/CoreEngineUiStreamCollector.ts +6 -4
- package/src/executor/types/SessionRun.ts +20 -1
- package/src/session/SessionMessages.ts +31 -0
- package/src/session/SessionTurn.ts +19 -7
- package/src/session/messages/SessionAssistantMessageWriter.ts +143 -26
- package/src/types/executor/SessionRunContext.ts +26 -0
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import type { UIMessageChunk } from "ai";
|
|
8
8
|
import type { SessionMessages } from "../../session/SessionMessages.js";
|
|
9
|
-
import type { SessionAssistantFilePart, SessionAssistantMessagePart
|
|
9
|
+
import type { SessionAssistantFilePart, SessionAssistantMessagePart } from "../../types/session/SessionMessage.js";
|
|
10
10
|
import type { SessionToolInputReady } from "../../types/session/SessionTool.js";
|
|
11
11
|
/** 单个 Assistant segment 的流式 writer。 */
|
|
12
12
|
export declare class SessionAssistantMessageWriter {
|
|
@@ -14,22 +14,29 @@ export declare class SessionAssistantMessageWriter {
|
|
|
14
14
|
private readonly recorder;
|
|
15
15
|
private readonly pending_text_parts;
|
|
16
16
|
private readonly active_text_part_ids;
|
|
17
|
+
private readonly current_step_part_ids;
|
|
17
18
|
private write_chain;
|
|
19
|
+
private step_index;
|
|
20
|
+
private step_active;
|
|
18
21
|
private closed;
|
|
19
22
|
constructor(recorder: SessionMessages, message_id: string);
|
|
20
23
|
/** 应用一个原始 AI SDK UI chunk。 */
|
|
21
24
|
apply_chunk(chunk: UIMessageChunk): Promise<void>;
|
|
25
|
+
/** 建立一个独立模型 UI stream 的 canonical step 作用域。 */
|
|
26
|
+
begin_step(): Promise<void>;
|
|
27
|
+
/**
|
|
28
|
+
* 校验当前 step 的最终快照并原子补充 metadata。
|
|
29
|
+
*
|
|
30
|
+
* 最终快照不能创建、删除或重排 Part;任何不一致都表示 canonical chunk
|
|
31
|
+
* 链路不完整,必须让当前 Turn 失败。
|
|
32
|
+
*/
|
|
33
|
+
finish_step(parts: SessionAssistantMessagePart[]): Promise<void>;
|
|
34
|
+
/** 释放异常结束的 step 作用域并保留已经写入的 canonical Parts。 */
|
|
35
|
+
abort_step(): Promise<void>;
|
|
22
36
|
/** 在当前 Assistant writer 的单写者队列中应用原始 chunk。 */
|
|
23
37
|
private apply_chunk_serialized;
|
|
24
38
|
/** 写入一个完整 Assistant part。 */
|
|
25
39
|
upsert_part(part: SessionAssistantMessagePart): Promise<void>;
|
|
26
|
-
/**
|
|
27
|
-
* 用 AI SDK 最终 UIMessage 中的 Tool 快照校准流式写入结果。
|
|
28
|
-
*
|
|
29
|
-
* 关键点(中文):最终快照只覆盖实际存在的字段;缺失 metadata 时继续保留
|
|
30
|
-
* 流式阶段已经写入的 Provider 快照。
|
|
31
|
-
*/
|
|
32
|
-
reconcile_final_tool_part(part: SessionAssistantToolPart): Promise<void>;
|
|
33
40
|
/** Executor 在调用 Tool 实现前写入完整输入。 */
|
|
34
41
|
prepare_tool_input(input: SessionToolInputReady): Promise<void>;
|
|
35
42
|
/** 把最终结果中的文件补入当前 Assistant,并对流式已写入文件去重。 */
|
|
@@ -46,6 +53,12 @@ export declare class SessionAssistantMessageWriter {
|
|
|
46
53
|
private current_message;
|
|
47
54
|
/** 读取当前 Assistant 中的指定 Tool Part。 */
|
|
48
55
|
private find_tool;
|
|
56
|
+
/** 校验并合并同一位置的 canonical Part 与 step 最终快照。 */
|
|
57
|
+
private merge_step_part;
|
|
58
|
+
/** 构造不包含正文与工具输出的结构化 step 快照错误。 */
|
|
59
|
+
private step_snapshot_error;
|
|
60
|
+
/** 清理当前 step 的临时关联状态。 */
|
|
61
|
+
private reset_step_state;
|
|
49
62
|
/** 计算下一个不可变 Part 顺序号。 */
|
|
50
63
|
private next_part_sequence;
|
|
51
64
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionAssistantMessageWriter.d.ts","sourceRoot":"","sources":["../../../src/session/messages/SessionAssistantMessageWriter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,IAAI,CAAC;AACzC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAMpE,OAAO,KAAK,EACV,wBAAwB,EAExB,2BAA2B,
|
|
1
|
+
{"version":3,"file":"SessionAssistantMessageWriter.d.ts","sourceRoot":"","sources":["../../../src/session/messages/SessionAssistantMessageWriter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,IAAI,CAAC;AACzC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAMpE,OAAO,KAAK,EACV,wBAAwB,EAExB,2BAA2B,EAG5B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAG5E,uCAAuC;AACvC,qBAAa,6BAA6B;IACxC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkB;IAC3C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAG/B;IACJ,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAA6B;IAClE,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAqB;IAC3D,OAAO,CAAC,WAAW,CAAoC;IACvD,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,MAAM,CAAS;gBAEX,QAAQ,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM;IAKzD,8BAA8B;IACxB,WAAW,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAMvD,+CAA+C;IACzC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAcjC;;;;;OAKG;IACG,WAAW,CAAC,KAAK,EAAE,2BAA2B,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAmCtE,gDAAgD;IAC1C,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAOjC,8CAA8C;YAChC,sBAAsB;IAuUpC,6BAA6B;IACvB,WAAW,CAAC,IAAI,EAAE,2BAA2B,GAAG,OAAO,CAAC,IAAI,CAAC;IAKnE,mCAAmC;IAC7B,kBAAkB,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBrE,2CAA2C;IACrC,gBAAgB,CACpB,KAAK,EAAE,IAAI,CACT,wBAAwB,EACxB,UAAU,GAAG,YAAY,GAAG,mBAAmB,GAAG,KAAK,CACxD,GACA,OAAO,CAAC,IAAI,CAAC;IAsChB,yCAAyC;IACnC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B,gCAAgC;IAC1B,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAM/B,0CAA0C;IACpC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAM3B,mCAAmC;IAC7B,IAAI,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAM1C,iCAAiC;IACjC,OAAO,CAAC,eAAe;IAQvB,qCAAqC;IACrC,OAAO,CAAC,SAAS;IAOjB,6CAA6C;IAC7C,OAAO,CAAC,eAAe;IAmDvB,kCAAkC;IAClC,OAAO,CAAC,mBAAmB;IAM3B,yBAAyB;IACzB,OAAO,CAAC,gBAAgB;IAOxB,yBAAyB;IACzB,OAAO,CAAC,kBAAkB;IAO1B;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;IAY5B,uBAAuB;IACvB,OAAO,CAAC,mBAAmB;IAO3B,uCAAuC;YACzB,gBAAgB;IAuC9B,4BAA4B;YACd,WAAW;IAgBzB,wCAAwC;YAC1B,aAAa;IAM3B,kCAAkC;YACpB,gBAAgB;CAQ/B"}
|
|
@@ -12,7 +12,10 @@ export class SessionAssistantMessageWriter {
|
|
|
12
12
|
recorder;
|
|
13
13
|
pending_text_parts = new Map();
|
|
14
14
|
active_text_part_ids = new Map();
|
|
15
|
+
current_step_part_ids = new Set();
|
|
15
16
|
write_chain = Promise.resolve();
|
|
17
|
+
step_index = 0;
|
|
18
|
+
step_active = false;
|
|
16
19
|
closed = false;
|
|
17
20
|
constructor(recorder, message_id) {
|
|
18
21
|
this.recorder = recorder;
|
|
@@ -24,6 +27,57 @@ export class SessionAssistantMessageWriter {
|
|
|
24
27
|
await this.apply_chunk_serialized(chunk);
|
|
25
28
|
});
|
|
26
29
|
}
|
|
30
|
+
/** 建立一个独立模型 UI stream 的 canonical step 作用域。 */
|
|
31
|
+
async begin_step() {
|
|
32
|
+
await this.enqueue_write(async () => {
|
|
33
|
+
if (this.closed)
|
|
34
|
+
throw new Error("Assistant Message writer is closed");
|
|
35
|
+
if (this.step_active) {
|
|
36
|
+
throw new Error("Assistant canonical step is already active");
|
|
37
|
+
}
|
|
38
|
+
this.step_index += 1;
|
|
39
|
+
this.step_active = true;
|
|
40
|
+
this.current_step_part_ids.clear();
|
|
41
|
+
this.pending_text_parts.clear();
|
|
42
|
+
this.active_text_part_ids.clear();
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* 校验当前 step 的最终快照并原子补充 metadata。
|
|
47
|
+
*
|
|
48
|
+
* 最终快照不能创建、删除或重排 Part;任何不一致都表示 canonical chunk
|
|
49
|
+
* 链路不完整,必须让当前 Turn 失败。
|
|
50
|
+
*/
|
|
51
|
+
async finish_step(parts) {
|
|
52
|
+
await this.enqueue_write(async () => {
|
|
53
|
+
if (!this.step_active) {
|
|
54
|
+
throw new Error("Assistant canonical step is not active");
|
|
55
|
+
}
|
|
56
|
+
const current = this.current_message();
|
|
57
|
+
const current_step_parts = current.parts.filter((part) => this.current_step_part_ids.has(part.part_id) &&
|
|
58
|
+
part.type !== "step-start");
|
|
59
|
+
const final_step_parts = parts.filter((part) => part.type !== "step-start");
|
|
60
|
+
if (current_step_parts.length !== final_step_parts.length) {
|
|
61
|
+
throw this.step_snapshot_error(`part count ${current_step_parts.length} != ${final_step_parts.length}`);
|
|
62
|
+
}
|
|
63
|
+
const merged_parts = new Map();
|
|
64
|
+
for (let index = 0; index < current_step_parts.length; index += 1) {
|
|
65
|
+
const current_part = current_step_parts[index];
|
|
66
|
+
const final_part = final_step_parts[index];
|
|
67
|
+
merged_parts.set(current_part.part_id, this.merge_step_part(current_part, final_part, index));
|
|
68
|
+
}
|
|
69
|
+
await this.recorder.commit_assistant_step(this.message_id, current.parts.map((part) => merged_parts.get(part.part_id) || part));
|
|
70
|
+
this.reset_step_state();
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
/** 释放异常结束的 step 作用域并保留已经写入的 canonical Parts。 */
|
|
74
|
+
async abort_step() {
|
|
75
|
+
await this.enqueue_write(async () => {
|
|
76
|
+
if (!this.step_active)
|
|
77
|
+
return;
|
|
78
|
+
this.reset_step_state();
|
|
79
|
+
});
|
|
80
|
+
}
|
|
27
81
|
/** 在当前 Assistant writer 的单写者队列中应用原始 chunk。 */
|
|
28
82
|
async apply_chunk_serialized(chunk) {
|
|
29
83
|
if (this.closed)
|
|
@@ -265,7 +319,7 @@ export class SessionAssistantMessageWriter {
|
|
|
265
319
|
});
|
|
266
320
|
return;
|
|
267
321
|
case "source-url": {
|
|
268
|
-
const part_id = `source:${chunk.sourceId}`;
|
|
322
|
+
const part_id = `source:${this.step_index}:${chunk.sourceId}`;
|
|
269
323
|
const current_part = current.parts.find((part) => part.part_id === part_id);
|
|
270
324
|
const provider_metadata = to_session_provider_metadata(chunk.providerMetadata);
|
|
271
325
|
await this.upsert_part({
|
|
@@ -283,7 +337,7 @@ export class SessionAssistantMessageWriter {
|
|
|
283
337
|
return;
|
|
284
338
|
}
|
|
285
339
|
case "source-document": {
|
|
286
|
-
const part_id = `source:${chunk.sourceId}`;
|
|
340
|
+
const part_id = `source:${this.step_index}:${chunk.sourceId}`;
|
|
287
341
|
const current_part = current.parts.find((part) => part.part_id === part_id);
|
|
288
342
|
const provider_metadata = to_session_provider_metadata(chunk.providerMetadata);
|
|
289
343
|
await this.upsert_part({
|
|
@@ -316,7 +370,9 @@ export class SessionAssistantMessageWriter {
|
|
|
316
370
|
const data_id = typeof data_chunk.id === "string"
|
|
317
371
|
? data_chunk.id
|
|
318
372
|
: undefined;
|
|
319
|
-
const part_id =
|
|
373
|
+
const part_id = data_id
|
|
374
|
+
? `data:${this.step_index}:${data_id}`
|
|
375
|
+
: `data:${generateId()}`;
|
|
320
376
|
const current_part = current.parts.find((part) => part.part_id === part_id);
|
|
321
377
|
await this.upsert_part({
|
|
322
378
|
part_id,
|
|
@@ -334,23 +390,8 @@ export class SessionAssistantMessageWriter {
|
|
|
334
390
|
/** 写入一个完整 Assistant part。 */
|
|
335
391
|
async upsert_part(part) {
|
|
336
392
|
await this.recorder.update_assistant_part(this.message_id, part);
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
* 用 AI SDK 最终 UIMessage 中的 Tool 快照校准流式写入结果。
|
|
340
|
-
*
|
|
341
|
-
* 关键点(中文):最终快照只覆盖实际存在的字段;缺失 metadata 时继续保留
|
|
342
|
-
* 流式阶段已经写入的 Provider 快照。
|
|
343
|
-
*/
|
|
344
|
-
async reconcile_final_tool_part(part) {
|
|
345
|
-
await this.enqueue_write(async () => {
|
|
346
|
-
const current = this.find_tool(part.tool_call_id);
|
|
347
|
-
await this.upsert_part({
|
|
348
|
-
...(current || {}),
|
|
349
|
-
...part,
|
|
350
|
-
part_id: current?.part_id || `tool:${part.tool_call_id}`,
|
|
351
|
-
sequence: current?.sequence || this.next_part_sequence(),
|
|
352
|
-
});
|
|
353
|
-
});
|
|
393
|
+
if (this.step_active)
|
|
394
|
+
this.current_step_part_ids.add(part.part_id);
|
|
354
395
|
}
|
|
355
396
|
/** Executor 在调用 Tool 实现前写入完整输入。 */
|
|
356
397
|
async prepare_tool_input(input) {
|
|
@@ -371,6 +412,7 @@ export class SessionAssistantMessageWriter {
|
|
|
371
412
|
const filename = String(input.filename || "").trim();
|
|
372
413
|
const current = this.current_message();
|
|
373
414
|
const existing = current.parts.find((part) => part.type === "file" &&
|
|
415
|
+
(!this.step_active || this.current_step_part_ids.has(part.part_id)) &&
|
|
374
416
|
part.url === input.url &&
|
|
375
417
|
part.media_type === input.media_type);
|
|
376
418
|
if (existing?.type === "file") {
|
|
@@ -432,6 +474,58 @@ export class SessionAssistantMessageWriter {
|
|
|
432
474
|
find_tool(tool_call_id) {
|
|
433
475
|
return this.current_message().parts.find((part) => part.type === "tool" && part.tool_call_id === tool_call_id);
|
|
434
476
|
}
|
|
477
|
+
/** 校验并合并同一位置的 canonical Part 与 step 最终快照。 */
|
|
478
|
+
merge_step_part(current_part, final_part, index) {
|
|
479
|
+
if (current_part.type !== final_part.type) {
|
|
480
|
+
throw this.step_snapshot_error(`part ${index + 1} type ${current_part.type} != ${final_part.type}`);
|
|
481
|
+
}
|
|
482
|
+
if ((current_part.type === "text" || current_part.type === "reasoning") &&
|
|
483
|
+
(final_part.type === "text" || final_part.type === "reasoning")) {
|
|
484
|
+
if (current_part.text !== final_part.text) {
|
|
485
|
+
throw this.step_snapshot_error(`part ${index + 1} text differs`);
|
|
486
|
+
}
|
|
487
|
+
}
|
|
488
|
+
else if (current_part.type === "tool" && final_part.type === "tool") {
|
|
489
|
+
if (current_part.tool_call_id !== final_part.tool_call_id) {
|
|
490
|
+
throw this.step_snapshot_error(`part ${index + 1} tool_call_id differs`);
|
|
491
|
+
}
|
|
492
|
+
}
|
|
493
|
+
else if (current_part.type === "file" && final_part.type === "file") {
|
|
494
|
+
if (current_part.url !== final_part.url ||
|
|
495
|
+
current_part.media_type !== final_part.media_type) {
|
|
496
|
+
throw this.step_snapshot_error(`part ${index + 1} file identity differs`);
|
|
497
|
+
}
|
|
498
|
+
}
|
|
499
|
+
else if (current_part.type === "source" && final_part.type === "source") {
|
|
500
|
+
if (current_part.source_type !== final_part.source_type ||
|
|
501
|
+
current_part.source_id !== final_part.source_id) {
|
|
502
|
+
throw this.step_snapshot_error(`part ${index + 1} source identity differs`);
|
|
503
|
+
}
|
|
504
|
+
}
|
|
505
|
+
else if (current_part.type === "data" && final_part.type === "data") {
|
|
506
|
+
if (current_part.data_type !== final_part.data_type ||
|
|
507
|
+
current_part.data_id !== final_part.data_id) {
|
|
508
|
+
throw this.step_snapshot_error(`part ${index + 1} data identity differs`);
|
|
509
|
+
}
|
|
510
|
+
}
|
|
511
|
+
return {
|
|
512
|
+
...current_part,
|
|
513
|
+
...final_part,
|
|
514
|
+
part_id: current_part.part_id,
|
|
515
|
+
sequence: current_part.sequence,
|
|
516
|
+
};
|
|
517
|
+
}
|
|
518
|
+
/** 构造不包含正文与工具输出的结构化 step 快照错误。 */
|
|
519
|
+
step_snapshot_error(detail) {
|
|
520
|
+
return new Error(`Assistant canonical step ${this.step_index} snapshot mismatch: ${detail}`);
|
|
521
|
+
}
|
|
522
|
+
/** 清理当前 step 的临时关联状态。 */
|
|
523
|
+
reset_step_state() {
|
|
524
|
+
this.step_active = false;
|
|
525
|
+
this.current_step_part_ids.clear();
|
|
526
|
+
this.pending_text_parts.clear();
|
|
527
|
+
this.active_text_part_ids.clear();
|
|
528
|
+
}
|
|
435
529
|
/** 计算下一个不可变 Part 顺序号。 */
|
|
436
530
|
next_part_sequence() {
|
|
437
531
|
return this.current_message().parts.reduce((value, part) => Math.max(value, part.sequence + 1), 1);
|
|
@@ -453,7 +547,7 @@ export class SessionAssistantMessageWriter {
|
|
|
453
547
|
}
|
|
454
548
|
/** 构造当前流片段使用的临时关联键。 */
|
|
455
549
|
source_text_part_id(type, chunk_id) {
|
|
456
|
-
return `${type}:${chunk_id}`;
|
|
550
|
+
return `${this.step_index}:${type}:${chunk_id}`;
|
|
457
551
|
}
|
|
458
552
|
/** 在首个有效 Delta 到达时才固定文本 Part 的真实顺序。 */
|
|
459
553
|
async ensure_text_part(part_id, type, provider_metadata) {
|
|
@@ -508,8 +602,7 @@ export class SessionAssistantMessageWriter {
|
|
|
508
602
|
async close_serialized(status) {
|
|
509
603
|
if (this.closed)
|
|
510
604
|
return;
|
|
511
|
-
this.
|
|
512
|
-
this.active_text_part_ids.clear();
|
|
605
|
+
this.reset_step_state();
|
|
513
606
|
await this.recorder.complete_assistant_message(this.message_id, status);
|
|
514
607
|
this.closed = true;
|
|
515
608
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionAssistantMessageWriter.js","sourceRoot":"","sources":["../../../src/session/messages/SessionAssistantMessageWriter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SessionAssistantMessageWriter.js","sourceRoot":"","sources":["../../../src/session/messages/SessionAssistantMessageWriter.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* - tool 回调通过单次 tool execution context 显式读取该对象。
|
|
8
8
|
*/
|
|
9
9
|
import type { AgentSessionActionCallback, AgentSessionActionEvent, AgentSessionActionRecord } from "../../types/sdk/AgentSessionAction.js";
|
|
10
|
-
import type { SessionAssistantStepCallback, SessionUiMessageChunkCallback } from "../../executor/types/SessionRun.js";
|
|
10
|
+
import type { SessionAssistantStepCallback, SessionUiMessageChunkCallback, SessionUiMessageStepAbortCallback, SessionUiMessageStepFinishCallback, SessionUiMessageStepStartCallback } from "../../executor/types/SessionRun.js";
|
|
11
11
|
import type { SessionUserMessageV1 } from "../../executor/types/SessionRecords.js";
|
|
12
12
|
import type { FileUIPart } from "ai";
|
|
13
13
|
import type { AgentPluginExecutionLease } from "../../types/plugin/PluginRuntime.js";
|
|
@@ -87,6 +87,26 @@ export interface SessionRunContext {
|
|
|
87
87
|
* - 用于把底层模型 UI chunk 旁路输出到订阅流或 transport。
|
|
88
88
|
*/
|
|
89
89
|
onUiMessageChunkCallback?: SessionUiMessageChunkCallback;
|
|
90
|
+
/**
|
|
91
|
+
* 单个模型 UI stream 开始回调。
|
|
92
|
+
*
|
|
93
|
+
* 关键点(中文):Session writer 用它建立独立 step 作用域,确保重复 chunk id
|
|
94
|
+
* 不会跨模型调用复用同一个 canonical Part。
|
|
95
|
+
*/
|
|
96
|
+
on_ui_message_step_start?: SessionUiMessageStepStartCallback;
|
|
97
|
+
/**
|
|
98
|
+
* 单个模型 UI stream 完成快照回调。
|
|
99
|
+
*
|
|
100
|
+
* 关键点(中文):最终快照只校验当前 step 的顺序并补充 metadata,不能创建、
|
|
101
|
+
* 删除或重排 canonical Part。
|
|
102
|
+
*/
|
|
103
|
+
on_ui_message_step_finish?: SessionUiMessageStepFinishCallback;
|
|
104
|
+
/**
|
|
105
|
+
* 单个模型 UI stream 异常结束回调。
|
|
106
|
+
*
|
|
107
|
+
* 关键点(中文):用于释放 step 作用域;已经持久化的流式 Part 继续保留。
|
|
108
|
+
*/
|
|
109
|
+
on_ui_message_step_abort?: SessionUiMessageStepAbortCallback;
|
|
90
110
|
/** Tool 实现开始执行前提交完整输入的顺序屏障。 */
|
|
91
111
|
on_tool_input_ready?: (input: SessionToolInputReady) => Promise<void>;
|
|
92
112
|
/** 当前 Session 拥有的 unrestricted 审批网关。 */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionRunContext.d.ts","sourceRoot":"","sources":["../../../src/types/executor/SessionRunContext.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,0BAA0B,EAC1B,uBAAuB,EACvB,wBAAwB,EACzB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EACV,4BAA4B,EAC5B,6BAA6B,
|
|
1
|
+
{"version":3,"file":"SessionRunContext.d.ts","sourceRoot":"","sources":["../../../src/types/executor/SessionRunContext.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,0BAA0B,EAC1B,uBAAuB,EACvB,wBAAwB,EACzB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EACV,4BAA4B,EAC5B,6BAA6B,EAC7B,iCAAiC,EACjC,kCAAkC,EAClC,iCAAiC,EAClC,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AACrC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AACjF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAE5E;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAC;IAEvD;;;;;;OAMG;IACH,mBAAmB,CAAC,EAAE,MAAM,OAAO,CAAC;IAEpC;;;;;;OAMG;IACH,sBAAsB,CAAC,EAAE,MAAM,OAAO,CAAC;IAEvC;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAE5C,mDAAmD;IACnD,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAEjC,2CAA2C;IAC3C,YAAY,CAAC,EAAE,yBAAyB,CAAC;IAEzC;;;;;OAKG;IACH,uBAAuB,CAAC,EAAE,4BAA4B,CAAC;IAEvD;;;;;OAKG;IACH,wBAAwB,CAAC,EAAE,6BAA6B,CAAC;IAEzD;;;;;OAKG;IACH,wBAAwB,CAAC,EAAE,iCAAiC,CAAC;IAE7D;;;;;OAKG;IACH,yBAAyB,CAAC,EAAE,kCAAkC,CAAC;IAE/D;;;;OAIG;IACH,wBAAwB,CAAC,EAAE,iCAAiC,CAAC;IAE7D,+BAA+B;IAC/B,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtE,wCAAwC;IACxC,sBAAsB,CAAC,EAAE,oBAAoB,CAAC;IAE9C;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,0BAA0B,CAAC;IAE9C;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;IAE1B;;;;;;OAMG;IACH,oBAAoB,EAAE,oBAAoB,EAAE,CAAC;IAE7C;;;;;OAKG;IACH,6BAA6B,EAAE,oBAAoB,EAAE,CAAC;IAEtD;;;;;;OAMG;IACH,yBAAyB,EAAE,UAAU,EAAE,CAAC;CACzC;AAED,YAAY,EACV,0BAA0B,EAC1B,uBAAuB,EACvB,wBAAwB,GACzB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@downcity/agent",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.276",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Downcity Agent 运行时 — 单 Agent 执行壳与本机 RPC 能力",
|
|
6
6
|
"main": "./bin/index.js",
|
|
@@ -12,8 +12,8 @@
|
|
|
12
12
|
}
|
|
13
13
|
},
|
|
14
14
|
"dependencies": {
|
|
15
|
-
"@downcity/shell": "^0.1.
|
|
16
|
-
"@downcity/type": "0.1.
|
|
15
|
+
"@downcity/shell": "^0.1.129",
|
|
16
|
+
"@downcity/type": "0.1.159",
|
|
17
17
|
"ai": "^6.0.193",
|
|
18
18
|
"commander": "^15.0.0",
|
|
19
19
|
"dotenv": "^17.4.2",
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file 验证 UI stream 收敛时 canonical message 回调失败会终止执行。
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import assert from "node:assert/strict";
|
|
6
|
+
import test from "node:test";
|
|
7
|
+
|
|
8
|
+
import { collectFinalAssistantMessageFromUiStream } from "../bin/executor/core-engine/CoreEngineUiStreamCollector.js";
|
|
9
|
+
|
|
10
|
+
test("canonical message chunk 写入失败时拒绝继续完成 turn", async () => {
|
|
11
|
+
const abort_controller = new AbortController();
|
|
12
|
+
abort_controller.abort();
|
|
13
|
+
const result = {
|
|
14
|
+
toUIMessageStream: () => ({
|
|
15
|
+
async *[Symbol.asyncIterator]() {
|
|
16
|
+
yield { type: "text-delta", id: "text-1", delta: "partial" };
|
|
17
|
+
},
|
|
18
|
+
}),
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
await assert.rejects(
|
|
22
|
+
collectFinalAssistantMessageFromUiStream({
|
|
23
|
+
result,
|
|
24
|
+
sessionId: "callback-failure-test",
|
|
25
|
+
abortSignal: abort_controller.signal,
|
|
26
|
+
logger: { log: async () => {} },
|
|
27
|
+
buildFallbackAssistantMessage: (text) => ({
|
|
28
|
+
id: "assistant-1",
|
|
29
|
+
role: "assistant",
|
|
30
|
+
parts: [{ type: "text", text }],
|
|
31
|
+
}),
|
|
32
|
+
onUiMessageChunkCallback: async () => {
|
|
33
|
+
throw new Error("canonical write failed");
|
|
34
|
+
},
|
|
35
|
+
}),
|
|
36
|
+
/canonical write failed/,
|
|
37
|
+
);
|
|
38
|
+
});
|
|
@@ -9,12 +9,57 @@ import { MockLanguageModelV3 } from "ai/test";
|
|
|
9
9
|
import { CoreEngineRunner } from "../bin/executor/core-engine/CoreEngineRunner.js";
|
|
10
10
|
import { ExecutorRecoveryPolicy } from "../bin/executor/services/ExecutorRecoveryPolicy.js";
|
|
11
11
|
|
|
12
|
-
function create_run_context() {
|
|
12
|
+
function create_run_context(overrides = {}) {
|
|
13
13
|
return {
|
|
14
14
|
sessionId: "executor-failure-test",
|
|
15
15
|
injectedUserMessages: [],
|
|
16
16
|
deferredPersistedUserMessages: [],
|
|
17
17
|
pendingAssistantFileParts: [],
|
|
18
|
+
...overrides,
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
function create_text_stream(text) {
|
|
23
|
+
return {
|
|
24
|
+
stream: new ReadableStream({
|
|
25
|
+
start(controller) {
|
|
26
|
+
controller.enqueue({ type: "stream-start", warnings: [] });
|
|
27
|
+
controller.enqueue({ type: "text-start", id: "text-1" });
|
|
28
|
+
controller.enqueue({ type: "text-delta", id: "text-1", delta: text });
|
|
29
|
+
controller.enqueue({ type: "text-end", id: "text-1" });
|
|
30
|
+
controller.enqueue({
|
|
31
|
+
type: "finish",
|
|
32
|
+
finishReason: { unified: "stop", raw: "stop" },
|
|
33
|
+
usage: {
|
|
34
|
+
inputTokens: { total: 0, noCache: 0, cacheRead: 0, cacheWrite: 0 },
|
|
35
|
+
outputTokens: { total: 0, text: 0, reasoning: 0 },
|
|
36
|
+
},
|
|
37
|
+
});
|
|
38
|
+
controller.close();
|
|
39
|
+
},
|
|
40
|
+
}),
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
function create_runner_input(model, run_context) {
|
|
45
|
+
const messages = [{
|
|
46
|
+
id: "user-1",
|
|
47
|
+
role: "user",
|
|
48
|
+
metadata: {
|
|
49
|
+
v: 1,
|
|
50
|
+
ts: 1,
|
|
51
|
+
sessionId: "executor-failure-test",
|
|
52
|
+
source: "ingress",
|
|
53
|
+
kind: "normal",
|
|
54
|
+
},
|
|
55
|
+
parts: [{ type: "text", text: "hello" }],
|
|
56
|
+
}];
|
|
57
|
+
return {
|
|
58
|
+
execute_input: { query: "hello", system: [], messages, tools: {} },
|
|
59
|
+
model,
|
|
60
|
+
run_context,
|
|
61
|
+
resolve_step_inputs: async () => ({ model, system: [], tools: {} }),
|
|
62
|
+
reload_history: async () => messages,
|
|
18
63
|
};
|
|
19
64
|
}
|
|
20
65
|
|
|
@@ -56,6 +101,64 @@ test("CoreEngine Provider 失败时只返回结构化错误", async () => {
|
|
|
56
101
|
assert.equal(result.assistantMessage, undefined);
|
|
57
102
|
});
|
|
58
103
|
|
|
104
|
+
test("CoreEngine 成功流按 start、chunks、finish 完成 canonical step", async () => {
|
|
105
|
+
const events = [];
|
|
106
|
+
const model = new MockLanguageModelV3({
|
|
107
|
+
modelId: "canonical-step-model",
|
|
108
|
+
doStream: async () => create_text_stream("done"),
|
|
109
|
+
});
|
|
110
|
+
const runner = new CoreEngineRunner({
|
|
111
|
+
session_id: "executor-failure-test",
|
|
112
|
+
logger: { log: async () => {} },
|
|
113
|
+
should_compact_on_error: () => false,
|
|
114
|
+
});
|
|
115
|
+
const result = await runner.run(create_runner_input(
|
|
116
|
+
model,
|
|
117
|
+
create_run_context({
|
|
118
|
+
on_ui_message_step_start: async () => events.push("start"),
|
|
119
|
+
onUiMessageChunkCallback: async (chunk) => events.push(chunk.type),
|
|
120
|
+
on_ui_message_step_finish: async (message) => {
|
|
121
|
+
events.push(`finish:${message.parts.map((part) => part.type).join(",")}`);
|
|
122
|
+
},
|
|
123
|
+
on_ui_message_step_abort: async () => events.push("abort"),
|
|
124
|
+
}),
|
|
125
|
+
));
|
|
126
|
+
|
|
127
|
+
assert.equal(result.success, true);
|
|
128
|
+
assert.equal(events[0], "start");
|
|
129
|
+
assert.equal(events.includes("text-delta"), true);
|
|
130
|
+
assert.match(events.at(-1), /^finish:/);
|
|
131
|
+
assert.equal(events.includes("abort"), false);
|
|
132
|
+
});
|
|
133
|
+
|
|
134
|
+
test("CoreEngine chunk 写入失败时中止 canonical step", async () => {
|
|
135
|
+
const events = [];
|
|
136
|
+
const model = new MockLanguageModelV3({
|
|
137
|
+
modelId: "canonical-step-failure-model",
|
|
138
|
+
doStream: async () => create_text_stream("partial"),
|
|
139
|
+
});
|
|
140
|
+
const runner = new CoreEngineRunner({
|
|
141
|
+
session_id: "executor-failure-test",
|
|
142
|
+
logger: { log: async () => {} },
|
|
143
|
+
should_compact_on_error: () => false,
|
|
144
|
+
});
|
|
145
|
+
const result = await runner.run(create_runner_input(
|
|
146
|
+
model,
|
|
147
|
+
create_run_context({
|
|
148
|
+
on_ui_message_step_start: async () => events.push("start"),
|
|
149
|
+
onUiMessageChunkCallback: async () => {
|
|
150
|
+
throw new Error("canonical write failed");
|
|
151
|
+
},
|
|
152
|
+
on_ui_message_step_finish: async () => events.push("finish"),
|
|
153
|
+
on_ui_message_step_abort: async () => events.push("abort"),
|
|
154
|
+
}),
|
|
155
|
+
));
|
|
156
|
+
|
|
157
|
+
assert.equal(result.success, false);
|
|
158
|
+
assert.match(result.error, /canonical write failed/);
|
|
159
|
+
assert.deepEqual(events, ["start", "abort"]);
|
|
160
|
+
});
|
|
161
|
+
|
|
59
162
|
test("恢复策略捕获普通异常后只返回结构化错误", async () => {
|
|
60
163
|
const policy = new ExecutorRecoveryPolicy({
|
|
61
164
|
session_id: "executor-failure-test",
|