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.
- package/Host.d.ts +3 -11
- package/Host.d.ts.map +1 -1
- package/Host.js +4 -5
- package/Host.js.map +1 -1
- package/base/AbstractAgent.d.ts +1 -99
- package/base/AbstractAgent.d.ts.map +1 -1
- package/base/AbstractAgent.js +94 -20
- package/base/AbstractAgent.js.map +1 -1
- package/base/AbstractLLM.d.ts +43 -0
- package/base/AbstractLLM.d.ts.map +1 -0
- package/base/AbstractLLM.js +121 -0
- package/base/AbstractLLM.js.map +1 -0
- package/base/AbstractModule.d.ts +1 -0
- package/base/AbstractModule.d.ts.map +1 -1
- package/base/AbstractModule.js +3 -0
- package/base/AbstractModule.js.map +1 -1
- package/base/AbstractObject.d.ts +6 -4
- package/base/AbstractObject.d.ts.map +1 -1
- package/base/AbstractObject.js +6 -2
- package/base/AbstractObject.js.map +1 -1
- package/base/index.d.ts +1 -4
- package/base/index.d.ts.map +1 -1
- package/base/index.js +1 -4
- package/base/index.js.map +1 -1
- package/index.d.ts +2 -1
- package/index.d.ts.map +1 -1
- package/index.js +2 -6
- package/index.js.map +1 -1
- package/module/AgentModule/Agent.d.ts +1 -54
- package/module/AgentModule/Agent.d.ts.map +1 -1
- package/module/AgentModule/Agent.js +22 -207
- package/module/AgentModule/Agent.js.map +1 -1
- package/module/AgentModule/AgentModule.d.ts +1 -25
- package/module/AgentModule/AgentModule.d.ts.map +1 -1
- package/module/AgentModule/AgentModule.js +78 -63
- package/module/AgentModule/AgentModule.js.map +1 -1
- package/module/AgentModule/index.d.ts +1 -1
- package/module/AgentModule/index.d.ts.map +1 -1
- package/module/AgentModule/index.js +2 -15
- package/module/AgentModule/index.js.map +1 -1
- package/module/LLMModule/ClaudeLLM.d.ts +23 -0
- package/module/LLMModule/ClaudeLLM.d.ts.map +1 -0
- package/module/LLMModule/ClaudeLLM.js +138 -0
- package/module/LLMModule/ClaudeLLM.js.map +1 -0
- package/module/LLMModule/DeepSeekLLM.d.ts +24 -0
- package/module/LLMModule/DeepSeekLLM.d.ts.map +1 -0
- package/module/LLMModule/DeepSeekLLM.js +136 -0
- package/module/LLMModule/DeepSeekLLM.js.map +1 -0
- package/module/LLMModule/GeminiLLM.d.ts +23 -0
- package/module/LLMModule/GeminiLLM.d.ts.map +1 -0
- package/module/LLMModule/GeminiLLM.js +168 -0
- package/module/LLMModule/GeminiLLM.js.map +1 -0
- package/module/LLMModule/LLMModule.d.ts +33 -0
- package/module/LLMModule/LLMModule.d.ts.map +1 -0
- package/module/LLMModule/LLMModule.js +92 -0
- package/module/LLMModule/LLMModule.js.map +1 -0
- package/module/LLMModule/OpenAILLM.d.ts +23 -0
- package/module/LLMModule/OpenAILLM.d.ts.map +1 -0
- package/module/LLMModule/OpenAILLM.js +145 -0
- package/module/LLMModule/OpenAILLM.js.map +1 -0
- package/module/LLMModule/QWenLLM.d.ts +23 -0
- package/module/LLMModule/QWenLLM.d.ts.map +1 -0
- package/module/LLMModule/QWenLLM.js +137 -0
- package/module/LLMModule/QWenLLM.js.map +1 -0
- package/module/LLMModule/index.d.ts +7 -0
- package/module/LLMModule/index.d.ts.map +1 -0
- package/module/{SkillModule → LLMModule}/index.js +6 -1
- package/module/LLMModule/index.js.map +1 -0
- package/module/index.d.ts +1 -4
- package/module/index.d.ts.map +1 -1
- package/module/index.js +1 -4
- package/module/index.js.map +1 -1
- package/package.json +1 -1
- package/utility/AgentUtility.d.ts +38 -0
- package/utility/AgentUtility.d.ts.map +1 -0
- package/{base/AbstractTool.js → utility/AgentUtility.js} +1 -1
- package/utility/AgentUtility.js.map +1 -0
- package/utility/LLMUtility.d.ts +1328 -0
- package/utility/LLMUtility.d.ts.map +1 -0
- package/utility/LLMUtility.js +114 -0
- package/utility/LLMUtility.js.map +1 -0
- package/utility/index.d.ts +2 -1
- package/utility/index.d.ts.map +1 -1
- package/utility/index.js +2 -1
- package/utility/index.js.map +1 -1
- package/base/AbstractDialog.d.ts +0 -54
- package/base/AbstractDialog.d.ts.map +0 -1
- package/base/AbstractDialog.js +0 -86
- package/base/AbstractDialog.js.map +0 -1
- package/base/AbstractReason.d.ts +0 -44
- package/base/AbstractReason.d.ts.map +0 -1
- package/base/AbstractReason.js +0 -23
- package/base/AbstractReason.js.map +0 -1
- package/base/AbstractSkill.d.ts +0 -25
- package/base/AbstractSkill.d.ts.map +0 -1
- package/base/AbstractSkill.js +0 -3
- package/base/AbstractSkill.js.map +0 -1
- package/base/AbstractTool.d.ts +0 -34
- package/base/AbstractTool.d.ts.map +0 -1
- package/base/AbstractTool.js.map +0 -1
- package/docs/ARCHITECTURE.md +0 -601
- package/docs/README.md +0 -562
- package/module/AgentModule/Memory.d.ts +0 -55
- package/module/AgentModule/Memory.d.ts.map +0 -1
- package/module/AgentModule/Memory.js +0 -288
- package/module/AgentModule/Memory.js.map +0 -1
- package/module/DialogModule/Dialog.d.ts +0 -14
- package/module/DialogModule/Dialog.d.ts.map +0 -1
- package/module/DialogModule/Dialog.js +0 -27
- package/module/DialogModule/Dialog.js.map +0 -1
- package/module/DialogModule/DialogModule.d.ts +0 -39
- package/module/DialogModule/DialogModule.d.ts.map +0 -1
- package/module/DialogModule/DialogModule.js +0 -118
- package/module/DialogModule/DialogModule.js.map +0 -1
- package/module/DialogModule/index.d.ts +0 -3
- package/module/DialogModule/index.d.ts.map +0 -1
- package/module/DialogModule/index.js +0 -19
- package/module/DialogModule/index.js.map +0 -1
- package/module/ReasonModule/ChainReason.d.ts +0 -11
- package/module/ReasonModule/ChainReason.d.ts.map +0 -1
- package/module/ReasonModule/ChainReason.js +0 -34
- package/module/ReasonModule/ChainReason.js.map +0 -1
- package/module/ReasonModule/CommanderReason.d.ts +0 -15
- package/module/ReasonModule/CommanderReason.d.ts.map +0 -1
- package/module/ReasonModule/CommanderReason.js +0 -151
- package/module/ReasonModule/CommanderReason.js.map +0 -1
- package/module/ReasonModule/CompetitiveReason.d.ts +0 -13
- package/module/ReasonModule/CompetitiveReason.d.ts.map +0 -1
- package/module/ReasonModule/CompetitiveReason.js +0 -133
- package/module/ReasonModule/CompetitiveReason.js.map +0 -1
- package/module/ReasonModule/PlanReason.d.ts +0 -25
- package/module/ReasonModule/PlanReason.d.ts.map +0 -1
- package/module/ReasonModule/PlanReason.js +0 -133
- package/module/ReasonModule/PlanReason.js.map +0 -1
- package/module/ReasonModule/ReasonModule.d.ts +0 -41
- package/module/ReasonModule/ReasonModule.d.ts.map +0 -1
- package/module/ReasonModule/ReasonModule.js +0 -83
- package/module/ReasonModule/ReasonModule.js.map +0 -1
- package/module/ReasonModule/ReflectReason.d.ts +0 -15
- package/module/ReasonModule/ReflectReason.d.ts.map +0 -1
- package/module/ReasonModule/ReflectReason.js +0 -86
- package/module/ReasonModule/ReflectReason.js.map +0 -1
- package/module/ReasonModule/TreeReason.d.ts +0 -16
- package/module/ReasonModule/TreeReason.d.ts.map +0 -1
- package/module/ReasonModule/TreeReason.js +0 -139
- package/module/ReasonModule/TreeReason.js.map +0 -1
- package/module/ReasonModule/index.d.ts +0 -8
- package/module/ReasonModule/index.d.ts.map +0 -1
- package/module/ReasonModule/index.js +0 -24
- package/module/ReasonModule/index.js.map +0 -1
- package/module/SkillModule/SkillModule.d.ts +0 -42
- package/module/SkillModule/SkillModule.d.ts.map +0 -1
- package/module/SkillModule/SkillModule.js +0 -134
- package/module/SkillModule/SkillModule.js.map +0 -1
- package/module/SkillModule/index.d.ts +0 -2
- package/module/SkillModule/index.d.ts.map +0 -1
- package/module/SkillModule/index.js.map +0 -1
- package/module/ToolModule/ToolModule.d.ts +0 -57
- package/module/ToolModule/ToolModule.d.ts.map +0 -1
- package/module/ToolModule/ToolModule.js +0 -220
- package/module/ToolModule/ToolModule.js.map +0 -1
- package/module/ToolModule/ToolRAG.d.ts +0 -38
- package/module/ToolModule/ToolRAG.d.ts.map +0 -1
- package/module/ToolModule/ToolRAG.js +0 -124
- package/module/ToolModule/ToolRAG.js.map +0 -1
- package/module/ToolModule/index.d.ts +0 -3
- package/module/ToolModule/index.d.ts.map +0 -1
- package/module/ToolModule/index.js +0 -19
- package/module/ToolModule/index.js.map +0 -1
- package/utility/OpenAIUtility.d.ts +0 -333
- package/utility/OpenAIUtility.d.ts.map +0 -1
- package/utility/OpenAIUtility.js +0 -95
- package/utility/OpenAIUtility.js.map +0 -1
package/Host.d.ts
CHANGED
|
@@ -1,19 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { LLMModule } from "./module";
|
|
2
2
|
/** 实例类 */
|
|
3
3
|
export declare class Host {
|
|
4
4
|
/** 单例模式 */
|
|
5
5
|
private static instance;
|
|
6
6
|
static get Instance(): Host;
|
|
7
|
-
/**
|
|
8
|
-
readonly
|
|
9
|
-
/** 工具管理模块 */
|
|
10
|
-
readonly toolModule: ToolModule;
|
|
11
|
-
/** 推理管理模块 */
|
|
12
|
-
readonly reasonModule: ReasonModule;
|
|
13
|
-
/** 对话管理模块 */
|
|
14
|
-
readonly dialogModule: DialogModule;
|
|
15
|
-
/** 技能管理模块 */
|
|
16
|
-
readonly skillModule: SkillModule;
|
|
7
|
+
/** 大模型管理模块 */
|
|
8
|
+
readonly llmModule: LLMModule;
|
|
17
9
|
/** 构造函数 */
|
|
18
10
|
private constructor();
|
|
19
11
|
}
|
package/Host.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Host.d.ts","sourceRoot":"","sources":["../src/Host.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Host.d.ts","sourceRoot":"","sources":["../src/Host.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,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;IAIrC,WAAW;IACX,OAAO;CAKV;AACD,SAAS;;AACT,wBAA6B"}
|
package/Host.js
CHANGED
|
@@ -8,13 +8,12 @@ class Host {
|
|
|
8
8
|
Host.instance = new Host();
|
|
9
9
|
} return Host.instance; }
|
|
10
10
|
;
|
|
11
|
+
// /** 智能体管理模块 */
|
|
12
|
+
// public readonly agentModule: AgentModule;
|
|
11
13
|
/** 构造函数 */
|
|
12
14
|
constructor() {
|
|
13
|
-
this.
|
|
14
|
-
this.
|
|
15
|
-
this.reasonModule = new module_1.ReasonModule();
|
|
16
|
-
this.dialogModule = new module_1.DialogModule();
|
|
17
|
-
this.skillModule = new module_1.SkillModule();
|
|
15
|
+
this.llmModule = new module_1.LLMModule();
|
|
16
|
+
// this.agentModule = new AgentModule();
|
|
18
17
|
}
|
|
19
18
|
}
|
|
20
19
|
exports.Host = Host;
|
package/Host.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Host.js","sourceRoot":"","sources":["../src/Host.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"Host.js","sourceRoot":"","sources":["../src/Host.ts"],"names":[],"mappings":";;;AAAA,qCAAqC;AAErC,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;IAIlH,iBAAiB;IACjB,4CAA4C;IAE5C,WAAW;IACX;QAEI,IAAI,CAAC,SAAS,GAAG,IAAI,kBAAS,EAAE,CAAC;QACjC,wCAAwC;IAC5C,CAAC;CACJ;AAjBD,oBAiBC;AACD,SAAS;AACT,kBAAe,IAAI,CAAC,QAAQ,CAAC"}
|
package/base/AbstractAgent.d.ts
CHANGED
|
@@ -1,100 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
import { ToolContext } from "./AbstractTool";
|
|
3
|
-
import { NetworkUtility, OpenAIUtility } from "../utility";
|
|
4
|
-
/** Agent.run() 的可选参数 */
|
|
5
|
-
export interface AgentRunOptions {
|
|
6
|
-
/** 允许使用的工具名列表(Skill 过滤后) */
|
|
7
|
-
toolNames?: Array<string>;
|
|
8
|
-
/** 工具执行上下文 */
|
|
9
|
-
toolContext?: ToolContext;
|
|
10
|
-
}
|
|
11
|
-
/** 抽象智能体基类 */
|
|
12
|
-
export declare abstract class AbstractAgent extends AbstractObject {
|
|
13
|
-
/** 构造函数 */
|
|
14
|
-
constructor();
|
|
15
|
-
/** 对话轮次 */
|
|
16
|
-
abstract get turnCount(): number;
|
|
17
|
-
/** 发送用户消息(缓存→发送→缓存回复) */
|
|
18
|
-
abstract sendUserMessage(content: string): Promise<NetworkUtility.HTTP.Response<OpenAIUtility.OpenAI.ChatResponse>>;
|
|
19
|
-
/** 发送当前消息缓存到LLM(不添加用户消息) */
|
|
20
|
-
abstract sendRequest(): Promise<NetworkUtility.HTTP.Response<OpenAIUtility.OpenAI.ChatResponse>>;
|
|
21
|
-
/** 执行单个工具调用 */
|
|
22
|
-
abstract executeTool(toolCall: OpenAIUtility.OpenAI.ToolResponse): Promise<string>;
|
|
23
|
-
/** 添加工具执行结果到消息缓存 */
|
|
24
|
-
abstract addToolResult(result: string, toolCallId: string): void;
|
|
25
|
-
/** 添加助手消息到缓存(含 tool_calls) */
|
|
26
|
-
abstract addAssistantMessage(content: string, toolCalls?: Array<OpenAIUtility.OpenAI.ToolResponse>): void;
|
|
27
|
-
/** 设置 Agent 状态 */
|
|
28
|
-
abstract setState(state: AgentState): void;
|
|
29
|
-
/**
|
|
30
|
-
* 运行 Agent 主循环
|
|
31
|
-
* 1. 发送用户消息
|
|
32
|
-
* 2. 检查响应
|
|
33
|
-
* 3. 如果模型要求工具调用 → 执行工具 → 继续发送
|
|
34
|
-
* 4. 返回最终结果
|
|
35
|
-
*/
|
|
36
|
-
abstract run(input: string, options?: AgentRunOptions): Promise<AgentRunResult>;
|
|
37
|
-
/** 导出当前状态为可序列化快照 */
|
|
38
|
-
abstract snapshot(): AgentSnapshot;
|
|
39
|
-
/** 从快照恢复状态(需先构造 Agent 再调用此方法) */
|
|
40
|
-
abstract restore(snapshot: AgentSnapshot): void;
|
|
41
|
-
}
|
|
42
|
-
/** 智能体运行状态 */
|
|
43
|
-
export declare enum AgentState {
|
|
44
|
-
Idle = 0,
|
|
45
|
-
Thinking = 1,
|
|
46
|
-
Running = 2,
|
|
47
|
-
WaitingTool = 3,
|
|
48
|
-
Error = 4,
|
|
49
|
-
Done = 5
|
|
50
|
-
}
|
|
51
|
-
/** 智能体单次运行结果 */
|
|
52
|
-
export interface AgentRunResult {
|
|
53
|
-
success: boolean;
|
|
54
|
-
content: string;
|
|
55
|
-
thinking?: string;
|
|
56
|
-
toolCalls?: Array<OpenAIUtility.OpenAI.ToolResponse>;
|
|
57
|
-
usage?: OpenAIUtility.OpenAI.Usage;
|
|
58
|
-
finishReason?: string;
|
|
59
|
-
}
|
|
60
|
-
/** 智能体配置 */
|
|
61
|
-
export interface AgentConfig {
|
|
62
|
-
/** API端点地址 */
|
|
63
|
-
address: string;
|
|
64
|
-
/** API密钥 */
|
|
65
|
-
apiKey: string;
|
|
66
|
-
/** 模型名称 */
|
|
67
|
-
model: string;
|
|
68
|
-
/** 系统提示词 */
|
|
69
|
-
systemPrompt?: string;
|
|
70
|
-
/** DeepSeek思考模式开关(默认开启) */
|
|
71
|
-
enableThinking?: boolean;
|
|
72
|
-
/** 推理强度 */
|
|
73
|
-
reasoningEffort?: "high" | "max";
|
|
74
|
-
/** 采样温度(0~2) */
|
|
75
|
-
temperature?: number;
|
|
76
|
-
/** 最大输出token数 */
|
|
77
|
-
maxTokens?: number;
|
|
78
|
-
/** 最大对话轮次 */
|
|
79
|
-
maxTurns?: number;
|
|
80
|
-
}
|
|
81
|
-
/** Agent 持久化快照(不含 apiKey/address 等敏感字段) */
|
|
82
|
-
export interface AgentSnapshot {
|
|
83
|
-
/** 快照格式版本 */
|
|
84
|
-
version: number;
|
|
85
|
-
/** 创建时间戳 */
|
|
86
|
-
createdAt: number;
|
|
87
|
-
/** 所属 Agent ID */
|
|
88
|
-
agentId: string;
|
|
89
|
-
/** 对话轮次 */
|
|
90
|
-
turnCount: number;
|
|
91
|
-
/** 完整消息历史 */
|
|
92
|
-
messages: Array<OpenAIUtility.OpenAI.LLMMessage>;
|
|
93
|
-
/** 推理草稿 */
|
|
94
|
-
scratchpad: string;
|
|
95
|
-
/** 工具结果缓存 */
|
|
96
|
-
toolResults: Array<[string, string]>;
|
|
97
|
-
/** 恢复所需配置(敏感字段已剥离) */
|
|
98
|
-
config: Pick<AgentConfig, "model" | "systemPrompt" | "temperature" | "maxTokens" | "enableThinking" | "reasoningEffort" | "maxTurns">;
|
|
99
|
-
}
|
|
1
|
+
export {};
|
|
100
2
|
//# sourceMappingURL=AbstractAgent.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractAgent.d.ts","sourceRoot":"","sources":["../../src/base/AbstractAgent.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AbstractAgent.d.ts","sourceRoot":"","sources":["../../src/base/AbstractAgent.ts"],"names":[],"mappings":""}
|
package/base/AbstractAgent.js
CHANGED
|
@@ -1,23 +1,97 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
// import { AbstractObject } from "./AbstractObject";
|
|
3
|
+
// import { AbstractLLM } from "./AbstractLLM";
|
|
4
|
+
// import { AgentUtility, LLMUtility } from "../utility";
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
(
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
}
|
|
6
|
+
// /** 抽象智能体基类 — 管理对话会话与大模型交互 */
|
|
7
|
+
// export abstract class AbstractAgent extends AbstractObject
|
|
8
|
+
// {
|
|
9
|
+
// /** 大模型实例 */
|
|
10
|
+
// public readonly llm: AbstractLLM;
|
|
11
|
+
// /** 创建时间戳 */
|
|
12
|
+
// public readonly createdAt: number;
|
|
13
|
+
// /** 对话记录 */
|
|
14
|
+
// public readonly turns: AgentUtility.SessionData[];
|
|
15
|
+
// /** 是否活跃 */
|
|
16
|
+
// private _active: boolean;
|
|
17
|
+
// /** 构造函数 */
|
|
18
|
+
// public constructor(config: LLMUtility.Config, llm?: AbstractLLM)
|
|
19
|
+
// {
|
|
20
|
+
// super();
|
|
21
|
+
// this.llm = llm ?? this.host.llmModule.add(config);
|
|
22
|
+
// this.createdAt = Date.now();
|
|
23
|
+
// this.turns = [];
|
|
24
|
+
// this._active = true;
|
|
25
|
+
// }
|
|
26
|
+
// // #region 查询
|
|
27
|
+
// /** 是否活跃 */
|
|
28
|
+
// public get active(): boolean { return this._active; }
|
|
29
|
+
// /** 对话轮数 */
|
|
30
|
+
// public get turnCount(): number { return this.turns.length; }
|
|
31
|
+
// /** 累计用量 */
|
|
32
|
+
// public get totalUsage(): AgentUtility.Usage
|
|
33
|
+
// {
|
|
34
|
+
// const usage: AgentUtility.Usage = { input: 0, output: 0, total: 0 };
|
|
35
|
+
// for (const turn of this.turns)
|
|
36
|
+
// {
|
|
37
|
+
// usage.input += turn.usage.input ?? 0;
|
|
38
|
+
// usage.output += turn.usage.output ?? 0;
|
|
39
|
+
// usage.total += turn.usage.total ?? 0;
|
|
40
|
+
// }
|
|
41
|
+
// return usage;
|
|
42
|
+
// }
|
|
43
|
+
// // #endregion
|
|
44
|
+
// // #region 会话操作
|
|
45
|
+
// /** 清空对话记录 */
|
|
46
|
+
// public clear(): this
|
|
47
|
+
// {
|
|
48
|
+
// this.turns.length = 0;
|
|
49
|
+
// return this;
|
|
50
|
+
// }
|
|
51
|
+
// /** 关闭会话 */
|
|
52
|
+
// public close(): this
|
|
53
|
+
// {
|
|
54
|
+
// this._active = false;
|
|
55
|
+
// return this;
|
|
56
|
+
// }
|
|
57
|
+
// /**
|
|
58
|
+
// * 发送消息 — 派生类实现具体的推理逻辑
|
|
59
|
+
// * @param prompt 用户输入
|
|
60
|
+
// */
|
|
61
|
+
// public abstract send(prompt: string): Promise<LLMUtility.Response>;
|
|
62
|
+
// /**
|
|
63
|
+
// * 记录一轮对话
|
|
64
|
+
// * @param input 用户输入
|
|
65
|
+
// * @param output 智能体输出
|
|
66
|
+
// * @param usage 本轮 token 用量
|
|
67
|
+
// */
|
|
68
|
+
// public record(input: string, output: string, usage: AgentUtility.Usage): this
|
|
69
|
+
// {
|
|
70
|
+
// if (!this._active) { return this; }
|
|
71
|
+
// this.turns.push({ input, output, usage, timestamp: Date.now() });
|
|
72
|
+
// return this;
|
|
73
|
+
// }
|
|
74
|
+
// // #endregion
|
|
75
|
+
// // #region 快照
|
|
76
|
+
// /** 导出快照 — 包含对话记录与大模型快照 */
|
|
77
|
+
// public exportSnapshot(): AgentUtility.AgentSnapshot
|
|
78
|
+
// {
|
|
79
|
+
// return {
|
|
80
|
+
// id: this.id,
|
|
81
|
+
// llmSnapshot: this.llm.exportSnapshot(),
|
|
82
|
+
// turns: this.turns.slice(),
|
|
83
|
+
// createdAt: this.createdAt,
|
|
84
|
+
// exportAt: Date.now(),
|
|
85
|
+
// };
|
|
86
|
+
// }
|
|
87
|
+
// // #endregion
|
|
88
|
+
// // #region 生命周期
|
|
89
|
+
// public OnDestroy(): boolean
|
|
90
|
+
// {
|
|
91
|
+
// this._active = false;
|
|
92
|
+
// this.host.llmModule.remove(this.llm?.id);
|
|
93
|
+
// return super.OnDestroy();
|
|
94
|
+
// }
|
|
95
|
+
// // #endregion
|
|
96
|
+
// }
|
|
23
97
|
//# sourceMappingURL=AbstractAgent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractAgent.js","sourceRoot":"","sources":["../../src/base/AbstractAgent.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AbstractAgent.js","sourceRoot":"","sources":["../../src/base/AbstractAgent.ts"],"names":[],"mappings":";AAAA,qDAAqD;AACrD,+CAA+C;AAC/C,yDAAyD;;AAEzD,gCAAgC;AAChC,6DAA6D;AAC7D,IAAI;AACJ,mBAAmB;AACnB,wCAAwC;AACxC,mBAAmB;AACnB,yCAAyC;AACzC,kBAAkB;AAClB,yDAAyD;AACzD,kBAAkB;AAClB,gCAAgC;AAEhC,kBAAkB;AAClB,uEAAuE;AACvE,QAAQ;AACR,mBAAmB;AACnB,6DAA6D;AAC7D,uCAAuC;AACvC,2BAA2B;AAC3B,+BAA+B;AAC/B,QAAQ;AAGR,oBAAoB;AAEpB,kBAAkB;AAClB,4DAA4D;AAE5D,kBAAkB;AAClB,mEAAmE;AAEnE,kBAAkB;AAClB,kDAAkD;AAClD,QAAQ;AACR,+EAA+E;AAC/E,yCAAyC;AACzC,YAAY;AACZ,oDAAoD;AACpD,sDAAsD;AACtD,oDAAoD;AACpD,YAAY;AACZ,wBAAwB;AACxB,QAAQ;AAER,oBAAoB;AAEpB,sBAAsB;AAEtB,oBAAoB;AACpB,2BAA2B;AAC3B,QAAQ;AACR,iCAAiC;AACjC,uBAAuB;AACvB,QAAQ;AAER,kBAAkB;AAClB,2BAA2B;AAC3B,QAAQ;AACR,gCAAgC;AAChC,uBAAuB;AACvB,QAAQ;AAER,UAAU;AACV,6BAA6B;AAC7B,4BAA4B;AAC5B,UAAU;AACV,0EAA0E;AAE1E,UAAU;AACV,gBAAgB;AAChB,2BAA2B;AAC3B,6BAA6B;AAC7B,kCAAkC;AAClC,UAAU;AACV,oFAAoF;AACpF,QAAQ;AACR,8CAA8C;AAC9C,4EAA4E;AAC5E,uBAAuB;AACvB,QAAQ;AAER,oBAAoB;AAEpB,oBAAoB;AAEpB,iCAAiC;AACjC,0DAA0D;AAC1D,QAAQ;AACR,mBAAmB;AACnB,2BAA2B;AAC3B,sDAAsD;AACtD,yCAAyC;AACzC,yCAAyC;AACzC,oCAAoC;AACpC,aAAa;AACb,QAAQ;AAER,oBAAoB;AAEpB,sBAAsB;AAEtB,kCAAkC;AAClC,QAAQ;AACR,gCAAgC;AAChC,oDAAoD;AACpD,oCAAoC;AACpC,QAAQ;AAER,oBAAoB;AACpB,IAAI"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { AbstractObject } from "./AbstractObject";
|
|
2
|
+
import { LLMUtility } from "../utility";
|
|
3
|
+
/** 抽象大模型基类 */
|
|
4
|
+
export declare abstract class AbstractLLM<T extends LLMUtility.Config = LLMUtility.Config, K extends LLMUtility.MessageData = LLMUtility.MessageData> extends AbstractObject {
|
|
5
|
+
/** 大模型配置 */
|
|
6
|
+
readonly config: T;
|
|
7
|
+
/** 消息缓存 */
|
|
8
|
+
readonly messages: LLMUtility.Message<K>;
|
|
9
|
+
/** 系统提示词 */
|
|
10
|
+
protected systemPrompt: string;
|
|
11
|
+
/** 构造函数 */
|
|
12
|
+
constructor(config: T);
|
|
13
|
+
/**
|
|
14
|
+
* 发送消息
|
|
15
|
+
* @param data 数据
|
|
16
|
+
* @return 响应数据
|
|
17
|
+
*/
|
|
18
|
+
send(data: LLMUtility.SendData): Promise<LLMUtility.Response>;
|
|
19
|
+
/** 导出快照 — 序列化消息缓存与配置 */
|
|
20
|
+
exportSnapshot(): LLMUtility.Snapshot;
|
|
21
|
+
/** 添加系统消息到缓存 */
|
|
22
|
+
protected abstract addSystemMessage(text: string): void;
|
|
23
|
+
/** 添加用户消息到缓存 */
|
|
24
|
+
protected abstract addUserMessage(text: string): void;
|
|
25
|
+
/** 添加助手消息到缓存 */
|
|
26
|
+
protected abstract addAssistantMessage(content: string, toolCalls?: Array<LLMUtility.ToolCall>): void;
|
|
27
|
+
/** 添加工具结果消息到缓存 */
|
|
28
|
+
protected abstract addToolMessage(result: LLMUtility.ToolResult): void;
|
|
29
|
+
/** 消息级压缩 — 派生类可覆写以提供平台特定的 transform(工具输出截断、观察屏蔽等) */
|
|
30
|
+
protected abstract compactMessages(): void;
|
|
31
|
+
/** 发送 HTTP 请求并返回统一响应 — tools 由 send() 动态传入,不缓存 */
|
|
32
|
+
protected abstract request(tools: Array<LLMUtility.ToolDefinition>): Promise<LLMUtility.Response>;
|
|
33
|
+
/** 停止原因 */
|
|
34
|
+
protected abstract stopReason(reason: string): LLMUtility.FinishReason;
|
|
35
|
+
/** 处理响应逻辑 */
|
|
36
|
+
private handleResponse;
|
|
37
|
+
/** 累加 token 用量 */
|
|
38
|
+
private addUsage;
|
|
39
|
+
/** 执行工具调用 */
|
|
40
|
+
private executeTools;
|
|
41
|
+
OnDestroy(): boolean;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=AbstractLLM.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
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;IAChD,YAAY;IACZ,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC;IAE/B,WAAW;gBACQ,MAAM,EAAE,CAAC;IAQ5B;;;;OAIG;IACU,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC;IA2B1E,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;CAM9B"}
|
|
@@ -0,0 +1,121 @@
|
|
|
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
|
+
}
|
|
14
|
+
// #region 公开接口
|
|
15
|
+
/**
|
|
16
|
+
* 发送消息
|
|
17
|
+
* @param data 数据
|
|
18
|
+
* @return 响应数据
|
|
19
|
+
*/
|
|
20
|
+
async send(data) {
|
|
21
|
+
// 指令判空
|
|
22
|
+
if (null == data || utility_1.StringUtility.empty(data.prompt)) {
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
25
|
+
// 添加系统消息
|
|
26
|
+
if (null == this.systemPrompt && this.messages.count === 0) {
|
|
27
|
+
this.addSystemMessage(data.skill);
|
|
28
|
+
this.systemPrompt = data.skill;
|
|
29
|
+
}
|
|
30
|
+
// 添加用户消息
|
|
31
|
+
this.addUserMessage(data.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(data.tools || []);
|
|
40
|
+
// 累加用量
|
|
41
|
+
this.addUsage(usageAcc, response.usage);
|
|
42
|
+
// 添加助手消息
|
|
43
|
+
this.addAssistantMessage(response.content, response.toolCalls);
|
|
44
|
+
// 处理响应逻辑
|
|
45
|
+
response = await this.handleResponse(response, data.tools, usageAcc);
|
|
46
|
+
// 触发用量回调
|
|
47
|
+
data.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.systemPrompt = null;
|
|
116
|
+
this.messages.Clear();
|
|
117
|
+
return super.OnDestroy();
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
exports.AbstractLLM = AbstractLLM;
|
|
121
|
+
//# sourceMappingURL=AbstractLLM.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AbstractLLM.js","sourceRoot":"","sources":["../../src/base/AbstractLLM.ts"],"names":[],"mappings":"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"}
|
package/base/AbstractModule.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
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;;
|
|
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"}
|
package/base/AbstractModule.js
CHANGED
|
@@ -1 +1 @@
|
|
|
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;
|
|
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"}
|
package/base/AbstractObject.d.ts
CHANGED
|
@@ -5,14 +5,16 @@ export declare abstract class AbstractObject {
|
|
|
5
5
|
/** 对象管理 */
|
|
6
6
|
static readonly objects: ObjectUtility.MapPool<AbstractObject>;
|
|
7
7
|
/** 对象ID */
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
readonly
|
|
8
|
+
id: string;
|
|
9
|
+
/** 对象类名 */
|
|
10
|
+
readonly className: string;
|
|
11
11
|
/** 智能体管理器实例 */
|
|
12
12
|
get host(): Host;
|
|
13
13
|
/** 构造函数 */
|
|
14
14
|
constructor();
|
|
15
|
+
/** 设置ID */
|
|
16
|
+
setId(id: string): void;
|
|
15
17
|
/** 销毁 */
|
|
16
|
-
OnDestroy():
|
|
18
|
+
OnDestroy(): boolean;
|
|
17
19
|
}
|
|
18
20
|
//# sourceMappingURL=AbstractObject.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
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;
|
|
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"}
|
package/base/AbstractObject.js
CHANGED
|
@@ -11,12 +11,16 @@ class AbstractObject {
|
|
|
11
11
|
/** 构造函数 */
|
|
12
12
|
constructor() {
|
|
13
13
|
this.id = utility_1.StringUtility.GetGUID();
|
|
14
|
-
this.
|
|
14
|
+
this.className = this.constructor.name;
|
|
15
15
|
AbstractObject.objects.Add(this.id, this);
|
|
16
16
|
}
|
|
17
|
+
/** 设置ID */
|
|
18
|
+
setId(id) {
|
|
19
|
+
this.id = id;
|
|
20
|
+
}
|
|
17
21
|
/** 销毁 */
|
|
18
22
|
OnDestroy() {
|
|
19
|
-
AbstractObject.objects.Remove(this.id);
|
|
23
|
+
return AbstractObject.objects.Remove(this.id);
|
|
20
24
|
}
|
|
21
25
|
}
|
|
22
26
|
exports.AbstractObject = AbstractObject;
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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"}
|
package/base/index.d.ts
CHANGED
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
export * from "./AbstractObject";
|
|
2
2
|
export * from "./AbstractModule";
|
|
3
|
+
export * from "./AbstractLLM";
|
|
3
4
|
export * from "./AbstractAgent";
|
|
4
|
-
export * from "./AbstractReason";
|
|
5
|
-
export * from "./AbstractDialog";
|
|
6
|
-
export * from "./AbstractTool";
|
|
7
|
-
export * from "./AbstractSkill";
|
|
8
5
|
//# sourceMappingURL=index.d.ts.map
|
package/base/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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,
|
|
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
CHANGED
|
@@ -16,9 +16,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./AbstractObject"), exports);
|
|
18
18
|
__exportStar(require("./AbstractModule"), exports);
|
|
19
|
+
__exportStar(require("./AbstractLLM"), exports);
|
|
19
20
|
__exportStar(require("./AbstractAgent"), exports);
|
|
20
|
-
__exportStar(require("./AbstractReason"), exports);
|
|
21
|
-
__exportStar(require("./AbstractDialog"), exports);
|
|
22
|
-
__exportStar(require("./AbstractTool"), exports);
|
|
23
|
-
__exportStar(require("./AbstractSkill"), exports);
|
|
24
21
|
//# sourceMappingURL=index.js.map
|
package/base/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/base/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC;AACjC,mDAAiC;AACjC,
|
|
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
CHANGED
package/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,
|
|
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
CHANGED
|
@@ -13,13 +13,9 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
|
|
|
13
13
|
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
17
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
18
|
-
};
|
|
19
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
-
exports.default = void 0;
|
|
21
17
|
__exportStar(require("./Host"), exports);
|
|
18
|
+
__exportStar(require("./base"), exports);
|
|
22
19
|
__exportStar(require("./module"), exports);
|
|
23
|
-
|
|
24
|
-
Object.defineProperty(exports, "default", { enumerable: true, get: function () { return __importDefault(Host_1).default; } });
|
|
20
|
+
__exportStar(require("./utility"), exports);
|
|
25
21
|
//# sourceMappingURL=index.js.map
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,yCAAuB;AACvB,2CAAyB;AACzB,4CAA0B"}
|