@cicctencent/agent-core 0.1.18 → 0.1.20

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 (252) hide show
  1. package/README.md +70 -1
  2. package/dist/cjs/agent/engine.d.ts +23 -0
  3. package/dist/cjs/agent/engine.d.ts.map +1 -1
  4. package/dist/cjs/agent/engine.js +88 -9
  5. package/dist/cjs/agent/engine.js.map +1 -1
  6. package/dist/cjs/agent/history-manager.d.ts +66 -1
  7. package/dist/cjs/agent/history-manager.d.ts.map +1 -1
  8. package/dist/cjs/agent/history-manager.js +232 -0
  9. package/dist/cjs/agent/history-manager.js.map +1 -1
  10. package/dist/cjs/agent/llm-caller.d.ts +4 -1
  11. package/dist/cjs/agent/llm-caller.d.ts.map +1 -1
  12. package/dist/cjs/agent/llm-caller.js +25 -19
  13. package/dist/cjs/agent/llm-caller.js.map +1 -1
  14. package/dist/cjs/agent/profile-loader.d.ts +56 -0
  15. package/dist/cjs/agent/profile-loader.d.ts.map +1 -0
  16. package/dist/cjs/agent/profile-loader.js +145 -0
  17. package/dist/cjs/agent/profile-loader.js.map +1 -0
  18. package/dist/cjs/agent/types.d.ts +32 -3
  19. package/dist/cjs/agent/types.d.ts.map +1 -1
  20. package/dist/cjs/agent/types.js.map +1 -1
  21. package/dist/cjs/calendar/types.d.ts +41 -0
  22. package/dist/cjs/calendar/types.d.ts.map +1 -0
  23. package/dist/cjs/calendar/types.js +6 -0
  24. package/dist/cjs/calendar/types.js.map +1 -0
  25. package/dist/cjs/context/types.d.ts +3 -3
  26. package/dist/cjs/context/types.d.ts.map +1 -1
  27. package/dist/cjs/email/types.d.ts +46 -0
  28. package/dist/cjs/email/types.d.ts.map +1 -0
  29. package/dist/cjs/email/types.js +6 -0
  30. package/dist/cjs/email/types.js.map +1 -0
  31. package/dist/cjs/index.d.ts +28 -3
  32. package/dist/cjs/index.d.ts.map +1 -1
  33. package/dist/cjs/index.js +42 -11
  34. package/dist/cjs/index.js.map +1 -1
  35. package/dist/cjs/kb/in-memory-kb.d.ts +29 -0
  36. package/dist/cjs/kb/in-memory-kb.d.ts.map +1 -0
  37. package/dist/cjs/kb/in-memory-kb.js +210 -0
  38. package/dist/cjs/kb/in-memory-kb.js.map +1 -0
  39. package/dist/cjs/kb/rag-middleware.d.ts +31 -0
  40. package/dist/cjs/kb/rag-middleware.d.ts.map +1 -0
  41. package/dist/cjs/kb/rag-middleware.js +94 -0
  42. package/dist/cjs/kb/rag-middleware.js.map +1 -0
  43. package/dist/cjs/kb/types.d.ts +63 -0
  44. package/dist/cjs/kb/types.d.ts.map +1 -0
  45. package/dist/cjs/kb/types.js +6 -0
  46. package/dist/cjs/kb/types.js.map +1 -0
  47. package/dist/cjs/llm/anthropic-provider.d.ts +7 -0
  48. package/dist/cjs/llm/anthropic-provider.d.ts.map +1 -1
  49. package/dist/cjs/llm/anthropic-provider.js +84 -9
  50. package/dist/cjs/llm/anthropic-provider.js.map +1 -1
  51. package/dist/cjs/llm/ollama-provider.d.ts +18 -0
  52. package/dist/cjs/llm/ollama-provider.d.ts.map +1 -1
  53. package/dist/cjs/llm/ollama-provider.js +41 -0
  54. package/dist/cjs/llm/ollama-provider.js.map +1 -1
  55. package/dist/cjs/llm/openai-provider.d.ts +39 -2
  56. package/dist/cjs/llm/openai-provider.d.ts.map +1 -1
  57. package/dist/cjs/llm/openai-provider.js +302 -1
  58. package/dist/cjs/llm/openai-provider.js.map +1 -1
  59. package/dist/cjs/llm/pricing.d.ts +26 -0
  60. package/dist/cjs/llm/pricing.d.ts.map +1 -0
  61. package/dist/cjs/llm/pricing.js +86 -0
  62. package/dist/cjs/llm/pricing.js.map +1 -0
  63. package/dist/cjs/llm/provider.d.ts +2 -1
  64. package/dist/cjs/llm/provider.d.ts.map +1 -1
  65. package/dist/cjs/llm/provider.js +6 -1
  66. package/dist/cjs/llm/provider.js.map +1 -1
  67. package/dist/cjs/llm/types.d.ts +139 -0
  68. package/dist/cjs/llm/types.d.ts.map +1 -1
  69. package/dist/cjs/llm/types.js +74 -0
  70. package/dist/cjs/llm/types.js.map +1 -1
  71. package/dist/cjs/llm/usage-tracker.d.ts +119 -0
  72. package/dist/cjs/llm/usage-tracker.d.ts.map +1 -0
  73. package/dist/cjs/llm/usage-tracker.js +105 -0
  74. package/dist/cjs/llm/usage-tracker.js.map +1 -0
  75. package/dist/cjs/memory/extractor.js +1 -1
  76. package/dist/cjs/memory/extractor.js.map +1 -1
  77. package/dist/cjs/memory/persona.js +1 -1
  78. package/dist/cjs/memory/persona.js.map +1 -1
  79. package/dist/cjs/memory/scene.js +1 -1
  80. package/dist/cjs/memory/scene.js.map +1 -1
  81. package/dist/cjs/middleware/types.d.ts +2 -4
  82. package/dist/cjs/middleware/types.d.ts.map +1 -1
  83. package/dist/cjs/middleware/workspace-notes.d.ts +36 -0
  84. package/dist/cjs/middleware/workspace-notes.d.ts.map +1 -0
  85. package/dist/cjs/middleware/workspace-notes.js +53 -0
  86. package/dist/cjs/middleware/workspace-notes.js.map +1 -0
  87. package/dist/cjs/observability/logger.d.ts +1 -0
  88. package/dist/cjs/observability/logger.d.ts.map +1 -1
  89. package/dist/cjs/observability/logger.js.map +1 -1
  90. package/dist/cjs/observability/trace.d.ts +45 -0
  91. package/dist/cjs/observability/trace.d.ts.map +1 -0
  92. package/dist/cjs/observability/trace.js +59 -0
  93. package/dist/cjs/observability/trace.js.map +1 -0
  94. package/dist/cjs/runtime/run-registry-interface.d.ts +42 -0
  95. package/dist/cjs/runtime/run-registry-interface.d.ts.map +1 -0
  96. package/dist/cjs/runtime/run-registry-interface.js +7 -0
  97. package/dist/cjs/runtime/run-registry-interface.js.map +1 -0
  98. package/dist/cjs/runtime/run-registry.d.ts +15 -2
  99. package/dist/cjs/runtime/run-registry.d.ts.map +1 -1
  100. package/dist/cjs/runtime/run-registry.js +43 -1
  101. package/dist/cjs/runtime/run-registry.js.map +1 -1
  102. package/dist/cjs/sandbox/code-sandbox.d.ts +42 -0
  103. package/dist/cjs/sandbox/code-sandbox.d.ts.map +1 -0
  104. package/dist/cjs/sandbox/code-sandbox.js +59 -0
  105. package/dist/cjs/sandbox/code-sandbox.js.map +1 -0
  106. package/dist/cjs/skill/router.d.ts +20 -1
  107. package/dist/cjs/skill/router.d.ts.map +1 -1
  108. package/dist/cjs/skill/router.js +39 -1
  109. package/dist/cjs/skill/router.js.map +1 -1
  110. package/dist/cjs/skill/types.d.ts +1 -1
  111. package/dist/cjs/skill/types.d.ts.map +1 -1
  112. package/dist/cjs/skill/vector-index.d.ts +50 -0
  113. package/dist/cjs/skill/vector-index.d.ts.map +1 -0
  114. package/dist/cjs/skill/vector-index.js +57 -0
  115. package/dist/cjs/skill/vector-index.js.map +1 -0
  116. package/dist/cjs/store/history-persistence.d.ts +36 -0
  117. package/dist/cjs/store/history-persistence.d.ts.map +1 -0
  118. package/dist/cjs/store/history-persistence.js +142 -0
  119. package/dist/cjs/store/history-persistence.js.map +1 -0
  120. package/dist/cjs/types.d.ts +40 -1
  121. package/dist/cjs/types.d.ts.map +1 -1
  122. package/dist/cjs/types.js +34 -0
  123. package/dist/cjs/types.js.map +1 -1
  124. package/dist/cjs/utils/token-counter.d.ts.map +1 -1
  125. package/dist/cjs/utils/token-counter.js +33 -1
  126. package/dist/cjs/utils/token-counter.js.map +1 -1
  127. package/dist/esm/agent/engine.d.ts +23 -0
  128. package/dist/esm/agent/engine.d.ts.map +1 -1
  129. package/dist/esm/agent/engine.js +88 -9
  130. package/dist/esm/agent/engine.js.map +1 -1
  131. package/dist/esm/agent/history-manager.d.ts +66 -1
  132. package/dist/esm/agent/history-manager.d.ts.map +1 -1
  133. package/dist/esm/agent/history-manager.js +232 -0
  134. package/dist/esm/agent/history-manager.js.map +1 -1
  135. package/dist/esm/agent/llm-caller.d.ts +4 -1
  136. package/dist/esm/agent/llm-caller.d.ts.map +1 -1
  137. package/dist/esm/agent/llm-caller.js +25 -19
  138. package/dist/esm/agent/llm-caller.js.map +1 -1
  139. package/dist/esm/agent/profile-loader.d.ts +56 -0
  140. package/dist/esm/agent/profile-loader.d.ts.map +1 -0
  141. package/dist/esm/agent/profile-loader.js +108 -0
  142. package/dist/esm/agent/profile-loader.js.map +1 -0
  143. package/dist/esm/agent/types.d.ts +32 -3
  144. package/dist/esm/agent/types.d.ts.map +1 -1
  145. package/dist/esm/agent/types.js.map +1 -1
  146. package/dist/esm/calendar/types.d.ts +41 -0
  147. package/dist/esm/calendar/types.d.ts.map +1 -0
  148. package/dist/esm/calendar/types.js +5 -0
  149. package/dist/esm/calendar/types.js.map +1 -0
  150. package/dist/esm/context/types.d.ts +3 -3
  151. package/dist/esm/context/types.d.ts.map +1 -1
  152. package/dist/esm/email/types.d.ts +46 -0
  153. package/dist/esm/email/types.d.ts.map +1 -0
  154. package/dist/esm/email/types.js +5 -0
  155. package/dist/esm/email/types.js.map +1 -0
  156. package/dist/esm/index.d.ts +28 -3
  157. package/dist/esm/index.d.ts.map +1 -1
  158. package/dist/esm/index.js +12 -0
  159. package/dist/esm/index.js.map +1 -1
  160. package/dist/esm/kb/in-memory-kb.d.ts +29 -0
  161. package/dist/esm/kb/in-memory-kb.d.ts.map +1 -0
  162. package/dist/esm/kb/in-memory-kb.js +206 -0
  163. package/dist/esm/kb/in-memory-kb.js.map +1 -0
  164. package/dist/esm/kb/rag-middleware.d.ts +31 -0
  165. package/dist/esm/kb/rag-middleware.d.ts.map +1 -0
  166. package/dist/esm/kb/rag-middleware.js +91 -0
  167. package/dist/esm/kb/rag-middleware.js.map +1 -0
  168. package/dist/esm/kb/types.d.ts +63 -0
  169. package/dist/esm/kb/types.d.ts.map +1 -0
  170. package/dist/esm/kb/types.js +5 -0
  171. package/dist/esm/kb/types.js.map +1 -0
  172. package/dist/esm/llm/anthropic-provider.d.ts +7 -0
  173. package/dist/esm/llm/anthropic-provider.d.ts.map +1 -1
  174. package/dist/esm/llm/anthropic-provider.js +84 -9
  175. package/dist/esm/llm/anthropic-provider.js.map +1 -1
  176. package/dist/esm/llm/ollama-provider.d.ts +18 -0
  177. package/dist/esm/llm/ollama-provider.d.ts.map +1 -1
  178. package/dist/esm/llm/ollama-provider.js +41 -0
  179. package/dist/esm/llm/ollama-provider.js.map +1 -1
  180. package/dist/esm/llm/openai-provider.d.ts +39 -2
  181. package/dist/esm/llm/openai-provider.d.ts.map +1 -1
  182. package/dist/esm/llm/openai-provider.js +302 -1
  183. package/dist/esm/llm/openai-provider.js.map +1 -1
  184. package/dist/esm/llm/pricing.d.ts +26 -0
  185. package/dist/esm/llm/pricing.d.ts.map +1 -0
  186. package/dist/esm/llm/pricing.js +81 -0
  187. package/dist/esm/llm/pricing.js.map +1 -0
  188. package/dist/esm/llm/provider.d.ts +2 -1
  189. package/dist/esm/llm/provider.d.ts.map +1 -1
  190. package/dist/esm/llm/provider.js +1 -0
  191. package/dist/esm/llm/provider.js.map +1 -1
  192. package/dist/esm/llm/types.d.ts +139 -0
  193. package/dist/esm/llm/types.d.ts.map +1 -1
  194. package/dist/esm/llm/types.js +70 -1
  195. package/dist/esm/llm/types.js.map +1 -1
  196. package/dist/esm/llm/usage-tracker.d.ts +119 -0
  197. package/dist/esm/llm/usage-tracker.d.ts.map +1 -0
  198. package/dist/esm/llm/usage-tracker.js +101 -0
  199. package/dist/esm/llm/usage-tracker.js.map +1 -0
  200. package/dist/esm/memory/extractor.js +1 -1
  201. package/dist/esm/memory/extractor.js.map +1 -1
  202. package/dist/esm/memory/persona.js +1 -1
  203. package/dist/esm/memory/persona.js.map +1 -1
  204. package/dist/esm/memory/scene.js +1 -1
  205. package/dist/esm/memory/scene.js.map +1 -1
  206. package/dist/esm/middleware/types.d.ts +2 -4
  207. package/dist/esm/middleware/types.d.ts.map +1 -1
  208. package/dist/esm/middleware/workspace-notes.d.ts +36 -0
  209. package/dist/esm/middleware/workspace-notes.d.ts.map +1 -0
  210. package/dist/esm/middleware/workspace-notes.js +49 -0
  211. package/dist/esm/middleware/workspace-notes.js.map +1 -0
  212. package/dist/esm/observability/logger.d.ts +1 -0
  213. package/dist/esm/observability/logger.d.ts.map +1 -1
  214. package/dist/esm/observability/logger.js.map +1 -1
  215. package/dist/esm/observability/trace.d.ts +45 -0
  216. package/dist/esm/observability/trace.d.ts.map +1 -0
  217. package/dist/esm/observability/trace.js +55 -0
  218. package/dist/esm/observability/trace.js.map +1 -0
  219. package/dist/esm/runtime/run-registry-interface.d.ts +42 -0
  220. package/dist/esm/runtime/run-registry-interface.d.ts.map +1 -0
  221. package/dist/esm/runtime/run-registry-interface.js +6 -0
  222. package/dist/esm/runtime/run-registry-interface.js.map +1 -0
  223. package/dist/esm/runtime/run-registry.d.ts +15 -2
  224. package/dist/esm/runtime/run-registry.d.ts.map +1 -1
  225. package/dist/esm/runtime/run-registry.js +43 -1
  226. package/dist/esm/runtime/run-registry.js.map +1 -1
  227. package/dist/esm/sandbox/code-sandbox.d.ts +42 -0
  228. package/dist/esm/sandbox/code-sandbox.d.ts.map +1 -0
  229. package/dist/esm/sandbox/code-sandbox.js +56 -0
  230. package/dist/esm/sandbox/code-sandbox.js.map +1 -0
  231. package/dist/esm/skill/router.d.ts +20 -1
  232. package/dist/esm/skill/router.d.ts.map +1 -1
  233. package/dist/esm/skill/router.js +37 -0
  234. package/dist/esm/skill/router.js.map +1 -1
  235. package/dist/esm/skill/types.d.ts +1 -1
  236. package/dist/esm/skill/types.d.ts.map +1 -1
  237. package/dist/esm/skill/vector-index.d.ts +50 -0
  238. package/dist/esm/skill/vector-index.d.ts.map +1 -0
  239. package/dist/esm/skill/vector-index.js +53 -0
  240. package/dist/esm/skill/vector-index.js.map +1 -0
  241. package/dist/esm/store/history-persistence.d.ts +36 -0
  242. package/dist/esm/store/history-persistence.d.ts.map +1 -0
  243. package/dist/esm/store/history-persistence.js +105 -0
  244. package/dist/esm/store/history-persistence.js.map +1 -0
  245. package/dist/esm/types.d.ts +40 -1
  246. package/dist/esm/types.d.ts.map +1 -1
  247. package/dist/esm/types.js +32 -1
  248. package/dist/esm/types.js.map +1 -1
  249. package/dist/esm/utils/token-counter.d.ts.map +1 -1
  250. package/dist/esm/utils/token-counter.js +33 -1
  251. package/dist/esm/utils/token-counter.js.map +1 -1
  252. package/package.json +1 -1
@@ -1,6 +1,7 @@
1
1
  // ============================================================
2
2
  // HistoryManager — 会话历史管理(滑动窗口 + 智能压缩)
3
3
  // ============================================================
4
+ import { extractTextFromContent } from "../types.js";
4
5
  import { countMessageTokens } from "../utils/token-counter.js";
5
6
  /**
6
7
  * 会话历史管理器
@@ -41,6 +42,12 @@ export class HistoryManager {
41
42
  }
42
43
  const history = this.historyMap.get(sessionId);
43
44
  history.push(msg);
45
+ // 异步持久化(不阻塞 Agent Loop)
46
+ if (this.config.persistence) {
47
+ this.config.persistence.save(sessionId, msg).catch(e => {
48
+ console.warn(`[HistoryManager] persistence.save failed for session ${sessionId}:`, e?.message || e);
49
+ });
50
+ }
44
51
  // 增量 token 计数
45
52
  const addedTokens = countMessageTokens([msg]);
46
53
  const currentTokens = (this.tokenCountMap.get(sessionId) || 0) + addedTokens;
@@ -63,16 +70,109 @@ export class HistoryManager {
63
70
  history.shift();
64
71
  }
65
72
  }
73
+ /**
74
+ * 从持久化存储加载会话历史
75
+ * 加载后替换内存中的历史,并重建 token 计数
76
+ * 如果持久化未配置或文件不存在,返回 false
77
+ */
78
+ async loadHistory(sessionId) {
79
+ if (!this.config.persistence)
80
+ return false;
81
+ const messages = await this.config.persistence.load(sessionId);
82
+ if (messages && messages.length > 0) {
83
+ this.setHistory(sessionId, messages);
84
+ return true;
85
+ }
86
+ return false;
87
+ }
66
88
  /** 清理指定会话的历史 */
67
89
  clearHistory(sessionId) {
68
90
  this.historyMap.delete(sessionId);
69
91
  this.tokenCountMap.delete(sessionId);
92
+ // 异步删除持久化文件
93
+ if (this.config.persistence) {
94
+ this.config.persistence.delete(sessionId).catch(() => { });
95
+ }
70
96
  }
71
97
  /** 清理所有会话历史 */
72
98
  clearAll() {
73
99
  this.historyMap.clear();
74
100
  this.tokenCountMap.clear();
75
101
  }
102
+ /**
103
+ * 截断会话历史到指定位置(保留 [0, toIndex) 的消息)
104
+ *
105
+ * 用于消息编辑场景:用户编辑第 N 条消息后,截断历史到 N,
106
+ * 然后重新追加编辑后的消息并重新生成。
107
+ *
108
+ * @param sessionId 会话 ID
109
+ * @param toIndex 保留的消息数量(0 = 清空历史)
110
+ * @returns 被截断掉的消息数量
111
+ */
112
+ truncateHistory(sessionId, toIndex) {
113
+ const history = this.historyMap.get(sessionId);
114
+ if (!history)
115
+ return 0;
116
+ const removed = Math.max(0, history.length - toIndex);
117
+ if (removed === 0)
118
+ return 0;
119
+ history.splice(toIndex);
120
+ this.tokenCountMap.set(sessionId, countMessageTokens(history));
121
+ // 持久化:重写整个文件(截断后历史已改变)
122
+ if (this.config.persistence) {
123
+ this.rewritePersistence(sessionId, history);
124
+ }
125
+ return removed;
126
+ }
127
+ /**
128
+ * 从现有会话历史分叉创建新会话
129
+ *
130
+ * 复制源会话 [0, fromIndex) 的消息到新会话,
131
+ * 新会话可以独立追加消息而不影响源会话。
132
+ *
133
+ * 用于对话分支场景:用户从第 N 条消息分叉,创建新对话线。
134
+ *
135
+ * @param sourceSessionId 源会话 ID
136
+ * @param targetSessionId 目标会话 ID
137
+ * @param fromIndex 从源会话复制到哪个位置(不包含),默认全部
138
+ * @returns 新会话中的消息数量
139
+ */
140
+ forkHistory(sourceSessionId, targetSessionId, fromIndex) {
141
+ const sourceHistory = this.historyMap.get(sourceSessionId);
142
+ if (!sourceHistory || sourceHistory.length === 0)
143
+ return 0;
144
+ const endIndex = fromIndex ?? sourceHistory.length;
145
+ const forkedMessages = sourceHistory.slice(0, endIndex);
146
+ this.setHistory(targetSessionId, forkedMessages);
147
+ // 持久化:将分叉的历史写入新会话文件
148
+ if (this.config.persistence) {
149
+ this.rewritePersistence(targetSessionId, forkedMessages);
150
+ }
151
+ return forkedMessages.length;
152
+ }
153
+ /**
154
+ * 获取会话历史的消息数量
155
+ */
156
+ getHistoryLength(sessionId) {
157
+ return this.historyMap.get(sessionId)?.length ?? 0;
158
+ }
159
+ /**
160
+ * 重写持久化文件(截断/分叉后历史已改变,需要全量重写)
161
+ * 先删除旧文件,再逐条追加
162
+ */
163
+ rewritePersistence(sessionId, messages) {
164
+ if (!this.config.persistence)
165
+ return;
166
+ // 异步执行,不阻塞 Agent Loop
167
+ (async () => {
168
+ await this.config.persistence.delete(sessionId);
169
+ for (const msg of messages) {
170
+ await this.config.persistence.save(sessionId, msg);
171
+ }
172
+ })().catch(e => {
173
+ console.warn(`[HistoryManager] rewritePersistence failed for session ${sessionId}:`, e?.message || e);
174
+ });
175
+ }
76
176
  // ---- 工具输出处理(智能截断 + 文件化)----
77
177
  /** 不应被 offload 的读取类工具(避免 offload → read → offload 无限链) */
78
178
  static READ_THROUGH_TOOLS = new Set(['read_offload', 'read_tool_result']);
@@ -178,11 +278,30 @@ export class HistoryManager {
178
278
  offloadBase64Content(history) {
179
279
  const base64Pattern = /[A-Za-z0-9+/]{200,}={0,2}/g;
180
280
  for (const msg of history) {
281
+ // tool 消息:字符串内容中的 base64 块
181
282
  if (msg.role === 'tool' && typeof msg.content === 'string' && msg.content.length > 500) {
182
283
  msg.content = msg.content.replace(base64Pattern, (match) => {
183
284
  return `[base64: ${match.length} chars]`;
184
285
  });
185
286
  }
287
+ // user/assistant 消息:ContentPart[] 中的 base64 图片
288
+ if (Array.isArray(msg.content)) {
289
+ let modified = false;
290
+ const newParts = msg.content.map(part => {
291
+ if (part.type === 'image' && part.source.startsWith('data:')) {
292
+ // base64 data URI → 替换为占位符文本
293
+ modified = true;
294
+ return {
295
+ type: 'text',
296
+ text: `[image: base64 data ${part.source.length} chars offloaded]`,
297
+ };
298
+ }
299
+ return part;
300
+ });
301
+ if (modified) {
302
+ msg.content = newParts;
303
+ }
304
+ }
186
305
  }
187
306
  }
188
307
  /** 压缩阶段 3: 非破坏性卸载大工具结果 */
@@ -212,6 +331,7 @@ export class HistoryManager {
212
331
  const headLen = this.config.contextBudget?.toolOutputHeadLength ?? Math.floor(maxResultLen * 0.4);
213
332
  const tailLen = this.config.contextBudget?.toolOutputTailLength ?? Math.floor(maxResultLen * 0.4);
214
333
  for (const msg of history) {
334
+ // 仅处理字符串内容(tool 消息始终为字符串)
215
335
  if (msg.role === 'tool' && typeof msg.content === 'string' && msg.content.length > maxResultLen) {
216
336
  msg.content = msg.content.slice(0, headLen)
217
337
  + `\n\n... [${msg.content.length - headLen - tailLen} characters truncated] ...\n\n`
@@ -263,5 +383,117 @@ export class HistoryManager {
263
383
  }
264
384
  return hash;
265
385
  }
386
+ // ---- 非破坏性上下文投影(Context Collapse)----
387
+ /**
388
+ * 获取非破坏性投影后的历史消息列表
389
+ *
390
+ * 与 `compactHistorySmart()` 不同,此方法 **不修改原始历史**,
391
+ * 而是返回一个投影副本:
392
+ * - 保留最近的 N 条消息完整不变
393
+ * - 较早的消息对(assistant + tool)折叠为摘要标签
394
+ * - 原始历史可通过 `getHistory()` 完整获取
395
+ *
396
+ * @param sessionId 会话 ID
397
+ * @param tokenBudget token 预算(默认使用配置的 maxContextTokens)
398
+ * @returns 投影后的消息列表(新数组,不影响原始历史)
399
+ */
400
+ getProjectedHistory(sessionId, tokenBudget) {
401
+ const original = this.historyMap.get(sessionId);
402
+ if (!original || original.length === 0)
403
+ return [];
404
+ const maxTokens = tokenBudget ?? this.config.contextBudget?.maxContextTokens ?? 100000;
405
+ const targetTokens = Math.floor(maxTokens * 0.7); // 给 system prompt + tools 留 30% 空间
406
+ // 深拷贝(避免修改原始历史)
407
+ const projected = original.map(msg => ({ ...msg }));
408
+ // 如果已经在预算内,直接返回副本
409
+ let currentTokens = countMessageTokens(projected);
410
+ if (currentTokens <= targetTokens)
411
+ return projected;
412
+ // 从最早的消息开始折叠,保留最近的消息完整
413
+ // 保留最近的 keepRecent 条消息不动
414
+ const keepRecent = Math.min(Math.floor(this.config.maxMessages * 0.5), projected.length);
415
+ const collapseEnd = projected.length - keepRecent;
416
+ if (collapseEnd <= 0) {
417
+ // 没有可折叠的旧消息,回退到破坏性压缩
418
+ this.compactHistorySmart(projected, targetTokens, sessionId);
419
+ return projected;
420
+ }
421
+ // 收集需要折叠的消息,生成摘要
422
+ const collapsedMessages = [];
423
+ for (let i = 0; i < collapseEnd; i++) {
424
+ collapsedMessages.push(projected[i]);
425
+ }
426
+ // 生成折叠摘要
427
+ const summary = this.generateCollapseSummary(collapsedMessages);
428
+ const collapsedTag = {
429
+ role: 'system',
430
+ content: summary,
431
+ };
432
+ // 构建投影:折叠摘要 + 最近的完整消息
433
+ const result = [collapsedTag, ...projected.slice(collapseEnd)];
434
+ // 检查投影后是否在预算内
435
+ currentTokens = countMessageTokens(result);
436
+ if (currentTokens > targetTokens) {
437
+ // 仍超预算:对投影结果应用轻量压缩(非破坏性,仅作用于投影副本)
438
+ this.offloadToolArguments(result);
439
+ if (countMessageTokens(result) > targetTokens) {
440
+ this.offloadBase64Content(result);
441
+ if (countMessageTokens(result) > targetTokens) {
442
+ this.truncateLargeToolResults(result);
443
+ }
444
+ }
445
+ }
446
+ return result;
447
+ }
448
+ /**
449
+ * 为折叠的消息生成摘要标签
450
+ *
451
+ * 将多条消息合并为一个 system 消息,包含:
452
+ * - 消息数量统计
453
+ * - 关键工具调用列表
454
+ * - 用户消息摘要
455
+ */
456
+ generateCollapseSummary(messages) {
457
+ let userCount = 0;
458
+ let assistantCount = 0;
459
+ let toolCount = 0;
460
+ const toolNames = [];
461
+ const userSnippets = [];
462
+ for (const msg of messages) {
463
+ if (msg.role === 'user') {
464
+ userCount++;
465
+ const text = extractTextFromContent(msg.content);
466
+ if (text) {
467
+ const snippet = text.slice(0, 80).replace(/\n/g, ' ').trim();
468
+ if (snippet)
469
+ userSnippets.push(snippet);
470
+ }
471
+ }
472
+ else if (msg.role === 'assistant') {
473
+ assistantCount++;
474
+ }
475
+ else if (msg.role === 'tool') {
476
+ toolCount++;
477
+ }
478
+ if (msg.tool_calls) {
479
+ for (const tc of msg.tool_calls) {
480
+ toolNames.push(tc.function.name);
481
+ }
482
+ }
483
+ }
484
+ const parts = [
485
+ `[Context Collapse: ${messages.length} messages collapsed`,
486
+ `(${userCount} user, ${assistantCount} assistant, ${toolCount} tool)`,
487
+ ];
488
+ if (toolNames.length > 0) {
489
+ const uniqueTools = [...new Set(toolNames)];
490
+ parts.push(`Tools used: ${uniqueTools.join(', ')}`);
491
+ }
492
+ if (userSnippets.length > 0) {
493
+ parts.push(`User topics: ${userSnippets.slice(0, 5).join(' | ')}`);
494
+ }
495
+ parts.push(']');
496
+ return parts.join(' ');
497
+ }
266
498
  }
267
499
  //# sourceMappingURL=history-manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"history-manager.js","sourceRoot":"","sources":["../../../src/agent/history-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"history-manager.js","sourceRoot":"","sources":["../../../src/agent/history-manager.ts"],"names":[],"mappings":"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"}
@@ -47,7 +47,10 @@ export declare class LLMCaller {
47
47
  *
48
48
  * 特殊处理:当 API 返回“输入过长”错误时,自动压缩历史并重试(最多一次)
49
49
  */
50
- callWithRetry(sessionId: string, messages: Message[], toolDefs: ToolDefinition[], abortSignal: AbortSignal): AsyncGenerator<AgentEvent, Message | null>;
50
+ callWithRetry(sessionId: string, messages: Message[], toolDefs: ToolDefinition[], abortSignal: AbortSignal): AsyncGenerator<AgentEvent, {
51
+ assistant: Message | null;
52
+ usage?: TokenUsage;
53
+ }>;
51
54
  /** 是否为“上下文过长”错误 */
52
55
  private isContextTooLongError;
53
56
  /** 单次 LLM 调用(流式),带诊断信息 */
@@ -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,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC5E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,eAAe;AACf,MAAM,WAAW,eAAe;IAC9B,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,4BAA4B;IAC5B,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW,KAAK,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IACxE,0BAA0B;IAC1B,WAAW,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,UAAU,CAAC;IAC/E,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;;;;;OAKG;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,OAAO,GAAG,IAAI,CAAC;IAuE7C,mBAAmB;IACnB,OAAO,CAAC,qBAAqB;IAO7B,0BAA0B;YACX,gBAAgB;IAkH/B,wDAAwD;YACzC,QAAQ;CAkHxB"}
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,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC5E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,eAAe;AACf,MAAM,WAAW,eAAe;IAC9B,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,4BAA4B;IAC5B,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW,KAAK,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IACxE,0BAA0B;IAC1B,WAAW,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,UAAU,CAAC;IAC/E,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;;;;;OAKG;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;IAuEhF,mBAAmB;IACnB,OAAO,CAAC,qBAAqB;IAO7B,0BAA0B;YACX,gBAAgB;IAqH/B,wDAAwD;YACzC,QAAQ;CAqHxB"}
@@ -31,9 +31,9 @@ export class LLMCaller {
31
31
  const maxDelay = policy?.maxDelay ?? 30000;
32
32
  const backoffFactor = policy?.backoffFactor ?? 2;
33
33
  // 尝试主 Provider
34
- const { result: firstResult, contextTooLong } = yield* this.callOnceWithDiag(sessionId, messages, toolDefs, abortSignal, this.config.llmProvider, false);
34
+ const { result: firstResult, contextTooLong, usage: firstUsage } = yield* this.callOnceWithDiag(sessionId, messages, toolDefs, abortSignal, this.config.llmProvider, false);
35
35
  if (firstResult !== null)
36
- return firstResult;
36
+ return { assistant: firstResult, usage: firstUsage };
37
37
  // 上下文过长:压缩后重试(仅一次)
38
38
  if (contextTooLong && this.config.historyManager) {
39
39
  const tokensAfter = this.config.historyManager.compressMessages(messages);
@@ -42,14 +42,14 @@ export class LLMCaller {
42
42
  type: 'thinking',
43
43
  content: `🔄 Context too long, compressed history and retrying...`,
44
44
  });
45
- const { result } = yield* this.callOnceWithDiag(sessionId, messages, toolDefs, abortSignal, this.config.llmProvider, false);
45
+ const { result, usage: retryUsage } = yield* this.callOnceWithDiag(sessionId, messages, toolDefs, abortSignal, this.config.llmProvider, false);
46
46
  if (result !== null)
47
- return result;
47
+ return { assistant: result, usage: retryUsage };
48
48
  }
49
49
  // 重试主 Provider
50
50
  for (let attempt = 1; attempt <= maxRetries; attempt++) {
51
51
  if (abortSignal.aborted)
52
- return null;
52
+ return { assistant: null };
53
53
  const delay = Math.min(initialDelay * Math.pow(backoffFactor, attempt - 1), maxDelay);
54
54
  const providerName = this.config.llmProvider.getModel().provider || 'primary';
55
55
  yield this.config.createEvent(sessionId, {
@@ -62,10 +62,10 @@ export class LLMCaller {
62
62
  });
63
63
  await sleep(delay);
64
64
  if (abortSignal.aborted)
65
- return null;
66
- const { result } = yield* this.callOnceWithDiag(sessionId, messages, toolDefs, abortSignal, this.config.llmProvider, false);
65
+ return { assistant: null };
66
+ const { result, usage: retryUsage } = yield* this.callOnceWithDiag(sessionId, messages, toolDefs, abortSignal, this.config.llmProvider, false);
67
67
  if (result !== null)
68
- return result;
68
+ return { assistant: result, usage: retryUsage };
69
69
  }
70
70
  // 主 Provider 重试耗尽,尝试 fallback
71
71
  if (this.config.fallbackProvider) {
@@ -79,15 +79,15 @@ export class LLMCaller {
79
79
  error: `Switching to fallback provider: ${fallbackName}`,
80
80
  provider: fallbackName,
81
81
  });
82
- const { result } = yield* this.callOnceWithDiag(sessionId, messages, toolDefs, abortSignal, this.config.fallbackProvider, true);
82
+ const { result, usage: fallbackUsage } = yield* this.callOnceWithDiag(sessionId, messages, toolDefs, abortSignal, this.config.fallbackProvider, true);
83
83
  if (result !== null)
84
- return result;
84
+ return { assistant: result, usage: fallbackUsage };
85
85
  }
86
86
  // 所有尝试失败
87
87
  const errorMsg = 'All LLM providers failed after retries';
88
88
  await this.config.runHooks('on_error', { sessionId, iteration: 0, error: errorMsg, recoverable: false });
89
89
  yield this.config.createEvent(sessionId, { type: 'error', error: errorMsg, recoverable: false });
90
- return null;
90
+ return { assistant: null };
91
91
  }
92
92
  /** 是否为“上下文过长”错误 */
93
93
  isContextTooLongError(err) {
@@ -98,6 +98,7 @@ export class LLMCaller {
98
98
  }
99
99
  /** 单次 LLM 调用(流式),带诊断信息 */
100
100
  async *callOnceWithDiag(sessionId, messages, toolDefs, abortSignal, provider, isFallback) {
101
+ let chunkUsage;
101
102
  try {
102
103
  // Hook: before_ll_call(仅主 Provider 首次调用时触发)
103
104
  if (!isFallback) {
@@ -120,7 +121,6 @@ export class LLMCaller {
120
121
  let reasoningParts = [];
121
122
  const toolCallsMap = new Map();
122
123
  let role = 'assistant';
123
- let chunkUsage;
124
124
  let toolStreamingLastEmit = 0;
125
125
  for await (const chunk of stream) {
126
126
  if (abortSignal.aborted)
@@ -134,8 +134,11 @@ export class LLMCaller {
134
134
  yield this.config.createEvent(sessionId, { type: 'thinking', content: delta.reasoning_content });
135
135
  }
136
136
  if (delta.content) {
137
- contentParts.push(delta.content);
138
- yield this.config.createEvent(sessionId, { type: 'message', content: delta.content, delta: true });
137
+ const text = typeof delta.content === 'string' ? delta.content : '';
138
+ if (text) {
139
+ contentParts.push(text);
140
+ yield this.config.createEvent(sessionId, { type: 'message', content: text, delta: true });
141
+ }
139
142
  }
140
143
  if (delta.tool_calls) {
141
144
  for (const tc of delta.tool_calls) {
@@ -185,14 +188,14 @@ export class LLMCaller {
185
188
  ...(fullReasoning ? { reasoning_content: fullReasoning } : {}),
186
189
  };
187
190
  if (!fullContent && toolCalls.length === 0) {
188
- return { result: null, contextTooLong: false };
191
+ return { result: null, contextTooLong: false, usage: chunkUsage };
189
192
  }
190
- return { result: assistant, contextTooLong: false };
193
+ return { result: assistant, contextTooLong: false, usage: chunkUsage };
191
194
  }
192
195
  catch (err) {
193
196
  const contextTooLong = this.isContextTooLongError(err);
194
197
  console.warn(`[LLMCaller] LLM call failed (${isFallback ? 'fallback' : 'primary'})${contextTooLong ? ' [CONTEXT_TOO_LONG]' : ''}:`, err?.message || err);
195
- return { result: null, contextTooLong };
198
+ return { result: null, contextTooLong, usage: chunkUsage };
196
199
  }
197
200
  }
198
201
  /** 单次 LLM 调用(流式),返回 assistant message 或 null(保留向后兼容) */
@@ -233,8 +236,11 @@ export class LLMCaller {
233
236
  yield this.config.createEvent(sessionId, { type: 'thinking', content: delta.reasoning_content });
234
237
  }
235
238
  if (delta.content) {
236
- contentParts.push(delta.content);
237
- yield this.config.createEvent(sessionId, { type: 'message', content: delta.content, delta: true });
239
+ const text = typeof delta.content === 'string' ? delta.content : '';
240
+ if (text) {
241
+ contentParts.push(text);
242
+ yield this.config.createEvent(sessionId, { type: 'message', content: text, delta: true });
243
+ }
238
244
  }
239
245
  if (delta.tool_calls) {
240
246
  for (const tc of delta.tool_calls) {
@@ -1 +1 @@
1
- {"version":3,"file":"llm-caller.js","sourceRoot":"","sources":["../../../src/agent/llm-caller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"llm-caller.js","sourceRoot":"","sources":["../../../src/agent/llm-caller.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ /** 声明式 Agent 定义(从 .agents/*.md 解析) */
2
+ export interface DeclaredAgentProfile {
3
+ /** Agent 名称 */
4
+ name: string;
5
+ /** 描述 */
6
+ description?: string;
7
+ /** Agent 图标(emoji) */
8
+ icon?: string;
9
+ /** Agent 类型 */
10
+ agentType?: 'default' | 'specialist' | 'remote';
11
+ /** 模型名称 */
12
+ model?: string;
13
+ /** 最大迭代次数 */
14
+ maxIterations?: number;
15
+ /** 最大消息数 */
16
+ maxMessages?: number;
17
+ /** 工具超时(毫秒) */
18
+ toolTimeout?: number;
19
+ /** 选定的工具列表 */
20
+ selectedTools?: string[];
21
+ /** 禁用的工具列表 */
22
+ disabledTools?: string[];
23
+ /** 选定的 Skill ID 列表 */
24
+ selectedSkills?: string[];
25
+ /** 始终注入的 Skill ID 列表 */
26
+ alwaysInjectSkills?: string[];
27
+ /** 系统提示词(Markdown body) */
28
+ basePrompt?: string;
29
+ /** 源文件路径 */
30
+ filePath?: string;
31
+ }
32
+ /**
33
+ * 从 Markdown 文件解析声明式 Agent 定义
34
+ *
35
+ * 文件格式:
36
+ * ```
37
+ * ---
38
+ * name: 数据分析师
39
+ * description: 专业的数据分析 Agent
40
+ * icon: 📊
41
+ * model: gpt-4o
42
+ * maxIterations: 20
43
+ * selectedTools: [query_db, web_fetch]
44
+ * selectedSkills: [data-analysis]
45
+ * ---
46
+ * 你是一个专业的数据分析师...
47
+ * ```
48
+ */
49
+ export declare function parseAgentProfile(filePath: string): DeclaredAgentProfile | null;
50
+ /**
51
+ * 从目录加载所有声明式 Agent 定义
52
+ * @param dir .agents/ 目录路径
53
+ * @returns 解析出的 Agent 定义列表
54
+ */
55
+ export declare function loadAgentProfilesFromDir(dir: string): DeclaredAgentProfile[];
56
+ //# sourceMappingURL=profile-loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile-loader.d.ts","sourceRoot":"","sources":["../../../src/agent/profile-loader.ts"],"names":[],"mappings":"AAQA,sCAAsC;AACtC,MAAM,WAAW,oBAAoB;IACnC,eAAe;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS;IACT,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sBAAsB;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,eAAe;IACf,SAAS,CAAC,EAAE,SAAS,GAAG,YAAY,GAAG,QAAQ,CAAC;IAChD,WAAW;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa;IACb,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc;IACd,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,cAAc;IACd,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,sBAAsB;IACtB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,wBAAwB;IACxB,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,2BAA2B;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,oBAAoB,GAAG,IAAI,CAuC/E;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,oBAAoB,EAAE,CAkB5E"}