@cicctencent/agent-core 0.1.30 → 0.1.31

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 (61) hide show
  1. package/dist/cjs/agent/engine.d.ts +57 -0
  2. package/dist/cjs/agent/engine.d.ts.map +1 -1
  3. package/dist/cjs/agent/engine.js +191 -1
  4. package/dist/cjs/agent/engine.js.map +1 -1
  5. package/dist/cjs/agent/llm-caller.d.ts.map +1 -1
  6. package/dist/cjs/agent/llm-caller.js +8 -0
  7. package/dist/cjs/agent/llm-caller.js.map +1 -1
  8. package/dist/cjs/agent/rate-limit-manager.d.ts +127 -0
  9. package/dist/cjs/agent/rate-limit-manager.d.ts.map +1 -0
  10. package/dist/cjs/agent/rate-limit-manager.js +465 -0
  11. package/dist/cjs/agent/rate-limit-manager.js.map +1 -0
  12. package/dist/cjs/agent/tool-executor.d.ts +11 -0
  13. package/dist/cjs/agent/tool-executor.d.ts.map +1 -1
  14. package/dist/cjs/agent/tool-executor.js +95 -4
  15. package/dist/cjs/agent/tool-executor.js.map +1 -1
  16. package/dist/cjs/agent/types.d.ts +59 -0
  17. package/dist/cjs/agent/types.d.ts.map +1 -1
  18. package/dist/cjs/agent/types.js.map +1 -1
  19. package/dist/cjs/index.d.ts +2 -1
  20. package/dist/cjs/index.d.ts.map +1 -1
  21. package/dist/cjs/index.js +7 -3
  22. package/dist/cjs/index.js.map +1 -1
  23. package/dist/cjs/runtime/run-registry.d.ts +2 -0
  24. package/dist/cjs/runtime/run-registry.d.ts.map +1 -1
  25. package/dist/cjs/runtime/run-registry.js +24 -1
  26. package/dist/cjs/runtime/run-registry.js.map +1 -1
  27. package/dist/cjs/utils/dsml-parser.d.ts +1 -1
  28. package/dist/cjs/utils/dsml-parser.d.ts.map +1 -1
  29. package/dist/cjs/utils/dsml-parser.js +16 -3
  30. package/dist/cjs/utils/dsml-parser.js.map +1 -1
  31. package/dist/esm/agent/engine.d.ts +57 -0
  32. package/dist/esm/agent/engine.d.ts.map +1 -1
  33. package/dist/esm/agent/engine.js +191 -1
  34. package/dist/esm/agent/engine.js.map +1 -1
  35. package/dist/esm/agent/llm-caller.d.ts.map +1 -1
  36. package/dist/esm/agent/llm-caller.js +8 -0
  37. package/dist/esm/agent/llm-caller.js.map +1 -1
  38. package/dist/esm/agent/rate-limit-manager.d.ts +127 -0
  39. package/dist/esm/agent/rate-limit-manager.d.ts.map +1 -0
  40. package/dist/esm/agent/rate-limit-manager.js +463 -0
  41. package/dist/esm/agent/rate-limit-manager.js.map +1 -0
  42. package/dist/esm/agent/tool-executor.d.ts +11 -0
  43. package/dist/esm/agent/tool-executor.d.ts.map +1 -1
  44. package/dist/esm/agent/tool-executor.js +95 -4
  45. package/dist/esm/agent/tool-executor.js.map +1 -1
  46. package/dist/esm/agent/types.d.ts +59 -0
  47. package/dist/esm/agent/types.d.ts.map +1 -1
  48. package/dist/esm/agent/types.js.map +1 -1
  49. package/dist/esm/index.d.ts +2 -1
  50. package/dist/esm/index.d.ts.map +1 -1
  51. package/dist/esm/index.js +1 -0
  52. package/dist/esm/index.js.map +1 -1
  53. package/dist/esm/runtime/run-registry.d.ts +2 -0
  54. package/dist/esm/runtime/run-registry.d.ts.map +1 -1
  55. package/dist/esm/runtime/run-registry.js +24 -1
  56. package/dist/esm/runtime/run-registry.js.map +1 -1
  57. package/dist/esm/utils/dsml-parser.d.ts +1 -1
  58. package/dist/esm/utils/dsml-parser.d.ts.map +1 -1
  59. package/dist/esm/utils/dsml-parser.js +16 -3
  60. package/dist/esm/utils/dsml-parser.js.map +1 -1
  61. package/package.json +1 -1
@@ -10,6 +10,10 @@ export declare class AgentEngine {
10
10
  private abortMap;
11
11
  /** sessionId → steering messages(实时转向队列) */
12
12
  private steeringMap;
13
+ /** parentSessionId → Set<childSessionId>(父子会话关系跟踪,用于级联 abort) */
14
+ private childSessionMap;
15
+ /** childSessionId → parentSessionId(反向索引,用于快速查找父会话) */
16
+ private parentSessionMap;
13
17
  /** 子模块:历史管理器 */
14
18
  private historyManager;
15
19
  /** 子模块:LLM 调用器 */
@@ -26,6 +30,8 @@ export declare class AgentEngine {
26
30
  private outputTools;
27
31
  /** Guard 策略配置(阈值可注入,不硬编码业务逻辑) */
28
32
  private guardConfig;
33
+ /** 错误恢复策略配置 */
34
+ private errorRecovery;
29
35
  constructor(config: AgentConfig);
30
36
  /** 获取当前 Agent 的 ToolRegistry(供 read_tool_doc 等内置工具使用) */
31
37
  getToolRegistry(): ToolRegistry;
@@ -65,6 +71,29 @@ export declare class AgentEngine {
65
71
  forkHistory(sourceSessionId: string, targetSessionId: string, fromIndex?: number): number;
66
72
  /** 获取会话历史的消息数量 */
67
73
  getHistoryLength(sessionId: string): number;
74
+ /**
75
+ * 注册父子会话关系。
76
+ *
77
+ * 典型场景:主 Agent 通过 delegate_task 工具派生子任务时,
78
+ * 上层调用此方法将子会话与父会话关联。当父会话因异常终止时,
79
+ * 如果配置了 `cascadeAbortChildren`,所有子会话也会被自动 abort。
80
+ *
81
+ * @param parentSessionId 父会话 ID
82
+ * @param childSessionId 子会话 ID
83
+ */
84
+ linkChildSession(parentSessionId: string, childSessionId: string): void;
85
+ /**
86
+ * 解除父子会话关系(子会话完成后调用)。
87
+ */
88
+ unlinkChildSession(childSessionId: string): void;
89
+ /**
90
+ * 获取指定父会话的所有子会话 ID。
91
+ */
92
+ getChildSessions(parentSessionId: string): string[];
93
+ /**
94
+ * 获取指定子会话的父会话 ID(如有)。
95
+ */
96
+ getParentSession(childSessionId: string): string | undefined;
68
97
  /**
69
98
  * 执行 Agent 任务(流式推送事件)
70
99
  * 上层通过 for-await-of 消费事件流
@@ -161,10 +190,38 @@ export declare class AgentEngine {
161
190
  private emitDone;
162
191
  /** 中断指定会话的 Agent 执行 */
163
192
  abort(sessionId: string): void;
193
+ /**
194
+ * 中断指定会话及其所有子会话的 Agent 执行(级联 abort)。
195
+ *
196
+ * 递归遍历子会话树,从叶子节点到根节点依次 abort。
197
+ * 用于确保父会话异常终止时,所有 delegate_task 派生的子任务也被终止。
198
+ */
199
+ abortCascade(sessionId: string): void;
164
200
  /** 查询指定会话的 Agent 状态 */
165
201
  getStatus(sessionId: string): AgentStatus;
166
202
  /** 销毁引擎,释放所有会话资源 */
167
203
  destroy(): void;
204
+ /**
205
+ * 统一的致命错误处理入口。
206
+ *
207
+ * 由引擎内部(agentLoop、catch 块)在遇到不可恢复错误时调用。
208
+ * 按以下顺序执行:
209
+ * 1. 调用 config.errorRecovery.onFatalError 回调(允许上层记录/通知)
210
+ * 2. 如果 config.errorRecovery.autoAbortOnFatal,abort 当前会话
211
+ * 3. 如果 config.errorRecovery.cascadeAbortChildren,级联 abort 所有子会话
212
+ *
213
+ * @param error 致命错误信息(含 sessionId)
214
+ */
215
+ private handleFatalError;
216
+ /**
217
+ * 清理指定会话的父子关系记录。
218
+ *
219
+ * 在会话自然完成或 abort 后调用,防止内存泄漏。
220
+ * 处理两个方向:
221
+ * - 如果是父会话:移除所有子会话引用(但子会话若仍在运行则保留其关系)
222
+ * - 如果是子会话:从父会话的子集中移除自身
223
+ */
224
+ private cleanupSessionRelations;
168
225
  createEvent(sessionId: string, event: Record<string, unknown>): AgentEvent;
169
226
  private createNoopShell;
170
227
  }
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../../src/agent/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../../src/agent/engine.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ const history_manager_ts_1 = require("./history-manager.js");
11
11
  const llm_caller_ts_1 = require("./llm-caller.js");
12
12
  const tool_executor_ts_1 = require("./tool-executor.js");
13
13
  const logger_ts_1 = require("../observability/logger.js");
14
+ const rate_limit_manager_ts_1 = require("./rate-limit-manager.js");
14
15
  /** 默认系统提示词 */
15
16
  const DEFAULT_BASE_PROMPT = `You are a helpful AI assistant with access to tools. Use tools when needed to accomplish tasks. Always explain your actions clearly.`;
16
17
  /** 进度叙述规则(追加到 system prompt,引导 LLM 在工具调用间输出可见文本)— 可通过 AgentConfig.progressNarrationRules 覆盖 */
@@ -85,6 +86,10 @@ class AgentEngine {
85
86
  abortMap = new Map();
86
87
  /** sessionId → steering messages(实时转向队列) */
87
88
  steeringMap = new Map();
89
+ /** parentSessionId → Set<childSessionId>(父子会话关系跟踪,用于级联 abort) */
90
+ childSessionMap = new Map();
91
+ /** childSessionId → parentSessionId(反向索引,用于快速查找父会话) */
92
+ parentSessionMap = new Map();
88
93
  /** 子模块:历史管理器 */
89
94
  historyManager;
90
95
  /** 子模块:LLM 调用器 */
@@ -101,6 +106,8 @@ class AgentEngine {
101
106
  outputTools;
102
107
  /** Guard 策略配置(阈值可注入,不硬编码业务逻辑) */
103
108
  guardConfig;
109
+ /** 错误恢复策略配置 */
110
+ errorRecovery;
104
111
  constructor(config) {
105
112
  this.config = {
106
113
  ...config,
@@ -159,6 +166,13 @@ class AgentEngine {
159
166
  delegateTargets: gc.delegateTargets ?? {},
160
167
  iterationGuardPrompt: gc.iterationGuardPrompt ?? '',
161
168
  };
169
+ // 初始化错误恢复策略
170
+ const er = config.errorRecovery ?? {};
171
+ this.errorRecovery = {
172
+ autoAbortOnFatal: er.autoAbortOnFatal ?? true,
173
+ cascadeAbortChildren: er.cascadeAbortChildren ?? false,
174
+ onFatalError: er.onFatalError ?? undefined,
175
+ };
162
176
  }
163
177
  /** 获取当前 Agent 的 ToolRegistry(供 read_tool_doc 等内置工具使用) */
164
178
  getToolRegistry() {
@@ -216,6 +230,51 @@ class AgentEngine {
216
230
  getHistoryLength(sessionId) {
217
231
  return this.historyManager.getHistoryLength(sessionId);
218
232
  }
233
+ // ---- 父子会话关系管理 ----
234
+ /**
235
+ * 注册父子会话关系。
236
+ *
237
+ * 典型场景:主 Agent 通过 delegate_task 工具派生子任务时,
238
+ * 上层调用此方法将子会话与父会话关联。当父会话因异常终止时,
239
+ * 如果配置了 `cascadeAbortChildren`,所有子会话也会被自动 abort。
240
+ *
241
+ * @param parentSessionId 父会话 ID
242
+ * @param childSessionId 子会话 ID
243
+ */
244
+ linkChildSession(parentSessionId, childSessionId) {
245
+ if (!this.childSessionMap.has(parentSessionId)) {
246
+ this.childSessionMap.set(parentSessionId, new Set());
247
+ }
248
+ this.childSessionMap.get(parentSessionId).add(childSessionId);
249
+ this.parentSessionMap.set(childSessionId, parentSessionId);
250
+ // 通知 RateLimitManager 建立父子映射(用于 429 终止主会话时定位父会话)
251
+ rate_limit_manager_ts_1.rateLimitManager.registerSubSession(childSessionId, parentSessionId);
252
+ (0, logger_ts_1.logEvent)({ event: 'engine.child_linked', sessionId: parentSessionId, data: { childSessionId } });
253
+ }
254
+ /**
255
+ * 解除父子会话关系(子会话完成后调用)。
256
+ */
257
+ unlinkChildSession(childSessionId) {
258
+ const parentId = this.parentSessionMap.get(childSessionId);
259
+ if (parentId) {
260
+ this.childSessionMap.get(parentId)?.delete(childSessionId);
261
+ this.parentSessionMap.delete(childSessionId);
262
+ }
263
+ // 通知 RateLimitManager 注销子会话,释放并发槽位
264
+ rate_limit_manager_ts_1.rateLimitManager.unregisterSubSession(childSessionId);
265
+ }
266
+ /**
267
+ * 获取指定父会话的所有子会话 ID。
268
+ */
269
+ getChildSessions(parentSessionId) {
270
+ return Array.from(this.childSessionMap.get(parentSessionId) ?? []);
271
+ }
272
+ /**
273
+ * 获取指定子会话的父会话 ID(如有)。
274
+ */
275
+ getParentSession(childSessionId) {
276
+ return this.parentSessionMap.get(childSessionId);
277
+ }
219
278
  /**
220
279
  * 执行 Agent 任务(流式推送事件)
221
280
  * 上层通过 for-await-of 消费事件流
@@ -225,6 +284,8 @@ class AgentEngine {
225
284
  // ① Abort 控制
226
285
  const internalAbort = new AbortController();
227
286
  this.abortMap.set(sessionId, internalAbort);
287
+ // 注册到 RateLimitManager,使其能在多轮冷却失败时终止主会话
288
+ rate_limit_manager_ts_1.rateLimitManager.registerMainSession(sessionId, internalAbort);
228
289
  const onExternalAbort = () => internalAbort.abort();
229
290
  if (abortSignal) {
230
291
  if (abortSignal.aborted)
@@ -246,6 +307,15 @@ class AgentEngine {
246
307
  error: errorMsg,
247
308
  recoverable: false,
248
309
  });
310
+ // 致命错误 → 自动 abort + 级联清理
311
+ await this.handleFatalError({
312
+ sessionId,
313
+ errorType: 'unexpected_exception',
314
+ error: errorMsg,
315
+ timestamp: Date.now(),
316
+ iteration: 0,
317
+ rawError: err,
318
+ });
249
319
  this.statusMap.set(sessionId, 'idle');
250
320
  }
251
321
  finally {
@@ -253,6 +323,8 @@ class AgentEngine {
253
323
  abortSignal.removeEventListener('abort', onExternalAbort);
254
324
  this.abortMap.delete(sessionId);
255
325
  this.steeringMap.delete(sessionId);
326
+ // 注销主会话,清理限流状态和子会话映射
327
+ rate_limit_manager_ts_1.rateLimitManager.unregisterMainSession(sessionId);
256
328
  }
257
329
  }
258
330
  // ---- 准备阶段 ----
@@ -623,12 +695,21 @@ ${textHistory.join('\n')}`;
623
695
  const budgetCheck = this.config.usageTracker.checkBudget(state.sessionId, this.config.tokenBudget);
624
696
  if (budgetCheck.exceeded) {
625
697
  if (this.config.tokenBudget.onExceed === 'abort') {
698
+ const budgetErrMsg = `Token budget exceeded (${budgetCheck.currentTokens}/${budgetCheck.maxTokens} tokens). Task aborted to prevent cost overrun.`;
626
699
  (0, logger_ts_1.logEvent)({ event: 'engine.token_budget_exceeded', sessionId: state.sessionId, level: 'warn', data: { current: budgetCheck.currentTokens, max: budgetCheck.maxTokens, action: 'abort' } });
627
700
  yield this.createEvent(state.sessionId, {
628
701
  type: 'error',
629
- error: `Token budget exceeded (${budgetCheck.currentTokens}/${budgetCheck.maxTokens} tokens). Task aborted to prevent cost overrun.`,
702
+ error: budgetErrMsg,
630
703
  recoverable: false,
631
704
  });
705
+ // 致命错误 → 自动 abort + 级联清理
706
+ await this.handleFatalError({
707
+ sessionId: state.sessionId,
708
+ errorType: 'token_budget_exceeded',
709
+ error: budgetErrMsg,
710
+ timestamp: Date.now(),
711
+ iteration: state.iteration,
712
+ });
632
713
  yield this.emitDone(state);
633
714
  return;
634
715
  }
@@ -674,8 +755,17 @@ ${textHistory.join('\n')}`;
674
755
  // 所有 LLM provider 均已失败(callWithRetry 内部已重试+降级),
675
756
  // 不再发 done 事件(callWithRetry 已发出带详细错误信息的 error 事件),
676
757
  // 仅完成清理,避免 done 事件覆盖前端已展示的错误消息
758
+ const errorMsg = 'All LLM providers exhausted (all calls failed including retries and fallback)';
677
759
  (0, logger_ts_1.logEvent)({ event: 'engine.llm_exhausted', sessionId: state.sessionId, level: 'warn', data: { iteration: state.iteration } });
678
760
  this.statusMap.set(state.sessionId, 'idle');
761
+ // 致命错误 → 自动 abort + 级联清理(级联清理子 Agent 运行中的子任务)
762
+ await this.handleFatalError({
763
+ sessionId: state.sessionId,
764
+ errorType: 'llm_exhausted',
765
+ error: errorMsg,
766
+ timestamp: Date.now(),
767
+ iteration: state.iteration,
768
+ });
679
769
  // 记录 Token 用量到 UsageTracker
680
770
  if (this.config.usageTracker && state.totalUsage) {
681
771
  const modelInfo = this.config.llmProvider.getModel();
@@ -748,7 +838,16 @@ ${textHistory.join('\n')}`;
748
838
  if (allFailed) {
749
839
  state.consecutiveAllFailIterations++;
750
840
  if (state.consecutiveAllFailIterations >= this.guardConfig.consecutiveAllFailThreshold) {
841
+ const failMsg = `All tool calls failed for ${state.consecutiveAllFailIterations} consecutive iterations`;
751
842
  (0, logger_ts_1.logEvent)({ event: 'engine.global_fail_breaker', sessionId: state.sessionId, level: 'warn', data: { consecutiveFails: state.consecutiveAllFailIterations, iteration: state.iteration } });
843
+ // 致命错误 → 自动 abort + 级联清理
844
+ await this.handleFatalError({
845
+ sessionId: state.sessionId,
846
+ errorType: 'all_tools_failed',
847
+ error: failMsg,
848
+ timestamp: Date.now(),
849
+ iteration: state.iteration,
850
+ });
752
851
  yield this.emitDone(state);
753
852
  return;
754
853
  }
@@ -1059,6 +1158,8 @@ ${textHistory.join('\n')}`;
1059
1158
  // ---- 辅助 ----
1060
1159
  emitDone(state) {
1061
1160
  this.statusMap.set(state.sessionId, 'idle');
1161
+ // 会话正常结束时清理父子关系(不级联 abort,子会话可自行运行完成)
1162
+ this.cleanupSessionRelations(state.sessionId);
1062
1163
  // 记录 Token 用量到 UsageTracker
1063
1164
  if (this.config.usageTracker && state.totalUsage) {
1064
1165
  const modelInfo = this.config.llmProvider.getModel();
@@ -1089,8 +1190,25 @@ ${textHistory.join('\n')}`;
1089
1190
  if (controller) {
1090
1191
  controller.abort();
1091
1192
  this.statusMap.set(sessionId, 'aborting');
1193
+ (0, logger_ts_1.logEvent)({ event: 'engine.abort', sessionId, data: { reason: 'abort() called' } });
1092
1194
  }
1093
1195
  }
1196
+ /**
1197
+ * 中断指定会话及其所有子会话的 Agent 执行(级联 abort)。
1198
+ *
1199
+ * 递归遍历子会话树,从叶子节点到根节点依次 abort。
1200
+ * 用于确保父会话异常终止时,所有 delegate_task 派生的子任务也被终止。
1201
+ */
1202
+ abortCascade(sessionId) {
1203
+ this.abort(sessionId);
1204
+ // 遍历直接子会话,递归 abort
1205
+ const children = this.getChildSessions(sessionId);
1206
+ for (const childId of children) {
1207
+ this.abortCascade(childId);
1208
+ }
1209
+ // 清理父子关系
1210
+ this.cleanupSessionRelations(sessionId);
1211
+ }
1094
1212
  /** 查询指定会话的 Agent 状态 */
1095
1213
  getStatus(sessionId) {
1096
1214
  return this.statusMap.get(sessionId) || 'idle';
@@ -1103,9 +1221,81 @@ ${textHistory.join('\n')}`;
1103
1221
  this.abortMap.clear();
1104
1222
  this.statusMap.clear();
1105
1223
  this.steeringMap.clear();
1224
+ this.childSessionMap.clear();
1225
+ this.parentSessionMap.clear();
1106
1226
  this.summaryCache.clear();
1107
1227
  this.historyManager.clearAll();
1108
1228
  }
1229
+ // ---- 致命错误处理 ----
1230
+ /**
1231
+ * 统一的致命错误处理入口。
1232
+ *
1233
+ * 由引擎内部(agentLoop、catch 块)在遇到不可恢复错误时调用。
1234
+ * 按以下顺序执行:
1235
+ * 1. 调用 config.errorRecovery.onFatalError 回调(允许上层记录/通知)
1236
+ * 2. 如果 config.errorRecovery.autoAbortOnFatal,abort 当前会话
1237
+ * 3. 如果 config.errorRecovery.cascadeAbortChildren,级联 abort 所有子会话
1238
+ *
1239
+ * @param error 致命错误信息(含 sessionId)
1240
+ */
1241
+ async handleFatalError(error) {
1242
+ (0, logger_ts_1.logEvent)({
1243
+ event: 'engine.fatal_error',
1244
+ sessionId: error.sessionId,
1245
+ level: 'error',
1246
+ data: {
1247
+ errorType: error.errorType,
1248
+ error: error.error,
1249
+ iteration: error.iteration,
1250
+ autoAbort: this.errorRecovery.autoAbortOnFatal,
1251
+ cascadeAbort: this.errorRecovery.cascadeAbortChildren,
1252
+ },
1253
+ });
1254
+ // ① 外部回调通知(不阻塞后续清理流程)
1255
+ if (this.errorRecovery.onFatalError) {
1256
+ try {
1257
+ await this.errorRecovery.onFatalError(error);
1258
+ }
1259
+ catch (e) {
1260
+ // 回调异常不影响后续清理流程
1261
+ (0, logger_ts_1.logEvent)({
1262
+ event: 'engine.fatal_error_callback_failed',
1263
+ sessionId: error.sessionId,
1264
+ level: 'warn',
1265
+ data: { error: e?.message || String(e) },
1266
+ });
1267
+ }
1268
+ }
1269
+ // ② 自动 abort 当前会话
1270
+ if (this.errorRecovery.autoAbortOnFatal) {
1271
+ if (this.errorRecovery.cascadeAbortChildren) {
1272
+ // 级联 abort:终止当前会话及其所有子孙会话
1273
+ this.abortCascade(error.sessionId);
1274
+ }
1275
+ else {
1276
+ // 仅 abort 当前会话
1277
+ this.abort(error.sessionId);
1278
+ }
1279
+ }
1280
+ }
1281
+ /**
1282
+ * 清理指定会话的父子关系记录。
1283
+ *
1284
+ * 在会话自然完成或 abort 后调用,防止内存泄漏。
1285
+ * 处理两个方向:
1286
+ * - 如果是父会话:移除所有子会话引用(但子会话若仍在运行则保留其关系)
1287
+ * - 如果是子会话:从父会话的子集中移除自身
1288
+ */
1289
+ cleanupSessionRelations(sessionId) {
1290
+ // 从父会话的子集中移除自身
1291
+ const parentId = this.parentSessionMap.get(sessionId);
1292
+ if (parentId) {
1293
+ this.childSessionMap.get(parentId)?.delete(sessionId);
1294
+ this.parentSessionMap.delete(sessionId);
1295
+ }
1296
+ // 删除自身作为父会话的所有子关系记录(但保留子会话本身仍在运行)
1297
+ this.childSessionMap.delete(sessionId);
1298
+ }
1109
1299
  // ---- 内部辅助 ----
1110
1300
  createEvent(sessionId, event) {
1111
1301
  return { ...event, timestamp: Date.now(), sessionId };
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../src/agent/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../src/agent/engine.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"llm-caller.d.ts","sourceRoot":"","sources":["../../../src/agent/llm-caller.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAY,UAAU,EAAE,MAAM,aAAa,CAAC;AAC7E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAG3D,eAAe;AACf,MAAM,WAAW,eAAgB,SAAQ,aAAa;IACpD,qBAAqB;IACrB,WAAW,EAAE,WAAW,CAAC;IACzB,0BAA0B;IAC1B,gBAAgB,CAAC,EAAE,WAAW,CAAC;IAC/B,WAAW;IACX,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,mBAAmB;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,2BAA2B;IAC3B,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED,kBAAkB;AAClB,MAAM,WAAW,aAAa;IAC5B,4BAA4B;IAC5B,SAAS,EAAE,OAAO,CAAC;IACnB,oBAAoB;IACpB,KAAK,CAAC,EAAE,UAAU,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAkB;gBAEpB,MAAM,EAAE,eAAe;IAInC,0BAA0B;IAC1B,cAAc,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI;IAI3C;;;;;;;;OAQG;IACH,OAAO,CAAC,mBAAmB;IAa3B;;;;;;OAMG;IACI,aAAa,CAClB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,OAAO,EAAE,EACnB,QAAQ,EAAE,cAAc,EAAE,EAC1B,WAAW,EAAE,WAAW,GACvB,cAAc,CAAC,UAAU,EAAE;QAAE,SAAS,EAAE,OAAO,GAAG,IAAI,CAAC;QAAC,KAAK,CAAC,EAAE,UAAU,CAAA;KAAE,CAAC;IA0FhF,mBAAmB;IACnB,OAAO,CAAC,qBAAqB;IAO7B,0BAA0B;YACX,gBAAgB;CAqMhC"}
1
+ {"version":3,"file":"llm-caller.d.ts","sourceRoot":"","sources":["../../../src/agent/llm-caller.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAY,UAAU,EAAE,MAAM,aAAa,CAAC;AAC7E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAI3D,eAAe;AACf,MAAM,WAAW,eAAgB,SAAQ,aAAa;IACpD,qBAAqB;IACrB,WAAW,EAAE,WAAW,CAAC;IACzB,0BAA0B;IAC1B,gBAAgB,CAAC,EAAE,WAAW,CAAC;IAC/B,WAAW;IACX,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,mBAAmB;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,2BAA2B;IAC3B,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED,kBAAkB;AAClB,MAAM,WAAW,aAAa;IAC5B,4BAA4B;IAC5B,SAAS,EAAE,OAAO,CAAC;IACnB,oBAAoB;IACpB,KAAK,CAAC,EAAE,UAAU,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAkB;gBAEpB,MAAM,EAAE,eAAe;IAInC,0BAA0B;IAC1B,cAAc,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI;IAI3C;;;;;;;;OAQG;IACH,OAAO,CAAC,mBAAmB;IAa3B;;;;;;OAMG;IACI,aAAa,CAClB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,OAAO,EAAE,EACnB,QAAQ,EAAE,cAAc,EAAE,EAC1B,WAAW,EAAE,WAAW,GACvB,cAAc,CAAC,UAAU,EAAE;QAAE,SAAS,EAAE,OAAO,GAAG,IAAI,CAAC;QAAC,KAAK,CAAC,EAAE,UAAU,CAAA;KAAE,CAAC;IA0FhF,mBAAmB;IACnB,OAAO,CAAC,qBAAqB;IAO7B,0BAA0B;YACX,gBAAgB;CA8MhC"}
@@ -5,6 +5,7 @@
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.LLMCaller = void 0;
7
7
  const dsml_parser_ts_1 = require("../utils/dsml-parser.js");
8
+ const rate_limit_manager_ts_1 = require("./rate-limit-manager.js");
8
9
  /**
9
10
  * LLM 调用管理器
10
11
  *
@@ -316,6 +317,13 @@ class LLMCaller {
316
317
  const contextTooLong = this.isContextTooLongError(err);
317
318
  const errMsg = err?.message || String(err);
318
319
  console.warn(`[LLMCaller] LLM call failed (${isFallback ? 'fallback' : 'primary'})${contextTooLong ? ' [CONTEXT_TOO_LONG]' : ''}:`, errMsg);
320
+ // 检测 429 速率限制错误,通知 RateLimitManager 触发冷却/并发控制
321
+ // 匹配 "429"、"rate limit"、"tpm"、"quota"、"exceeded" 等常见 429 错误模式
322
+ const isRateLimited = /\b429\b/.test(errMsg) ||
323
+ /rate.?limit|tpm.*limit|exceeded.*quota|quota.*exceeded/i.test(errMsg);
324
+ if (isRateLimited) {
325
+ rate_limit_manager_ts_1.rateLimitManager.handleRateLimited(sessionId);
326
+ }
319
327
  return { result: null, contextTooLong, usage: chunkUsage, error: errMsg };
320
328
  }
321
329
  }