aws-runtime-bridge 1.9.60 → 1.9.61

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.
@@ -30,30 +30,15 @@ subAgentsRouter.get("/sub-agents/:agentId", validateToken, async (req, res) => {
30
30
  return;
31
31
  }
32
32
  try {
33
- // store 读取全部历史
34
- let allRecords = await subAgentStore.list(agentId);
35
- // manager 读取活跃 entry(pending / running),已完成但未 TTL 清理的不计入
33
+ // 内存态是运行态的唯一真相源:pending/running 只信 SubAgentManager。
34
+ // 磁盘 store 只做历史归档,不再参与运行态判定。
35
+ // 之前在列表接口里做"磁盘 running/pending + 内存无 改写 failed"的兜底,
36
+ // 会把"终态写入超时/EPERM 失败但内存已 completed"的 sub-agent 误判为 failed,
37
+ // 覆盖真实结果。现在直接从 history 过滤掉这类残留,磁盘不写、前端不展示,
38
+ // 由 bridge 启动时的 reconcileZombies() 一次性清理(已存在逻辑)。
39
+ const allRecords = await subAgentStore.list(agentId);
36
40
  const runningEntries = subAgentManager.listActiveByParent(agentId);
37
41
  const runningIds = new Set(runningEntries.map((e) => e.subId));
38
- // 修正数据不一致:持久化记录中 status 为 running/pending 但不在内存活跃列表中的条目,
39
- // 说明 store 状态未同步(如 store.updateStatus 超时失败、或 bridge 重启后 entry 丢失)。
40
- // 修正为 failed 并重新读取,避免前端"历史"列表中混入异常的 running 条目。
41
- let dirty = false;
42
- for (const record of allRecords) {
43
- if ((record.status === "running" || record.status === "pending") && !runningIds.has(record.subId)) {
44
- dirty = true;
45
- await subAgentStore.updateStatus(agentId, record.subId, {
46
- status: "failed",
47
- errorMessage: "sub-agent status mismatch: store says running/pending but not in memory",
48
- endedAt: record.startedAt,
49
- durationMs: 0,
50
- contextSnapshot: undefined,
51
- }).catch(() => { });
52
- }
53
- }
54
- if (dirty) {
55
- allRecords = await subAgentStore.list(agentId);
56
- }
57
42
  // 合并:运行中的用 manager 的实时状态覆盖 store 的记录
58
43
  const running = runningEntries.map((e) => ({
59
44
  subId: e.subId,
@@ -67,7 +52,11 @@ subAgentsRouter.get("/sub-agents/:agentId", validateToken, async (req, res) => {
67
52
  contextSnapshot: e.contextSnapshot,
68
53
  availableTools: e.availableTools,
69
54
  }));
70
- const history = allRecords.filter((r) => !runningIds.has(r.subId));
55
+ // history 过滤逻辑:
56
+ // - runningIds 中的(运行中)已挪到 running 数组,不重复进 history
57
+ // - 磁盘上残留的 running/pending(终态写入失败/进程重启残留)直接丢弃,
58
+ // 不展示为 failed——真实状态未知,不能编造错误信息
59
+ const history = allRecords.filter((r) => !runningIds.has(r.subId) && r.status !== "running" && r.status !== "pending");
71
60
  const doc = await subAgentStore.read(agentId);
72
61
  res.json({
73
62
  ok: true,
@@ -4,6 +4,15 @@
4
4
  *
5
5
  * 其他错误(ENOENT 源不存在、ENOSPC 磁盘满等)直接抛出,不重试。
6
6
  *
7
+ * ★ Windows EPERM 终极兜底:若全部重试仍失败(target 持续被 reader 持有 fd),
8
+ * fallback 到 `fs.copyFile(src, dest) + fs.unlink(src)`。
9
+ * - `fs.copyFile` 在 Windows 上走 `CopyFileEx` API,允许覆盖被其他进程打开的
10
+ * target(只要 reader 共享模式允许读,fs.readFile 默认如此),能绕开 EPERM。
11
+ * - 代价是失去原子性:写入过程中崩溃可能产生半成品 dest。
12
+ * 但 sub-agent 记录非关键数据,配合 SubAgentStore.read() 的
13
+ * `SyntaxError → empty` 容错已够用(最坏情况是列表暂时少一条历史)。
14
+ * - POSIX 上 rename 重试一般不会失败(原子操作),fallback 路径极少触发。
15
+ *
7
16
  * @param src 源文件路径(通常是 `.tmp` 临时文件)
8
17
  * @param dest 目标文件路径
9
18
  * @returns 成功时 resolve,全部重试都失败时 reject 最后一次错误
@@ -1 +1 @@
1
- {"version":3,"file":"fs-utils.d.ts","sourceRoot":"","sources":["../src/fs-utils.ts"],"names":[],"mappings":"AA6BA;;;;;;;;;GASG;AACH,wBAAsB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAqB9E"}
1
+ {"version":3,"file":"fs-utils.d.ts","sourceRoot":"","sources":["../src/fs-utils.ts"],"names":[],"mappings":"AA6BA;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAgC9E"}
@@ -29,6 +29,15 @@ const RENAME_BACKOFF_MS = [50, 150, 400, 800];
29
29
  *
30
30
  * 其他错误(ENOENT 源不存在、ENOSPC 磁盘满等)直接抛出,不重试。
31
31
  *
32
+ * ★ Windows EPERM 终极兜底:若全部重试仍失败(target 持续被 reader 持有 fd),
33
+ * fallback 到 `fs.copyFile(src, dest) + fs.unlink(src)`。
34
+ * - `fs.copyFile` 在 Windows 上走 `CopyFileEx` API,允许覆盖被其他进程打开的
35
+ * target(只要 reader 共享模式允许读,fs.readFile 默认如此),能绕开 EPERM。
36
+ * - 代价是失去原子性:写入过程中崩溃可能产生半成品 dest。
37
+ * 但 sub-agent 记录非关键数据,配合 SubAgentStore.read() 的
38
+ * `SyntaxError → empty` 容错已够用(最坏情况是列表暂时少一条历史)。
39
+ * - POSIX 上 rename 重试一般不会失败(原子操作),fallback 路径极少触发。
40
+ *
32
41
  * @param src 源文件路径(通常是 `.tmp` 临时文件)
33
42
  * @param dest 目标文件路径
34
43
  * @returns 成功时 resolve,全部重试都失败时 reject 最后一次错误
@@ -54,5 +63,17 @@ export async function renameWithRetry(src, dest) {
54
63
  }
55
64
  }
56
65
  }
57
- throw lastErr;
66
+ // ★ rename 重试都失败(Windows target 持续被持有 fd),fallback 到 copyFile + unlink。
67
+ // copyFile 不要求 target 未被打开,能绕开 EPERM/EBUSY/EACCES。
68
+ try {
69
+ await fs.copyFile(src, dest);
70
+ await fs.unlink(src).catch(() => {
71
+ /* src 删除失败不影响 dest 已写入,下次写会覆盖 tmp */
72
+ });
73
+ }
74
+ catch (copyErr) {
75
+ // copyFile 也失败(极少见,如磁盘满/权限问题),抛出最后一次 rename 错误
76
+ // (保持原有错误语义,调用方按 RENAME_RETRYABLE_CODES 判断)
77
+ throw lastErr;
78
+ }
58
79
  }
@@ -125,6 +125,16 @@ export declare class SubAgentManager {
125
125
  * null 表示当前没有等待者。
126
126
  */
127
127
  private completionWaiterResolve;
128
+ /**
129
+ * 正在执行的异步终态落盘 Promise 集合。
130
+ *
131
+ * 用于:
132
+ * - 测试等待异步落盘完成后再读取 store 验证状态
133
+ * - dispose 时确保所有落盘完成后再清理(避免文件句柄占用导致目录非空)
134
+ *
135
+ * persistFinalStatus 启动时入集,resolve/reject 后出集。
136
+ */
137
+ private readonly pendingPersists;
128
138
  constructor(opts: SubAgentManagerOptions);
129
139
  /** 创建 sub-agent(不立即运行;调 start 才执行) */
130
140
  spawn(opts: SubAgentSpawnOptions): Promise<string>;
@@ -239,6 +249,32 @@ export declare class SubAgentManager {
239
249
  subscribe(subId: string, cb: EventSubscriber): () => void;
240
250
  /** 清理所有运行中的 sub-agent(bridge 关闭时调用) */
241
251
  dispose(): Promise<void>;
252
+ /**
253
+ * 异步落盘终态记录(指数退避重试),不阻塞主流程。
254
+ *
255
+ * 设计要点:
256
+ * - 内存态已是终态(completed/failed/cancelled),落盘只做历史归档
257
+ * - 落盘失败不回滚内存态,前端看到的是真实终态
258
+ * - 重试覆盖瞬时错误:Windows fs.rename EPERM、writeChain 拥堵、磁盘瞬时不可用
259
+ * - 全部重试失败后仅打日志,下次 bridge 启动时 reconcileZombies 会清理残留
260
+ *
261
+ * 调用方约定:必须用 `void this.persistFinalStatus(...)` 触发,不 await。
262
+ * entry.completionResolve 与 enqueueCompletion 应在此调用之前完成,
263
+ * 保证主流程不被落盘 IO 阻塞。
264
+ *
265
+ * Promise 加入 pendingPersists 集合,供 flushPendingPersists / dispose 等待。
266
+ */
267
+ private persistFinalStatus;
268
+ /**
269
+ * 等待所有正在执行的异步终态落盘完成。
270
+ *
271
+ * 主要用途:
272
+ * - 测试在终态后读取 store 前调用,确保落盘已完成
273
+ * - dispose 前调用,避免文件句柄占用导致目录清理失败
274
+ *
275
+ * 生产环境一般不需要调用——落盘失败不影响内存态正确性。
276
+ */
277
+ flushPendingPersists(): Promise<void>;
242
278
  /**
243
279
  * 将子 agent 终态事件入队并通知等待者。
244
280
  * 主流程:构建通知对象 -> 入队 completionQueue -> 若有 waitForAnyCompletion 等待者则立即 resolve。
@@ -1 +1 @@
1
- {"version":3,"file":"sub-agent-manager.d.ts","sourceRoot":"","sources":["../src/sub-agent-manager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EACV,uBAAuB,EACvB,aAAa,EAEb,cAAc,EACd,YAAY,EACb,MAAM,sBAAsB,CAAC;AAqD9B;;;GAGG;AACH,MAAM,WAAW,8BAA8B;IAC7C,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,YAAY,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,cAAc,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAC9B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,KACT,OAAO,CAAC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAE1D,eAAe;AACf,MAAM,WAAW,oBAAoB;IACnC,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,YAAY,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,MAAM,CAAC;IACzB,6DAA6D;IAC7D,YAAY,EAAE,kBAAkB,CAAC;IACjC,+EAA+E;IAC/E,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,mCAAmC;AACnC,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,YAAY,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,cAAc,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,YAAY,CAAC;IACtB,eAAe,EAAE,eAAe,CAAC;IACjC,eAAe,EAAE,uBAAuB,CAAC;IACzC,0CAA0C;IAC1C,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,0DAA0D;IAC1D,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACzE,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,CAAC;IACtC,yCAAyC;IACzC,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChE,kEAAkE;IAClE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,8EAA8E;IAC9E,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,2BAA2B;AAC3B,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,aAAa,CAAC;IACrB,gBAAgB;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,KAAK,eAAe,GAAG,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;AAEtD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgB;IACtC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyC;IACnE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAuC;IACpE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAgD;IAC5E,uBAAuB;IACvB,OAAO,CAAC,YAAY,CAA+C;IAEnE;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAwC;IACxE;;;OAGG;IACH,OAAO,CAAC,uBAAuB,CAAkE;gBAErF,IAAI,EAAE,sBAAsB;IAexC,sCAAsC;IAChC,KAAK,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC;IA8ExD;;;;;;;OAOG;IACG,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBzC;;;;;;;;;OASG;IACG,gBAAgB,CACpB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,iBAAiB,EAC1B,UAAU,GAAE,MAAU,GACrB,OAAO,CAAC,IAAI,CAAC;IAqBhB;;;;;;;;OAQG;IACG,eAAe,CACnB,MAAM,EAAE,MAAM,EAAE,EAChB,SAAS,GAAE,MAAU,GACpB,OAAO,CAAC,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,cAAc,CAAA;KAAE,CAAC,CAAC;IA+E5F;;;;;;;;;;;;;OAaG;YACW,oBAAoB;IAoJlC;;;;;;;;;;;OAWG;YACW,+BAA+B;IAwN7C;;;OAGG;IACG,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAgBjF,uBAAuB;IACjB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA4CzC,mBAAmB;IACnB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAIrD,8CAA8C;IAC9C,YAAY,CAAC,aAAa,EAAE,MAAM,GAAG,aAAa,EAAE;IAQpD;;;;;OAKG;IACH,kBAAkB,CAAC,aAAa,EAAE,MAAM,GAAG,aAAa,EAAE;IAM1D;;;;;;OAMG;IACH,sBAAsB,IAAI,8BAA8B,EAAE;IAM1D;;;;;;;;;;OAUG;IACH,oBAAoB,IAAI;QACtB,OAAO,EAAE,OAAO,CAAC,8BAA8B,CAAC,CAAC;QACjD,MAAM,EAAE,MAAM,IAAI,CAAC;KACpB;IAyBD,sCAAsC;IACtC,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,eAAe,GAAG,MAAM,IAAI;IAazD,uCAAuC;IACjC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAc9B;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IA+BzB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,mBAAmB;IAQ3B;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAc/B;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,oBAAoB;IAW5B,oDAAoD;YACtC,aAAa;IA2C3B,qCAAqC;YACvB,iBAAiB;IAW/B,OAAO,CAAC,kBAAkB;IAoG1B,OAAO,CAAC,SAAS;IA2CjB,OAAO,CAAC,QAAQ;IAmBhB,6BAA6B;IAC7B,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,uBAAuB,GAAG,SAAS;CAGvE"}
1
+ {"version":3,"file":"sub-agent-manager.d.ts","sourceRoot":"","sources":["../src/sub-agent-manager.ts"],"names":[],"mappings":"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"}
@@ -28,8 +28,23 @@ const SUBAGENT_RUNNING_ZOMBIE_MS = 12 * 60 * 1000;
28
28
  * (磁盘 IO 慢、tmp 文件 rename 卡住、文件系统问题等),后续所有 write 都会
29
29
  * 被永久阻塞,导致 sub-agent 卡在 store.updateStatus 处无法继续 start()。
30
30
  * 5s 超时足够覆盖正常文件 IO(通常 < 100ms),超时后放弃落盘(不影响内存态)。
31
+ *
32
+ * ★ 仅用于 running 态写入(非阻塞路径不需要超时)。
33
+ * 终态写入走 persistFinalStatus 的指数退避重试,不再使用 withTimeout。
31
34
  */
32
35
  const STORE_WRITE_TIMEOUT_MS = 5_000;
36
+ /**
37
+ * 终态落盘的指数退避序列(毫秒)。
38
+ *
39
+ * 终态写入失败时按此序列重试,覆盖以下瞬时错误场景:
40
+ * - Windows fs.rename EPERM(reader 持有 fd,退避后释放即可成功)
41
+ * - writeChain 临时拥堵(前一个 write 慢,退避后队列消化)
42
+ * - 磁盘瞬时不可用
43
+ *
44
+ * 总耗时 ≈ 100+500+2000+8000 = 10.6s,远大于 EPERM 退避窗口和 writeChain 排队时长,
45
+ * 同时不至过长影响 bridge 关闭时的 dispose 流程。
46
+ */
47
+ const PERSIST_BACKOFF_MS = [100, 500, 2_000, 8_000];
33
48
  /**
34
49
  * 子 agent runtime.start() 整体超时兜底(毫秒)。
35
50
  * start() 内部正常路径秒级完成(loadSkills/resolveProvider/filterMcp/fetchProfile/emitStatus),
@@ -87,6 +102,16 @@ export class SubAgentManager {
87
102
  * null 表示当前没有等待者。
88
103
  */
89
104
  this.completionWaiterResolve = null;
105
+ /**
106
+ * 正在执行的异步终态落盘 Promise 集合。
107
+ *
108
+ * 用于:
109
+ * - 测试等待异步落盘完成后再读取 store 验证状态
110
+ * - dispose 时确保所有落盘完成后再清理(避免文件句柄占用导致目录非空)
111
+ *
112
+ * persistFinalStatus 启动时入集,resolve/reject 后出集。
113
+ */
114
+ this.pendingPersists = new Set();
90
115
  this.store = opts.store;
91
116
  this.maxConcurrent = opts.maxConcurrent ?? 5;
92
117
  // 启动定期清理已完成 entry 的定时器(每 5 分钟扫一次)
@@ -383,30 +408,23 @@ export class SubAgentManager {
383
408
  // ★ emit 前置:先把 completed 事件发出,让前端 modal 立即看到状态变化
384
409
  // (subscribers 同步执行,SSE 路由立即推送)。
385
410
  this.emitEvent(entry.subId, "completed", { result: output });
386
- // ★ store.updateStatus 必须在 completionResolve 之前:否则 awaitCompletion 在
387
- // resolve 后立即调 store.get 读文件,会与 store.updateStatus 的 fs.rename
388
- // 并发,Windows fs.rename 因 target 被打开而抛 EPERM,导致 store
389
- // 永远写不进 completed 状态。
390
- try {
391
- await withTimeout(this.store.updateStatus(entry.parentAgentId, entry.subId, {
392
- status: "completed",
393
- result: output,
394
- endedAt: entry.endedAt,
395
- durationMs: entry.durationMs,
396
- // ★ 持久化 availableTools:start() 后才填充,必须随终态落盘,
397
- // 否则 entry 从内存清理后 store 永远是 spawn 时的空数组,
398
- // 前端 modal "可用工具" tab 始终显示"暂无工具信息"。
399
- availableTools: entry.availableTools,
400
- contextSnapshot: undefined, // 完成后清空快照
401
- }), STORE_WRITE_TIMEOUT_MS, `sub-agent ${entry.subId} store.updateStatus(completed)`);
402
- }
403
- catch (storeErr) {
404
- console.error(`[SubAgentManager] store.updateStatus(completed) failed for subId=${entry.subId}: ` +
405
- `${storeErr instanceof Error ? storeErr.message : String(storeErr)}`);
406
- }
407
- // 持久化完成(或超时放弃)后,settle completionPromise + 入队通知
411
+ // ★ 终态落盘改为非阻塞:内存已置 completed,立即 settle completionPromise
412
+ // + 入队通知,磁盘写入走 persistFinalStatus 的指数退避重试,不阻塞主流程。
413
+ // 即使落盘最终失败,前端看到的仍是真实 completed 状态(内存态是真相源),
414
+ // 不会触发列表接口的 "status mismatch" 兜底(兜底逻辑已移除)。
408
415
  entry.completionResolve?.({ output });
409
416
  this.enqueueCompletion(entry, output, undefined);
417
+ void this.persistFinalStatus(entry, {
418
+ status: "completed",
419
+ result: output,
420
+ endedAt: entry.endedAt,
421
+ durationMs: entry.durationMs,
422
+ // ★ 持久化 availableTools:start() 后才填充,必须随终态落盘,
423
+ // 否则 entry 从内存清理后 store 永远是 spawn 时的空数组,
424
+ // 前端 modal "可用工具" tab 始终显示"暂无工具信息"。
425
+ availableTools: entry.availableTools,
426
+ contextSnapshot: undefined, // 完成后清空快照
427
+ });
410
428
  }
411
429
  catch (err) {
412
430
  const errorMessage = err instanceof Error ? err.message : String(err);
@@ -414,24 +432,18 @@ export class SubAgentManager {
414
432
  entry.errorMessage = errorMessage;
415
433
  entry.endedAt = Date.now();
416
434
  entry.durationMs = entry.endedAt - entry.startedAt;
417
- // ★ emit 前置 + store 超时保护(同 completed 路径的设计理由)
435
+ // ★ emit 前置 + 终态非阻塞落盘(同 completed 路径的设计理由)
418
436
  this.emitEvent(entry.subId, "failed", { error: errorMessage });
419
- try {
420
- await withTimeout(this.store.updateStatus(entry.parentAgentId, entry.subId, {
421
- status: "failed",
422
- errorMessage,
423
- endedAt: entry.endedAt,
424
- durationMs: entry.durationMs,
425
- availableTools: entry.availableTools,
426
- contextSnapshot: undefined,
427
- }), STORE_WRITE_TIMEOUT_MS, `sub-agent ${entry.subId} store.updateStatus(failed)`);
428
- }
429
- catch (storeErr) {
430
- console.error(`[SubAgentManager] store.updateStatus(failed) failed for subId=${entry.subId}: ` +
431
- `${storeErr instanceof Error ? storeErr.message : String(storeErr)}`);
432
- }
433
437
  entry.completionResolve?.({ output: "", error: errorMessage });
434
438
  this.enqueueCompletion(entry, "", errorMessage);
439
+ void this.persistFinalStatus(entry, {
440
+ status: "failed",
441
+ errorMessage,
442
+ endedAt: entry.endedAt,
443
+ durationMs: entry.durationMs,
444
+ availableTools: entry.availableTools,
445
+ contextSnapshot: undefined,
446
+ });
435
447
  }
436
448
  finally {
437
449
  // 移除临时监听器
@@ -564,26 +576,19 @@ export class SubAgentManager {
564
576
  entry.result = output;
565
577
  entry.endedAt = Date.now();
566
578
  entry.durationMs = entry.endedAt - entry.startedAt;
567
- // ★ emit 前置 + store 超时保护 + completionResolve store 之后
568
- // (设计理由同 runEntryToCompletion,避免 awaitCompletion 读 store
569
- // 与 store.updateStatus 的 fs.rename 并发触发 Windows EPERM)
579
+ // ★ emit 前置 + 终态非阻塞落盘 + 立即 settle completionPromise
580
+ // (设计理由同 runEntryToCompletion:内存态是真相源,磁盘写入不阻塞主流程)
570
581
  this.emitEvent(entry.subId, "completed", { result: output });
571
- try {
572
- await withTimeout(this.store.updateStatus(entry.parentAgentId, entry.subId, {
573
- status: "completed",
574
- result: output,
575
- endedAt: entry.endedAt,
576
- durationMs: entry.durationMs,
577
- availableTools: entry.availableTools,
578
- contextSnapshot: undefined,
579
- }), STORE_WRITE_TIMEOUT_MS, `sub-agent ${entry.subId} store.updateStatus(completed)`);
580
- }
581
- catch (storeErr) {
582
- console.error(`[SubAgentManager] store.updateStatus(completed) failed for subId=${entry.subId}: ` +
583
- `${storeErr instanceof Error ? storeErr.message : String(storeErr)}`);
584
- }
585
582
  entry.completionResolve?.({ output });
586
583
  this.enqueueCompletion(entry, output, undefined);
584
+ void this.persistFinalStatus(entry, {
585
+ status: "completed",
586
+ result: output,
587
+ endedAt: entry.endedAt,
588
+ durationMs: entry.durationMs,
589
+ availableTools: entry.availableTools,
590
+ contextSnapshot: undefined,
591
+ });
587
592
  }
588
593
  catch (err) {
589
594
  const errorMessage = err instanceof Error ? err.message : String(err);
@@ -591,24 +596,18 @@ export class SubAgentManager {
591
596
  entry.errorMessage = errorMessage;
592
597
  entry.endedAt = Date.now();
593
598
  entry.durationMs = entry.endedAt - entry.startedAt;
594
- // ★ emit 前置 + store 超时保护(同 completed 路径的设计理由)
599
+ // ★ emit 前置 + 终态非阻塞落盘(同 completed 路径的设计理由)
595
600
  this.emitEvent(entry.subId, "failed", { error: errorMessage });
596
- try {
597
- await withTimeout(this.store.updateStatus(entry.parentAgentId, entry.subId, {
598
- status: "failed",
599
- errorMessage,
600
- endedAt: entry.endedAt,
601
- durationMs: entry.durationMs,
602
- availableTools: entry.availableTools,
603
- contextSnapshot: undefined,
604
- }), STORE_WRITE_TIMEOUT_MS, `sub-agent ${entry.subId} store.updateStatus(failed)`);
605
- }
606
- catch (storeErr) {
607
- console.error(`[SubAgentManager] store.updateStatus(failed) failed for subId=${entry.subId}: ` +
608
- `${storeErr instanceof Error ? storeErr.message : String(storeErr)}`);
609
- }
610
601
  entry.completionResolve?.({ output: "", error: errorMessage });
611
602
  this.enqueueCompletion(entry, "", errorMessage);
603
+ void this.persistFinalStatus(entry, {
604
+ status: "failed",
605
+ errorMessage,
606
+ endedAt: entry.endedAt,
607
+ durationMs: entry.durationMs,
608
+ availableTools: entry.availableTools,
609
+ contextSnapshot: undefined,
610
+ });
612
611
  }
613
612
  finally {
614
613
  // 移除临时监听器
@@ -664,25 +663,18 @@ export class SubAgentManager {
664
663
  entry.status = "cancelled";
665
664
  entry.endedAt = Date.now();
666
665
  entry.durationMs = entry.endedAt - entry.startedAt;
667
- // ★ emit 前置 + store 超时保护 + completionResolve store 之后
668
- // (设计理由同 completed 路径,避免 abort 调用方读 store 与 fs.rename 并发 EPERM)
666
+ // ★ emit 前置 + 终态非阻塞落盘 + 立即 settle completionPromise
667
+ // (设计理由同 completed 路径:内存态是真相源,磁盘写入不阻塞主流程)
669
668
  this.emitEvent(subId, "cancelled", {});
670
- try {
671
- await withTimeout(this.store.updateStatus(entry.parentAgentId, subId, {
672
- status: "cancelled",
673
- endedAt: entry.endedAt,
674
- durationMs: entry.durationMs,
675
- availableTools: entry.availableTools,
676
- contextSnapshot: undefined,
677
- }), STORE_WRITE_TIMEOUT_MS, `sub-agent ${subId} store.updateStatus(cancelled)`);
678
- }
679
- catch (storeErr) {
680
- console.error(`[SubAgentManager] store.updateStatus(cancelled) failed for subId=${subId}: ` +
681
- `${storeErr instanceof Error ? storeErr.message : String(storeErr)}`);
682
- }
683
- // settle completionPromise(cancelled 视为 error)
684
669
  entry.completionResolve?.({ output: "", error: "aborted" });
685
670
  this.enqueueCompletion(entry, "", "aborted");
671
+ void this.persistFinalStatus(entry, {
672
+ status: "cancelled",
673
+ endedAt: entry.endedAt,
674
+ durationMs: entry.durationMs,
675
+ availableTools: entry.availableTools,
676
+ contextSnapshot: undefined,
677
+ });
686
678
  }
687
679
  /** 获取内存中的 entry */
688
680
  getSubAgent(subId) {
@@ -774,11 +766,66 @@ export class SubAgentManager {
774
766
  }
775
767
  const entries = Array.from(this.subAgents.values());
776
768
  await Promise.allSettled(entries.map((e) => this.abort(e.subId)));
769
+ // 等待所有异步终态落盘完成(abort 触发的 cancelled 落盘是异步的),
770
+ // 避免文件句柄占用导致测试 cleanup 时目录非空
771
+ await this.flushPendingPersists();
777
772
  this.subAgents.clear();
778
773
  this.parentToSubs.clear();
779
774
  this.subscribers.clear();
780
775
  }
781
776
  // ---------- 内部方法 ----------
777
+ /**
778
+ * 异步落盘终态记录(指数退避重试),不阻塞主流程。
779
+ *
780
+ * 设计要点:
781
+ * - 内存态已是终态(completed/failed/cancelled),落盘只做历史归档
782
+ * - 落盘失败不回滚内存态,前端看到的是真实终态
783
+ * - 重试覆盖瞬时错误:Windows fs.rename EPERM、writeChain 拥堵、磁盘瞬时不可用
784
+ * - 全部重试失败后仅打日志,下次 bridge 启动时 reconcileZombies 会清理残留
785
+ *
786
+ * 调用方约定:必须用 `void this.persistFinalStatus(...)` 触发,不 await。
787
+ * entry.completionResolve 与 enqueueCompletion 应在此调用之前完成,
788
+ * 保证主流程不被落盘 IO 阻塞。
789
+ *
790
+ * Promise 加入 pendingPersists 集合,供 flushPendingPersists / dispose 等待。
791
+ */
792
+ persistFinalStatus(entry, patch) {
793
+ const run = (async () => {
794
+ let lastErr;
795
+ for (let attempt = 0; attempt <= PERSIST_BACKOFF_MS.length; attempt++) {
796
+ try {
797
+ await this.store.updateStatus(entry.parentAgentId, entry.subId, patch);
798
+ return;
799
+ }
800
+ catch (err) {
801
+ lastErr = err;
802
+ if (attempt < PERSIST_BACKOFF_MS.length) {
803
+ await new Promise((r) => setTimeout(r, PERSIST_BACKOFF_MS[attempt]));
804
+ }
805
+ }
806
+ }
807
+ console.error(`[SubAgentManager] persistFinalStatus(${patch.status}) failed after ${PERSIST_BACKOFF_MS.length + 1} attempts ` +
808
+ `for subId=${entry.subId}: ${lastErr instanceof Error ? lastErr.message : String(lastErr)}`);
809
+ })();
810
+ // 入集供测试/dispose 等待
811
+ this.pendingPersists.add(run);
812
+ run.finally(() => this.pendingPersists.delete(run));
813
+ return run;
814
+ }
815
+ /**
816
+ * 等待所有正在执行的异步终态落盘完成。
817
+ *
818
+ * 主要用途:
819
+ * - 测试在终态后读取 store 前调用,确保落盘已完成
820
+ * - dispose 前调用,避免文件句柄占用导致目录清理失败
821
+ *
822
+ * 生产环境一般不需要调用——落盘失败不影响内存态正确性。
823
+ */
824
+ async flushPendingPersists() {
825
+ if (this.pendingPersists.size === 0)
826
+ return;
827
+ await Promise.allSettled(Array.from(this.pendingPersists));
828
+ }
782
829
  /**
783
830
  * 将子 agent 终态事件入队并通知等待者。
784
831
  * 主流程:构建通知对象 -> 入队 completionQueue -> 若有 waitForAnyCompletion 等待者则立即 resolve。
@@ -875,26 +922,20 @@ export class SubAgentManager {
875
922
  entry.errorMessage = errorMessage;
876
923
  entry.endedAt = Date.now();
877
924
  entry.durationMs = entry.endedAt - entry.startedAt;
878
- // ★ emit 前置 + store 超时保护 + completionResolve store 之后
925
+ // ★ emit 前置 + 终态非阻塞落盘 + 立即 settle completionPromise
879
926
  // (与其他终态路径保持一致,zombie 回收路径若 writeChain 卡住,
880
927
  // 也应保证 runtime 收到 failed 事件从而释放 pendingMemorySubAgents URI 锁)
881
928
  this.emitEvent(entry.subId, "failed", { error: errorMessage });
882
- try {
883
- await withTimeout(this.store.updateStatus(entry.parentAgentId, entry.subId, {
884
- status: "failed",
885
- errorMessage,
886
- endedAt: entry.endedAt,
887
- durationMs: entry.durationMs,
888
- availableTools: entry.availableTools,
889
- contextSnapshot: undefined,
890
- }), STORE_WRITE_TIMEOUT_MS, `sub-agent ${entry.subId} store.updateStatus(zombie-failed)`);
891
- }
892
- catch (storeErr) {
893
- console.error(`[SubAgentManager] store.updateStatus(zombie-failed) failed for subId=${entry.subId}: ` +
894
- `${storeErr instanceof Error ? storeErr.message : String(storeErr)}`);
895
- }
896
929
  entry.completionResolve?.({ output: "", error: errorMessage });
897
930
  this.enqueueCompletion(entry, "", errorMessage);
931
+ void this.persistFinalStatus(entry, {
932
+ status: "failed",
933
+ errorMessage,
934
+ endedAt: entry.endedAt,
935
+ durationMs: entry.durationMs,
936
+ availableTools: entry.availableTools,
937
+ contextSnapshot: undefined,
938
+ });
898
939
  try {
899
940
  await entry.runtime.stop();
900
941
  }
@@ -12,12 +12,21 @@ import type { SubAgentDocument, SubAgentEvent, SubAgentRecord } from "./sub-agen
12
12
  * - 不依赖 agent 工作目录,避免 workspacePath 错误时读取失败
13
13
  * - sub-agent 跟随 agent(agentId),不跟随项目工作区
14
14
  * - 主记录写操作通过 Promise 链串行化,tmp + rename 原子替换
15
- * (rename 在 Windows 上目标被打开时会 EPERM,使用 renameWithRetry 短退避重试)
15
+ * (rename 在 Windows 上目标被打开时会 EPERM,使用 renameWithRetry 退避重试,
16
+ * 重试仍失败时 fallback 到 copyFile + unlink,彻底规避 EPERM 持续场景)
16
17
  * - events 走独立文件,避免 tool_start/tool_end 高频落盘阻塞终态 updateStatus
17
18
  * (历史教训:events 与 updateStatus 共用 writeChain 时,memory delegate
18
19
  * 一次跑数十个工具调用,appendEvent 排队导致 updateStatus 超 5s 超时,
19
20
  * 内存已翻终态但 store 仍 running,触发 "status mismatch" 兜底误报)
20
21
  *
22
+ * ★ 终态一致性架构(治本方案):
23
+ * - 内存态(SubAgentManager)是运行态的唯一真相源
24
+ * - 终态写入通过 persistFinalStatus 异步重试落盘,不阻塞 completionResolve
25
+ * - 落盘失败不回滚内存态,前端看到的是真实终态
26
+ * - 列表接口不再做"磁盘 running/pending + 内存无 → 改写 failed"的兜底
27
+ * (该兜底是 "status mismatch" 误报的直接来源,已移除)
28
+ * - bridge 启动时 reconcileZombies 一次性清理上次进程残留的僵尸记录
29
+ *
21
30
  * 历史保留策略:全部 sub-agent 记录都持久化(含 completed/failed/cancelled),
22
31
  * 按 startedAt 倒序排列。dashboard 按需分页读取。
23
32
  */
@@ -1 +1 @@
1
- {"version":3,"file":"sub-agent-store.d.ts","sourceRoot":"","sources":["../src/sub-agent-store.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAG5F;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,UAAU,CAAoC;;IAMtD,kCAAkC;IAClC,OAAO,CAAC,QAAQ;IAKhB,2CAA2C;IAC3C,OAAO,CAAC,cAAc;IAMtB,wCAAwC;IAClC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAoBtD,wBAAwB;IAClB,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAKzE,oCAAoC;IAC9B,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBxE,wBAAwB;IAClB,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAWpE,eAAe;IACT,YAAY,CAChB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,OAAO,CAAC,cAAc,CAAC,GAC7B,OAAO,CAAC,IAAI,CAAC;IAQhB,+CAA+C;IACzC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAItD;;;;;;;;;;OAUG;IACG,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAOtF;;;;;;OAMG;IACG,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAyB1E;;;OAGG;IACG,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC;CAmC1C"}
1
+ {"version":3,"file":"sub-agent-store.d.ts","sourceRoot":"","sources":["../src/sub-agent-store.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAG5F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,UAAU,CAAoC;;IAMtD,kCAAkC;IAClC,OAAO,CAAC,QAAQ;IAKhB,2CAA2C;IAC3C,OAAO,CAAC,cAAc;IAMtB,wCAAwC;IAClC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAoBtD,wBAAwB;IAClB,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAKzE,oCAAoC;IAC9B,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBxE,wBAAwB;IAClB,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAWpE,eAAe;IACT,YAAY,CAChB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,OAAO,CAAC,cAAc,CAAC,GAC7B,OAAO,CAAC,IAAI,CAAC;IAQhB,+CAA+C;IACzC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAItD;;;;;;;;;;OAUG;IACG,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAOtF;;;;;;OAMG;IACG,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAyB1E;;;OAGG;IACG,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC;CAmC1C"}
@@ -15,12 +15,21 @@ import { renameWithRetry } from "./fs-utils.js";
15
15
  * - 不依赖 agent 工作目录,避免 workspacePath 错误时读取失败
16
16
  * - sub-agent 跟随 agent(agentId),不跟随项目工作区
17
17
  * - 主记录写操作通过 Promise 链串行化,tmp + rename 原子替换
18
- * (rename 在 Windows 上目标被打开时会 EPERM,使用 renameWithRetry 短退避重试)
18
+ * (rename 在 Windows 上目标被打开时会 EPERM,使用 renameWithRetry 退避重试,
19
+ * 重试仍失败时 fallback 到 copyFile + unlink,彻底规避 EPERM 持续场景)
19
20
  * - events 走独立文件,避免 tool_start/tool_end 高频落盘阻塞终态 updateStatus
20
21
  * (历史教训:events 与 updateStatus 共用 writeChain 时,memory delegate
21
22
  * 一次跑数十个工具调用,appendEvent 排队导致 updateStatus 超 5s 超时,
22
23
  * 内存已翻终态但 store 仍 running,触发 "status mismatch" 兜底误报)
23
24
  *
25
+ * ★ 终态一致性架构(治本方案):
26
+ * - 内存态(SubAgentManager)是运行态的唯一真相源
27
+ * - 终态写入通过 persistFinalStatus 异步重试落盘,不阻塞 completionResolve
28
+ * - 落盘失败不回滚内存态,前端看到的是真实终态
29
+ * - 列表接口不再做"磁盘 running/pending + 内存无 → 改写 failed"的兜底
30
+ * (该兜底是 "status mismatch" 误报的直接来源,已移除)
31
+ * - bridge 启动时 reconcileZombies 一次性清理上次进程残留的僵尸记录
32
+ *
24
33
  * 历史保留策略:全部 sub-agent 记录都持久化(含 completed/failed/cancelled),
25
34
  * 按 startedAt 倒序排列。dashboard 按需分页读取。
26
35
  */
@@ -1 +1 @@
1
- {"version":3,"file":"agent-client.d.ts","sourceRoot":"","sources":["../src/agent-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-client.d.ts","sourceRoot":"","sources":["../src/agent-client.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@
5
5
  import { configManager } from "./config.js";
6
6
  import { MESSAGE_POLL_INTERVAL_MS } from "./constants.js";
7
7
  import { HttpClient } from "./http-client.js";
8
- import { logger, setMcpNodeLogSink } from "./logger.js";
8
+ import { logger, setMcpNodeLogSink, updateStartupLogIdentity } from "./logger.js";
9
9
  import { claimRuntimeLaunchBinding } from "./runtime-launch-binding.js";
10
10
  import { StatusReporter } from "./status-reporter.js";
11
11
  import { WebSocketClient } from "./websocket-client.js";
@@ -132,6 +132,8 @@ export class AgentClient {
132
132
  const refreshedProfile = await this.getProfileByAgentId(this.agentId);
133
133
  this.displayName = refreshedProfile.displayName;
134
134
  this.projectName = refreshedProfile.projectName || null;
135
+ // 用真实的角色名和实例名更新 MCP 启动日志文件路径
136
+ updateStartupLogIdentity(refreshedProfile.roleName || "unknown-role", refreshedProfile.instanceName || this.agentId);
135
137
  return {
136
138
  agentId: this.agentId,
137
139
  displayName: this.displayName,
@@ -160,6 +162,8 @@ export class AgentClient {
160
162
  this.agentId = agentId;
161
163
  this.displayName = result.displayName;
162
164
  this.projectName = result.projectName || null; // 保存服务端返回的项目名
165
+ // 用真实的角色名和实例名更新 MCP 启动日志文件路径
166
+ updateStartupLogIdentity(this.agentConfig.roleName || "unknown-role", result.instanceName || agentId);
163
167
  logger.info(`[AgentClient] 注册成功: ${this.displayName} (${this.agentId})`);
164
168
  logger.info(`[AgentClient] 状态: ${result.status}`);
165
169
  logger.info(`[AgentClient] 所属项目: ${this.projectName || "(未设置)"}`);
@@ -1 +1 @@
1
- {"version":3,"file":"agent-client.js","sourceRoot":"","sources":["../src/agent-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-client.js","sourceRoot":"","sources":["../src/agent-client.ts"],"names":[],"mappings":"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"}
@@ -6,15 +6,25 @@ export interface McpNodeLogEntry {
6
6
  }
7
7
  export type McpNodeLogSink = (entry: McpNodeLogEntry) => void;
8
8
  export declare function formatStartupTimestamp(date: Date): string;
9
- export declare function getStartupPathName(startupPath: string | undefined): string;
10
9
  export declare function sanitizeLogFileNameSegment(segment: string): string;
10
+ /**
11
+ * 构建 MCP 启动日志文件路径。
12
+ * 路径格式:{logDir}/{roleName}-{instanceName}/{startupTimestamp}.log
13
+ * roleName/instanceName 优先使用传入值,未传入时使用环境变量或 "unknown-*" 兜底。
14
+ */
11
15
  export declare function buildStartupLogFilePath(options?: {
12
16
  homeDir?: string;
13
17
  logDir?: string;
14
- startupPath?: string;
18
+ roleName?: string;
19
+ instanceName?: string;
15
20
  startupTime?: Date;
16
21
  }): string;
17
22
  export declare function initializeStartupLogFile(): string | null;
23
+ /**
24
+ * 在 Agent 注册后更新日志文件路径的角色-实例标识。
25
+ * 主流程:使用真实的 roleName/instanceName 重新计算路径,若与原路径不同则创建新目录并移动文件。
26
+ */
27
+ export declare function updateStartupLogIdentity(roleName: string, instanceName: string): void;
18
28
  /**
19
29
  * 绑定 MCP Node.js 日志上报通道。
20
30
  * 主流程:设置实时 sink -> 回放启动以来的缓冲日志 -> 后续日志实时推送。
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAEjD,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,QAAQ,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;AAc9D,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAYzD;AAED,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAQ1E;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CASlE;AAED,wBAAgB,uBAAuB,CAAC,OAAO,GAAE;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,IAAI,CAAC;CACf,GAAG,MAAM,CAOd;AAED,wBAAgB,wBAAwB,IAAI,MAAM,GAAG,IAAI,CAsBxD;AA2CD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,GAAG,IAAI,CAQnE;AAaD,eAAO,MAAM,MAAM;oBACD,OAAO,EAAE,KAAG,IAAI;oBAChB,OAAO,EAAE,KAAG,IAAI;qBACf,OAAO,EAAE,KAAG,IAAI;CAClC,CAAC"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAEjD,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,QAAQ,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;AAe9D,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAYzD;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CASlE;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,GAAE;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,IAAI,CAAC;CACf,GAAG,MAAM,CAed;AAED,wBAAgB,wBAAwB,IAAI,MAAM,GAAG,IAAI,CA2BxD;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CA+BrF;AA2CD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,GAAG,IAAI,CAQnE;AAaD,eAAO,MAAM,MAAM;oBACD,OAAO,EAAE,KAAG,IAAI;oBAChB,OAAO,EAAE,KAAG,IAAI;qBACf,OAAO,EAAE,KAAG,IAAI;CAClC,CAAC"}
@@ -6,6 +6,7 @@ const STARTUP_TIME = new Date();
6
6
  const DISABLE_FILE_LOG_VALUES = new Set(["0", "false", "off", "no"]);
7
7
  const MAX_BUFFERED_NODE_LOGS = 200;
8
8
  let startupLogFilePath;
9
+ let startupLogBaseDir = null;
9
10
  let nodeLogSink = null;
10
11
  const bufferedNodeLogs = [];
11
12
  function pad(value, length = 2) {
@@ -24,14 +25,6 @@ export function formatStartupTimestamp(date) {
24
25
  pad(date.getMilliseconds(), 3),
25
26
  ].join("");
26
27
  }
27
- export function getStartupPathName(startupPath) {
28
- const normalized = String(startupPath || "").trim().replace(/[\\/]+$/, "");
29
- if (!normalized) {
30
- return "workspace";
31
- }
32
- const parts = normalized.split(/[\\/]+/).filter(Boolean);
33
- return parts[parts.length - 1] || "workspace";
34
- }
35
28
  export function sanitizeLogFileNameSegment(segment) {
36
29
  const controlCharactersPattern = new RegExp(`[${String.fromCharCode(0)}-${String.fromCharCode(31)}]`, "g");
37
30
  const sanitized = segment
@@ -42,11 +35,19 @@ export function sanitizeLogFileNameSegment(segment) {
42
35
  .replace(/[. ]+$/g, "");
43
36
  return sanitized || "workspace";
44
37
  }
38
+ /**
39
+ * 构建 MCP 启动日志文件路径。
40
+ * 路径格式:{logDir}/{roleName}-{instanceName}/{startupTimestamp}.log
41
+ * roleName/instanceName 优先使用传入值,未传入时使用环境变量或 "unknown-*" 兜底。
42
+ */
45
43
  export function buildStartupLogFilePath(options = {}) {
46
- const logDir = options.logDir || path.join(options.homeDir || os.homedir(), ".aws-bridge", "log");
47
- const startupPathName = sanitizeLogFileNameSegment(getStartupPathName(options.startupPath || process.env.AWS_WORKSPACE_PATH || process.cwd()));
44
+ const baseDir = options.logDir || path.join(options.homeDir || os.homedir(), ".aws-bridge", "log");
45
+ const roleName = sanitizeLogFileNameSegment(options.roleName || process.env.AWS_ROLE_NAME || "unknown-role");
46
+ const instanceName = sanitizeLogFileNameSegment(options.instanceName || process.env.AWS_AGENT_ID || "unknown-instance");
47
+ const identityDir = `${roleName}-${instanceName}`;
48
+ const logDir = path.join(baseDir, identityDir);
48
49
  const startupTime = formatStartupTimestamp(options.startupTime || STARTUP_TIME);
49
- return path.join(logDir, `${startupPathName}-${startupTime}.log`);
50
+ return path.join(logDir, `${startupTime}.log`);
50
51
  }
51
52
  export function initializeStartupLogFile() {
52
53
  if (startupLogFilePath !== undefined) {
@@ -58,18 +59,58 @@ export function initializeStartupLogFile() {
58
59
  return null;
59
60
  }
60
61
  try {
62
+ const envLogDir = process.env.AWS_MCP_LOG_DIR || undefined;
63
+ startupLogBaseDir = envLogDir || path.join(os.homedir(), ".aws-bridge", "log");
61
64
  startupLogFilePath = buildStartupLogFilePath({
62
- logDir: process.env.AWS_MCP_LOG_DIR || undefined,
65
+ logDir: startupLogBaseDir,
66
+ roleName: process.env.AWS_ROLE_NAME || undefined,
67
+ instanceName: process.env.AWS_AGENT_ID || undefined,
63
68
  });
64
69
  fs.mkdirSync(path.dirname(startupLogFilePath), { recursive: true });
65
70
  return startupLogFilePath;
66
71
  }
67
72
  catch (error) {
68
73
  startupLogFilePath = null;
74
+ startupLogBaseDir = null;
69
75
  console.warn("[Logger] 无法创建 MCP 启动日志文件:", error);
70
76
  return null;
71
77
  }
72
78
  }
79
+ /**
80
+ * 在 Agent 注册后更新日志文件路径的角色-实例标识。
81
+ * 主流程:使用真实的 roleName/instanceName 重新计算路径,若与原路径不同则创建新目录并移动文件。
82
+ */
83
+ export function updateStartupLogIdentity(roleName, instanceName) {
84
+ if (startupLogFilePath === undefined || startupLogFilePath === null || !startupLogBaseDir) {
85
+ return;
86
+ }
87
+ const oldPath = startupLogFilePath;
88
+ const newPath = buildStartupLogFilePath({
89
+ logDir: startupLogBaseDir,
90
+ roleName,
91
+ instanceName,
92
+ startupTime: STARTUP_TIME,
93
+ });
94
+ if (oldPath === newPath) {
95
+ return;
96
+ }
97
+ try {
98
+ fs.mkdirSync(path.dirname(newPath), { recursive: true });
99
+ fs.renameSync(oldPath, newPath);
100
+ startupLogFilePath = newPath;
101
+ // 清理 rename 后留下的空旧目录
102
+ try {
103
+ fs.rmdirSync(path.dirname(oldPath));
104
+ }
105
+ catch {
106
+ // 目录非空或其它原因,忽略
107
+ }
108
+ console.log(`[Logger] MCP 启动日志路径已更新: ${oldPath} -> ${newPath}`);
109
+ }
110
+ catch (error) {
111
+ console.warn("[Logger] 无法更新 MCP 启动日志身份标识:", error);
112
+ }
113
+ }
73
114
  function writeFileLog(level, args) {
74
115
  if (startupLogFilePath === undefined) {
75
116
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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"}
@@ -1,27 +1,24 @@
1
1
  import assert from "node:assert/strict";
2
2
  import * as path from "node:path";
3
3
  import { describe, it } from "node:test";
4
- import { buildStartupLogFilePath, formatStartupTimestamp, getStartupPathName, sanitizeLogFileNameSegment, } from "./logger.js";
4
+ import { buildStartupLogFilePath, formatStartupTimestamp, sanitizeLogFileNameSegment, } from "./logger.js";
5
5
  describe("logger startup log path", () => {
6
6
  it("formats startup time for log filenames", () => {
7
7
  const startupTime = new Date(2026, 4, 5, 9, 8, 7, 6);
8
8
  assert.equal(formatStartupTimestamp(startupTime), "20260505-090807-006");
9
9
  });
10
- it("uses the last startup path segment", () => {
11
- assert.equal(getStartupPathName("D:/code/AgentsWorkStudio/demo-project/"), "demo-project");
12
- assert.equal(getStartupPathName("D:\\code\\AgentsWorkStudio\\demo-project\\"), "demo-project");
13
- });
14
10
  it("sanitizes unsafe filename characters", () => {
15
11
  assert.equal(sanitizeLogFileNameSegment('demo:bad*name?'), "demo_bad_name_");
16
12
  });
17
- it("builds log path under the aws bridge log directory", () => {
13
+ it("builds log path under the aws bridge log directory with role-instance subdirectory", () => {
18
14
  const startupTime = new Date(2026, 4, 5, 9, 8, 7, 6);
19
15
  const logFilePath = buildStartupLogFilePath({
20
16
  homeDir: "C:/Users/dev",
21
- startupPath: "D:/code/AgentsWorkStudio/aws-client-agent-mcp",
17
+ roleName: "测试助手",
18
+ instanceName: "128M",
22
19
  startupTime,
23
20
  });
24
- assert.equal(logFilePath, path.join("C:/Users/dev", ".aws-bridge", "log", "aws-client-agent-mcp-20260505-090807-006.log"));
21
+ assert.equal(logFilePath, path.join("C:/Users/dev", ".aws-bridge", "log", "测试助手-128M", "20260505-090807-006.log"));
25
22
  });
26
23
  });
27
24
  //# sourceMappingURL=logger.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.test.js","sourceRoot":"","sources":["../src/logger.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,kBAAkB,EAClB,0BAA0B,GAC3B,MAAM,aAAa,CAAC;AAErB,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACvC,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAErD,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,WAAW,CAAC,EAAE,qBAAqB,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC5C,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,wCAAwC,CAAC,EAAE,cAAc,CAAC,CAAC;QAC3F,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,4CAA4C,CAAC,EAAE,cAAc,CAAC,CAAC;IACjG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACrD,MAAM,WAAW,GAAG,uBAAuB,CAAC;YAC1C,OAAO,EAAE,cAAc;YACvB,WAAW,EAAE,+CAA+C;YAC5D,WAAW;SACZ,CAAC,CAAC;QAEH,MAAM,CAAC,KAAK,CACV,WAAW,EACX,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,aAAa,EAAE,KAAK,EAAE,8CAA8C,CAAC,CAChG,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"logger.test.js","sourceRoot":"","sources":["../src/logger.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,0BAA0B,GAC3B,MAAM,aAAa,CAAC;AAErB,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACvC,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAErD,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,WAAW,CAAC,EAAE,qBAAqB,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oFAAoF,EAAE,GAAG,EAAE;QAC5F,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACrD,MAAM,WAAW,GAAG,uBAAuB,CAAC;YAC1C,OAAO,EAAE,cAAc;YACvB,QAAQ,EAAE,MAAM;YAChB,YAAY,EAAE,MAAM;YACpB,WAAW;SACZ,CAAC,CAAC;QAEH,MAAM,CAAC,KAAK,CACV,WAAW,EACX,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,yBAAyB,CAAC,CACxF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aws-runtime-bridge",
3
- "version": "1.9.60",
3
+ "version": "1.9.61",
4
4
  "description": "AgentsWorkStudio runtime bridge service for machine-level agent runtime integration",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",