@cicctencent/agent-core 1.0.34 → 1.0.35

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 (139) hide show
  1. package/dist/cjs/a2a/rest-runner.d.ts.map +1 -1
  2. package/dist/cjs/a2a/rest-runner.js +24 -5
  3. package/dist/cjs/a2a/rest-runner.js.map +1 -1
  4. package/dist/cjs/a2a/runner.d.ts.map +1 -1
  5. package/dist/cjs/a2a/runner.js +33 -8
  6. package/dist/cjs/a2a/runner.js.map +1 -1
  7. package/dist/cjs/agent/compaction.d.ts.map +1 -1
  8. package/dist/cjs/agent/compaction.js +1 -4
  9. package/dist/cjs/agent/compaction.js.map +1 -1
  10. package/dist/cjs/agent/constants.d.ts +14 -0
  11. package/dist/cjs/agent/constants.d.ts.map +1 -0
  12. package/dist/cjs/agent/constants.js +30 -0
  13. package/dist/cjs/agent/constants.js.map +1 -0
  14. package/dist/cjs/agent/engine.d.ts +38 -2
  15. package/dist/cjs/agent/engine.d.ts.map +1 -1
  16. package/dist/cjs/agent/engine.js +53 -378
  17. package/dist/cjs/agent/engine.js.map +1 -1
  18. package/dist/cjs/agent/guard-controller.d.ts +64 -0
  19. package/dist/cjs/agent/guard-controller.d.ts.map +1 -0
  20. package/dist/cjs/agent/guard-controller.js +265 -0
  21. package/dist/cjs/agent/guard-controller.js.map +1 -0
  22. package/dist/cjs/agent/llm-caller.d.ts.map +1 -1
  23. package/dist/cjs/agent/llm-caller.js +6 -3
  24. package/dist/cjs/agent/llm-caller.js.map +1 -1
  25. package/dist/cjs/agent/rate-limit-manager.d.ts +8 -0
  26. package/dist/cjs/agent/rate-limit-manager.d.ts.map +1 -1
  27. package/dist/cjs/agent/rate-limit-manager.js +36 -0
  28. package/dist/cjs/agent/rate-limit-manager.js.map +1 -1
  29. package/dist/cjs/agent/runtime-builder.d.ts +44 -0
  30. package/dist/cjs/agent/runtime-builder.d.ts.map +1 -1
  31. package/dist/cjs/agent/runtime-builder.js +78 -20
  32. package/dist/cjs/agent/runtime-builder.js.map +1 -1
  33. package/dist/cjs/agent/session-state-manager.d.ts +47 -0
  34. package/dist/cjs/agent/session-state-manager.d.ts.map +1 -0
  35. package/dist/cjs/agent/session-state-manager.js +85 -0
  36. package/dist/cjs/agent/session-state-manager.js.map +1 -0
  37. package/dist/cjs/agent/tool-executor.d.ts +2 -3
  38. package/dist/cjs/agent/tool-executor.d.ts.map +1 -1
  39. package/dist/cjs/agent/tool-executor.js +9 -16
  40. package/dist/cjs/agent/tool-executor.js.map +1 -1
  41. package/dist/cjs/agent/tool-section-builder.d.ts +55 -0
  42. package/dist/cjs/agent/tool-section-builder.d.ts.map +1 -0
  43. package/dist/cjs/agent/tool-section-builder.js +191 -0
  44. package/dist/cjs/agent/tool-section-builder.js.map +1 -0
  45. package/dist/cjs/agent/types.d.ts +1 -1
  46. package/dist/cjs/agent/types.d.ts.map +1 -1
  47. package/dist/cjs/index.d.ts +1 -1
  48. package/dist/cjs/index.d.ts.map +1 -1
  49. package/dist/cjs/index.js +8 -5
  50. package/dist/cjs/index.js.map +1 -1
  51. package/dist/cjs/mcp/base-client.js +2 -2
  52. package/dist/cjs/mcp/base-client.js.map +1 -1
  53. package/dist/cjs/mcp/client.js +4 -4
  54. package/dist/cjs/mcp/client.js.map +1 -1
  55. package/dist/cjs/mcp/factory.d.ts +6 -1
  56. package/dist/cjs/mcp/factory.d.ts.map +1 -1
  57. package/dist/cjs/mcp/factory.js +7 -2
  58. package/dist/cjs/mcp/factory.js.map +1 -1
  59. package/dist/cjs/mcp/http-client.js +5 -5
  60. package/dist/cjs/mcp/http-client.js.map +1 -1
  61. package/dist/cjs/observability/logger.d.ts.map +1 -1
  62. package/dist/cjs/observability/logger.js +56 -2
  63. package/dist/cjs/observability/logger.js.map +1 -1
  64. package/dist/cjs/tool/ask-user.js +3 -3
  65. package/dist/cjs/tool/delegate.d.ts.map +1 -1
  66. package/dist/cjs/tool/delegate.js +4 -2
  67. package/dist/cjs/tool/delegate.js.map +1 -1
  68. package/dist/cjs/utils/dsml-parser.d.ts +1 -1
  69. package/dist/cjs/utils/dsml-parser.js +1 -1
  70. package/dist/esm/a2a/rest-runner.d.ts.map +1 -1
  71. package/dist/esm/a2a/rest-runner.js +24 -5
  72. package/dist/esm/a2a/rest-runner.js.map +1 -1
  73. package/dist/esm/a2a/runner.d.ts.map +1 -1
  74. package/dist/esm/a2a/runner.js +33 -8
  75. package/dist/esm/a2a/runner.js.map +1 -1
  76. package/dist/esm/agent/compaction.d.ts.map +1 -1
  77. package/dist/esm/agent/compaction.js +1 -4
  78. package/dist/esm/agent/compaction.js.map +1 -1
  79. package/dist/esm/agent/constants.d.ts +14 -0
  80. package/dist/esm/agent/constants.d.ts.map +1 -0
  81. package/dist/esm/agent/constants.js +27 -0
  82. package/dist/esm/agent/constants.js.map +1 -0
  83. package/dist/esm/agent/engine.d.ts +38 -2
  84. package/dist/esm/agent/engine.d.ts.map +1 -1
  85. package/dist/esm/agent/engine.js +54 -379
  86. package/dist/esm/agent/engine.js.map +1 -1
  87. package/dist/esm/agent/guard-controller.d.ts +64 -0
  88. package/dist/esm/agent/guard-controller.d.ts.map +1 -0
  89. package/dist/esm/agent/guard-controller.js +256 -0
  90. package/dist/esm/agent/guard-controller.js.map +1 -0
  91. package/dist/esm/agent/llm-caller.d.ts.map +1 -1
  92. package/dist/esm/agent/llm-caller.js +6 -3
  93. package/dist/esm/agent/llm-caller.js.map +1 -1
  94. package/dist/esm/agent/rate-limit-manager.d.ts +8 -0
  95. package/dist/esm/agent/rate-limit-manager.d.ts.map +1 -1
  96. package/dist/esm/agent/rate-limit-manager.js +36 -0
  97. package/dist/esm/agent/rate-limit-manager.js.map +1 -1
  98. package/dist/esm/agent/runtime-builder.d.ts +44 -0
  99. package/dist/esm/agent/runtime-builder.d.ts.map +1 -1
  100. package/dist/esm/agent/runtime-builder.js +75 -20
  101. package/dist/esm/agent/runtime-builder.js.map +1 -1
  102. package/dist/esm/agent/session-state-manager.d.ts +47 -0
  103. package/dist/esm/agent/session-state-manager.d.ts.map +1 -0
  104. package/dist/esm/agent/session-state-manager.js +78 -0
  105. package/dist/esm/agent/session-state-manager.js.map +1 -0
  106. package/dist/esm/agent/tool-executor.d.ts +2 -3
  107. package/dist/esm/agent/tool-executor.d.ts.map +1 -1
  108. package/dist/esm/agent/tool-executor.js +9 -16
  109. package/dist/esm/agent/tool-executor.js.map +1 -1
  110. package/dist/esm/agent/tool-section-builder.d.ts +55 -0
  111. package/dist/esm/agent/tool-section-builder.d.ts.map +1 -0
  112. package/dist/esm/agent/tool-section-builder.js +182 -0
  113. package/dist/esm/agent/tool-section-builder.js.map +1 -0
  114. package/dist/esm/agent/types.d.ts +1 -1
  115. package/dist/esm/agent/types.d.ts.map +1 -1
  116. package/dist/esm/index.d.ts +1 -1
  117. package/dist/esm/index.d.ts.map +1 -1
  118. package/dist/esm/index.js +1 -1
  119. package/dist/esm/index.js.map +1 -1
  120. package/dist/esm/mcp/base-client.js +2 -2
  121. package/dist/esm/mcp/base-client.js.map +1 -1
  122. package/dist/esm/mcp/client.js +4 -4
  123. package/dist/esm/mcp/client.js.map +1 -1
  124. package/dist/esm/mcp/factory.d.ts +6 -1
  125. package/dist/esm/mcp/factory.d.ts.map +1 -1
  126. package/dist/esm/mcp/factory.js +7 -2
  127. package/dist/esm/mcp/factory.js.map +1 -1
  128. package/dist/esm/mcp/http-client.js +5 -5
  129. package/dist/esm/mcp/http-client.js.map +1 -1
  130. package/dist/esm/observability/logger.d.ts.map +1 -1
  131. package/dist/esm/observability/logger.js +56 -2
  132. package/dist/esm/observability/logger.js.map +1 -1
  133. package/dist/esm/tool/ask-user.js +3 -3
  134. package/dist/esm/tool/delegate.d.ts.map +1 -1
  135. package/dist/esm/tool/delegate.js +4 -2
  136. package/dist/esm/tool/delegate.js.map +1 -1
  137. package/dist/esm/utils/dsml-parser.d.ts +1 -1
  138. package/dist/esm/utils/dsml-parser.js +1 -1
  139. package/package.json +1 -1
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ /**
3
+ * Session State Manager -- 从 engine.ts 抽离的会话状态机管理逻辑:
4
+ * steer(外部 steer 注入)、drainSteering(消费 steer 消息)、
5
+ * abort(中断会话)、abortCascade(级联中断)、cleanupSessionRelations(清理父子关系)。
6
+ *
7
+ * 设计说明:这些方法操作 Engine 的 Map 状态集合(abortMap / steeringMap /
8
+ * statusMap / childSessionMap / parentSessionMap),将状态机的"增删改查"
9
+ * 集中在独立模块,engine.ts 仅保留委托调用。
10
+ */
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.steer = steer;
13
+ exports.drainSteering = drainSteering;
14
+ exports.abortSession = abortSession;
15
+ exports.abortCascade = abortCascade;
16
+ exports.cleanupSessionRelations = cleanupSessionRelations;
17
+ const logger_js_1 = require("../observability/logger.js");
18
+ /** 外部 steer:向指定会话注入引导消息 */
19
+ function steer(deps, sessionId, message) {
20
+ if (!deps.abortMap.has(sessionId))
21
+ return false;
22
+ if (!deps.steeringMap.has(sessionId)) {
23
+ deps.steeringMap.set(sessionId, []);
24
+ }
25
+ deps.steeringMap.get(sessionId).push(message);
26
+ return true;
27
+ }
28
+ /** 消费当前会话的 steering 消息,注入到 messages 中 */
29
+ function drainSteering(deps, state) {
30
+ const msgs = deps.steeringMap.get(state.sessionId);
31
+ if (!msgs || msgs.length === 0)
32
+ return null;
33
+ const drained = [...msgs];
34
+ msgs.length = 0;
35
+ for (const msg of drained) {
36
+ const userMsg = { role: 'user', content: msg };
37
+ state.messages.push(userMsg);
38
+ deps.historyManager.addHistory(state.sessionId, userMsg);
39
+ }
40
+ return { messages: drained, count: drained.length };
41
+ }
42
+ /** 中断指定会话 */
43
+ function abortSession(deps, sessionId) {
44
+ const controller = deps.abortMap.get(sessionId);
45
+ if (controller) {
46
+ controller.abort();
47
+ deps.statusMap.set(sessionId, 'aborting');
48
+ (0, logger_js_1.logEvent)({ event: 'engine.abort', sessionId, data: { reason: 'abort() called' } });
49
+ }
50
+ }
51
+ /**
52
+ * 中断指定会话及其所有子会话的 Agent 执行(级联 abort)。
53
+ *
54
+ * 递归遍历子会话树,从叶子节点到根节点依次 abort。
55
+ * 用于确保父会话异常终止时,所有 delegate_task 派生的子任务也被终止。
56
+ */
57
+ function abortCascade(deps, sessionId) {
58
+ abortSession(deps, sessionId);
59
+ // 遍历直接子会话,递归 abort
60
+ const children = deps.childSessionMap.get(sessionId) ?? new Set();
61
+ for (const childId of children) {
62
+ abortCascade(deps, childId);
63
+ }
64
+ // 清理父子关系
65
+ cleanupSessionRelations(deps, sessionId);
66
+ }
67
+ /**
68
+ * 清理指定会话的父子关系记录。
69
+ *
70
+ * 在会话自然完成或 abort 后调用,防止内存泄漏。
71
+ * 处理两个方向:
72
+ * - 如果是父会话:移除所有子会话引用(但子会话若仍在运行则保留其关系)
73
+ * - 如果是子会话:从父会话的子集中移除自身
74
+ */
75
+ function cleanupSessionRelations(deps, sessionId) {
76
+ // 从父会话的子集中移除自身
77
+ const parentId = deps.parentSessionMap.get(sessionId);
78
+ if (parentId) {
79
+ deps.childSessionMap.get(parentId)?.delete(sessionId);
80
+ deps.parentSessionMap.delete(sessionId);
81
+ }
82
+ // 删除自身作为父会话的所有子关系记录(但保留子会话本身仍在运行)
83
+ deps.childSessionMap.delete(sessionId);
84
+ }
85
+ //# sourceMappingURL=session-state-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-state-manager.js","sourceRoot":"","sources":["../../../src/agent/session-state-manager.ts"],"names":[],"mappings":"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"}
@@ -83,9 +83,8 @@ export declare class AgentToolExecutor {
83
83
  * 返回可自我纠正的明确错误;返回 null 表示参数正常可继续执行。
84
84
  *
85
85
  * countsAsFailure 语义:截断类参数错误(内容过长)属于可纠正参数问题,模型改用
86
- * write_file + json_file 策略即可成功,不计入连续失败计数(避免触发 per-tool 熔断,
87
- * 否则正确的 json_file 重试也会被永久拦截,如 create_report 因超长内联参数失败 2 次后被熔断)。
88
- * 空参数错误仍计入。真正的运行时失败(执行后报错)始终正常累加熔断计数。
86
+ * write_file + content_file 策略即可成功,不计入连续失败计数(避免触发 per-tool 熔断,
87
+ * 否则正确的重试也会被永久拦截)。空参数错误仍计入。真正的运行时失败(执行后报错)始终正常累加熔断计数。
89
88
  */
90
89
  private buildTruncationGuard;
91
90
  /** 串行执行单个工具调用(含安全检查 + Hooks) */
@@ -1 +1 @@
1
- {"version":3,"file":"tool-executor.d.ts","sourceRoot":"","sources":["../../../src/agent/tool-executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-executor.d.ts","sourceRoot":"","sources":["../../../src/agent/tool-executor.ts"],"names":[],"mappings":"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"}
@@ -222,26 +222,22 @@ class AgentToolExecutor {
222
222
  * 返回可自我纠正的明确错误;返回 null 表示参数正常可继续执行。
223
223
  *
224
224
  * countsAsFailure 语义:截断类参数错误(内容过长)属于可纠正参数问题,模型改用
225
- * write_file + json_file 策略即可成功,不计入连续失败计数(避免触发 per-tool 熔断,
226
- * 否则正确的 json_file 重试也会被永久拦截,如 create_report 因超长内联参数失败 2 次后被熔断)。
227
- * 空参数错误仍计入。真正的运行时失败(执行后报错)始终正常累加熔断计数。
225
+ * write_file + content_file 策略即可成功,不计入连续失败计数(避免触发 per-tool 熔断,
226
+ * 否则正确的重试也会被永久拦截)。空参数错误仍计入。真正的运行时失败(执行后报错)始终正常累加熔断计数。
228
227
  */
229
228
  buildTruncationGuard(call, args, jsonParseFailed) {
230
229
  const argKeys = Object.keys(args);
231
230
  const argsEffectivelyEmpty = argKeys.length === 0 || (argKeys.length === 1 && args[argKeys[0]] === '');
232
231
  const toolName = call.function.name;
233
- const isDocTool = ['create_presentation', 'create_document', 'create_pdf', 'create_report'].includes(toolName);
234
- const docPayloadKey = toolName === 'create_presentation' ? 'slides' : toolName === 'create_report' ? 'metrics' : 'blocks';
235
- const docArgsIncomplete = isDocTool && !!args.title && !args.json_file && (!Array.isArray(args[docPayloadKey]) || args[docPayloadKey].length === 0);
236
- if (!argsEffectivelyEmpty && !docArgsIncomplete)
232
+ const rawArgs = (call.function.arguments || '').trim();
233
+ const rawArgLength = call._rawArgLength ?? rawArgs.length;
234
+ if (!argsEffectivelyEmpty)
237
235
  return null;
238
236
  const toolDef = this.config.toolRegistry.get(call.function.name);
239
237
  const required = toolDef?.definition?.function?.parameters?.required;
240
- if (!((required && required.length > 0) || docArgsIncomplete))
238
+ if (!(required && required.length > 0))
241
239
  return null;
242
- const rawArgs = (call.function.arguments || '').trim();
243
- const rawArgLength = call._rawArgLength ?? rawArgs.length;
244
- const isTruncated = (jsonParseFailed || docArgsIncomplete) && rawArgLength > 200;
240
+ const isTruncated = jsonParseFailed && rawArgLength > 200;
245
241
  let result;
246
242
  if (isTruncated) {
247
243
  const isFileWrite = ['write_file', 'append_file'].includes(toolName);
@@ -250,11 +246,8 @@ class AgentToolExecutor {
250
246
  `TRUNCATED_PARAMS_ERROR: ${toolName} parameters were too long (${rawArgLength} chars, JSON truncated or incomplete).`,
251
247
  '',
252
248
  ];
253
- if (isDocTool) {
254
- const rootKey = toolName === 'create_presentation' ? 'slides' : toolName === 'create_report' ? 'metrics' : 'blocks';
255
- const firstItemType = toolName === 'create_presentation' ? 'cover' : toolName === 'create_report' ? 'metric' : 'heading';
256
- const nextItemType = toolName === 'create_presentation' ? 'content' : toolName === 'create_report' ? 'section' : 'paragraph';
257
- lines.push(`CRITICAL: NEVER inline the full ${toolName} data in tool parameters — it exceeds the limit and gets truncated. ALWAYS use the json_file strategy below.`, ``, `RECOMMENDED — use json_file + append_file strategy:`, ` 1. write_file({ path: "data.json", content: '{"${rootKey}": [' })`, ` 2. append_file({ path: "data.json", content: '{"type":"${firstItemType}","title":"..."},' })`, ` 3. append_file({ path: "data.json", content: '{"type":"${nextItemType}","title":"..."},' })`, ` ... repeat for each ${rootKey.slice(0, -1)} ...`, ` N. append_file({ path: "data.json", content: '], "theme": "professional"}' })`, ` N+1. ${toolName}({ title: "My Title", json_file: "data.json" })`, '', 'Each write_file/append_file content chunk MUST be under 3000 characters.', '');
249
+ if (toolName === 'create_document') {
250
+ lines.push(`CRITICAL: NEVER inline the full document content in tool parameters - it exceeds the limit and gets truncated.`, ``, `RECOMMENDED - write content to a file, then pass content_file:`, ` 1. write_file({ path: "content.md", content: "<first ~2500 chars of markdown>" })`, ` 2. append_file({ path: "content.md", content: "<next ~2500 chars>" })`, ` 3. create_document({ format: <"html"|"pptx"|"docx"|"pdf">, title: "My Title", content_file: "content.md" })`, ``, `Accepted parameters:`, ` - format: "html" | "pptx" | "docx" | "pdf" (required)`, ` - title: document title (required)`, ` - content_file: sandbox-relative path to a .md file (use this for long content)`, ` - content: markdown string (only for short content; do NOT inline large content)`, ` - theme: "dark" | "light" (HTML only, default: dark)`, ` - filename: custom output filename without extension (optional)`, ``, `Each write_file/append_file chunk MUST be under 3000 characters.`, '');
258
251
  }
259
252
  else if (isFileWrite) {
260
253
  lines.push('RECOMMENDED — split content across multiple calls:', ' 1. write_file({ path: "script.cjs", content: "<first ~2500 chars>" })', ' 2. append_file({ path: "script.cjs", content: "<next ~2500 chars>" })', ' 3. append_file({ path: "script.cjs", content: "<next ~2500 chars>" })', ' ... repeat until complete ...', '', 'Each chunk MUST be under 3000 characters. Count your characters!', '');
@@ -1 +1 @@
1
- {"version":3,"file":"tool-executor.js","sourceRoot":"","sources":["../../../src/agent/tool-executor.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,2CAA2C;AAC3C,+DAA+D;;;AAU/D,mEAA2D;AAoD3D;;;;;;;;;GASG;AACH,MAAa,iBAAiB;IACpB,MAAM,CAAqB;IAEnC,8CAA8C;IACtC,MAAM,CAAU,yBAAyB,GAAG,CAAC,CAAC;IAEtD,4BAA4B;IACpB,cAAc,CAAc;IAEpC,YAAY,MAA0B;QACpC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,cAAc,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,+BAA+B;IAC/B,KAAK,CAAC,CAAC,gBAAgB,CAAC,KAAoB,EAAE,SAAqB;QACjE,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAElD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO;gBAAE,MAAM;YAE9C,IAAI,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/C,KAAK,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YAC3D,CAAC;iBAAM,CAAC;gBACN,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;oBAC/B,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO;wBAAE,MAAM;oBAC9C,KAAK,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBAC9C,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,iBAAiB;IAEjB;;;;OAIG;IACK,cAAc,CACpB,KAAoB,EACpB,IAAc,EACd,MAAc,EACd,OAAgB,EAChB,QAAgB,EAChB,UAAoC,EACpC,qBAA8B,IAAI;QAElC,YAAY;QACZ,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE;YACrD,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI;YACxB,MAAM;YACN,OAAO;YACP,QAAQ;YACR,MAAM,EAAE,IAAI,CAAC,EAAE;SAChB,CAAC,CAAC;QAEH,eAAe;QACf,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa;YAC/C,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,mBAAmB,CAAC,MAAM,CAAC;YACvD,CAAC,CAAC,MAAM,CAAC;QACX,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,iBAAiB,CAClE,eAAe,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAC9D,CAAC;QAEF,SAAS;QACT,MAAM,WAAW,GAAY,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;QAC/F,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACjC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAEpE,sBAAsB;QACtB,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC;YACzB,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI;YACxB,IAAI,EAAE,UAAU,IAAI,EAAE;YACtB,MAAM;YACN,OAAO;YACP,QAAQ;YACR,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC,CAAC;QAEH,WAAW;QACX,IAAI,kBAAkB,EAAE,CAAC;YACvB,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC9D,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,2BAA2B;IACnB,kBAAkB,CAAC,SAAqB;QAC9C,MAAM,MAAM,GAAoB,EAAE,CAAC;QACnC,IAAI,YAAY,GAAe,EAAE,CAAC;QAClC,IAAI,iBAAiB,GAAG,KAAK,CAAC;QAE9B,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC9D,MAAM,YAAY,GAAG,IAAI,EAAE,UAAU,IAAI,KAAK,CAAC;YAE/C,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC9B,iBAAiB,GAAG,YAAY,CAAC;gBACjC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;iBAAM,IAAI,YAAY,KAAK,iBAAiB,EAAE,CAAC;gBAC9C,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,iBAAiB,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;gBACpE,YAAY,GAAG,CAAC,IAAI,CAAC,CAAC;gBACtB,iBAAiB,GAAG,YAAY,CAAC;YACnC,CAAC;QACH,CAAC;QACD,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,iBAAiB,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;QACtE,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,2BAA2B;IACnB,KAAK,CAAC,CAAC,wBAAwB,CAAC,KAAoB,EAAE,KAAiB;QAC7E,0BAA0B;QAC1B,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YAClC,IAAI,IAA6B,CAAC;YAClC,IAAI,eAAe,GAAG,KAAK,CAAC;YAC5B,IAAI,CAAC;gBAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC;gBAAC,IAAI,GAAG,EAAE,CAAC;gBAAC,eAAe,GAAG,IAAI,CAAC;YAAC,CAAC;YAChG,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;QACzC,CAAC,CAAC,CAAC;QACH,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,UAAU,EAAE,CAAC;YACxC,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACzH,CAAC;QAED,mCAAmC;QACnC,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QACvG,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,WAAW,EAAE,CAAC;YACzC,KAAK,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QACpG,MAAM,gBAAgB,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,EAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QACrG,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,EAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QAEhG,+BAA+B;QAC/B,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,gBAAgB,EAAE,CAAC;YAC9C,MAAM,MAAM,GAAG,iBAAiB,IAAI,CAAC,QAAQ,CAAC,IAAI,4FAA4F;gBAC5I,4FAA4F,CAAC;YAC/F,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QACvE,CAAC;QAED,6CAA6C;QAC7C,uCAAuC;QACvC,MAAM,gBAAgB,GAAsB,EAAE,CAAC;QAC/C,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;YACpF,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;YACvG,CAAC;iBAAM,CAAC;gBACN,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;QAED,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QACpH,MAAM,aAAa,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QAE7G,0CAA0C;QAC1C,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,aAAa,EAAE,CAAC;YAC3C,MAAM,SAAS,GAAG,KAAK,CAAC,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7E,MAAM,MAAM,GAAG,oBAAoB,IAAI,CAAC,QAAQ,CAAC,IAAI,eAAe,SAAS,sBAAsB;gBACjG,6FAA6F,CAAC;YAChG,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QACvE,CAAC;QAED,iCAAiC;QACjC,uBAAuB;QACvB,kDAAkD;QAClD,4BAA4B;QAC5B,MAAM,MAAM,GAAG,IAAI,GAAG,EAA+D,CAAC;QACtF,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,mBAAmB,EAAE,CAAC;YACjD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACxE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACvD,CAAC;QAED,kBAAkB;QAClB,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,GAAG,CACpC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,EAAE;YAC/D,MAAM,OAAO,GAAqB,EAAE,CAAC;YACrC,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,SAAS,EAAE,CAAC;gBACvC,sBAAsB;gBACtB,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;oBAC1C,MAAM,SAAS,GAAG,KAAK,CAAC,uBAAuB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;oBACnE,OAAO,CAAC,IAAI,CAAC;wBACX,MAAM,EAAE,oBAAoB,QAAQ,eAAe,SAAS,sBAAsB;4BAChF,6FAA6F;wBAC/F,OAAO,EAAE,IAAI;wBACb,UAAU,EAAE,IAAI;wBAChB,QAAQ,EAAE,CAAC;wBACX,IAAI;qBACL,CAAC,CAAC;oBACH,SAAS;gBACX,CAAC;gBACD,OAAO;gBACP,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;gBAChE,2BAA2B;gBAC3B,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;gBAC7D,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC3B,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC,CACH,CAAC;QAEF,iDAAiD;QACjD,KAAK,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC;YAClF,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,EAAE;gBAC5D,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,OAAO,EAAE,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,OAA6B;gBAChE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI;gBACxB,IAAI,EAAE,UAAU;gBAChB,MAAM;gBACN,OAAO;gBACP,QAAQ;aACT,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;YACxD,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;YAE7D,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;QAC5F,CAAC;IACH,CAAC;IAED;;;;;;;;;;OAUG;IACK,oBAAoB,CAC1B,IAAc,EACd,IAA6B,EAC7B,eAAwB;QAExB,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,oBAAoB,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QACvG,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QACpC,MAAM,SAAS,GAAG,CAAC,qBAAqB,EAAE,iBAAiB,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC/G,MAAM,aAAa,GAAG,QAAQ,KAAK,qBAAqB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,KAAK,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC1H,MAAM,iBAAiB,GAAG,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAK,IAAI,CAAC,aAAa,CAAe,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;QACnK,IAAI,CAAC,oBAAoB,IAAI,CAAC,iBAAiB;YAAE,OAAO,IAAI,CAAC;QAE7D,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACjE,MAAM,QAAQ,GAAI,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAkB,EAAE,QAAgC,CAAC;QACtG,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,iBAAiB,CAAC;YAAE,OAAO,IAAI,CAAC;QAE3E,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACvD,MAAM,YAAY,GAAI,IAAY,CAAC,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;QACnE,MAAM,WAAW,GAAG,CAAC,eAAe,IAAI,iBAAiB,CAAC,IAAI,YAAY,GAAG,GAAG,CAAC;QACjF,IAAI,MAAc,CAAC;QAEnB,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,WAAW,GAAG,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACrE,MAAM,WAAW,GAAG,QAAQ,KAAK,YAAY,CAAC;YAC9C,MAAM,KAAK,GAAa;gBACtB,2BAA2B,QAAQ,8BAA8B,YAAY,wCAAwC;gBACrH,EAAE;aACH,CAAC;YAEF,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,OAAO,GAAG,QAAQ,KAAK,qBAAqB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,KAAK,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;gBACpH,MAAM,aAAa,GAAG,QAAQ,KAAK,qBAAqB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,KAAK,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;gBACzH,MAAM,YAAY,GAAG,QAAQ,KAAK,qBAAqB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,KAAK,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC;gBAC7H,KAAK,CAAC,IAAI,CACR,mCAAmC,QAAQ,8GAA8G,EACzJ,EAAE,EACF,qDAAqD,EACrD,oDAAoD,OAAO,UAAU,EACrE,4DAA4D,aAAa,uBAAuB,EAChG,4DAA4D,YAAY,uBAAuB,EAC/F,yBAAyB,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EACnD,iFAAiF,EACjF,UAAU,QAAQ,iDAAiD,EACnE,EAAE,EACF,0EAA0E,EAC1E,EAAE,CACH,CAAC;YACJ,CAAC;iBAAM,IAAI,WAAW,EAAE,CAAC;gBACvB,KAAK,CAAC,IAAI,CACR,oDAAoD,EACpD,yEAAyE,EACzE,yEAAyE,EACzE,yEAAyE,EACzE,iCAAiC,EACjC,EAAE,EACF,kEAAkE,EAClE,EAAE,CACH,CAAC;YACJ,CAAC;iBAAM,IAAI,WAAW,EAAE,CAAC;gBACvB,KAAK,CAAC,IAAI,CACR,uDAAuD,EACvD,0FAA0F,EAC1F,gFAAgF,EAChF,uDAAuD,EACvD,uIAAuI,EACvI,EAAE,EACF,mHAAmH,EACnH,EAAE,CACH,CAAC;YACJ,CAAC;iBAAM,IAAI,QAAQ,KAAK,iBAAiB,EAAE,CAAC;gBAC1C,KAAK,CAAC,IAAI,CACR,kDAAkD,EAClD,EAAE,EACF,sFAAsF,EACtF,6EAA6E,EAC7E,2EAA2E,EAC3E,EAAE,EACF,2DAA2D,EAC3D,EAAE,CACH,CAAC;YACJ,CAAC;iBAAM,IAAI,QAAQ,KAAK,aAAa,EAAE,CAAC;gBACtC,KAAK,CAAC,IAAI,CACR,+CAA+C,EAC/C,EAAE,EACF,0EAA0E,EAC1E,4EAA4E,EAC5E,yEAAyE,EACzE,EAAE,EACF,8EAA8E,EAC9E,EAAE,CACH,CAAC;YACJ,CAAC;iBAAM,IAAI,QAAQ,KAAK,eAAe,EAAE,CAAC;gBACxC,KAAK,CAAC,IAAI,CACR,oEAAoE,EACpE,EAAE,EACF,6DAA6D,EAC7D,gGAAgG,EAChG,uGAAuG,EACvG,EAAE,EACF,8EAA8E,EAC9E,EAAE,CACH,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,CACR,kDAAkD,EAClD,EAAE,EACF,aAAa,EACb,qEAAqE,EACrE,iEAAiE,EACjE,EAAE,CACH,CAAC;YACJ,CAAC;YAED,KAAK,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;YACnE,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,MAAM,GAAG;gBACP,uBAAuB,IAAI,CAAC,QAAQ,CAAC,IAAI,+CAA+C;gBACxF,OAAO,CAAC,CAAC,CAAC,qBAAqB,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,+BAA+B;gBACzF,EAAE;gBACF,wBAAwB,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACrD,EAAE;gBACF,iFAAiF;gBACjF,+EAA+E;gBAC/E,wIAAwI;aACzI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACf,CAAC;QAED,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,WAAW,EAAE,CAAC;IACnD,CAAC;IAED,gCAAgC;IACxB,KAAK,CAAC,CAAC,kBAAkB,CAAC,KAAoB,EAAE,IAAc;QACpE,IAAI,IAA6B,CAAC;QAClC,IAAI,eAAe,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC;YAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,IAAI,GAAG,EAAE,CAAC;YAAC,eAAe,GAAG,IAAI,CAAC;QAAC,CAAC;QAEhG,+CAA+C;QAC/C,IAAI,eAAe,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,EAAE,CAAC;YAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;YAClD,IAAI,OAAO,EAAE,CAAC;gBACZ,IAAI,GAAG,OAAO,CAAC;gBACf,eAAe,GAAG,KAAK,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,iDAAiD;QACjD,IAAI,eAAe,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,aAAa,CAAC,EAAE,CAAC;YACrG,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,EAAE,CAAC;YAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;YAClD,IAAI,OAAO,EAAE,CAAC;gBACZ,IAAI,GAAG,OAAO,CAAC;gBACf,eAAe,GAAG,KAAK,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,0DAA0D;QAC1D,IAAI,eAAe,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;YAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,EAAE,CAAC;YAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;YACrD,IAAI,OAAO,EAAE,CAAC;gBACZ,IAAI,GAAG,OAAO,CAAC;gBACf,eAAe,GAAG,KAAK,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAEvH,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACtD,KAAK,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YACzD,OAAO;QACT,CAAC;QAED,sCAAsC;QACtC,sCAAsC;QACtC,sEAAsE;QACtE,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAChF,MAAM,MAAM,GAAG,qBAAqB,IAAI,CAAC,QAAQ,CAAC,IAAI,sKAAsK,CAAC;YAC7N,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YACrE,OAAO;QACT,CAAC;QAED,+DAA+D;QAC/D,uCAAuC;QACvC,4BAA4B;QAC5B,IAAI,KAAK,CAAC,YAAY,EAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAChD,MAAM,MAAM,GAAG,iBAAiB,IAAI,CAAC,QAAQ,CAAC,IAAI,4FAA4F;gBAC5I,4FAA4F,CAAC;YAC/F,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YACrE,OAAO;QACT,CAAC;QAED,+CAA+C;QAC/C,MAAM,eAAe,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC;QAC/E,IAAI,eAAe,EAAE,CAAC;YACpB,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,eAAe,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,eAAe,CAAC,eAAe,CAAC,CAAC;YAC/G,OAAO;QACT,CAAC;QAED,OAAO;QACP,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACpD,MAAM,SAAS,GAAG,KAAK,CAAC,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7E,MAAM,MAAM,GAAG,oBAAoB,IAAI,CAAC,QAAQ,CAAC,IAAI,eAAe,SAAS,sBAAsB;gBACjG,iDAAiD;gBACjD,yHAAyH;gBACzH,wFAAwF,CAAC;YAC3F,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YACrE,OAAO;QACT,CAAC;QAED,wBAAwB;QACxB,IAAI,UAAU,GAAG,IAAI,CAAC;QACtB,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,iBAAiB,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAC1F,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAiB,CAAC,CAAC;YACzE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;gBAChB,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,8CAA8C,CAAC;gBAC9E,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;gBACrE,OAAO;YACT,CAAC;YACD,IAAI,KAAK,CAAC,SAAS;gBAAE,UAAU,GAAG,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;QAC1E,CAAC;QAED,iCAAiC;QACjC,MAAM,OAAO,GAAgB;YAC3B,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,OAAO,EAAE,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,OAA6B;YAChE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI;YACxB,IAAI,EAAE,UAAU;SACjB,CAAC;QACF,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QACzE,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QAC1F,MAAM,SAAS,GAAG,CAAC,GAAG,aAAa,EAAE,GAAG,eAAe,CAAC,CAAC;QACzD,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,iBAAiB,CAAC;YACnD,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;YAC3E,OAAO;QACT,CAAC;QACD,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,QAAQ,EAAE,MAAM;YAAE,UAAU,GAAG,EAAE,GAAG,UAAU,EAAE,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;QAEzE,YAAY;QACZ,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;QACtE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAC;QAEjD,gCAAgC;QAChC,MAAM,YAAY,GAAgB;YAChC,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,OAAO,EAAE,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,OAA6B;YAChE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI;YACxB,IAAI,EAAE,UAAU;YAChB,MAAM;YACN,OAAO;YACP,QAAQ;SACT,CAAC;QACF,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QAC5E,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;QAC7F,MAAM,QAAQ,GAAG,CAAC,GAAG,YAAY,EAAE,GAAG,cAAc,CAAC,CAAC;QACtD,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QACpD,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;QAE7D,iEAAiE;QACjE,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IACrF,CAAC;IAED;;;;OAIG;IACK,iBAAiB,CAAC,MAAc,EAAE,QAAgB;QACxD,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QACzB,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;QAC9B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAEtC,kBAAkB;QAClB,IAAI,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,OAAO,IAAI,CAAC;QAC7C,6EAA6E;QAC7E,kDAAkD;QAClD,IAAI,6BAA6B,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,OAAO,IAAI,CAAC;QAC7D,IAAI,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,OAAO,IAAI,CAAC;QAErD,mBAAmB;QACnB,IAAI,QAAQ,KAAK,WAAW,IAAI,QAAQ,KAAK,cAAc,EAAE,CAAC;YAC5D,IAAI,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC;gBAAE,OAAO,IAAI,CAAC;YACxD,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;gBAAE,OAAO,IAAI,CAAC;YAC1C,IAAI,6FAA6F,CAAC,IAAI,CAAC,OAAO,CAAC;gBAAE,OAAO,IAAI,CAAC;YAC7H,8BAA8B;YAC9B,IAAI,2BAA2B,CAAC,IAAI,CAAC,OAAO,CAAC;gBAAE,OAAO,IAAI,CAAC;QAC7D,CAAC;QAED,oDAAoD;QACpD,IAAI,QAAQ,KAAK,kBAAkB,IAAI,QAAQ,KAAK,eAAe,IAAI,QAAQ,KAAK,oBAAoB,EAAE,CAAC;YACzG,IAAI,6BAA6B,CAAC,IAAI,CAAC,OAAO,CAAC;gBAAE,OAAO,IAAI,CAAC;YAC7D,IAAI,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC;gBAAE,OAAO,IAAI,CAAC;YAC5C,IAAI,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC;gBAAE,OAAO,IAAI,CAAC;QAC9C,CAAC;QAED,uCAAuC;QACvC,IAAI,QAAQ,KAAK,YAAY,IAAI,QAAQ,KAAK,iBAAiB,EAAE,CAAC;YAChE,IAAI,sCAAsC,CAAC,IAAI,CAAC,OAAO,CAAC;gBAAE,OAAO,IAAI,CAAC;YACtE,IAAI,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC;gBAAE,OAAO,IAAI,CAAC;YAC7C,IAAI,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC;gBAAE,OAAO,IAAI,CAAC;YAClD,IAAI,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC;gBAAE,OAAO,IAAI,CAAC;YAC/C,sCAAsC;YACtC,IAAI,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC;gBAAE,OAAO,IAAI,CAAC;QAChD,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,eAAe;IACP,KAAK,CAAC,cAAc,CAAC,KAAoB,EAAE,IAAc,EAAE,IAA6B;QAC9F,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,eAAe,CAAC;QAC1D,mBAAmB;QACnB,8FAA8F;QAC9F,8EAA8E;QAC9E,oEAAoE;QACpE,uCAAuC;QACvC,0BAA0B;QAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAClE,IAAI,aAAiC,CAAC;QACtC,IAAI,QAAQ,EAAE,gBAAgB,EAAE,CAAC;YAC/B,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,QAAQ,CAAC,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;gBACpE,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;oBAC9E,aAAa,GAAG,QAAQ,CAAC;gBAC3B,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,yBAAyB;YAC3B,CAAC;QACH,CAAC;QACD,IAAI,aAAa,KAAK,SAAS,IAAI,QAAQ,EAAE,SAAS,IAAI,QAAQ,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;YACjF,aAAa,GAAG,QAAQ,CAAC,SAAS,CAAC;QACrC,CAAC;QACD,MAAM,OAAO,GAAG,UAAU;YACxB,CAAC,CAAC,IAAI,CAAC,GAAG,CACN,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,EAAE,EAC5B,OAAO,IAAI,CAAC,MAAM,CAAC,kBAAkB,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,kBAAkB,GAAG,CAAC;gBACtF,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB;gBAChC,CAAC,CAAC,OAAO,CACZ;YACH,CAAC,CAAC,CAAC,aAAa,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEzB,mCAAmC;QACnC,gDAAgD;QAChD,IAAI,UAAU,EAAE,CAAC;YACf,2CAA2C;YAC3C,MAAM,gBAAgB,GAAG,WAAW,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YAC5D,MAAM,eAAe,GAAG,KAAK,CAAC,SAAS,CAAC;YACxC,gDAAgD;YAChD,wCAAgB,CAAC,kBAAkB,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;YAEvE,MAAM,OAAO,GAAG,MAAM,wCAAgB,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;YAC/E,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,wCAAgB,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;gBACxD,MAAM,KAAK,GAAG,wCAAgB,CAAC,QAAQ,EAAE,CAAC;gBAC1C,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ;oBAC3B,CAAC,CAAC,yCAAyC,KAAK,CAAC,mBAAmB,KAAK;oBACzE,CAAC,CAAC,8CAA8C,KAAK,CAAC,aAAa,kBAAkB,CAAC;gBACxF,OAAO;oBACL,MAAM,EAAE,6DAA6D,MAAM,qDAAqD;oBAChI,OAAO,EAAE,IAAI;oBACb,UAAU,EAAE,IAAI;oBAChB,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;oBAC5B,IAAI;iBACL,CAAC;YACJ,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC;gBAC1G,OAAO,MAAM,CAAC;YAChB,CAAC;oBAAS,CAAC;gBACT,gBAAgB;gBAChB,wCAAgB,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;gBACzD,wCAAgB,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IACxE,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,sBAAsB,CAClC,KAAoB,EACpB,IAAc,EACd,IAA6B,EAC7B,OAAe,EACf,KAAa;QAEb,0CAA0C;QAC1C,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC,WAAW,CAAC;QACnD,MAAM,aAAa,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAC/C,IAAI,YAAY,EAAE,OAAO,EAAE,CAAC;YAC1B,UAAU,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC;aAAM,IAAI,YAAY,EAAE,CAAC;YACxB,YAAY,CAAC,gBAAgB,CAAC,OAAO,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACxE,CAAC;QAED,IAAI,SAAwC,CAAC;QAC7C,MAAM,cAAc,GAAG,IAAI,OAAO,CAAS,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;YACvD,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC1B,sDAAsD;gBACtD,qDAAqD;gBACrD,yBAAyB;gBACzB,UAAU,CAAC,KAAK,EAAE,CAAC;gBACnB,MAAM,CAAC,IAAI,KAAK,CAAC,2BAA2B,OAAO,KAAK,CAAC,CAAC,CAAC;YAC7D,CAAC,EAAE,OAAO,CAAC,CAAC;QACd,CAAC,CAAC,CAAC;QAEH,MAAM,aAAa,GAAgB;YACjC,GAAG,KAAK,CAAC,WAAW;YACpB,iBAAiB,EAAE,IAAI,CAAC,EAAE;YAC1B,WAAW,EAAE,UAAU,CAAC,MAAM;SAC/B,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;gBACnC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,aAAa,CAAC;gBACzE,cAAc;aACf,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YACrF,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACnE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC;QACnF,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,MAAM,QAAQ,GAAG,UAAU,GAAG,CAAC,OAAO,IAAI,GAAG,EAAE,CAAC;YAChD,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE;gBACrC,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI;gBACxB,KAAK,EAAE,GAAG,CAAC,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC;gBACjC,WAAW,EAAE,IAAI;aAClB,CAAC,CAAC;YACH,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC;QACnG,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,SAAU,CAAC,CAAC;YACzB,0CAA0C;YAC1C,gCAAgC;YAChC,qCAAqC;YACrC,UAAU,CAAC,KAAK,EAAE,CAAC;YACnB,IAAI,YAAY;gBAAE,YAAY,CAAC,mBAAmB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACK,KAAK,CAAC,0BAA0B,CACtC,KAAoB,EACpB,IAAc,EACd,IAA6B,EAC7B,OAAe,EACf,KAAa,EACb,iBAAyB;QAEzB,8DAA8D;QAC9D,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC,WAAW,CAAC;QACnD,MAAM,aAAa,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAC/C,IAAI,YAAY,EAAE,OAAO,EAAE,CAAC;YAC1B,UAAU,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC;aAAM,IAAI,YAAY,EAAE,CAAC;YACxB,YAAY,CAAC,gBAAgB,CAAC,OAAO,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACxE,CAAC;QAED,kDAAkD;QAClD,IAAI,aAAa,GAAG,EAAE,CAAC;QAEvB,0CAA0C;QAC1C,IAAI,SAAwC,CAAC;QAC7C,MAAM,cAAc,GAAG,IAAI,OAAO,CAAS,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;YACvD,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC1B,UAAU,CAAC,KAAK,EAAE,CAAC,CAAE,eAAe;gBACpC,MAAM,CAAC,IAAI,KAAK,CAAC,2BAA2B,OAAO,KAAK,CAAC,CAAC,CAAC;YAC7D,CAAC,EAAE,OAAO,CAAC,CAAC;QACd,CAAC,CAAC,CAAC;QAEH,MAAM,aAAa,GAAgB;YACjC,GAAG,KAAK,CAAC,WAAW;YACpB,iBAAiB,EAAE,IAAI,CAAC,EAAE;YAC1B,WAAW,EAAE,UAAU,CAAC,MAAM;YAC9B,kCAAkC;YAClC,mBAAmB,EAAE,CAAC,OAAe,EAAE,EAAE;gBACvC,IAAI,OAAO,EAAE,CAAC;oBACZ,aAAa,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC;gBACzD,CAAC;YACH,CAAC;SACF,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;gBACnC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,aAAa,CAAC;gBACzE,cAAc;aACf,CAAC,CAAC;YACH,YAAY,CAAC,SAAS,CAAC,CAAC;YACxB,MAAM,MAAM,GAAG,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YACrF,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACnE,uEAAuE;YACvE,gDAAgD;YAChD,uEAAuE;YACvE,IAAI,aAAa,EAAE,CAAC;gBAClB,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;YACvE,CAAC;YACD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC;QACnF,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,YAAY,CAAC,SAAS,CAAC,CAAC;YACxB,MAAM,QAAQ,GAAG,UAAU,GAAG,CAAC,OAAO,IAAI,GAAG,EAAE,CAAC;YAChD,OAAO,CAAC,KAAK,CAAC,6CAA6C,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,GAAG,CAAC,OAAO,IAAI,GAAG,EAAE,CAAC,CAAC;YAE1G,8BAA8B;YAC9B,MAAM,WAAW,GAAG,aAAa;gBAC/B,CAAC,CAAC,GAAG,aAAa,wBAAwB,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,QAAQ,GAAG,CAAC,OAAO,IAAI,GAAG,EAAE;gBACxF,CAAC,CAAC,QAAQ,CAAC;YAEb,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE;gBACrC,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI;gBACxB,KAAK,EAAE,GAAG,CAAC,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC;gBACjC,WAAW,EAAE,IAAI;aAClB,CAAC,CAAC;YACH,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC;QAChH,CAAC;gBAAS,CAAC;YACT,IAAI,YAAY;gBAAE,YAAY,CAAC,mBAAmB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,CAAC,yBAAyB,CACtC,KAAoB,EACpB,IAAc,EACd,IAA6B;QAE7B,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC;QAC5D,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACrF,MAAM,UAAU,GAAG,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACxF,MAAM,MAAM,GAAG;YACb,qBAAqB,IAAI,CAAC,QAAQ,CAAC,IAAI,kDAAkD;YACzF,mDAAmD;YACnD,+KAA+K;YAC/K,EAAE;YACF,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,wBAAwB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,2BAA2B;YACjG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,4BAA4B,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,+BAA+B;YAC7G,EAAE;YACF,uJAAuJ;SACxJ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEb,gCAAgC;QAChC,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;IAChE,CAAC;IACD,gBAAgB;IACR,eAAe,CAAC,KAAoB,EAAE,QAAgB;QAC5D,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,iBAAiB,CAAC,yBAAyB,CAAC;IAC3G,CAAC;IAED,iBAAiB;IACT,kBAAkB,CAAC,KAAoB,EAAE,QAAgB,EAAE,OAAgB;QACjF,IAAI,OAAO,EAAE,CAAC;YACZ,KAAK,CAAC,uBAAuB,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,uBAAuB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACtG,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,uBAAuB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,mBAAmB,CAAC,OAAe;QACzC,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE;YAAE,OAAO,IAAI,CAAC;QAErC,IAAI,CAAC;YACH,gCAAgC;YAChC,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;YAC5E,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YAErD,oBAAoB;YACpB,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;YAC5D,MAAM,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAEzE,oCAAoC;YACpC,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC7C,IAAI,UAAU,KAAK,CAAC,CAAC;gBAAE,OAAO,IAAI,CAAC;YAEnC,4DAA4D;YAC5D,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAC3C,mCAAmC;YACnC,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;YACxD,IAAI,CAAC,aAAa;gBAAE,OAAO,IAAI,CAAC;YAEhC,MAAM,YAAY,GAAG,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YAC1D,IAAI,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAE1C,2BAA2B;YAC3B,gEAAgE;YAChE,wBAAwB;YACxB,MAAM,qBAAqB,GAAG,YAAY,CAAC;YAC3C,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;YAC1D,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YACvC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACxC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACxC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACxC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,qBAAqB,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;YAExE,6BAA6B;YAC7B,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,EAAE;gBAAE,OAAO,IAAI,CAAC;YAE5C,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;QAC9C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACK,sBAAsB,CAAC,OAAe;QAC5C,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE;YAAE,OAAO,IAAI,CAAC;QAErC,IAAI,CAAC;YACH,4BAA4B;YAC5B,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC5D,IAAI,CAAC,UAAU;gBAAE,OAAO,IAAI,CAAC;YAC7B,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YAE5B,qBAAqB;YACrB,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;YAC1D,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAElD,2BAA2B;YAC3B,MAAM,eAAe,GAAG,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;YACzE,MAAM,UAAU,GAAG,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;YAE/E,gBAAgB;YAChB,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC7C,IAAI,UAAU,KAAK,CAAC,CAAC;gBAAE,OAAO,IAAI,CAAC;YAEnC,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAC3C,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;YACxD,IAAI,CAAC,aAAa;gBAAE,OAAO,IAAI,CAAC;YAEhC,MAAM,YAAY,GAAG,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YAC1D,IAAI,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAE1C,mBAAmB;YACnB,MAAM,qBAAqB,GAAG,YAAY,CAAC;YAC3C,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;YAC1D,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YACvC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACxC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACxC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACxC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,qBAAqB,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;YAExE,sBAAsB;YACtB,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;YAE7C,uBAAuB;YACvB,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,EAAE;gBAAE,OAAO,IAAI,CAAC;YAE5C,MAAM,MAAM,GAA4B,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;YACjE,IAAI,IAAI;gBAAE,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;YAC7B,IAAI,UAAU,KAAK,SAAS;gBAAE,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;YAC7D,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,mBAAmB,CAAC,OAAe;QACzC,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE;YAAE,OAAO,IAAI,CAAC;QAErC,IAAI,CAAC;YACH,8BAA8B;YAC9B,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;YAC1D,IAAI,CAAC,SAAS;gBAAE,OAAO,IAAI,CAAC;YAC5B,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAE9B,yCAAyC;YACzC,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YACnD,IAAI,aAAa,KAAK,CAAC,CAAC;gBAAE,OAAO,IAAI,CAAC;YAEtC,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YAC9C,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;YAC3D,IAAI,CAAC,aAAa;gBAAE,OAAO,IAAI,CAAC;YAEhC,MAAM,eAAe,GAAG,aAAa,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YAChE,IAAI,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YAEhD,mBAAmB;YACnB,MAAM,qBAAqB,GAAG,YAAY,CAAC;YAC3C,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;YAChE,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAC7C,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC9C,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC9C,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC9C,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,qBAAqB,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;YAE9E,iCAAiC;YACjC,0BAA0B;YAC1B,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YAEhD,2BAA2B;YAC3B,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,GAAG;gBAAE,OAAO,IAAI,CAAC;YAEhD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACjE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;;AAx8BH,8CAy8BC"}
1
+ {"version":3,"file":"tool-executor.js","sourceRoot":"","sources":["../../../src/agent/tool-executor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Tool Section Builder -- 从 engine.ts 抽离的工具定义解析、摘要化、
3
+ * 动态工具区构建、占位符渲染等逻辑。
4
+ *
5
+ * 设计说明:engine.ts 主类保留 `prepareRun` 等编排入口,将"工具段拼装"
6
+ * 的细节委托给此模块的独立函数。函数签名以 `ToolSectionDeps` 接收依赖,
7
+ * 避免运行时循环引用。
8
+ */
9
+ import type { ToolDefinition, ToolContext } from '../tool/types.js';
10
+ import type { RunOptions, AgentConfig } from './types.js';
11
+ /** 工具段构建器所需的 Engine 依赖 */
12
+ export interface ToolSectionDeps {
13
+ config: AgentConfig;
14
+ summarizedToolNames: Set<string>;
15
+ }
16
+ /** 创建空壳 shell 执行器(当 options.context.custom.shell 未提供时使用) */
17
+ export declare function createNoopShell(): ToolContext['shell'];
18
+ /**
19
+ * 解析本次 run 的工具定义集合。
20
+ *
21
+ * 1. 从 config.defaultTools + options.extraTools 获取初始列表
22
+ * 2. 按 deniedTools 过滤
23
+ * 3. 按 toolDiscovery 模式(summary / summary-all)对非核心工具做摘要化
24
+ */
25
+ export declare function resolveToolDefs(deps: ToolSectionDeps, options: RunOptions): ToolDefinition[];
26
+ /**
27
+ * 将工具定义转为摘要形式(截断 description + 清空 parameters)。
28
+ * 实现抽离至 ./compaction.ts,保持单一来源。
29
+ */
30
+ export declare function summarizeToolDefImpl(deps: ToolSectionDeps, def: ToolDefinition, scope: 'mcp' | 'all' | null): ToolDefinition;
31
+ /** 构建 ToolContext */
32
+ export declare function buildToolContext(deps: ToolSectionDeps, options: RunOptions, internalAbort: AbortController): ToolContext;
33
+ /** 动态构建工具区 prompt(Available Tools + Tool Usage Guidelines)。
34
+ * 从 state.toolDefs 现场拼装,确保与可执行工具集一致,消除静态穿透。 */
35
+ export declare function buildDynamicToolSection(deps: ToolSectionDeps, toolDefs: ToolDefinition[]): string;
36
+ /**
37
+ * 渲染工具提示中对其它工具的引用,避免「提示穿透」:
38
+ * 文案中使用 `{{TOOL:name}}` 包裹对其它工具的引用。
39
+ * - 若该工具在当前能力集(available)中,渲染为 `name`;
40
+ * - 若该工具未注册(不在 available,也未出现在 relatedTools 声明中),则整段(含该占位符的整行/整句)被剔除,
41
+ * 避免诱导 LLM 调用不存在的工具。
42
+ *
43
+ * @param text 原始文案
44
+ * @param available 当前可用的工具名集合(用于判定 {{TOOL:name}} 是否可见)
45
+ * @param relatedTools 声明式引用清单(可选)。留空的占位符若不在 available 中则被剔除;
46
+ * 显式声明在 relatedTools 中的工具名也可被识别为「已知引用」参与裁剪。
47
+ */
48
+ export declare function renderToolRefs(text: string, available: Set<string>, relatedTools?: string[]): string;
49
+ /** 刷新 system prompt 中的工具区,确保与 state.toolDefs 一致 */
50
+ export declare function refreshToolSection(deps: ToolSectionDeps, state: {
51
+ messages: any[];
52
+ stableSystemPrompt: string | null;
53
+ toolDefs: ToolDefinition[];
54
+ }): void;
55
+ //# sourceMappingURL=tool-section-builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-section-builder.d.ts","sourceRoot":"","sources":["../../../src/agent/tool-section-builder.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAI1D,0BAA0B;AAC1B,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,WAAW,CAAC;IACpB,mBAAmB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAClC;AAED,4DAA4D;AAC5D,wBAAgB,eAAe,IAAI,WAAW,CAAC,OAAO,CAAC,CAMtD;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,UAAU,GAAG,cAAc,EAAE,CAwC5F;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,eAAe,EACrB,GAAG,EAAE,cAAc,EACnB,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,IAAI,GAC1B,cAAc,CAMhB;AAED,qBAAqB;AACrB,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,eAAe,EACrB,OAAO,EAAE,UAAU,EACnB,aAAa,EAAE,eAAe,GAC7B,WAAW,CAuBb;AAED;+CAC+C;AAC/C,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,eAAe,EACrB,QAAQ,EAAE,cAAc,EAAE,GACzB,MAAM,CAwBR;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CA+BpG;AAED,mDAAmD;AACnD,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,eAAe,EACrB,KAAK,EAAE;IAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;IAAC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,QAAQ,EAAE,cAAc,EAAE,CAAA;CAAE,GACxF,IAAI,CAIN"}
@@ -0,0 +1,191 @@
1
+ "use strict";
2
+ /**
3
+ * Tool Section Builder -- 从 engine.ts 抽离的工具定义解析、摘要化、
4
+ * 动态工具区构建、占位符渲染等逻辑。
5
+ *
6
+ * 设计说明:engine.ts 主类保留 `prepareRun` 等编排入口,将"工具段拼装"
7
+ * 的细节委托给此模块的独立函数。函数签名以 `ToolSectionDeps` 接收依赖,
8
+ * 避免运行时循环引用。
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.createNoopShell = createNoopShell;
12
+ exports.resolveToolDefs = resolveToolDefs;
13
+ exports.summarizeToolDefImpl = summarizeToolDefImpl;
14
+ exports.buildToolContext = buildToolContext;
15
+ exports.buildDynamicToolSection = buildDynamicToolSection;
16
+ exports.renderToolRefs = renderToolRefs;
17
+ exports.refreshToolSection = refreshToolSection;
18
+ const compaction_ts_1 = require("./compaction.js");
19
+ const constants_ts_1 = require("./constants.js");
20
+ /** 创建空壳 shell 执行器(当 options.context.custom.shell 未提供时使用) */
21
+ function createNoopShell() {
22
+ return {
23
+ exec: async () => 'Error: Shell executor not configured',
24
+ write: () => { },
25
+ read: () => '',
26
+ };
27
+ }
28
+ /**
29
+ * 解析本次 run 的工具定义集合。
30
+ *
31
+ * 1. 从 config.defaultTools + options.extraTools 获取初始列表
32
+ * 2. 按 deniedTools 过滤
33
+ * 3. 按 toolDiscovery 模式(summary / summary-all)对非核心工具做摘要化
34
+ */
35
+ function resolveToolDefs(deps, options) {
36
+ const { config, summarizedToolNames } = deps;
37
+ // 清空并重建摘要化工具名集合
38
+ summarizedToolNames.clear();
39
+ const toolNames = [...(config.defaultTools || []), ...(options.extraTools || [])];
40
+ let defs = toolNames.length > 0
41
+ ? config.toolRegistry.getDefinitions({ names: toolNames })
42
+ : config.toolRegistry.getDefinitions();
43
+ if (config.deniedTools?.length) {
44
+ const denied = new Set(config.deniedTools);
45
+ defs = defs.filter(d => !denied.has(d.function.name));
46
+ }
47
+ const discovery = config.toolDiscovery;
48
+ // summary 模式:仅 MCP 工具摘要
49
+ if (discovery === 'summary') {
50
+ defs = defs.map(d => {
51
+ const summarized = summarizeToolDefImpl(deps, d, 'mcp');
52
+ if (summarized !== d)
53
+ summarizedToolNames.add(d.function.name);
54
+ return summarized;
55
+ });
56
+ }
57
+ // summary-all 模式:所有非核心工具摘要(MCP + 非核心内置工具)
58
+ if (discovery === 'summary-all') {
59
+ const coreOverride = config.coreToolNames
60
+ ? new Set(config.coreToolNames)
61
+ : constants_ts_1.CORE_TOOL_NAMES;
62
+ defs = defs.map(d => {
63
+ const isCore = coreOverride.has(d.function.name);
64
+ const summarized = summarizeToolDefImpl(deps, d, isCore ? null : 'all');
65
+ if (summarized !== d)
66
+ summarizedToolNames.add(d.function.name);
67
+ return summarized;
68
+ });
69
+ }
70
+ return defs;
71
+ }
72
+ /**
73
+ * 将工具定义转为摘要形式(截断 description + 清空 parameters)。
74
+ * 实现抽离至 ./compaction.ts,保持单一来源。
75
+ */
76
+ function summarizeToolDefImpl(deps, def, scope) {
77
+ return (0, compaction_ts_1.summarizeToolDef)(def, {
78
+ scope,
79
+ maxDesc: deps.config.toolSummaryMaxDesc ?? 100,
80
+ getCategory: (name) => deps.config.toolRegistry.get(name)?.category,
81
+ });
82
+ }
83
+ /** 构建 ToolContext */
84
+ function buildToolContext(deps, options, internalAbort) {
85
+ const custom = options.context?.custom;
86
+ return {
87
+ sessionId: options.sessionId,
88
+ shell: custom?.shell || createNoopShell(),
89
+ fs: custom?.fs,
90
+ env: options.context?.env,
91
+ abortSignal: internalAbort.signal,
92
+ custom: {
93
+ ...custom,
94
+ // Fix A:始终使用引擎授权注册表(已按 selectedTools/disabledTools 过滤),
95
+ // 不接受 custom.toolRegistry 覆盖--防止 read_tool_doc/diagnose 泄漏被禁工具 schema。
96
+ toolRegistry: deps.config.toolRegistry,
97
+ skillManager: custom?.skillManager ?? deps.config.skillManager,
98
+ },
99
+ emitSubEvent: custom?.emitSubEvent,
100
+ emitWidget: custom?.emitWidget,
101
+ emitArtifact: custom?.emitArtifact,
102
+ emitToolLog: custom?.emitToolLog,
103
+ emitToolHeartbeat: custom?.emitToolHeartbeat,
104
+ toolTimeout: deps.config.toolTimeout,
105
+ maxScriptTimeoutMs: deps.config.maxScriptTimeoutMs,
106
+ };
107
+ }
108
+ /** 动态构建工具区 prompt(Available Tools + Tool Usage Guidelines)。
109
+ * 从 state.toolDefs 现场拼装,确保与可执行工具集一致,消除静态穿透。 */
110
+ function buildDynamicToolSection(deps, toolDefs) {
111
+ const { config, summarizedToolNames } = deps;
112
+ if (config.buildToolSection) {
113
+ return config.buildToolSection(toolDefs, config.toolRegistry);
114
+ }
115
+ if (toolDefs.length === 0)
116
+ return '';
117
+ // 可用工具名集合:用于占位符 {{TOOL:name}} 渲染时判定引用是否真实可用
118
+ const available = new Set(toolDefs.map(d => d.function.name));
119
+ const lines = toolDefs.map(d => `- \`${d.function.name}\`: ${renderToolRefs(d.function.description || '', available)}`);
120
+ let section = `\n\n## Available Tools\n${lines.join('\n')}`;
121
+ // 收集工具自带的使用引导(tool.prompt),并对其中对其他工具的引用做可用裁剪。
122
+ // tool.relatedTools 是声明式的「本工具引用的其它工具」清单,
123
+ // 用于:若某占位符 {{TOOL:x}} 未注册,则整段引用被剔除(见 renderToolRefs)。
124
+ const prompts = [];
125
+ for (const def of toolDefs) {
126
+ // 跳过被摘要化的工具:其 prompt 不注入 system prompt(progressive loading)
127
+ if (summarizedToolNames.has(def.function.name))
128
+ continue;
129
+ const tool = config.toolRegistry.get(def.function.name);
130
+ if (tool?.prompt)
131
+ prompts.push(renderToolRefs(tool.prompt, available, tool.relatedTools));
132
+ }
133
+ if (prompts.length > 0) {
134
+ section += `\n\n## Tool Usage Guidelines\n\n${prompts.join('\n\n')}`;
135
+ }
136
+ return section;
137
+ }
138
+ /**
139
+ * 渲染工具提示中对其它工具的引用,避免「提示穿透」:
140
+ * 文案中使用 `{{TOOL:name}}` 包裹对其它工具的引用。
141
+ * - 若该工具在当前能力集(available)中,渲染为 `name`;
142
+ * - 若该工具未注册(不在 available,也未出现在 relatedTools 声明中),则整段(含该占位符的整行/整句)被剔除,
143
+ * 避免诱导 LLM 调用不存在的工具。
144
+ *
145
+ * @param text 原始文案
146
+ * @param available 当前可用的工具名集合(用于判定 {{TOOL:name}} 是否可见)
147
+ * @param relatedTools 声明式引用清单(可选)。留空的占位符若不在 available 中则被剔除;
148
+ * 显式声明在 relatedTools 中的工具名也可被识别为「已知引用」参与裁剪。
149
+ */
150
+ function renderToolRefs(text, available, relatedTools) {
151
+ // relatedTools 声明本工具引用的「其他工具」。占位符 {{TOOL:name}} 只有在
152
+ // - name 确实注册(available)时才渲染为 `name`;
153
+ // - 否则用哨兵标记,后续做子句级清除,避免留下 "do NOT call after" 这类残缺。
154
+ // 不在 relatedTools 且未注册的占位符视为误写,保留原文。
155
+ const knownRefs = relatedTools && relatedTools.length > 0 ? new Set(relatedTools) : null;
156
+ const SENTINEL = '\x00'; // 哨兵:标记被剔除的占位符位置
157
+ // 1) 替换:可用 -> name;不可用且为已知引用 -> 哨兵;其余保留原文
158
+ let out = text.replace(/\{\{TOOL:([a-zA-Z0-9_-]+)\}\}/g, (m, name) => {
159
+ if (available.has(name))
160
+ return `\`${name}\``;
161
+ if (knownRefs && !knownRefs.has(name))
162
+ return m;
163
+ return SENTINEL;
164
+ });
165
+ // 2) 子句级清除:以 " - " 或 ", " 分隔的子句中含哨兵,则移除整个子句
166
+ out = out
167
+ .split(/(?<=\S)\s+-\s+|(?<=\S),\s+/)
168
+ .filter(clause => !clause.includes(SENTINEL))
169
+ .join(', ');
170
+ // 3) 行级清除:多行 prompt 中,整行仅剩哨兵/标点/空白的予以移除
171
+ out = out
172
+ .split('\n')
173
+ .filter(line => {
174
+ const trimmed = line.trim();
175
+ if (trimmed === '')
176
+ return true;
177
+ const meaningful = trimmed.replace(/[`.,;:()\-]+/g, '').replace(/\s+/g, '');
178
+ return meaningful.length > 0 && !trimmed.includes(SENTINEL);
179
+ })
180
+ .join('\n');
181
+ // 4) 清理残留哨兵 + 收缩多余空格
182
+ out = out.replace(/\x00/g, '').replace(/ {2,}/g, ' ').replace(/\s+\n/g, '\n').trim();
183
+ return out;
184
+ }
185
+ /** 刷新 system prompt 中的工具区,确保与 state.toolDefs 一致 */
186
+ function refreshToolSection(deps, state) {
187
+ if (state.messages[0] && state.stableSystemPrompt != null) {
188
+ state.messages[0].content = state.stableSystemPrompt + buildDynamicToolSection(deps, state.toolDefs);
189
+ }
190
+ }
191
+ //# sourceMappingURL=tool-section-builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-section-builder.js","sourceRoot":"","sources":["../../../src/agent/tool-section-builder.ts"],"names":[],"mappings":"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"}
@@ -147,7 +147,7 @@ export interface AgentConfig {
147
147
  tokenBudget?: TokenBudget;
148
148
  /** 数据获取类工具名列表(用于循环检测,默认 ['web_fetch', 'http_request', 'browser_navigate', 'browser_click', 'execute_command', 'read_file', 'read_tool_doc'];注意 run_script 已不在默认列表,因为它属于「计算/执行」而非「数据获取」,避免循环检测触发后被动态禁用) */
149
149
  dataFetchTools?: string[];
150
- /** 产出型工具名列表(有这些工具调用时不触发数据获取循环检测,默认 ['delegate_task', 'create_presentation', 'create_document', 'create_pdf', 'show_widget', 'save_artifact']) */
150
+ /** 产出型工具名列表(有这些工具调用时不触发数据获取循环检测,默认 ['delegate_task', 'create_document', 'show_widget', 'save_artifact']) */
151
151
  outputTools?: string[];
152
152
  /** 外部数据源获取工具名列表(用于数据出处判定:本轮尝试过这些工具但全部失败时,
153
153
  * 最终回复的数据必然来自模型记忆,引擎会追加「未经实时核验」声明。