knight-agent 1.1.0 → 1.1.2

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 (173) hide show
  1. package/Host.d.ts +3 -11
  2. package/Host.d.ts.map +1 -1
  3. package/Host.js +4 -5
  4. package/Host.js.map +1 -1
  5. package/base/AbstractAgent.d.ts +1 -99
  6. package/base/AbstractAgent.d.ts.map +1 -1
  7. package/base/AbstractAgent.js +94 -20
  8. package/base/AbstractAgent.js.map +1 -1
  9. package/base/AbstractLLM.d.ts +43 -0
  10. package/base/AbstractLLM.d.ts.map +1 -0
  11. package/base/AbstractLLM.js +121 -0
  12. package/base/AbstractLLM.js.map +1 -0
  13. package/base/AbstractModule.d.ts +1 -0
  14. package/base/AbstractModule.d.ts.map +1 -1
  15. package/base/AbstractModule.js +3 -0
  16. package/base/AbstractModule.js.map +1 -1
  17. package/base/AbstractObject.d.ts +6 -4
  18. package/base/AbstractObject.d.ts.map +1 -1
  19. package/base/AbstractObject.js +6 -2
  20. package/base/AbstractObject.js.map +1 -1
  21. package/base/index.d.ts +1 -4
  22. package/base/index.d.ts.map +1 -1
  23. package/base/index.js +1 -4
  24. package/base/index.js.map +1 -1
  25. package/index.d.ts +2 -1
  26. package/index.d.ts.map +1 -1
  27. package/index.js +2 -6
  28. package/index.js.map +1 -1
  29. package/module/AgentModule/Agent.d.ts +1 -54
  30. package/module/AgentModule/Agent.d.ts.map +1 -1
  31. package/module/AgentModule/Agent.js +22 -207
  32. package/module/AgentModule/Agent.js.map +1 -1
  33. package/module/AgentModule/AgentModule.d.ts +1 -25
  34. package/module/AgentModule/AgentModule.d.ts.map +1 -1
  35. package/module/AgentModule/AgentModule.js +78 -63
  36. package/module/AgentModule/AgentModule.js.map +1 -1
  37. package/module/AgentModule/index.d.ts +1 -1
  38. package/module/AgentModule/index.d.ts.map +1 -1
  39. package/module/AgentModule/index.js +2 -15
  40. package/module/AgentModule/index.js.map +1 -1
  41. package/module/LLMModule/ClaudeLLM.d.ts +23 -0
  42. package/module/LLMModule/ClaudeLLM.d.ts.map +1 -0
  43. package/module/LLMModule/ClaudeLLM.js +138 -0
  44. package/module/LLMModule/ClaudeLLM.js.map +1 -0
  45. package/module/LLMModule/DeepSeekLLM.d.ts +24 -0
  46. package/module/LLMModule/DeepSeekLLM.d.ts.map +1 -0
  47. package/module/LLMModule/DeepSeekLLM.js +136 -0
  48. package/module/LLMModule/DeepSeekLLM.js.map +1 -0
  49. package/module/LLMModule/GeminiLLM.d.ts +23 -0
  50. package/module/LLMModule/GeminiLLM.d.ts.map +1 -0
  51. package/module/LLMModule/GeminiLLM.js +168 -0
  52. package/module/LLMModule/GeminiLLM.js.map +1 -0
  53. package/module/LLMModule/LLMModule.d.ts +33 -0
  54. package/module/LLMModule/LLMModule.d.ts.map +1 -0
  55. package/module/LLMModule/LLMModule.js +92 -0
  56. package/module/LLMModule/LLMModule.js.map +1 -0
  57. package/module/LLMModule/OpenAILLM.d.ts +23 -0
  58. package/module/LLMModule/OpenAILLM.d.ts.map +1 -0
  59. package/module/LLMModule/OpenAILLM.js +145 -0
  60. package/module/LLMModule/OpenAILLM.js.map +1 -0
  61. package/module/LLMModule/QWenLLM.d.ts +23 -0
  62. package/module/LLMModule/QWenLLM.d.ts.map +1 -0
  63. package/module/LLMModule/QWenLLM.js +137 -0
  64. package/module/LLMModule/QWenLLM.js.map +1 -0
  65. package/module/LLMModule/index.d.ts +7 -0
  66. package/module/LLMModule/index.d.ts.map +1 -0
  67. package/module/{SkillModule → LLMModule}/index.js +6 -1
  68. package/module/LLMModule/index.js.map +1 -0
  69. package/module/index.d.ts +1 -4
  70. package/module/index.d.ts.map +1 -1
  71. package/module/index.js +1 -4
  72. package/module/index.js.map +1 -1
  73. package/package.json +1 -1
  74. package/utility/AgentUtility.d.ts +38 -0
  75. package/utility/AgentUtility.d.ts.map +1 -0
  76. package/{base/AbstractTool.js → utility/AgentUtility.js} +1 -1
  77. package/utility/AgentUtility.js.map +1 -0
  78. package/utility/LLMUtility.d.ts +1328 -0
  79. package/utility/LLMUtility.d.ts.map +1 -0
  80. package/utility/LLMUtility.js +114 -0
  81. package/utility/LLMUtility.js.map +1 -0
  82. package/utility/index.d.ts +2 -1
  83. package/utility/index.d.ts.map +1 -1
  84. package/utility/index.js +2 -1
  85. package/utility/index.js.map +1 -1
  86. package/base/AbstractDialog.d.ts +0 -54
  87. package/base/AbstractDialog.d.ts.map +0 -1
  88. package/base/AbstractDialog.js +0 -86
  89. package/base/AbstractDialog.js.map +0 -1
  90. package/base/AbstractReason.d.ts +0 -44
  91. package/base/AbstractReason.d.ts.map +0 -1
  92. package/base/AbstractReason.js +0 -23
  93. package/base/AbstractReason.js.map +0 -1
  94. package/base/AbstractSkill.d.ts +0 -25
  95. package/base/AbstractSkill.d.ts.map +0 -1
  96. package/base/AbstractSkill.js +0 -3
  97. package/base/AbstractSkill.js.map +0 -1
  98. package/base/AbstractTool.d.ts +0 -34
  99. package/base/AbstractTool.d.ts.map +0 -1
  100. package/base/AbstractTool.js.map +0 -1
  101. package/docs/ARCHITECTURE.md +0 -601
  102. package/docs/README.md +0 -562
  103. package/module/AgentModule/Memory.d.ts +0 -55
  104. package/module/AgentModule/Memory.d.ts.map +0 -1
  105. package/module/AgentModule/Memory.js +0 -288
  106. package/module/AgentModule/Memory.js.map +0 -1
  107. package/module/DialogModule/Dialog.d.ts +0 -14
  108. package/module/DialogModule/Dialog.d.ts.map +0 -1
  109. package/module/DialogModule/Dialog.js +0 -27
  110. package/module/DialogModule/Dialog.js.map +0 -1
  111. package/module/DialogModule/DialogModule.d.ts +0 -39
  112. package/module/DialogModule/DialogModule.d.ts.map +0 -1
  113. package/module/DialogModule/DialogModule.js +0 -118
  114. package/module/DialogModule/DialogModule.js.map +0 -1
  115. package/module/DialogModule/index.d.ts +0 -3
  116. package/module/DialogModule/index.d.ts.map +0 -1
  117. package/module/DialogModule/index.js +0 -19
  118. package/module/DialogModule/index.js.map +0 -1
  119. package/module/ReasonModule/ChainReason.d.ts +0 -11
  120. package/module/ReasonModule/ChainReason.d.ts.map +0 -1
  121. package/module/ReasonModule/ChainReason.js +0 -34
  122. package/module/ReasonModule/ChainReason.js.map +0 -1
  123. package/module/ReasonModule/CommanderReason.d.ts +0 -15
  124. package/module/ReasonModule/CommanderReason.d.ts.map +0 -1
  125. package/module/ReasonModule/CommanderReason.js +0 -151
  126. package/module/ReasonModule/CommanderReason.js.map +0 -1
  127. package/module/ReasonModule/CompetitiveReason.d.ts +0 -13
  128. package/module/ReasonModule/CompetitiveReason.d.ts.map +0 -1
  129. package/module/ReasonModule/CompetitiveReason.js +0 -133
  130. package/module/ReasonModule/CompetitiveReason.js.map +0 -1
  131. package/module/ReasonModule/PlanReason.d.ts +0 -25
  132. package/module/ReasonModule/PlanReason.d.ts.map +0 -1
  133. package/module/ReasonModule/PlanReason.js +0 -133
  134. package/module/ReasonModule/PlanReason.js.map +0 -1
  135. package/module/ReasonModule/ReasonModule.d.ts +0 -41
  136. package/module/ReasonModule/ReasonModule.d.ts.map +0 -1
  137. package/module/ReasonModule/ReasonModule.js +0 -83
  138. package/module/ReasonModule/ReasonModule.js.map +0 -1
  139. package/module/ReasonModule/ReflectReason.d.ts +0 -15
  140. package/module/ReasonModule/ReflectReason.d.ts.map +0 -1
  141. package/module/ReasonModule/ReflectReason.js +0 -86
  142. package/module/ReasonModule/ReflectReason.js.map +0 -1
  143. package/module/ReasonModule/TreeReason.d.ts +0 -16
  144. package/module/ReasonModule/TreeReason.d.ts.map +0 -1
  145. package/module/ReasonModule/TreeReason.js +0 -139
  146. package/module/ReasonModule/TreeReason.js.map +0 -1
  147. package/module/ReasonModule/index.d.ts +0 -8
  148. package/module/ReasonModule/index.d.ts.map +0 -1
  149. package/module/ReasonModule/index.js +0 -24
  150. package/module/ReasonModule/index.js.map +0 -1
  151. package/module/SkillModule/SkillModule.d.ts +0 -42
  152. package/module/SkillModule/SkillModule.d.ts.map +0 -1
  153. package/module/SkillModule/SkillModule.js +0 -134
  154. package/module/SkillModule/SkillModule.js.map +0 -1
  155. package/module/SkillModule/index.d.ts +0 -2
  156. package/module/SkillModule/index.d.ts.map +0 -1
  157. package/module/SkillModule/index.js.map +0 -1
  158. package/module/ToolModule/ToolModule.d.ts +0 -57
  159. package/module/ToolModule/ToolModule.d.ts.map +0 -1
  160. package/module/ToolModule/ToolModule.js +0 -220
  161. package/module/ToolModule/ToolModule.js.map +0 -1
  162. package/module/ToolModule/ToolRAG.d.ts +0 -38
  163. package/module/ToolModule/ToolRAG.d.ts.map +0 -1
  164. package/module/ToolModule/ToolRAG.js +0 -124
  165. package/module/ToolModule/ToolRAG.js.map +0 -1
  166. package/module/ToolModule/index.d.ts +0 -3
  167. package/module/ToolModule/index.d.ts.map +0 -1
  168. package/module/ToolModule/index.js +0 -19
  169. package/module/ToolModule/index.js.map +0 -1
  170. package/utility/OpenAIUtility.d.ts +0 -333
  171. package/utility/OpenAIUtility.d.ts.map +0 -1
  172. package/utility/OpenAIUtility.js +0 -95
  173. package/utility/OpenAIUtility.js.map +0 -1
@@ -1,55 +1,2 @@
1
- import { AbstractAgent, AgentConfig, AgentRunOptions, AgentSnapshot, AgentRunResult, AgentState } from "../../base";
2
- import { NetworkUtility, OpenAIUtility } from "../../utility";
3
- import { Memory } from "./Memory";
4
- /** 智能体类 */
5
- export declare class Agent extends AbstractAgent {
6
- /** 智能体配置 */
7
- readonly config: AgentConfig;
8
- /** 记忆管理器(消息缓存 + 草稿区 + 上下文优化) */
9
- readonly memory: Memory;
10
- /** 运行状态 */
11
- private _state;
12
- /** 对话轮次 */
13
- private _turnCount;
14
- /** 当前 run() 的执行选项 */
15
- private _runOptions?;
16
- /** 构造函数 */
17
- constructor(config: AgentConfig);
18
- /** 当前状态 */
19
- get state(): AgentState;
20
- /** 对话轮次 */
21
- get turnCount(): number;
22
- /** 思考模式是否开启 */
23
- get thinkingEnabled(): boolean;
24
- /** @internal 发送用户消息(缓存→发送→缓存回复) */
25
- sendUserMessage(content: string): Promise<NetworkUtility.HTTP.Response<OpenAIUtility.OpenAI.ChatResponse>>;
26
- /** @internal 发送当前消息缓存 */
27
- sendRequest(): Promise<NetworkUtility.HTTP.Response<OpenAIUtility.OpenAI.ChatResponse>>;
28
- /** 发送消息缓存中的消息到LLM */
29
- protected OnSendRequest(overrides?: Partial<OpenAIUtility.OpenAI.ChatRequest>): Promise<NetworkUtility.HTTP.Response<OpenAIUtility.OpenAI.ChatResponse>>;
30
- /** 发送用户消息(自动缓存用户消息和助手回复) */
31
- protected OnSend(content: string): Promise<NetworkUtility.HTTP.Response<OpenAIUtility.OpenAI.ChatResponse>>;
32
- /** 模型基础请求(HTTP POST) */
33
- OnBaseRequest(apiKey: string, chatRequest: OpenAIUtility.OpenAI.ChatRequest): Promise<NetworkUtility.HTTP.Response<OpenAIUtility.OpenAI.ChatResponse>>;
34
- /** @internal 执行工具调用(含缓存+重试) */
35
- executeTool(toolCall: OpenAIUtility.OpenAI.ToolResponse): Promise<string>;
36
- /** @internal 添加工具结果到消息缓存和记忆 */
37
- addToolResult(result: string, toolCallId: string): void;
38
- /** @internal 添加助手消息到缓存(含 tool_calls) */
39
- addAssistantMessage(content: string, toolCalls?: Array<OpenAIUtility.OpenAI.ToolResponse>): void;
40
- /** @internal 设置运行状态 */
41
- setState(state: AgentState): void;
42
- /**
43
- * 运行 Agent 主循环
44
- * 1. 发送用户消息
45
- * 2. 检查响应
46
- * 3. 如果模型要求工具调用 → 执行工具 → 继续发送
47
- * 4. 返回最终结果
48
- */
49
- run(input: string, options?: AgentRunOptions): Promise<AgentRunResult>;
50
- /** 导出当前状态为可序列化快照 */
51
- snapshot(): AgentSnapshot;
52
- /** 从快照恢复状态(需先构造 Agent 再调用此方法) */
53
- restore(snapshot: AgentSnapshot): void;
54
- }
1
+ export {};
55
2
  //# sourceMappingURL=Agent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Agent.d.ts","sourceRoot":"","sources":["../../../src/module/AgentModule/Agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACpH,OAAO,EAAE,cAAc,EAAE,aAAa,EAAiB,MAAM,eAAe,CAAC;AAC7E,OAAO,EAAE,MAAM,EAAkB,MAAM,UAAU,CAAC;AAElD,WAAW;AACX,qBAAa,KAAM,SAAQ,aAAa;IAEpC,YAAY;IACZ,SAAgB,MAAM,EAAE,WAAW,CAAC;IACpC,gCAAgC;IAChC,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,WAAW;IACX,OAAO,CAAC,MAAM,CAA+B;IAC7C,WAAW;IACX,OAAO,CAAC,UAAU,CAAa;IAC/B,qBAAqB;IACrB,OAAO,CAAC,WAAW,CAAC,CAAkB;IAEtC,WAAW;gBACQ,MAAM,EAAE,WAAW;IAMtC,WAAW;IACX,IAAW,KAAK,IAAI,UAAU,CAAwB;IACtD,WAAW;IACX,IAAW,SAAS,IAAI,MAAM,CAA4B;IAC1D,eAAe;IACf,IAAW,eAAe,IAAI,OAAO,CAA+C;IAIpF,mCAAmC;IACtB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAIvH,yBAAyB;IACZ,WAAW,IAAI,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAIpG,qBAAqB;cACL,aAAa,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAuC9J,4BAA4B;cACZ,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAYjH,wBAAwB;IACX,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,CAAC,MAAM,CAAC,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAiBnK,+BAA+B;IAClB,WAAW,CAAC,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IAKtF,+BAA+B;IACxB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAM9D,wCAAwC;IACjC,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,IAAI;IAKvG,uBAAuB;IAChB,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IASxC;;;;;;OAMG;IACU,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;IA0EnF,oBAAoB;IACb,QAAQ,IAAI,aAAa;IAuBhC,iCAAiC;IAC1B,OAAO,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI;CAUhD"}
1
+ {"version":3,"file":"Agent.d.ts","sourceRoot":"","sources":["../../../src/module/AgentModule/Agent.ts"],"names":[],"mappings":""}
@@ -1,210 +1,25 @@
1
1
  "use strict";
2
+ // import { AbstractAgent, AbstractLLM } from "../../base";
3
+ // import { AgentUtility, LLMUtility } from "../../utility";
2
4
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Agent = void 0;
4
- const base_1 = require("../../base");
5
- const utility_1 = require("../../utility");
6
- const Memory_1 = require("./Memory");
7
- /** 智能体类 */
8
- class Agent extends base_1.AbstractAgent {
9
- /** 构造函数 */
10
- constructor(config) {
11
- super();
12
- /** 运行状态 */
13
- this._state = base_1.AgentState.Idle;
14
- /** 对话轮次 */
15
- this._turnCount = 0;
16
- this.config = config;
17
- this.memory = new Memory_1.Memory(this, config.maxTokens);
18
- }
19
- /** 当前状态 */
20
- get state() { return this._state; }
21
- /** 对话轮次 */
22
- get turnCount() { return this._turnCount; }
23
- /** 思考模式是否开启 */
24
- get thinkingEnabled() { return this.config.enableThinking ?? true; }
25
- // #region 大模型消息请求及响应
26
- /** @internal 发送用户消息(缓存→发送→缓存回复) */
27
- async sendUserMessage(content) {
28
- return this.OnSend(content);
29
- }
30
- /** @internal 发送当前消息缓存 */
31
- async sendRequest() {
32
- return this.OnSendRequest();
33
- }
34
- /** 发送消息缓存中的消息到LLM */
35
- async OnSendRequest(overrides) {
36
- // 上下文窗口优化: 按压力级别分级压缩
37
- const pressure = this.memory.checkPressure();
38
- if (pressure > Memory_1.MemoryPressure.None) {
39
- await this.memory.optimize(pressure);
40
- }
41
- const msgs = this.memory.messages.GetAll();
42
- if (0 >= msgs.length) {
43
- return null;
44
- }
45
- this._state = base_1.AgentState.Thinking;
46
- const chatRequest = {
47
- model: this.config.model,
48
- messages: msgs,
49
- thinking: { type: this.thinkingEnabled ? 'enabled' : 'disabled' },
50
- reasoning_effort: this.config.reasoningEffort,
51
- stream: false,
52
- temperature: this.config.temperature,
53
- max_tokens: this.config.maxTokens,
54
- tools: this.host.toolModule.ToAPITools(this._runOptions?.toolNames, true),
55
- tool_choice: overrides?.tool_choice ?? (this.host.toolModule.count > 0 ? "auto" : undefined),
56
- ...overrides,
57
- };
58
- const response = await this.OnBaseRequest(this.config.apiKey, chatRequest);
59
- this._state = base_1.AgentState.Running;
60
- // 检查 API 错误响应
61
- if (response?.data?.error) {
62
- const err = response.data.error;
63
- console.error(`[LLM Error] ${err.code ?? ""} ${err.type ?? ""}: ${err.message ?? JSON.stringify(err)}`);
64
- }
65
- return response;
66
- }
67
- /** 发送用户消息(自动缓存用户消息和助手回复) */
68
- async OnSend(content) {
69
- this.memory.messages.AddUser(content);
70
- this._turnCount++;
71
- const response = await this.OnSendRequest();
72
- if (response?.data?.choices?.[0]?.message) {
73
- const msg = response.data.choices[0].message;
74
- this.memory.messages.AddAssistant(msg.content ?? "", msg.name, msg.thinking, msg.tool_calls);
75
- }
76
- return response;
77
- }
78
- /** 模型基础请求(HTTP POST) */
79
- async OnBaseRequest(apiKey, chatRequest) {
80
- if (utility_1.StringUtility.empty(apiKey) || !chatRequest?.model || !chatRequest?.messages?.length) {
81
- return null;
82
- }
83
- const options = {
84
- method: utility_1.NetworkUtility.E_ProtocalType.Post,
85
- headers: { 'Content-Type': 'application/json', 'Authorization': `Bearer ${apiKey}` },
86
- data: chatRequest,
87
- timeout: 60000,
88
- validateStatus: () => true,
89
- };
90
- return await utility_1.NetworkUtility.HTTP.OnRequest(this.config.address, options);
91
- }
92
- // #endregion
93
- // #region 智能体上下文
94
- /** @internal 执行工具调用(含缓存+重试) */
95
- async executeTool(toolCall) {
96
- const ctx = this._runOptions?.toolContext ?? { agentId: this.id, turnCount: this._turnCount };
97
- return this.host.toolModule.Execute(toolCall, ctx);
98
- }
99
- /** @internal 添加工具结果到消息缓存和记忆 */
100
- addToolResult(result, toolCallId) {
101
- this.memory.messages.AddTool(result, toolCallId);
102
- this.memory.toolResults.set(toolCallId, result);
103
- }
104
- /** @internal 添加助手消息到缓存(含 tool_calls) */
105
- addAssistantMessage(content, toolCalls) {
106
- this.memory.messages.AddAssistant(content, undefined, undefined, toolCalls);
107
- }
108
- /** @internal 设置运行状态 */
109
- setState(state) {
110
- this._state = state;
111
- }
112
- // #endregion
113
- // #region 智能体上下文
114
- /**
115
- * 运行 Agent 主循环
116
- * 1. 发送用户消息
117
- * 2. 检查响应
118
- * 3. 如果模型要求工具调用 → 执行工具 → 继续发送
119
- * 4. 返回最终结果
120
- */
121
- async run(input, options) {
122
- this._runOptions = options;
123
- // 1. 发送用户消息
124
- let response = await this.sendUserMessage(input);
125
- if (!response?.data) {
126
- this.setState(base_1.AgentState.Error);
127
- return { success: false, content: "" };
128
- }
129
- let choice = response.data.choices?.[0];
130
- if (!choice) {
131
- this.setState(base_1.AgentState.Done);
132
- return { success: true, content: "", usage: response.data.usage };
133
- }
134
- // 2. 工具调用循环
135
- while (choice.finish_reason === "tool_calls" && choice.message.tool_calls) {
136
- this.setState(base_1.AgentState.WaitingTool);
137
- for (const tc of choice.message.tool_calls) {
138
- const result = await this.executeTool(tc);
139
- this.addToolResult(result, tc.id);
140
- }
141
- try {
142
- response = await this.sendRequest();
143
- }
144
- catch (e) {
145
- this.setState(base_1.AgentState.Error);
146
- return {
147
- success: false,
148
- content: `工具结果提交失败: ${e}`,
149
- finishReason: "error",
150
- };
151
- }
152
- if (!response?.data) {
153
- break;
154
- }
155
- choice = response.data.choices?.[0];
156
- if (!choice) {
157
- break;
158
- }
159
- // 将助手响应(含 tool_calls)缓存到消息历史,否则下一轮 tool 消息
160
- // 会缺少对应的 assistant tool_calls 前缀,API 会返回 400 错误
161
- if (choice.message) {
162
- this.addAssistantMessage(choice.message.content ?? "", choice.message.tool_calls);
163
- }
164
- }
165
- // 3. 返回结果
166
- this.setState(base_1.AgentState.Idle);
167
- return {
168
- success: true,
169
- content: choice?.message?.content ?? "",
170
- thinking: choice?.message?.thinking,
171
- toolCalls: choice?.message?.tool_calls,
172
- usage: response?.data?.usage,
173
- finishReason: choice?.finish_reason,
174
- };
175
- }
176
- // #endregion
177
- // #region 持久化
178
- /** 导出当前状态为可序列化快照 */
179
- snapshot() {
180
- const msgs = this.memory.messages.GetAll();
181
- return {
182
- version: 1,
183
- createdAt: Date.now(),
184
- agentId: this.id,
185
- turnCount: this._turnCount,
186
- messages: msgs,
187
- scratchpad: this.memory.scratchpad,
188
- toolResults: [...this.memory.toolResults.entries()],
189
- config: {
190
- model: this.config.model,
191
- systemPrompt: this.config.systemPrompt,
192
- temperature: this.config.temperature,
193
- maxTokens: this.config.maxTokens,
194
- enableThinking: this.config.enableThinking,
195
- reasoningEffort: this.config.reasoningEffort,
196
- maxTurns: this.config.maxTurns,
197
- },
198
- };
199
- }
200
- /** 从快照恢复状态(需先构造 Agent 再调用此方法) */
201
- restore(snapshot) {
202
- this._turnCount = snapshot.turnCount;
203
- this.memory.scratchpad = snapshot.scratchpad;
204
- this.memory.toolResults = new Map(snapshot.toolResults);
205
- this.memory.messages.Clear();
206
- this.memory.messages.AddRange(snapshot.messages);
207
- }
208
- }
209
- exports.Agent = Agent;
5
+ // /** 默认智能体 — 使用单一大模型直接回答问题 */
6
+ // export class Agent extends AbstractAgent
7
+ // {
8
+ // public constructor(config: LLMUtility.Config, llm?: AbstractLLM)
9
+ // {
10
+ // super(config, llm);
11
+ // }
12
+ // /**
13
+ // * 发送消息 — 调用 LLM,记录对话
14
+ // * @param prompt 用户输入
15
+ // */
16
+ // public async send(prompt: string): Promise<LLMUtility.Response>
17
+ // {
18
+ // let usage: AgentUtility.Usage = { input: 0, output: 0, total: 0 };
19
+ // const tools: LLMUtility.ToolDefinition[] = []; // 后续从 ToolModule 获取
20
+ // const response = await this.llm.send({ prompt, skill: "", tools, onUsage: (u) => { usage = u; } });
21
+ // this.record(prompt, response.content, usage);
22
+ // return response;
23
+ // }
24
+ // }
210
25
  //# sourceMappingURL=Agent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Agent.js","sourceRoot":"","sources":["../../../src/module/AgentModule/Agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Agent.js","sourceRoot":"","sources":["../../../src/module/AgentModule/Agent.ts"],"names":[],"mappings":";AAAA,2DAA2D;AAC3D,4DAA4D;;AAE5D,+BAA+B;AAC/B,2CAA2C;AAC3C,IAAI;AACJ,uEAAuE;AACvE,QAAQ;AACR,8BAA8B;AAC9B,QAAQ;AAER,UAAU;AACV,4BAA4B;AAC5B,4BAA4B;AAC5B,UAAU;AACV,sEAAsE;AACtE,QAAQ;AACR,6EAA6E;AAC7E,8EAA8E;AAE9E,8GAA8G;AAE9G,wDAAwD;AACxD,2BAA2B;AAC3B,QAAQ;AACR,IAAI"}
@@ -1,26 +1,2 @@
1
- import { AbstractModule, AgentConfig } from "../../base";
2
- import { Agent } from "./Agent";
3
- /** 智能体管理模块 — 负责 Agent 的创建、销毁、查询 */
4
- export declare class AgentModule extends AbstractModule {
5
- /** 智能体池 */
6
- private readonly agents;
7
- /** 构造函数 */
8
- constructor();
9
- /** 智能体数量 */
10
- get agentCount(): number;
11
- /**
12
- * 创建 Agent 并注入系统提示词
13
- * @param config 智能体配置
14
- * @returns 就绪的 Agent 实例
15
- */
16
- createAgent(config: AgentConfig): Agent | null;
17
- /** 销毁指定 Agent */
18
- destroyAgent(id: string): boolean;
19
- /** 销毁所有 Agent */
20
- destroyAll(): number;
21
- /** 根据 ID 获取 Agent */
22
- getAgent(id: string): Agent | undefined;
23
- /** 获取全部 Agent */
24
- getAllAgents(): Array<Agent>;
25
- }
1
+ export {};
26
2
  //# sourceMappingURL=AgentModule.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AgentModule.d.ts","sourceRoot":"","sources":["../../../src/module/AgentModule/AgentModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,mCAAmC;AACnC,qBAAa,WAAY,SAAQ,cAAc;IAE3C,WAAW;IACX,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA+B;IAEtD,WAAW;;IAMX,YAAY;IACZ,IAAW,UAAU,IAAI,MAAM,CAA8B;IAI7D;;;;OAIG;IACI,WAAW,CAAC,MAAM,EAAE,WAAW,GAAG,KAAK,GAAG,IAAI;IAgBrD,iBAAiB;IACV,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAUxC,iBAAiB;IACV,UAAU,IAAI,MAAM;IAW3B,qBAAqB;IACd,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS;IAK9C,iBAAiB;IACV,YAAY,IAAI,KAAK,CAAC,KAAK,CAAC;CAItC"}
1
+ {"version":3,"file":"AgentModule.d.ts","sourceRoot":"","sources":["../../../src/module/AgentModule/AgentModule.ts"],"names":[],"mappings":""}
@@ -1,66 +1,81 @@
1
1
  "use strict";
2
+ // import { AbstractAgent } from "../../base";
3
+ // import { AbstractModule } from "../../base";
4
+ // import { AgentUtility, LLMUtility, ObjectUtility } from "../../utility";
5
+ // import { Agent } from "./Agent";
2
6
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AgentModule = void 0;
4
- const base_1 = require("../../base");
5
- const utility_1 = require("../../utility");
6
- const Agent_1 = require("./Agent");
7
- /** 智能体管理模块 负责 Agent 的创建、销毁、查询 */
8
- class AgentModule extends base_1.AbstractModule {
9
- /** 构造函数 */
10
- constructor() {
11
- super();
12
- this.agents = new utility_1.ObjectUtility.MapPool();
13
- }
14
- /** 智能体数量 */
15
- get agentCount() { return this.agents.Count; }
16
- // ======================== 生命周期 ========================
17
- /**
18
- * 创建 Agent 并注入系统提示词
19
- * @param config 智能体配置
20
- * @returns 就绪的 Agent 实例
21
- */
22
- createAgent(config) {
23
- const agent = new Agent_1.Agent(config);
24
- if (config.systemPrompt) {
25
- agent.memory.messages.AddSystem(config.systemPrompt);
26
- }
27
- if (!this.agents.Add(agent.id, agent)) {
28
- utility_1.LogUtility.LogError(`[AgentModule] Agent ID 重复: ${agent.id}`);
29
- return null;
30
- }
31
- utility_1.LogUtility.LogInfo(`[AgentModule] 创建 Agent "${agent.key}" (${agent.id})`);
32
- return agent;
33
- }
34
- /** 销毁指定 Agent */
35
- destroyAgent(id) {
36
- const agent = this.agents.Get(id);
37
- if (!agent) {
38
- return false;
39
- }
40
- agent.memory.clear();
41
- this.agents.Remove(id);
42
- utility_1.LogUtility.LogInfo(`[AgentModule] 销毁 Agent (${id})`);
43
- return true;
44
- }
45
- /** 销毁所有 Agent */
46
- destroyAll() {
47
- const all = this.agents.ValuesToArray();
48
- for (const agent of all) {
49
- agent.memory.clear();
50
- }
51
- this.agents.RemoveAll();
52
- utility_1.LogUtility.LogInfo(`[AgentModule] 已销毁全部 Agent (${all.length}个)`);
53
- return all.length;
54
- }
55
- // ======================== 查询 ========================
56
- /** 根据 ID 获取 Agent */
57
- getAgent(id) {
58
- return this.agents.Get(id);
59
- }
60
- /** 获取全部 Agent */
61
- getAllAgents() {
62
- return this.agents.ValuesToArray();
63
- }
64
- }
65
- exports.AgentModule = AgentModule;
7
+ // /** 智能体管理模块 */
8
+ // export class AgentModule extends AbstractModule
9
+ // {
10
+ // /** 智能体池 */
11
+ // private readonly agents: ObjectUtility.MapPool<AbstractAgent>;
12
+ // /** 构造函数 */
13
+ // public constructor()
14
+ // {
15
+ // super();
16
+ // this.agents = new ObjectUtility.MapPool<AbstractAgent>();
17
+ // }
18
+ // /**
19
+ // * 创建智能体实例
20
+ // * @param config 大模型配置
21
+ // */
22
+ // public create(config: LLMUtility.Config): Agent
23
+ // {
24
+ // const agent = new Agent(config);
25
+ // this.agents.Set(agent.id, agent);
26
+ // return agent;
27
+ // }
28
+ // /**
29
+ // * 从快照恢复智能体 — 重建 LLM、恢复消息缓存与对话记录
30
+ // * @param data 智能体快照
31
+ // */
32
+ // public restore(data: AgentUtility.AgentSnapshot): AbstractAgent
33
+ // {
34
+ // const llm = this.host.llmModule.restore(data.llmSnapshot);
35
+ // const agent = new Agent(data.llmSnapshot.config, llm);
36
+ // this.agents.Set(agent.id, agent);
37
+ // Object.assign(agent, { id: data.id });
38
+ // for (const turn of data.turns) { agent.record(turn.input, turn.output, turn.usage); }
39
+ // return agent;
40
+ // }
41
+ // /** 获取智能体实例 */
42
+ // public get<T extends AbstractAgent = AbstractAgent>(id: string): T
43
+ // {
44
+ // return this.agents.Get<T>(id);
45
+ // }
46
+ // /** 列出全部智能体 */
47
+ // public list(): AbstractAgent[]
48
+ // {
49
+ // return this.agents.ValuesToArray();
50
+ // }
51
+ // /** 智能体总数 */
52
+ // public get count(): number
53
+ // {
54
+ // return this.agents.Count;
55
+ // }
56
+ // /**
57
+ // * 移除智能体实例
58
+ // * @param id 智能体ID
59
+ // */
60
+ // public remove(id: string): boolean
61
+ // {
62
+ // const agent = this.agents.Get(id);
63
+ // if (!agent) { return false; }
64
+ // agent.OnDestroy();
65
+ // this.agents.Remove(id);
66
+ // return true;
67
+ // }
68
+ // /** 移除全部智能体实例 */
69
+ // public removeAll(): void
70
+ // {
71
+ // const agents = this.agents.ValuesToArray();
72
+ // for (const agent of agents) { agent.OnDestroy(); }
73
+ // this.agents.RemoveAll();
74
+ // }
75
+ // public OnDestroy(): boolean
76
+ // {
77
+ // this.removeAll();
78
+ // return super.OnDestroy();
79
+ // }
80
+ // }
66
81
  //# sourceMappingURL=AgentModule.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AgentModule.js","sourceRoot":"","sources":["../../../src/module/AgentModule/AgentModule.ts"],"names":[],"mappings":";;;AAAA,qCAAyD;AACzD,2CAA0D;AAC1D,mCAAgC;AAEhC,mCAAmC;AACnC,MAAa,WAAY,SAAQ,qBAAc;IAK3C,WAAW;IACX;QAEI,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,IAAI,uBAAa,CAAC,OAAO,EAAS,CAAC;IACrD,CAAC;IACD,YAAY;IACZ,IAAW,UAAU,KAAa,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAE7D,yDAAyD;IAEzD;;;;OAIG;IACI,WAAW,CAAC,MAAmB;QAElC,MAAM,KAAK,GAAG,IAAI,aAAK,CAAC,MAAM,CAAC,CAAC;QAChC,IAAI,MAAM,CAAC,YAAY,EACvB,CAAC;YACG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACzD,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,EACrC,CAAC;YACG,oBAAU,CAAC,QAAQ,CAAC,8BAA8B,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;YAC9D,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,oBAAU,CAAC,OAAO,CAAC,2BAA2B,KAAK,CAAC,GAAG,MAAM,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC;QAC1E,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,iBAAiB;IACV,YAAY,CAAC,EAAU;QAE1B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK,EAAE,CAAC;YAAC,OAAO,KAAK,CAAC;QAAC,CAAC;QAC7B,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACrB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACvB,oBAAU,CAAC,OAAO,CAAC,2BAA2B,EAAE,GAAG,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,iBAAiB;IACV,UAAU;QAEb,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;QACxC,KAAK,MAAM,KAAK,IAAI,GAAG,EAAE,CAAC;YAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAAC,CAAC;QAClD,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QACxB,oBAAU,CAAC,OAAO,CAAC,8BAA8B,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;QACjE,OAAO,GAAG,CAAC,MAAM,CAAC;IACtB,CAAC;IAED,uDAAuD;IAEvD,qBAAqB;IACd,QAAQ,CAAC,EAAU;QAEtB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC/B,CAAC;IAED,iBAAiB;IACV,YAAY;QAEf,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;IACvC,CAAC;CACJ;AAvED,kCAuEC"}
1
+ {"version":3,"file":"AgentModule.js","sourceRoot":"","sources":["../../../src/module/AgentModule/AgentModule.ts"],"names":[],"mappings":";AAAA,8CAA8C;AAC9C,+CAA+C;AAC/C,2EAA2E;AAC3E,mCAAmC;;AAEnC,iBAAiB;AACjB,kDAAkD;AAClD,IAAI;AACJ,kBAAkB;AAClB,qEAAqE;AAErE,kBAAkB;AAClB,2BAA2B;AAC3B,QAAQ;AACR,mBAAmB;AACnB,oEAAoE;AACpE,QAAQ;AAER,UAAU;AACV,iBAAiB;AACjB,6BAA6B;AAC7B,UAAU;AACV,sDAAsD;AACtD,QAAQ;AACR,2CAA2C;AAC3C,4CAA4C;AAC5C,wBAAwB;AACxB,QAAQ;AAER,UAAU;AACV,uCAAuC;AACvC,2BAA2B;AAC3B,UAAU;AACV,sEAAsE;AACtE,QAAQ;AACR,qEAAqE;AACrE,iEAAiE;AACjE,4CAA4C;AAC5C,iDAAiD;AACjD,gGAAgG;AAChG,wBAAwB;AACxB,QAAQ;AAER,qBAAqB;AACrB,yEAAyE;AACzE,QAAQ;AACR,yCAAyC;AACzC,QAAQ;AAER,qBAAqB;AACrB,qCAAqC;AACrC,QAAQ;AACR,8CAA8C;AAC9C,QAAQ;AAER,mBAAmB;AACnB,iCAAiC;AACjC,QAAQ;AACR,oCAAoC;AACpC,QAAQ;AAER,UAAU;AACV,iBAAiB;AACjB,yBAAyB;AACzB,UAAU;AACV,yCAAyC;AACzC,QAAQ;AACR,6CAA6C;AAC7C,wCAAwC;AACxC,6BAA6B;AAC7B,kCAAkC;AAClC,uBAAuB;AACvB,QAAQ;AAER,uBAAuB;AACvB,+BAA+B;AAC/B,QAAQ;AACR,sDAAsD;AACtD,6DAA6D;AAC7D,mCAAmC;AACnC,QAAQ;AAER,kCAAkC;AAClC,QAAQ;AACR,4BAA4B;AAC5B,oCAAoC;AACpC,QAAQ;AACR,IAAI"}
@@ -1,2 +1,2 @@
1
- export * from "./AgentModule";
1
+ export {};
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/module/AgentModule/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/module/AgentModule/index.ts"],"names":[],"mappings":""}
@@ -1,18 +1,5 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
2
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./AgentModule"), exports);
3
+ // export * from "./Agent";
4
+ // export * from "./AgentModule";
18
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/module/AgentModule/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/module/AgentModule/index.ts"],"names":[],"mappings":";;AAAA,2BAA2B;AAC3B,iCAAiC"}
@@ -0,0 +1,23 @@
1
+ import { AbstractLLM } from "../../base";
2
+ import { LLMUtility } from "../../utility";
3
+ /** Claude大模型 */
4
+ export declare class ClaudeLLM extends AbstractLLM<LLMUtility.Claude.Config, LLMUtility.Claude.MessageData> {
5
+ /** 构造函数 */
6
+ constructor(config?: LLMUtility.Claude.Config);
7
+ /** @override — Claude 的系统消息是顶层字段,不进入缓存 */
8
+ protected addSystemMessage(text: string): void;
9
+ /** @override */
10
+ protected addUserMessage(text: string): void;
11
+ /** @override */
12
+ protected addAssistantMessage(content: string, toolCalls?: Array<LLMUtility.ToolCall>): void;
13
+ /** @override */
14
+ protected addToolMessage(result: LLMUtility.ToolResult): void;
15
+ /** @override — 截断过长的 tool_result 内容 */
16
+ protected compactMessages(): void;
17
+ /** @override — 停止原因 */
18
+ protected stopReason(reason: string): LLMUtility.FinishReason;
19
+ /** @override */
20
+ protected request(tools: LLMUtility.ToolDefinition[]): Promise<LLMUtility.Response>;
21
+ OnDestroy(): boolean;
22
+ }
23
+ //# sourceMappingURL=ClaudeLLM.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClaudeLLM.d.ts","sourceRoot":"","sources":["../../../src/module/LLMModule/ClaudeLLM.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAkB,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3D,gBAAgB;AAChB,qBAAa,SAAU,SAAQ,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC;IAG/F,WAAW;gBACQ,MAAM,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM;IA0BpD,0CAA0C;IAC1C,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAE9C,gBAAgB;IAChB,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAM5C,gBAAgB;IAChB,SAAS,CAAC,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,IAAI;IAkB5F,gBAAgB;IAChB,SAAS,CAAC,cAAc,CAAC,MAAM,EAAE,UAAU,CAAC,UAAU,GAAG,IAAI;IAM7D,uCAAuC;IACvC,SAAS,CAAC,eAAe,IAAI,IAAI;IAsBjC,uBAAuB;IACvB,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,YAAY;IAU7D,gBAAgB;cACA,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC,cAAc,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC;IAqDlF,SAAS,IAAI,OAAO;CAI9B"}