@cicctencent/agent-core 0.1.27 → 0.1.28

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 (55) hide show
  1. package/dist/cjs/agent/engine.d.ts +5 -1
  2. package/dist/cjs/agent/engine.d.ts.map +1 -1
  3. package/dist/cjs/agent/engine.js +78 -49
  4. package/dist/cjs/agent/engine.js.map +1 -1
  5. package/dist/cjs/agent/history-manager.d.ts.map +1 -1
  6. package/dist/cjs/agent/history-manager.js +17 -2
  7. package/dist/cjs/agent/history-manager.js.map +1 -1
  8. package/dist/cjs/agent/llm-caller.d.ts +2 -7
  9. package/dist/cjs/agent/llm-caller.d.ts.map +1 -1
  10. package/dist/cjs/agent/llm-caller.js +19 -18
  11. package/dist/cjs/agent/llm-caller.js.map +1 -1
  12. package/dist/cjs/agent/tool-executor.d.ts +9 -6
  13. package/dist/cjs/agent/tool-executor.d.ts.map +1 -1
  14. package/dist/cjs/agent/tool-executor.js +53 -59
  15. package/dist/cjs/agent/tool-executor.js.map +1 -1
  16. package/dist/cjs/agent/types.d.ts +50 -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 +1 -1
  20. package/dist/cjs/index.d.ts.map +1 -1
  21. package/dist/cjs/runtime/run-registry.d.ts +15 -2
  22. package/dist/cjs/runtime/run-registry.d.ts.map +1 -1
  23. package/dist/cjs/runtime/run-registry.js +87 -25
  24. package/dist/cjs/runtime/run-registry.js.map +1 -1
  25. package/dist/cjs/utils/token-counter.d.ts.map +1 -1
  26. package/dist/cjs/utils/token-counter.js +20 -4
  27. package/dist/cjs/utils/token-counter.js.map +1 -1
  28. package/dist/esm/agent/engine.d.ts +5 -1
  29. package/dist/esm/agent/engine.d.ts.map +1 -1
  30. package/dist/esm/agent/engine.js +78 -49
  31. package/dist/esm/agent/engine.js.map +1 -1
  32. package/dist/esm/agent/history-manager.d.ts.map +1 -1
  33. package/dist/esm/agent/history-manager.js +17 -2
  34. package/dist/esm/agent/history-manager.js.map +1 -1
  35. package/dist/esm/agent/llm-caller.d.ts +2 -7
  36. package/dist/esm/agent/llm-caller.d.ts.map +1 -1
  37. package/dist/esm/agent/llm-caller.js +19 -18
  38. package/dist/esm/agent/llm-caller.js.map +1 -1
  39. package/dist/esm/agent/tool-executor.d.ts +9 -6
  40. package/dist/esm/agent/tool-executor.d.ts.map +1 -1
  41. package/dist/esm/agent/tool-executor.js +53 -59
  42. package/dist/esm/agent/tool-executor.js.map +1 -1
  43. package/dist/esm/agent/types.d.ts +50 -0
  44. package/dist/esm/agent/types.d.ts.map +1 -1
  45. package/dist/esm/agent/types.js.map +1 -1
  46. package/dist/esm/index.d.ts +1 -1
  47. package/dist/esm/index.d.ts.map +1 -1
  48. package/dist/esm/runtime/run-registry.d.ts +15 -2
  49. package/dist/esm/runtime/run-registry.d.ts.map +1 -1
  50. package/dist/esm/runtime/run-registry.js +87 -25
  51. package/dist/esm/runtime/run-registry.js.map +1 -1
  52. package/dist/esm/utils/token-counter.d.ts.map +1 -1
  53. package/dist/esm/utils/token-counter.js +20 -4
  54. package/dist/esm/utils/token-counter.js.map +1 -1
  55. package/package.json +1 -1
@@ -16,12 +16,16 @@ export declare class AgentEngine {
16
16
  private llmCaller;
17
17
  /** 子模块:工具执行器 */
18
18
  private toolExecutor;
19
- /** 历史摘要缓存:sessionId → { summary, lastSummarizedCount } */
19
+ /** 历史摘要缓存:sessionId → { summary, lastSummarizedCount }(LRU 限制防止内存泄漏) */
20
20
  private summaryCache;
21
+ /** 摘要缓存上限 */
22
+ private static readonly SUMMARY_CACHE_MAX;
21
23
  /** 数据获取类工具集合(用于循环检测) */
22
24
  private dataFetchTools;
23
25
  /** 产出型工具集合(有这些调用时不触发数据获取循环检测) */
24
26
  private outputTools;
27
+ /** Guard 策略配置(阈值可注入,不硬编码业务逻辑) */
28
+ private guardConfig;
25
29
  constructor(config: AgentConfig);
26
30
  /** 获取当前 Agent 的 ToolRegistry(供 read_tool_doc 等内置工具使用) */
27
31
  getToolRegistry(): ToolRegistry;
@@ -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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"}
@@ -10,10 +10,11 @@ const types_ts_1 = require("../types.js");
10
10
  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
+ const logger_ts_1 = require("../observability/logger.js");
13
14
  /** 默认系统提示词 */
14
15
  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.`;
15
- /** 进度叙述规则(追加到 system prompt,引导 LLM 在工具调用间输出可见文本) */
16
- const PROGRESS_NARRATION_RULES = `
16
+ /** 进度叙述规则(追加到 system prompt,引导 LLM 在工具调用间输出可见文本)— 可通过 AgentConfig.progressNarrationRules 覆盖 */
17
+ const DEFAULT_PROGRESS_NARRATION_RULES = `
17
18
 
18
19
  ## Progress Narration Rules
19
20
 
@@ -90,12 +91,16 @@ class AgentEngine {
90
91
  llmCaller;
91
92
  /** 子模块:工具执行器 */
92
93
  toolExecutor;
93
- /** 历史摘要缓存:sessionId → { summary, lastSummarizedCount } */
94
+ /** 历史摘要缓存:sessionId → { summary, lastSummarizedCount }(LRU 限制防止内存泄漏) */
94
95
  summaryCache = new Map();
96
+ /** 摘要缓存上限 */
97
+ static SUMMARY_CACHE_MAX = 100;
95
98
  /** 数据获取类工具集合(用于循环检测) */
96
99
  dataFetchTools;
97
100
  /** 产出型工具集合(有这些调用时不触发数据获取循环检测) */
98
101
  outputTools;
102
+ /** Guard 策略配置(阈值可注入,不硬编码业务逻辑) */
103
+ guardConfig;
99
104
  constructor(config) {
100
105
  this.config = {
101
106
  ...config,
@@ -141,6 +146,19 @@ class AgentEngine {
141
146
  'delegate_task', 'create_presentation', 'create_document',
142
147
  'create_pdf', 'show_widget', 'save_artifact',
143
148
  ]);
149
+ // 初始化 Guard 策略配置(阈值可注入,不硬编码业务逻辑)
150
+ const gc = config.guardConfig ?? {};
151
+ this.guardConfig = {
152
+ iterationGuardThreshold: gc.iterationGuardThreshold ?? 0.35,
153
+ maxContinuationNudges: gc.maxContinuationNudges ?? 2,
154
+ consecutiveSilentThreshold: gc.consecutiveSilentThreshold ?? 2,
155
+ consecutiveAllFailThreshold: gc.consecutiveAllFailThreshold ?? 3,
156
+ dataFetchLoopMinCount: gc.dataFetchLoopMinCount ?? 3,
157
+ consecutiveFailMinCount: gc.consecutiveFailMinCount ?? 5,
158
+ consecutiveFailErrorThreshold: gc.consecutiveFailErrorThreshold ?? 4,
159
+ delegateTargets: gc.delegateTargets ?? {},
160
+ iterationGuardPrompt: gc.iterationGuardPrompt ?? '',
161
+ };
144
162
  }
145
163
  /** 获取当前 Agent 的 ToolRegistry(供 read_tool_doc 等内置工具使用) */
146
164
  getToolRegistry() {
@@ -292,11 +310,11 @@ class AgentEngine {
292
310
  if (options.context?.terminalOutput) {
293
311
  systemPrompt += `\n\n## Recent Terminal Output\n\n\`\`\`\n${options.context.terminalOutput}\n\`\`\``;
294
312
  }
295
- // 注入进度叙述规则(仅在有工具可用时)
313
+ // 注入进度叙述规则(仅在有工具可用时)— P1 #6: 可通过 config 覆盖
296
314
  if (this.config.toolRegistry) {
297
315
  const toolCount = this.config.toolRegistry.getDefinitions().length;
298
316
  if (toolCount > 0) {
299
- systemPrompt += PROGRESS_NARRATION_RULES;
317
+ systemPrompt += this.config.progressNarrationRules ?? DEFAULT_PROGRESS_NARRATION_RULES;
300
318
  }
301
319
  }
302
320
  // 去重检测:如果历史最后一条已经是当前用户消息(由 buildThreadHistory 从 DB 恢复),
@@ -310,7 +328,7 @@ class AgentEngine {
310
328
  && typeof lastMsg.content === 'string'
311
329
  && lastMsg.content === actualText;
312
330
  if (isDuplicateUserMessage) {
313
- console.log(`[Engine] Detected duplicate user message in history (likely restored from DB), excluding from summary and re-appending as userMessage`);
331
+ (0, logger_ts_1.logEvent)({ event: 'engine.duplicate_user_message', sessionId, data: { action: 'excluded_from_summary' } });
314
332
  }
315
333
  // 非破坏性上下文投影(Context Collapse):
316
334
  // 当历史 token 超过预算时,使用投影而非破坏性压缩,保留原始历史完整
@@ -480,7 +498,7 @@ ${textHistory.join('\n')}`;
480
498
  }
481
499
  }
482
500
  catch (e) {
483
- console.warn('[Engine] summarizeHistory failed, falling back to concatenation:', e?.message || e);
501
+ (0, logger_ts_1.logEvent)({ event: 'engine.summarize_failed', level: 'warn', data: { error: e?.message || String(e) } });
484
502
  }
485
503
  // 回退:简单拼接,截断到 800 字
486
504
  const fallback = textHistory.join('\n');
@@ -495,6 +513,12 @@ ${textHistory.join('\n')}`;
495
513
  async refreshSummaryCache(sessionId, textHistory) {
496
514
  try {
497
515
  const summary = await this.summarizeHistory(textHistory);
516
+ // P2 #11: LRU 淘汰 — 超过上限时移除最旧的条目
517
+ if (this.summaryCache.size >= AgentEngine.SUMMARY_CACHE_MAX) {
518
+ const oldestKey = this.summaryCache.keys().next().value;
519
+ if (oldestKey !== undefined)
520
+ this.summaryCache.delete(oldestKey);
521
+ }
498
522
  this.summaryCache.set(sessionId, {
499
523
  summary,
500
524
  lastSummarizedCount: textHistory.length,
@@ -565,7 +589,7 @@ ${textHistory.join('\n')}`;
565
589
  async prepareRun(options, internalAbort) {
566
590
  const { skillContent, actualMessage, skillMatched } = await this.resolveSkill(options, options.sessionId);
567
591
  const toolDefs = this.resolveToolDefs(options);
568
- console.log(`[Engine] session=${options.sessionId} tools(${toolDefs.length}): ${toolDefs.map(t => t.function.name).join(', ') || '(none)'}`);
592
+ (0, logger_ts_1.logEvent)({ event: 'engine.prepare', sessionId: options.sessionId, data: { toolCount: toolDefs.length, tools: toolDefs.map(t => t.function.name) } });
569
593
  return {
570
594
  sessionId: options.sessionId,
571
595
  messages: await this.buildInitialMessages(options, skillContent, actualMessage, skillMatched),
@@ -599,7 +623,7 @@ ${textHistory.join('\n')}`;
599
623
  const budgetCheck = this.config.usageTracker.checkBudget(state.sessionId, this.config.tokenBudget);
600
624
  if (budgetCheck.exceeded) {
601
625
  if (this.config.tokenBudget.onExceed === 'abort') {
602
- console.warn(`[Engine] Token budget exceeded: ${budgetCheck.currentTokens}/${budgetCheck.maxTokens}, aborting session ${state.sessionId}`);
626
+ (0, logger_ts_1.logEvent)({ event: 'engine.token_budget_exceeded', sessionId: state.sessionId, level: 'warn', data: { current: budgetCheck.currentTokens, max: budgetCheck.maxTokens, action: 'abort' } });
603
627
  yield this.createEvent(state.sessionId, {
604
628
  type: 'error',
605
629
  error: `Token budget exceeded (${budgetCheck.currentTokens}/${budgetCheck.maxTokens} tokens). Task aborted to prevent cost overrun.`,
@@ -609,7 +633,7 @@ ${textHistory.join('\n')}`;
609
633
  return;
610
634
  }
611
635
  else {
612
- console.warn(`[Engine] Token budget warning: ${budgetCheck.currentTokens}/${budgetCheck.maxTokens} for session ${state.sessionId}`);
636
+ (0, logger_ts_1.logEvent)({ event: 'engine.token_budget_warning', sessionId: state.sessionId, level: 'warn', data: { current: budgetCheck.currentTokens, max: budgetCheck.maxTokens } });
613
637
  }
614
638
  }
615
639
  }
@@ -650,7 +674,7 @@ ${textHistory.join('\n')}`;
650
674
  // 所有 LLM provider 均已失败(callWithRetry 内部已重试+降级),
651
675
  // 不再发 done 事件(callWithRetry 已发出带详细错误信息的 error 事件),
652
676
  // 仅完成清理,避免 done 事件覆盖前端已展示的错误消息
653
- console.warn(`[Engine] All LLM providers exhausted at iteration ${state.iteration}, stopping agent loop`);
677
+ (0, logger_ts_1.logEvent)({ event: 'engine.llm_exhausted', sessionId: state.sessionId, level: 'warn', data: { iteration: state.iteration } });
654
678
  this.statusMap.set(state.sessionId, 'idle');
655
679
  // 记录 Token 用量到 UsageTracker
656
680
  if (this.config.usageTracker && state.totalUsage) {
@@ -693,10 +717,10 @@ ${textHistory.join('\n')}`;
693
717
  }
694
718
  // 无 tool_calls → 检查是否提前停止(上一轮有工具调用,说明任务可能未完成)
695
719
  if (!assistant.tool_calls?.length) {
696
- if (state.lastIterationHadToolCalls && state.continuationNudges < 2) {
720
+ if (state.lastIterationHadToolCalls && state.continuationNudges < this.guardConfig.maxContinuationNudges) {
697
721
  state.continuationNudges++;
698
722
  state.lastIterationHadToolCalls = false; // 已消费标记,避免重复注入
699
- console.log(`[Engine] LLM stopped after tool calls without new tool_calls, injecting continuation nudge #${state.continuationNudges} at iteration ${state.iteration}`);
723
+ (0, logger_ts_1.logEvent)({ event: 'engine.continuation_nudge', sessionId: state.sessionId, data: { nudge: state.continuationNudges, iteration: state.iteration } });
700
724
  this.injectContinuationNudge(state);
701
725
  // 不退出,继续下一轮迭代让 LLM 继续执行任务
702
726
  continue;
@@ -709,7 +733,7 @@ ${textHistory.join('\n')}`;
709
733
  // 检测连续静默迭代(有 tool_calls 但无 content),超过阈值自动注入提醒
710
734
  if (!assistant.content) {
711
735
  state.consecutiveSilentIterations++;
712
- if (state.consecutiveSilentIterations >= 2) {
736
+ if (state.consecutiveSilentIterations >= this.guardConfig.consecutiveSilentThreshold) {
713
737
  this.injectProgressNudge(state);
714
738
  state.consecutiveSilentIterations = 0;
715
739
  }
@@ -723,8 +747,8 @@ ${textHistory.join('\n')}`;
723
747
  const allFailed = newRecords.every(r => r.isError);
724
748
  if (allFailed) {
725
749
  state.consecutiveAllFailIterations++;
726
- if (state.consecutiveAllFailIterations >= 3) {
727
- console.warn(`[Engine] Global early stop: ${state.consecutiveAllFailIterations} consecutive all-fail iterations at iteration ${state.iteration}`);
750
+ if (state.consecutiveAllFailIterations >= this.guardConfig.consecutiveAllFailThreshold) {
751
+ (0, logger_ts_1.logEvent)({ event: 'engine.global_fail_breaker', sessionId: state.sessionId, level: 'warn', data: { consecutiveFails: state.consecutiveAllFailIterations, iteration: state.iteration } });
728
752
  yield this.emitDone(state);
729
753
  return;
730
754
  }
@@ -793,7 +817,7 @@ ${textHistory.join('\n')}`;
793
817
  };
794
818
  state.messages.push(msg);
795
819
  this.historyManager.addHistory(state.sessionId, msg);
796
- console.log(`[Engine] Progress nudge injected at iteration ${state.iteration}`);
820
+ (0, logger_ts_1.logEvent)({ event: 'engine.progress_nudge', sessionId: state.sessionId, data: { iteration: state.iteration } });
797
821
  }
798
822
  /**
799
823
  * 迭代预算提醒
@@ -807,32 +831,35 @@ ${textHistory.join('\n')}`;
807
831
  const cur = state.iteration;
808
832
  const remaining = max - cur;
809
833
  const ratio = cur / max;
810
- if (ratio >= 0.35 && remaining > 0) {
834
+ if (ratio >= this.guardConfig.iterationGuardThreshold && remaining > 0) {
811
835
  state.iterationGuardInjected = true;
812
836
  const toolCallCount = state.toolCallRecords.length;
813
- const msg = {
814
- role: 'user',
815
- content: [
816
- `[SYSTEM ITERATION BUDGET: iteration ${cur}/${max}, ${remaining} remaining]`,
817
- '',
818
- `⚠️ You have used ${cur} of ${max} iterations (${toolCallCount} tool calls). Budget is running low.`,
819
- '',
820
- '**MANDATORY rules for remaining iterations — violating these will result in task failure:**',
821
- '1. **STOP all data gathering immediately.** You already have enough data from previous tool calls.',
822
- '2. **DO NOT call web_fetch, execute_command, write_file, or run_script again.**',
823
- '3. **NOW delegate remaining work:**',
824
- ' - For reports/dashboards: call `delegate_task` with agent "报表创作助手".',
825
- ' - For documents: call `delegate_task` with agent "文档创作助手".',
826
- ' - For PPT: call `delegate_task` with agent "文档创作助手".',
827
- ' - For direct output: call `create_presentation`/`create_document`/`show_widget` directly.',
828
- '4. If you cannot delegate, produce the final output NOW with the data you have.',
829
- '',
830
- 'Do NOT write any more scripts or fetch any more data. Your data collection phase is OVER.',
831
- ].join('\n'),
832
- };
837
+ const targets = this.guardConfig.delegateTargets;
838
+ const reportAgent = targets.report ? `"${targets.report}"` : 'the appropriate report agent';
839
+ const docAgent = targets.document ? `"${targets.document}"` : 'the appropriate document agent';
840
+ const pptAgent = targets.presentation ? `"${targets.presentation}"` : docAgent;
841
+ // P1 #6: 使用可配置的提示文本,默认为通用英文提示(不绑定业务 Agent 名称)
842
+ const promptText = this.guardConfig.iterationGuardPrompt || [
843
+ `[SYSTEM ITERATION BUDGET: iteration ${cur}/${max}, ${remaining} remaining]`,
844
+ '',
845
+ `⚠️ You have used ${cur} of ${max} iterations (${toolCallCount} tool calls). Budget is running low.`,
846
+ '',
847
+ '**MANDATORY rules for remaining iterations — violating these will result in task failure:**',
848
+ '1. **STOP all data gathering immediately.** You already have enough data from previous tool calls.',
849
+ '2. **DO NOT call web_fetch, execute_command, write_file, or run_script again.**',
850
+ `3. **NOW delegate remaining work:**`,
851
+ ` - For reports/dashboards: call \`delegate_task\` with agent ${reportAgent}.`,
852
+ ` - For documents: call \`delegate_task\` with agent ${docAgent}.`,
853
+ ` - For PPT: call \`delegate_task\` with agent ${pptAgent}.`,
854
+ ' - For direct output: call `create_presentation`/`create_document`/`show_widget` directly.',
855
+ '4. If you cannot delegate, produce the final output NOW with the data you have.',
856
+ '',
857
+ 'Do NOT write any more scripts or fetch any more data. Your data collection phase is OVER.',
858
+ ].join('\n');
859
+ const msg = { role: 'user', content: promptText };
833
860
  state.messages.push(msg);
834
861
  this.historyManager.addHistory(state.sessionId, msg);
835
- console.log(`[Engine] Iteration guard injected at ${cur}/${max}`);
862
+ (0, logger_ts_1.logEvent)({ event: 'engine.iteration_guard', sessionId: state.sessionId, data: { iteration: cur, max } });
836
863
  }
837
864
  }
838
865
  /**
@@ -853,19 +880,21 @@ ${textHistory.join('\n')}`;
853
880
  if (hasOutput)
854
881
  return; // 已调用过产出型工具,不再干预
855
882
  const recent = state.toolCallRecords.slice(-6);
856
- // --- 条件 1:数据获取循环(最近 3+ 条全是数据获取类) ---
857
- if (recent.length >= 3) {
858
- const last3 = recent.slice(-3);
859
- const allDataFetch = last3.every(r => DATA_FETCH_TOOLS.has(r.tool));
883
+ // --- 条件 1:数据获取循环(最近 N+ 条全是数据获取类) ---
884
+ const loopMin = this.guardConfig.dataFetchLoopMinCount;
885
+ if (recent.length >= loopMin) {
886
+ const lastN = recent.slice(-loopMin);
887
+ const allDataFetch = lastN.every(r => DATA_FETCH_TOOLS.has(r.tool));
860
888
  if (allDataFetch) {
861
889
  this.injectDataFetchGuard(state, recent, 'loop');
862
890
  return;
863
891
  }
864
892
  }
865
- // --- 条件 2:连续失败熔断(最近 5+ 条中 4+ 条失败) ---
866
- if (recent.length >= 5) {
893
+ // --- 条件 2:连续失败熔断(最近 N+ 条中 M+ 条失败) ---
894
+ const failMin = this.guardConfig.consecutiveFailMinCount;
895
+ if (recent.length >= failMin) {
867
896
  const errorCount = recent.filter(r => r.isError).length;
868
- if (errorCount >= 4) {
897
+ if (errorCount >= this.guardConfig.consecutiveFailErrorThreshold) {
869
898
  this.injectDataFetchGuard(state, recent, 'failures');
870
899
  return;
871
900
  }
@@ -903,7 +932,7 @@ ${textHistory.join('\n')}`;
903
932
  };
904
933
  state.messages.push(msg);
905
934
  this.historyManager.addHistory(state.sessionId, msg);
906
- console.log(`[Engine] Data-fetch guard (${reason}) injected at iteration ${state.iteration}, recent: ${toolSummary}`);
935
+ (0, logger_ts_1.logEvent)({ event: 'engine.data_fetch_guard', sessionId: state.sessionId, data: { reason, iteration: state.iteration, recent: toolSummary } });
907
936
  }
908
937
  /**
909
938
  * 任务继续提示
@@ -930,7 +959,7 @@ ${textHistory.join('\n')}`;
930
959
  };
931
960
  state.messages.push(msg);
932
961
  this.historyManager.addHistory(state.sessionId, msg);
933
- console.log(`[Engine] Continuation nudge injected at iteration ${state.iteration} (nudge #${state.continuationNudges})`);
962
+ (0, logger_ts_1.logEvent)({ event: 'engine.continuation_nudge_injected', sessionId: state.sessionId, data: { iteration: state.iteration, nudge: state.continuationNudges } });
934
963
  }
935
964
  /**
936
965
  * 渐进式结果交付
@@ -959,7 +988,7 @@ ${textHistory.join('\n')}`;
959
988
  };
960
989
  state.messages.push(msg);
961
990
  this.historyManager.addHistory(state.sessionId, msg);
962
- console.log(`[Engine] Progressive delivery nudge injected at iteration ${state.iteration} (${delegateCalls.length} parallel delegates)`);
991
+ (0, logger_ts_1.logEvent)({ event: 'engine.progressive_nudge', sessionId: state.sessionId, data: { iteration: state.iteration, delegates: delegateCalls.length } });
963
992
  }
964
993
  // ---- Hooks ----
965
994
  /** 执行指定事件类型的所有 Hook */
@@ -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":"history-manager.d.ts","sourceRoot":"","sources":["../../../src/agent/history-manager.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAyB,MAAM,aAAa,CAAC;AAElE,OAAO,KAAK,EAAE,eAAe,EAAgB,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAGpF,aAAa;AACb,MAAM,WAAW,oBAAoB;IACnC,yBAAyB;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc;IACd,aAAa,CAAC,EAAE;QACd,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,sBAAsB;QACtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,+BAA+B;QAC/B,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,yBAAyB;QACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAC;IACF,iBAAiB;IACjB,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,kCAAkC;IAClC,WAAW,CAAC,EAAE,kBAAkB,CAAC;CAClC;AAED;;;;;;;GAOG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAuB;IACrC,uCAAuC;IACvC,OAAO,CAAC,UAAU,CAAgC;IAClD,2CAA2C;IAC3C,OAAO,CAAC,aAAa,CAA6B;gBAEtC,MAAM,EAAE,oBAAoB;IAMxC,2BAA2B;IAC3B,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI;IAMxD,wBAAwB;IACxB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,EAAE;IAIhD,4BAA4B;IAC5B,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,EAAE;IAIxC,uBAAuB;IACvB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,IAAI;IAwCjD;;;;OAIG;IACG,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAUtD,gBAAgB;IAChB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IASrC,eAAe;IACf,QAAQ,IAAI,IAAI;IAKhB;;;;;;;;;OASG;IACH,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM;IAiB3D;;;;;;;;;;;;OAYG;IACH,WAAW,CAAC,eAAe,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM;IAiBzF;;OAEG;IACH,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAI3C;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAe1B,0DAA0D;IAC1D,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAiD;IAElF;;;;;OAKG;IACH,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM;IA6ChG;;;;;OAKG;IACH,gBAAgB,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM;IAUpE,oCAAoC;IACpC,OAAO,CAAC,mBAAmB;IAqB3B,uBAAuB;IACvB,OAAO,CAAC,oBAAoB;IAuB5B,4BAA4B;IAC5B,OAAO,CAAC,oBAAoB;IA8B5B,0BAA0B;IAC1B,OAAO,CAAC,uBAAuB;IA0B/B,iDAAiD;IACjD,OAAO,CAAC,wBAAwB;IAchC,oDAAoD;IACpD,OAAO,CAAC,mBAAmB;IAY3B,0CAA0C;IAC1C,OAAO,CAAC,cAAc;IAYtB,gCAAgC;IAChC,MAAM,CAAC,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM;IAUxE,4BAA4B;IAC5B,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAUtC;;;;;;;;;;;;OAYG;IACH,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,EAAE;IAyDvE;;;;;;;OAOG;IACH,OAAO,CAAC,uBAAuB;CA6ChC"}
1
+ {"version":3,"file":"history-manager.d.ts","sourceRoot":"","sources":["../../../src/agent/history-manager.ts"],"names":[],"mappings":"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"}
@@ -406,8 +406,23 @@ class HistoryManager {
406
406
  return [];
407
407
  const maxTokens = tokenBudget ?? this.config.contextBudget?.maxContextTokens ?? 100000;
408
408
  const targetTokens = Math.floor(maxTokens * 0.7); // 给 system prompt + tools 留 30% 空间
409
- // 深拷贝(避免修改原始历史)
410
- const projected = original.map(msg => ({ ...msg }));
409
+ // 深拷贝(避免修改原始历史)— P0 修复:必须深拷贝 tool_calls 和 content 数组,
410
+ // 否则 offloadToolArguments 等压缩阶段会修改原始历史中的 tool_calls.arguments,
411
+ // 违反"不修改原始历史"的非破坏性契约
412
+ const projected = original.map(msg => ({
413
+ ...msg,
414
+ // 深拷贝 tool_calls(压缩阶段会修改 arguments 字段)
415
+ ...(msg.tool_calls ? {
416
+ tool_calls: msg.tool_calls.map(tc => ({
417
+ ...tc,
418
+ function: { ...tc.function },
419
+ })),
420
+ } : {}),
421
+ // 深拷贝 ContentPart[](压缩阶段会替换数组中的对象)
422
+ ...(Array.isArray(msg.content) ? {
423
+ content: msg.content.map(part => ({ ...part })),
424
+ } : {}),
425
+ }));
411
426
  // 如果已经在预算内,直接返回副本
412
427
  let currentTokens = (0, token_counter_ts_1.countMessageTokens)(projected);
413
428
  if (currentTokens <= targetTokens)