@downcity/agent 1.1.269 → 1.1.275

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 (40) hide show
  1. package/bin/executor/core-engine/CoreEngineRunner.d.ts.map +1 -1
  2. package/bin/executor/core-engine/CoreEngineRunner.js +18 -0
  3. package/bin/executor/core-engine/CoreEngineRunner.js.map +1 -1
  4. package/bin/executor/core-engine/CoreEngineUiStreamCollector.d.ts +1 -1
  5. package/bin/executor/core-engine/CoreEngineUiStreamCollector.d.ts.map +1 -1
  6. package/bin/executor/core-engine/CoreEngineUiStreamCollector.js +6 -4
  7. package/bin/executor/core-engine/CoreEngineUiStreamCollector.js.map +1 -1
  8. package/bin/executor/types/SessionRun.d.ts +14 -1
  9. package/bin/executor/types/SessionRun.d.ts.map +1 -1
  10. package/bin/session/SessionMessages.d.ts +2 -0
  11. package/bin/session/SessionMessages.d.ts.map +1 -1
  12. package/bin/session/SessionMessages.js +21 -0
  13. package/bin/session/SessionMessages.js.map +1 -1
  14. package/bin/session/SessionSystem.js +6 -6
  15. package/bin/session/SessionSystem.js.map +1 -1
  16. package/bin/session/SessionTurn.d.ts.map +1 -1
  17. package/bin/session/SessionTurn.js +20 -7
  18. package/bin/session/SessionTurn.js.map +1 -1
  19. package/bin/session/messages/SessionAssistantMessageWriter.d.ts +21 -8
  20. package/bin/session/messages/SessionAssistantMessageWriter.d.ts.map +1 -1
  21. package/bin/session/messages/SessionAssistantMessageWriter.js +116 -23
  22. package/bin/session/messages/SessionAssistantMessageWriter.js.map +1 -1
  23. package/bin/types/executor/SessionRunContext.d.ts +21 -1
  24. package/bin/types/executor/SessionRunContext.d.ts.map +1 -1
  25. package/package.json +3 -3
  26. package/scripts/agent-session-maintenance.test.mjs +7 -1
  27. package/scripts/core-engine-ui-stream-collector.test.mjs +38 -0
  28. package/scripts/executor-failure-result.test.mjs +104 -1
  29. package/scripts/session-messages.test.mjs +161 -2
  30. package/scripts/session-system-blocks.test.mjs +14 -1
  31. package/scripts/session-turn-failure.test.mjs +108 -1
  32. package/src/executor/core-engine/CoreEngineRunner.ts +23 -0
  33. package/src/executor/core-engine/CoreEngineUiStreamCollector.ts +6 -4
  34. package/src/executor/types/SessionRun.ts +20 -1
  35. package/src/session/SessionMessages.ts +31 -0
  36. package/src/session/SessionSystem.ts +6 -6
  37. package/src/session/SessionTurn.ts +19 -7
  38. package/src/session/messages/SessionAssistantMessageWriter.ts +143 -26
  39. package/src/types/executor/SessionRunContext.ts +26 -0
  40. package/tsconfig.tsbuildinfo +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"SessionTurn.js","sourceRoot":"","sources":["../../src/session/SessionTurn.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SessionTurn.js","sourceRoot":"","sources":["../../src/session/SessionTurn.ts"],"names":[],"mappings":"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"}
@@ -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, SessionAssistantToolPart } from "../../types/session/SessionMessage.js";
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,EAE3B,wBAAwB,EACzB,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,WAAW,CAAoC;IACvD,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,8CAA8C;YAChC,sBAAsB;IAqUpC,6BAA6B;IACvB,WAAW,CAAC,IAAI,EAAE,2BAA2B,GAAG,OAAO,CAAC,IAAI,CAAC;IAInE;;;;;OAKG;IACG,yBAAyB,CAC7B,IAAI,EAAE,wBAAwB,GAC7B,OAAO,CAAC,IAAI,CAAC;IAYhB,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;IAqChB,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,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;CAS/B"}
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 = `data:${data_id ?? generateId()}`;
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.pending_text_parts.clear();
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,EAC9B,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,+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"}
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.269",
3
+ "version": "1.1.275",
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.125",
16
- "@downcity/type": "0.1.155",
15
+ "@downcity/shell": "^0.1.128",
16
+ "@downcity/type": "0.1.158",
17
17
  "ai": "^6.0.193",
18
18
  "commander": "^15.0.0",
19
19
  "dotenv": "^17.4.2",
@@ -28,6 +28,7 @@ test("AgentContext sessions 负责清空消息和删除 Session 数据", async (
28
28
  const root_path = create_project_root();
29
29
  const agent = new Agent({ id: "agent_test", path: root_path });
30
30
  try {
31
+ await agent.ready();
31
32
  assert.equal(agent.getContext().sessions, agent.sessions);
32
33
  const session_id = "session_test";
33
34
  await agent.sessions.create({ sessionId: session_id });
@@ -47,6 +48,11 @@ test("AgentContext sessions 负责清空消息和删除 Session 数据", async (
47
48
  assert.equal(fs.existsSync(session_path), false);
48
49
  } finally {
49
50
  await agent.dispose();
50
- fs.rmSync(root_path, { recursive: true, force: true });
51
+ fs.rmSync(root_path, {
52
+ recursive: true,
53
+ force: true,
54
+ maxRetries: 5,
55
+ retryDelay: 50,
56
+ });
51
57
  }
52
58
  });
@@ -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
+ });