knight-agent 1.1.5 → 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 +0 -1
  3. package/base/AbstractLLM.d.ts +0 -1
  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 +0 -1
  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 +0 -1
  13. package/module/LLMModule/DeepSeekLLM.d.ts +0 -1
  14. package/module/LLMModule/GeminiLLM.d.ts +0 -1
  15. package/module/LLMModule/LLMModule.d.ts +0 -1
  16. package/module/LLMModule/OpenAILLM.d.ts +0 -1
  17. package/module/LLMModule/QWenLLM.d.ts +0 -1
  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 +0 -1
  29. package/utility/LogUtility.d.ts +0 -1
  30. package/utility/NetworkUtility.d.ts +0 -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 -22
  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 -121
  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 -40
  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 -223
  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 -214
  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 -235
  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 -223
  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 -211
  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 -169
  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
@@ -1368,4 +1368,3 @@ export declare namespace LLMUtility {
1368
1368
  }
1369
1369
  }
1370
1370
  }
1371
- //# 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
@@ -95,4 +95,3 @@ export declare namespace NetworkUtility {
95
95
  FILE_TYPE_NOT_ALLOWED = 1008
96
96
  }
97
97
  }
98
- //# 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;CAOV;AACD,SAAS;;AACT,wBAA6B"}
package/Host.js DELETED
@@ -1,22 +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
- this.agentModule = new module_1.AgentModule();
17
- }
18
- }
19
- exports.Host = Host;
20
- /** 单例 */
21
- exports.default = Host.Instance;
22
- //# 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;QACrC,IAAI,CAAC,WAAW,GAAG,IAAI,oBAAW,EAAE,CAAC;IACzC,CAAC;CACJ;AAxBD,oBAwBC;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;;;;OAIG;aACa,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,CAAC,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC;IAEvG;;;;;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;IASD;;;;;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;AA5GD,sCA4GC"}
@@ -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;;;;;;;OAOG;IACU,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,EAAE,UAAU,CAAC,aAAa,EAAE,OAAO,CAAC,EAAE,UAAU,CAAC,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC;IAyBlL,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,iEAAiE;IACjE,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,EAAE,UAAU,CAAC,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC;IACtI,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,121 +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
- * @param onChunk 流式输出回调
24
- * @return 响应数据
25
- */
26
- async send(prompt, tools, onUsage, onChunk) {
27
- // 指令判空
28
- if (utility_1.StringUtility.empty(prompt)) {
29
- return null;
30
- }
31
- // 添加用户消息
32
- this.addUserMessage(prompt);
33
- // 消息压缩
34
- this.compactMessages();
35
- // 修剪缓存
36
- this.messages.Trim();
37
- // 用量累加器
38
- const usageAcc = { input: 0, output: 0, total: 0 };
39
- // 发起请求
40
- let response = await this.request(tools || [], onChunk);
41
- // 累加用量
42
- this.addUsage(usageAcc, response.usage);
43
- // 添加助手消息
44
- this.addAssistantMessage(response.content, response.toolCalls);
45
- // 处理响应逻辑(工具调用循环内部不触发流式回调,避免干扰最终输出)
46
- response = await this.handleResponse(response, tools, usageAcc);
47
- // 触发用量回调
48
- onUsage?.(usageAcc);
49
- return response;
50
- }
51
- /** 导出快照 — 序列化消息缓存与配置 */
52
- exportSnapshot() {
53
- return {
54
- id: this.id,
55
- config: this.config,
56
- messages: this.messages.Export(),
57
- timeStemp: Date.now(),
58
- };
59
- }
60
- // #endregion
61
- // #region 内部方法
62
- /** 处理响应逻辑 */
63
- async handleResponse(response, tools, usageAcc) {
64
- let finishReason = response.finishReason || "";
65
- let toolCalls = response.toolCalls || [];
66
- const maxToolRounds = 100;
67
- let toolRound = 0;
68
- while (finishReason === "tool_calls" && 0 < toolCalls.length && 0 < tools.length) {
69
- if (++toolRound > maxToolRounds)
70
- break;
71
- const results = await this.executeTools(toolCalls, tools);
72
- if (!results?.length)
73
- break;
74
- for (const result of results) {
75
- this.addToolMessage(result);
76
- }
77
- response = await this.request(tools);
78
- this.addUsage(usageAcc, response.usage);
79
- this.addAssistantMessage(response.content, response.toolCalls);
80
- finishReason = response.finishReason || "";
81
- toolCalls = response.toolCalls || [];
82
- }
83
- return response;
84
- }
85
- /** 累加 token 用量 */
86
- addUsage(acc, usage) {
87
- if (!usage)
88
- return;
89
- acc.input += usage.input ?? 0;
90
- acc.output += usage.output ?? 0;
91
- acc.total += usage.total ?? 0;
92
- }
93
- /** 执行工具调用 */
94
- async executeTools(toolCalls, tools) {
95
- const results = new Array;
96
- for (const toolCall of toolCalls) {
97
- const tool = tools.find(tool => toolCall.name == tool.name);
98
- if (null == tool || null == tool.handler) {
99
- results.push({ id: toolCall.id, name: toolCall.name, data: JSON.stringify({ error: `tool "${toolCall.name}" not available` }) });
100
- continue;
101
- }
102
- try {
103
- const raw = await tool.handler(toolCall.arguments);
104
- const data = typeof raw === "string" ? raw : JSON.stringify(raw);
105
- results.push({ id: toolCall.id, name: toolCall.name, data });
106
- }
107
- catch (e) {
108
- const errMsg = e instanceof Error ? e.message : String(e);
109
- results.push({ id: toolCall.id, name: toolCall.name, data: JSON.stringify({ error: errMsg }) });
110
- }
111
- }
112
- return results;
113
- }
114
- // #endregion
115
- OnDestroy() {
116
- this.messages.Clear();
117
- return super.OnDestroy();
118
- }
119
- }
120
- exports.AbstractLLM = AbstractLLM;
121
- //# 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;;;;;;;;;OASG;IACU,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,CAAC,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC;CAsBvG"}
@@ -1,40 +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
- * @param onChunk 流式输出回调
20
- */
21
- async send(prompt, onChunk) {
22
- if (utility_1.StringUtility.empty(prompt)) {
23
- return null;
24
- }
25
- // ===== 1. 意图匹配 =====
26
- const skill = this.host.skillModule.matchBest(prompt);
27
- // ===== 2. 拼接 prompt =====
28
- const fullPrompt = skill ? this.host.skillModule.buildPrompt(skill, prompt) : prompt;
29
- // ===== 3. 工具装配 =====
30
- const tools = this.host.toolModule.resolve(skill?.toolKeys);
31
- // ===== 4. 调用 LLM =====
32
- let usage = { input: 0, output: 0, total: 0 };
33
- const response = await this.llm.send(fullPrompt, tools, (u) => { usage = u; }, onChunk);
34
- // ===== 5. 记录对话(记录原始 prompt) =====
35
- this.record(prompt, response?.content ?? "", usage);
36
- return response;
37
- }
38
- }
39
- exports.Agent = Agent;
40
- //# 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;;;;;;;;;OASG;IACI,KAAK,CAAC,IAAI,CAAC,MAAc,EAAE,OAAmC;QAEjE,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,EAAE,OAAO,CAAC,CAAC;QAExF,mCAAmC;QACnC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC;QAEpD,OAAO,QAAQ,CAAC;IACpB,CAAC;CACJ;AAvCD,sBAuCC"}
@@ -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,EAAE,OAAO,CAAC,EAAE,UAAU,CAAC,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC;IAS9H,WAAW;YACG,WAAW;IAmCzB,+BAA+B;YACjB,aAAa;IAgG3B,YAAY;IACZ,OAAO,CAAC,SAAS;IAmBV,SAAS,IAAI,OAAO;CAI9B"}