knight-agent 1.1.4 → 1.2.0

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 (130) hide show
  1. package/Host.d.ts +0 -1
  2. package/base/AbstractAgent.d.ts +2 -2
  3. package/base/AbstractLLM.d.ts +4 -4
  4. package/base/AbstractModule.d.ts +0 -1
  5. package/base/AbstractObject.d.ts +0 -1
  6. package/base/index.d.ts +0 -1
  7. package/index.d.ts +0 -1
  8. package/index.js +1 -21
  9. package/module/AgentModule/Agent.d.ts +2 -2
  10. package/module/AgentModule/AgentModule.d.ts +0 -1
  11. package/module/AgentModule/index.d.ts +0 -1
  12. package/module/LLMModule/ClaudeLLM.d.ts +7 -2
  13. package/module/LLMModule/DeepSeekLLM.d.ts +7 -3
  14. package/module/LLMModule/GeminiLLM.d.ts +9 -2
  15. package/module/LLMModule/LLMModule.d.ts +0 -1
  16. package/module/LLMModule/OpenAILLM.d.ts +7 -2
  17. package/module/LLMModule/QWenLLM.d.ts +7 -2
  18. package/module/LLMModule/index.d.ts +0 -1
  19. package/module/SkillModule/SkillModule.d.ts +0 -1
  20. package/module/SkillModule/index.d.ts +0 -1
  21. package/module/ToolModule/ToolModule.d.ts +0 -1
  22. package/module/ToolModule/index.d.ts +0 -1
  23. package/module/index.d.ts +0 -1
  24. package/package.json +1 -1
  25. package/readme.md +978 -0
  26. package/utility/AgentUtility.d.ts +0 -1
  27. package/utility/InterfaceUtility.d.ts +0 -1
  28. package/utility/LLMUtility.d.ts +11 -1
  29. package/utility/LogUtility.d.ts +0 -1
  30. package/utility/NetworkUtility.d.ts +7 -1
  31. package/utility/ObjectUtility.d.ts +0 -1
  32. package/utility/PromiseUtility.d.ts +0 -1
  33. package/utility/StringUtility.d.ts +0 -1
  34. package/utility/TimeUtility.d.ts +0 -1
  35. package/utility/index.d.ts +0 -1
  36. package/Host.d.ts.map +0 -1
  37. package/Host.js +0 -21
  38. package/Host.js.map +0 -1
  39. package/base/AbstractAgent.d.ts.map +0 -1
  40. package/base/AbstractAgent.js +0 -76
  41. package/base/AbstractAgent.js.map +0 -1
  42. package/base/AbstractLLM.d.ts.map +0 -1
  43. package/base/AbstractLLM.js +0 -120
  44. package/base/AbstractLLM.js.map +0 -1
  45. package/base/AbstractModule.d.ts.map +0 -1
  46. package/base/AbstractModule.js +0 -16
  47. package/base/AbstractModule.js.map +0 -1
  48. package/base/AbstractObject.d.ts.map +0 -1
  49. package/base/AbstractObject.js +0 -29
  50. package/base/AbstractObject.js.map +0 -1
  51. package/base/index.d.ts.map +0 -1
  52. package/base/index.js +0 -21
  53. package/base/index.js.map +0 -1
  54. package/index.d.ts.map +0 -1
  55. package/index.js.map +0 -1
  56. package/module/AgentModule/Agent.d.ts.map +0 -1
  57. package/module/AgentModule/Agent.js +0 -39
  58. package/module/AgentModule/Agent.js.map +0 -1
  59. package/module/AgentModule/AgentModule.d.ts.map +0 -1
  60. package/module/AgentModule/AgentModule.js +0 -75
  61. package/module/AgentModule/AgentModule.js.map +0 -1
  62. package/module/AgentModule/index.d.ts.map +0 -1
  63. package/module/AgentModule/index.js +0 -19
  64. package/module/AgentModule/index.js.map +0 -1
  65. package/module/LLMModule/ClaudeLLM.d.ts.map +0 -1
  66. package/module/LLMModule/ClaudeLLM.js +0 -138
  67. package/module/LLMModule/ClaudeLLM.js.map +0 -1
  68. package/module/LLMModule/DeepSeekLLM.d.ts.map +0 -1
  69. package/module/LLMModule/DeepSeekLLM.js +0 -136
  70. package/module/LLMModule/DeepSeekLLM.js.map +0 -1
  71. package/module/LLMModule/GeminiLLM.d.ts.map +0 -1
  72. package/module/LLMModule/GeminiLLM.js +0 -168
  73. package/module/LLMModule/GeminiLLM.js.map +0 -1
  74. package/module/LLMModule/LLMModule.d.ts.map +0 -1
  75. package/module/LLMModule/LLMModule.js +0 -92
  76. package/module/LLMModule/LLMModule.js.map +0 -1
  77. package/module/LLMModule/OpenAILLM.d.ts.map +0 -1
  78. package/module/LLMModule/OpenAILLM.js +0 -145
  79. package/module/LLMModule/OpenAILLM.js.map +0 -1
  80. package/module/LLMModule/QWenLLM.d.ts.map +0 -1
  81. package/module/LLMModule/QWenLLM.js +0 -137
  82. package/module/LLMModule/QWenLLM.js.map +0 -1
  83. package/module/LLMModule/index.d.ts.map +0 -1
  84. package/module/LLMModule/index.js +0 -23
  85. package/module/LLMModule/index.js.map +0 -1
  86. package/module/SkillModule/SkillModule.d.ts.map +0 -1
  87. package/module/SkillModule/SkillModule.js +0 -167
  88. package/module/SkillModule/SkillModule.js.map +0 -1
  89. package/module/SkillModule/index.d.ts.map +0 -1
  90. package/module/SkillModule/index.js +0 -18
  91. package/module/SkillModule/index.js.map +0 -1
  92. package/module/ToolModule/ToolModule.d.ts.map +0 -1
  93. package/module/ToolModule/ToolModule.js +0 -117
  94. package/module/ToolModule/ToolModule.js.map +0 -1
  95. package/module/ToolModule/index.d.ts.map +0 -1
  96. package/module/ToolModule/index.js +0 -18
  97. package/module/ToolModule/index.js.map +0 -1
  98. package/module/index.d.ts.map +0 -1
  99. package/module/index.js +0 -21
  100. package/module/index.js.map +0 -1
  101. package/utility/AgentUtility.d.ts.map +0 -1
  102. package/utility/AgentUtility.js +0 -3
  103. package/utility/AgentUtility.js.map +0 -1
  104. package/utility/InterfaceUtility.d.ts.map +0 -1
  105. package/utility/InterfaceUtility.js +0 -3
  106. package/utility/InterfaceUtility.js.map +0 -1
  107. package/utility/LLMUtility.d.ts.map +0 -1
  108. package/utility/LLMUtility.js +0 -114
  109. package/utility/LLMUtility.js.map +0 -1
  110. package/utility/LogUtility.d.ts.map +0 -1
  111. package/utility/LogUtility.js +0 -70
  112. package/utility/LogUtility.js.map +0 -1
  113. package/utility/NetworkUtility.d.ts.map +0 -1
  114. package/utility/NetworkUtility.js +0 -104
  115. package/utility/NetworkUtility.js.map +0 -1
  116. package/utility/ObjectUtility.d.ts.map +0 -1
  117. package/utility/ObjectUtility.js +0 -313
  118. package/utility/ObjectUtility.js.map +0 -1
  119. package/utility/PromiseUtility.d.ts.map +0 -1
  120. package/utility/PromiseUtility.js +0 -16
  121. package/utility/PromiseUtility.js.map +0 -1
  122. package/utility/StringUtility.d.ts.map +0 -1
  123. package/utility/StringUtility.js +0 -42
  124. package/utility/StringUtility.js.map +0 -1
  125. package/utility/TimeUtility.d.ts.map +0 -1
  126. package/utility/TimeUtility.js +0 -24
  127. package/utility/TimeUtility.js.map +0 -1
  128. package/utility/index.d.ts.map +0 -1
  129. package/utility/index.js +0 -26
  130. package/utility/index.js.map +0 -1
@@ -35,4 +35,3 @@ export declare namespace AgentUtility {
35
35
  exportAt: number;
36
36
  }
37
37
  }
38
- //# sourceMappingURL=AgentUtility.d.ts.map
@@ -11,4 +11,3 @@ export declare namespace InterfaceUtility {
11
11
  (t?: T, k?: K, m?: M, n?: N, q?: Q, u?: U, v?: V, w?: W): any;
12
12
  }
13
13
  }
14
- //# sourceMappingURL=InterfaceUtility.d.ts.map
@@ -144,6 +144,17 @@ export declare namespace LLMUtility {
144
144
  /** 原始响应(调试用) */
145
145
  raw: object;
146
146
  }
147
+ /** 流式输出分块 */
148
+ interface StreamChunk {
149
+ /** 增量文本内容 */
150
+ content: string;
151
+ /** 结束原因(仅最终 chunk 有值) */
152
+ finishReason?: FinishReason;
153
+ /** Token 用量(仅最终 chunk 有值) */
154
+ usage?: Usage;
155
+ }
156
+ /** 流式回调 */
157
+ type StreamCallback = (chunk: StreamChunk) => void;
147
158
  /** 大模型工具调用 */
148
159
  interface ToolCall {
149
160
  /** 调用ID */
@@ -1357,4 +1368,3 @@ export declare namespace LLMUtility {
1357
1368
  }
1358
1369
  }
1359
1370
  }
1360
- //# sourceMappingURL=LLMUtility.d.ts.map
@@ -38,4 +38,3 @@ export declare namespace LogUtility {
38
38
  /** 输出日志 */
39
39
  function Print(type: any, _head: string, _color: string, ..._message: any[]): void;
40
40
  }
41
- //# sourceMappingURL=LogUtility.d.ts.map
@@ -14,6 +14,13 @@ export declare namespace NetworkUtility {
14
14
  * @returns 响应数据
15
15
  */
16
16
  function OnRequest<T = any>(url: string, options?: Request): Promise<Response<T>>;
17
+ /**
18
+ * 流式网络请求 — 使用 fetch + ReadableStream 解析 SSE 事件流
19
+ * @param url 请求地址
20
+ * @param options 请求配置(复用 axios 风格,内部转换到 fetch)
21
+ * @yields 逐条 parsed JSON chunk
22
+ */
23
+ function onStreamRequest(url: string, options?: Request): AsyncGenerator<string>;
17
24
  }
18
25
  /** 协议类型 */
19
26
  enum E_ProtocalType {
@@ -88,4 +95,3 @@ export declare namespace NetworkUtility {
88
95
  FILE_TYPE_NOT_ALLOWED = 1008
89
96
  }
90
97
  }
91
- //# sourceMappingURL=NetworkUtility.d.ts.map
@@ -131,4 +131,3 @@ export declare namespace ObjectUtility {
131
131
  export function OnGetFunctionSignature(fn: Function): FunctionSignature;
132
132
  export {};
133
133
  }
134
- //# sourceMappingURL=ObjectUtility.d.ts.map
@@ -6,4 +6,3 @@ export declare namespace PromiseUtility {
6
6
  */
7
7
  function Wait(interval: number): Promise<void>;
8
8
  }
9
- //# sourceMappingURL=PromiseUtility.d.ts.map
@@ -7,4 +7,3 @@ export declare namespace StringUtility {
7
7
  /** 获取一个唯一标识的字符串 */
8
8
  function GetGUID(): string;
9
9
  }
10
- //# sourceMappingURL=StringUtility.d.ts.map
@@ -7,4 +7,3 @@ export declare namespace TimeUtility {
7
7
  /** 获取当前时间转进制字符串 */
8
8
  function NowHEX(hex?: number): string;
9
9
  }
10
- //# sourceMappingURL=TimeUtility.d.ts.map
@@ -7,4 +7,3 @@ export * from "./LogUtility";
7
7
  export * from "./NetworkUtility";
8
8
  export * from "./LLMUtility";
9
9
  export * from "./AgentUtility";
10
- //# sourceMappingURL=index.d.ts.map
package/Host.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"Host.d.ts","sourceRoot":"","sources":["../src/Host.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE3E,UAAU;AACV,qBAAa,IAAI;IAEb,WAAW;IACX,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAO;IAC9B,WAAkB,QAAQ,SAAuF;IAEjH,cAAc;IACd,SAAgB,SAAS,EAAE,SAAS,CAAC;IACrC,aAAa;IACb,SAAgB,UAAU,EAAE,UAAU,CAAC;IACvC,aAAa;IACb,SAAgB,WAAW,EAAE,WAAW,CAAC;IACzC,cAAc;IACd,SAAgB,WAAW,EAAE,WAAW,CAAC;IAGzC,WAAW;IACX,OAAO;CAMV;AACD,SAAS;;AACT,wBAA6B"}
package/Host.js DELETED
@@ -1,21 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Host = void 0;
4
- const module_1 = require("./module");
5
- /** 实例类 */
6
- class Host {
7
- static get Instance() { if (null == Host.instance) {
8
- Host.instance = new Host();
9
- } return Host.instance; }
10
- ;
11
- /** 构造函数 */
12
- constructor() {
13
- this.llmModule = new module_1.LLMModule();
14
- this.toolModule = new module_1.ToolModule();
15
- this.skillModule = new module_1.SkillModule();
16
- }
17
- }
18
- exports.Host = Host;
19
- /** 单例 */
20
- exports.default = Host.Instance;
21
- //# sourceMappingURL=Host.js.map
package/Host.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"Host.js","sourceRoot":"","sources":["../src/Host.ts"],"names":[],"mappings":";;;AAAA,qCAA2E;AAE3E,UAAU;AACV,MAAa,IAAI;IAIN,MAAM,KAAK,QAAQ,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC;IAAC,CAAC,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAAA,CAAC;IAYlH,WAAW;IACX;QAEI,IAAI,CAAC,SAAS,GAAG,IAAI,kBAAS,EAAE,CAAC;QACjC,IAAI,CAAC,UAAU,GAAG,IAAI,mBAAU,EAAE,CAAC;QACnC,IAAI,CAAC,WAAW,GAAG,IAAI,oBAAW,EAAE,CAAC;IACzC,CAAC;CACJ;AAvBD,oBAuBC;AACD,SAAS;AACT,kBAAe,IAAI,CAAC,QAAQ,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"AbstractAgent.d.ts","sourceRoot":"","sources":["../../src/base/AbstractAgent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEtD,8BAA8B;AAC9B,8BAAsB,aAAc,SAAQ,cAAc;IAEtD,YAAY;IACZ,SAAgB,GAAG,EAAE,WAAW,CAAC;IACjC,YAAY;IACZ,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC,WAAW;IACX,SAAgB,KAAK,EAAE,YAAY,CAAC,WAAW,EAAE,CAAC;IAClD,WAAW;IACX,OAAO,CAAC,OAAO,CAAU;IAEzB,WAAW;gBACQ,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,WAAW;IAW/D,WAAW;IACX,IAAW,MAAM,IAAI,OAAO,CAAyB;IAErD,WAAW;IACX,IAAW,SAAS,IAAI,MAAM,CAA8B;IAE5D,WAAW;IACX,IAAW,UAAU,IAAI,YAAY,CAAC,KAAK,CAU1C;IAMD,aAAa;IACN,KAAK,IAAI,IAAI;IAMpB,WAAW;IACJ,KAAK,IAAI,IAAI;IAMpB;;;OAGG;aACa,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC;IAElE;;;;;OAKG;IACI,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,GAAG,IAAI;IAW7E,0BAA0B;IACnB,cAAc,IAAI,YAAY,CAAC,aAAa;IAe5C,SAAS,IAAI,OAAO;CAQ9B"}
@@ -1,76 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AbstractAgent = void 0;
4
- const AbstractObject_1 = require("./AbstractObject");
5
- /** 抽象智能体基类 — 对话管理 + LLM 编排 */
6
- class AbstractAgent extends AbstractObject_1.AbstractObject {
7
- /** 构造函数 */
8
- constructor(config, llm) {
9
- super();
10
- this.llm = llm ?? this.host.llmModule.add(config);
11
- this.createdAt = Date.now();
12
- this.turns = [];
13
- this._active = true;
14
- }
15
- // #region 查询
16
- /** 是否活跃 */
17
- get active() { return this._active; }
18
- /** 对话轮数 */
19
- get turnCount() { return this.turns.length; }
20
- /** 累计用量 */
21
- get totalUsage() {
22
- const usage = { input: 0, output: 0, total: 0 };
23
- for (const turn of this.turns) {
24
- usage.input += turn.usage.input ?? 0;
25
- usage.output += turn.usage.output ?? 0;
26
- usage.total += turn.usage.total ?? 0;
27
- }
28
- return usage;
29
- }
30
- // #endregion
31
- // #region 会话操作
32
- /** 清空对话记录 */
33
- clear() {
34
- this.turns.length = 0;
35
- return this;
36
- }
37
- /** 关闭会话 */
38
- close() {
39
- this._active = false;
40
- return this;
41
- }
42
- /**
43
- * 记录一轮对话
44
- * @param input 用户输入
45
- * @param output 智能体输出
46
- * @param usage 本轮 token 用量
47
- */
48
- record(input, output, usage) {
49
- if (!this._active) {
50
- return this;
51
- }
52
- this.turns.push({ input, output, usage, timestamp: Date.now() });
53
- return this;
54
- }
55
- // #endregion
56
- // #region 快照
57
- /** 导出快照 — 包含对话记录与大模型快照 */
58
- exportSnapshot() {
59
- return {
60
- id: this.id,
61
- llmSnapshot: this.llm.exportSnapshot(),
62
- turns: this.turns.slice(),
63
- createdAt: this.createdAt,
64
- exportAt: Date.now(),
65
- };
66
- }
67
- // #endregion
68
- // #region 生命周期
69
- OnDestroy() {
70
- this._active = false;
71
- this.host.llmModule.remove(this.llm?.id);
72
- return super.OnDestroy();
73
- }
74
- }
75
- exports.AbstractAgent = AbstractAgent;
76
- //# sourceMappingURL=AbstractAgent.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AbstractAgent.js","sourceRoot":"","sources":["../../src/base/AbstractAgent.ts"],"names":[],"mappings":";;;AAAA,qDAAkD;AAIlD,8BAA8B;AAC9B,MAAsB,aAAc,SAAQ,+BAAc;IAWtD,WAAW;IACX,YAAmB,MAAyB,EAAE,GAAiB;QAE3D,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAClD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACxB,CAAC;IAED,aAAa;IAEb,WAAW;IACX,IAAW,MAAM,KAAc,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAErD,WAAW;IACX,IAAW,SAAS,KAAa,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAE5D,WAAW;IACX,IAAW,UAAU;QAEjB,MAAM,KAAK,GAAuB,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QACpE,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAC7B,CAAC;YACG,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;YACrC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;YACvC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,aAAa;IAEb,eAAe;IAEf,aAAa;IACN,KAAK;QAER,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QACtB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,WAAW;IACJ,KAAK;QAER,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,OAAO,IAAI,CAAC;IAChB,CAAC;IAQD;;;;;OAKG;IACI,MAAM,CAAC,KAAa,EAAE,MAAc,EAAE,KAAyB;QAElE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAAC,OAAO,IAAI,CAAC;QAAC,CAAC;QACnC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,aAAa;IAEb,aAAa;IAEb,0BAA0B;IACnB,cAAc;QAEjB,OAAO;YACH,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE;YACtC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE;SACvB,CAAC;IACN,CAAC;IAED,aAAa;IAEb,eAAe;IAER,SAAS;QAEZ,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACzC,OAAO,KAAK,CAAC,SAAS,EAAE,CAAC;IAC7B,CAAC;CAGJ;AA3GD,sCA2GC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"AbstractLLM.d.ts","sourceRoot":"","sources":["../../src/base/AbstractLLM.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAiB,MAAM,YAAY,CAAC;AAEvD,cAAc;AACd,8BAAsB,WAAW,CAAC,CAAC,SAAS,UAAU,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,SAAS,UAAU,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,CAAE,SAAQ,cAAc;IAEhK,YAAY;IACZ,SAAgB,MAAM,EAAE,CAAC,CAAC;IAC1B,WAAW;IACX,SAAgB,QAAQ,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAEhD,WAAW;gBACQ,MAAM,EAAE,CAAC;IAS5B;;;;;;OAMG;IACU,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,EAAE,UAAU,CAAC,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC;IAyB7I,wBAAwB;IACjB,cAAc,IAAI,UAAU,CAAC,QAAQ;IAa5C,gBAAgB;IAChB,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IACvD,gBAAgB;IAChB,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IACrD,gBAAgB;IAChB,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,IAAI;IACrG,kBAAkB;IAClB,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,EAAE,UAAU,CAAC,UAAU,GAAG,IAAI;IACtE,qDAAqD;IACrD,SAAS,CAAC,QAAQ,CAAC,eAAe,IAAI,IAAI;IAC1C,kDAAkD;IAClD,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC;IACjG,WAAW;IACX,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,YAAY;IAMtE,aAAa;YACC,cAAc;IAqB5B,kBAAkB;IAClB,OAAO,CAAC,QAAQ;IAQhB,aAAa;YACC,YAAY;IA4BnB,SAAS,IAAI,OAAO;CAK9B"}
@@ -1,120 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AbstractLLM = void 0;
4
- const AbstractObject_1 = require("./AbstractObject");
5
- const utility_1 = require("../utility");
6
- /** 抽象大模型基类 */
7
- class AbstractLLM extends AbstractObject_1.AbstractObject {
8
- /** 构造函数 */
9
- constructor(config) {
10
- super();
11
- this.config = config;
12
- this.messages = new utility_1.LLMUtility.Message(this.config.maxMessageCache);
13
- if (null != config.systemPrompt) {
14
- this.addSystemMessage(config.systemPrompt);
15
- }
16
- }
17
- // #region 公开接口
18
- /**
19
- * 发送消息
20
- * @param prompt 用户提示词(已由 Agent 嵌入技能描述)
21
- * @param tools 工具列表
22
- * @param onUsage 用量回调
23
- * @return 响应数据
24
- */
25
- async send(prompt, tools, onUsage) {
26
- // 指令判空
27
- if (utility_1.StringUtility.empty(prompt)) {
28
- return null;
29
- }
30
- // 添加用户消息
31
- this.addUserMessage(prompt);
32
- // 消息压缩
33
- this.compactMessages();
34
- // 修剪缓存
35
- this.messages.Trim();
36
- // 用量累加器
37
- const usageAcc = { input: 0, output: 0, total: 0 };
38
- // 发起请求
39
- let response = await this.request(tools || []);
40
- // 累加用量
41
- this.addUsage(usageAcc, response.usage);
42
- // 添加助手消息
43
- this.addAssistantMessage(response.content, response.toolCalls);
44
- // 处理响应逻辑
45
- response = await this.handleResponse(response, tools, usageAcc);
46
- // 触发用量回调
47
- onUsage?.(usageAcc);
48
- return response;
49
- }
50
- /** 导出快照 — 序列化消息缓存与配置 */
51
- exportSnapshot() {
52
- return {
53
- id: this.id,
54
- config: this.config,
55
- messages: this.messages.Export(),
56
- timeStemp: Date.now(),
57
- };
58
- }
59
- // #endregion
60
- // #region 内部方法
61
- /** 处理响应逻辑 */
62
- async handleResponse(response, tools, usageAcc) {
63
- let finishReason = response.finishReason || "";
64
- let toolCalls = response.toolCalls || [];
65
- const maxToolRounds = 100;
66
- let toolRound = 0;
67
- while (finishReason === "tool_calls" && 0 < toolCalls.length && 0 < tools.length) {
68
- if (++toolRound > maxToolRounds)
69
- break;
70
- const results = await this.executeTools(toolCalls, tools);
71
- if (!results?.length)
72
- break;
73
- for (const result of results) {
74
- this.addToolMessage(result);
75
- }
76
- response = await this.request(tools);
77
- this.addUsage(usageAcc, response.usage);
78
- this.addAssistantMessage(response.content, response.toolCalls);
79
- finishReason = response.finishReason || "";
80
- toolCalls = response.toolCalls || [];
81
- }
82
- return response;
83
- }
84
- /** 累加 token 用量 */
85
- addUsage(acc, usage) {
86
- if (!usage)
87
- return;
88
- acc.input += usage.input ?? 0;
89
- acc.output += usage.output ?? 0;
90
- acc.total += usage.total ?? 0;
91
- }
92
- /** 执行工具调用 */
93
- async executeTools(toolCalls, tools) {
94
- const results = new Array;
95
- for (const toolCall of toolCalls) {
96
- const tool = tools.find(tool => toolCall.name == tool.name);
97
- if (null == tool || null == tool.handler) {
98
- results.push({ id: toolCall.id, name: toolCall.name, data: JSON.stringify({ error: `tool "${toolCall.name}" not available` }) });
99
- continue;
100
- }
101
- try {
102
- const raw = await tool.handler(toolCall.arguments);
103
- const data = typeof raw === "string" ? raw : JSON.stringify(raw);
104
- results.push({ id: toolCall.id, name: toolCall.name, data });
105
- }
106
- catch (e) {
107
- const errMsg = e instanceof Error ? e.message : String(e);
108
- results.push({ id: toolCall.id, name: toolCall.name, data: JSON.stringify({ error: errMsg }) });
109
- }
110
- }
111
- return results;
112
- }
113
- // #endregion
114
- OnDestroy() {
115
- this.messages.Clear();
116
- return super.OnDestroy();
117
- }
118
- }
119
- exports.AbstractLLM = AbstractLLM;
120
- //# sourceMappingURL=AbstractLLM.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AbstractLLM.js","sourceRoot":"","sources":["../../src/base/AbstractLLM.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"AbstractModule.d.ts","sourceRoot":"","sources":["../../src/base/AbstractModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,aAAa;AACb,8BAAsB,cAAe,SAAQ,cAAc;IAEvD,WAAW;;IAMJ,SAAS,IAAI,OAAO;CAI9B"}
@@ -1,16 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AbstractModule = void 0;
4
- const AbstractObject_1 = require("./AbstractObject");
5
- /** 抽象模块基类 */
6
- class AbstractModule extends AbstractObject_1.AbstractObject {
7
- /** 构造函数 */
8
- constructor() {
9
- super();
10
- }
11
- OnDestroy() {
12
- return super.OnDestroy();
13
- }
14
- }
15
- exports.AbstractModule = AbstractModule;
16
- //# sourceMappingURL=AbstractModule.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AbstractModule.js","sourceRoot":"","sources":["../../src/base/AbstractModule.ts"],"names":[],"mappings":";;;AAAA,qDAAkD;AAElD,aAAa;AACb,MAAsB,cAAe,SAAQ,+BAAc;IAEvD,WAAW;IACX;QAEI,KAAK,EAAE,CAAC;IACZ,CAAC;IAEM,SAAS;QAEZ,OAAO,KAAK,CAAC,SAAS,EAAE,CAAC;IAC7B,CAAC;CACJ;AAZD,wCAYC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"AbstractObject.d.ts","sourceRoot":"","sources":["../../src/base/AbstractObject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAiB,MAAM,YAAY,CAAC;AAE1D,aAAa;AACb,8BAAsB,cAAc;IAEhC,WAAW;IACX,gBAAuB,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,cAAc,CAAC,CAA+C;IAEpH,WAAW;IACJ,EAAE,EAAE,MAAM,CAAC;IAClB,WAAW;IACX,SAAgB,SAAS,EAAE,MAAM,CAAC;IAElC,eAAe;IACf,IAAW,IAAI,IAAI,IAAI,CAA0B;IAEjD,WAAW;;IAOX,WAAW;IACJ,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAK9B,SAAS;IACF,SAAS,IAAI,OAAO;CAI9B"}
@@ -1,29 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AbstractObject = void 0;
4
- const Host_1 = require("../Host");
5
- const utility_1 = require("../utility");
6
- /** 抽象对象基类 */
7
- class AbstractObject {
8
- /** 智能体管理器实例 */
9
- get host() { return Host_1.Host.Instance; }
10
- ;
11
- /** 构造函数 */
12
- constructor() {
13
- this.id = utility_1.StringUtility.GetGUID();
14
- this.className = this.constructor.name;
15
- AbstractObject.objects.Add(this.id, this);
16
- }
17
- /** 设置ID */
18
- setId(id) {
19
- this.id = id;
20
- }
21
- /** 销毁 */
22
- OnDestroy() {
23
- return AbstractObject.objects.Remove(this.id);
24
- }
25
- }
26
- exports.AbstractObject = AbstractObject;
27
- /** 对象管理 */
28
- AbstractObject.objects = new utility_1.ObjectUtility.MapPool();
29
- //# sourceMappingURL=AbstractObject.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AbstractObject.js","sourceRoot":"","sources":["../../src/base/AbstractObject.ts"],"names":[],"mappings":";;;AAAA,kCAA+B;AAC/B,wCAA0D;AAE1D,aAAa;AACb,MAAsB,cAAc;IAUhC,eAAe;IACf,IAAW,IAAI,KAAW,OAAO,WAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAAA,CAAC;IAElD,WAAW;IACX;QAEI,IAAI,CAAC,EAAE,GAAG,uBAAa,CAAC,OAAO,EAAE,CAAC;QAClC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QACvC,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC;IACD,WAAW;IACJ,KAAK,CAAC,EAAU;QAEnB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACjB,CAAC;IAED,SAAS;IACF,SAAS;QAEZ,OAAO,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClD,CAAC;;AA9BL,wCA+BC;AA7BG,WAAW;AACY,sBAAO,GAA0C,IAAI,uBAAa,CAAC,OAAO,EAAkB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/base/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC"}
package/base/index.js DELETED
@@ -1,21 +0,0 @@
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
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./AbstractObject"), exports);
18
- __exportStar(require("./AbstractModule"), exports);
19
- __exportStar(require("./AbstractLLM"), exports);
20
- __exportStar(require("./AbstractAgent"), exports);
21
- //# sourceMappingURL=index.js.map
package/base/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/base/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC;AACjC,mDAAiC;AACjC,gDAA8B;AAC9B,kDAAgC"}
package/index.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC"}
package/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,yCAAuB;AACvB,2CAAyB;AACzB,4CAA0B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Agent.d.ts","sourceRoot":"","sources":["../../../src/module/AgentModule/Agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAgB,UAAU,EAAiB,MAAM,eAAe,CAAC;AAExE,wCAAwC;AACxC,qBAAa,KAAM,SAAQ,aAAa;gBAEjB,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,WAAW;IAK/D;;;;;;;;OAQG;IACU,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC;CAsBlE"}
@@ -1,39 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Agent = void 0;
4
- const base_1 = require("../../base");
5
- const utility_1 = require("../../utility");
6
- /** 默认智能体 — 意图匹配 → 工具装配 → LLM 调用 → 记录 */
7
- class Agent extends base_1.AbstractAgent {
8
- constructor(config, llm) {
9
- super(config, llm);
10
- }
11
- /**
12
- * 发送消息 — 完整编排
13
- * 1. 匹配技能(intent_match) → SkillData
14
- * 2. 解析工具 key → ToolDefinition[]
15
- * 3. 将技能描述嵌入 prompt → 调用 LLM
16
- * 4. 记录对话
17
- * 5. 无匹配技能时直接对话(无工具)
18
- * @param prompt 用户输入
19
- */
20
- async send(prompt) {
21
- if (utility_1.StringUtility.empty(prompt)) {
22
- return null;
23
- }
24
- // ===== 1. 意图匹配 =====
25
- const skill = this.host.skillModule.matchBest(prompt);
26
- // ===== 2. 拼接 prompt =====
27
- const fullPrompt = skill ? this.host.skillModule.buildPrompt(skill, prompt) : prompt;
28
- // ===== 3. 工具装配 =====
29
- const tools = this.host.toolModule.resolve(skill?.toolKeys);
30
- // ===== 4. 调用 LLM =====
31
- let usage = { input: 0, output: 0, total: 0 };
32
- const response = await this.llm.send(fullPrompt, tools, (u) => { usage = u; });
33
- // ===== 5. 记录对话(记录原始 prompt) =====
34
- this.record(prompt, response?.content ?? "", usage);
35
- return response;
36
- }
37
- }
38
- exports.Agent = Agent;
39
- //# sourceMappingURL=Agent.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Agent.js","sourceRoot":"","sources":["../../../src/module/AgentModule/Agent.ts"],"names":[],"mappings":";;;AAAA,qCAAwD;AACxD,2CAAwE;AAExE,wCAAwC;AACxC,MAAa,KAAM,SAAQ,oBAAa;IAEpC,YAAmB,MAAyB,EAAE,GAAiB;QAE3D,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACvB,CAAC;IAED;;;;;;;;OAQG;IACI,KAAK,CAAC,IAAI,CAAC,MAAc;QAE5B,IAAI,uBAAa,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YAAC,OAAO,IAAI,CAAC;QAAC,CAAC;QAEjD,sBAAsB;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAEtD,2BAA2B;QAC3B,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAErF,sBAAsB;QACtB,MAAM,KAAK,GAAgC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAEzF,wBAAwB;QACxB,IAAI,KAAK,GAAuB,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QAClE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE/E,mCAAmC;QACnC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC;QAEpD,OAAO,QAAQ,CAAC;IACpB,CAAC;CACJ;AAtCD,sBAsCC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"AgentModule.d.ts","sourceRoot":"","sources":["../../../src/module/AgentModule/AgentModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,UAAU,EAAiB,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,kCAAkC;AAClC,qBAAa,WAAY,SAAQ,cAAc;IAE3C,WAAW;IACX,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuC;;IAQ9D;;;OAGG;IACI,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,GAAG,KAAK;IAO/C;;;OAGG;IACI,OAAO,CAAC,IAAI,EAAE,YAAY,CAAC,aAAa,GAAG,aAAa;IAU/D,cAAc;IACP,GAAG,CAAC,CAAC,SAAS,aAAa,GAAG,aAAa,EAAE,EAAE,EAAE,MAAM,GAAG,CAAC;IAKlE,cAAc;IACP,IAAI,IAAI,aAAa,EAAE;IAK9B,YAAY;IACZ,IAAW,KAAK,IAAI,MAAM,CAGzB;IAED;;;OAGG;IACI,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IASlC,gBAAgB;IACT,SAAS,IAAI,IAAI;IAOjB,SAAS,IAAI,OAAO;CAK9B"}
@@ -1,75 +0,0 @@
1
- "use strict";
2
- 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
- constructor() {
10
- super();
11
- this.agents = new utility_1.ObjectUtility.MapPool();
12
- }
13
- /**
14
- * 创建智能体实例(内部创建 LLM)
15
- * @param config 大模型配置
16
- */
17
- create(config) {
18
- const agent = new Agent_1.Agent(config);
19
- this.agents.Set(agent.id, agent);
20
- return agent;
21
- }
22
- /**
23
- * 从快照恢复智能体 — 恢复 LLM 消息缓存 + 对话记录
24
- * @param data 智能体快照
25
- */
26
- restore(data) {
27
- const llm = this.host.llmModule.restore(data.llmSnapshot);
28
- const agent = new Agent_1.Agent(data.llmSnapshot.config, llm);
29
- agent.setId(data.id);
30
- this.agents.Set(agent.id, agent);
31
- for (const turn of data.turns) {
32
- agent.record(turn.input, turn.output, turn.usage);
33
- }
34
- return agent;
35
- }
36
- /** 获取智能体实例 */
37
- get(id) {
38
- return this.agents.Get(id);
39
- }
40
- /** 列出全部智能体 */
41
- list() {
42
- return this.agents.ValuesToArray();
43
- }
44
- /** 智能体总数 */
45
- get count() {
46
- return this.agents.Count;
47
- }
48
- /**
49
- * 移除智能体实例(内部销毁 LLM)
50
- * @param id 智能体ID
51
- */
52
- remove(id) {
53
- const agent = this.agents.Get(id);
54
- if (!agent) {
55
- return false;
56
- }
57
- agent.OnDestroy();
58
- this.agents.Remove(id);
59
- return true;
60
- }
61
- /** 移除全部智能体实例 */
62
- removeAll() {
63
- const agents = this.agents.ValuesToArray();
64
- for (const agent of agents) {
65
- agent.OnDestroy();
66
- }
67
- this.agents.RemoveAll();
68
- }
69
- OnDestroy() {
70
- this.removeAll();
71
- return super.OnDestroy();
72
- }
73
- }
74
- exports.AgentModule = AgentModule;
75
- //# sourceMappingURL=AgentModule.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AgentModule.js","sourceRoot":"","sources":["../../../src/module/AgentModule/AgentModule.ts"],"names":[],"mappings":";;;AACA,qCAA4C;AAC5C,2CAAwE;AACxE,mCAAgC;AAEhC,kCAAkC;AAClC,MAAa,WAAY,SAAQ,qBAAc;IAK3C;QAEI,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,IAAI,uBAAa,CAAC,OAAO,EAAiB,CAAC;IAC7D,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,MAAyB;QAEnC,MAAM,KAAK,GAAG,IAAI,aAAK,CAAC,MAAM,CAAC,CAAC;QAChC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACjC,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;OAGG;IACI,OAAO,CAAC,IAAgC;QAE3C,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1D,MAAM,KAAK,GAAG,IAAI,aAAK,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACtD,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACjC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAAC,CAAC;QACrF,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,cAAc;IACP,GAAG,CAA0C,EAAU;QAE1D,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAI,EAAE,CAAC,CAAC;IAClC,CAAC;IAED,cAAc;IACP,IAAI;QAEP,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;IACvC,CAAC;IAED,YAAY;IACZ,IAAW,KAAK;QAEZ,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,EAAU;QAEpB,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,SAAS,EAAE,CAAC;QAClB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACvB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,gBAAgB;IACT,SAAS;QAEZ,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;QAC3C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAAC,KAAK,CAAC,SAAS,EAAE,CAAC;QAAC,CAAC;QAClD,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;IAC5B,CAAC;IAEM,SAAS;QAEZ,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,OAAO,KAAK,CAAC,SAAS,EAAE,CAAC;IAC7B,CAAC;CACJ;AAhFD,kCAgFC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/module/AgentModule/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC"}
@@ -1,19 +0,0 @@
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
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./Agent"), exports);
18
- __exportStar(require("./AgentModule"), exports);
19
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/module/AgentModule/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,gDAA8B"}
@@ -1 +0,0 @@
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"}