knight-agent 1.1.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.
- package/Host.d.ts +23 -0
- package/Host.d.ts.map +1 -0
- package/Host.js +23 -0
- package/Host.js.map +1 -0
- package/base/AbstractAgent.d.ts +100 -0
- package/base/AbstractAgent.d.ts.map +1 -0
- package/base/AbstractAgent.js +23 -0
- package/base/AbstractAgent.js.map +1 -0
- package/base/AbstractDialog.d.ts +54 -0
- package/base/AbstractDialog.d.ts.map +1 -0
- package/base/AbstractDialog.js +86 -0
- package/base/AbstractDialog.js.map +1 -0
- package/base/AbstractModule.d.ts +7 -0
- package/base/AbstractModule.d.ts.map +1 -0
- package/base/AbstractModule.js +13 -0
- package/base/AbstractModule.js.map +1 -0
- package/base/AbstractObject.d.ts +18 -0
- package/base/AbstractObject.d.ts.map +1 -0
- package/base/AbstractObject.js +25 -0
- package/base/AbstractObject.js.map +1 -0
- package/base/AbstractReason.d.ts +44 -0
- package/base/AbstractReason.d.ts.map +1 -0
- package/base/AbstractReason.js +23 -0
- package/base/AbstractReason.js.map +1 -0
- package/base/AbstractSkill.d.ts +25 -0
- package/base/AbstractSkill.d.ts.map +1 -0
- package/base/AbstractSkill.js +3 -0
- package/base/AbstractSkill.js.map +1 -0
- package/base/AbstractTool.d.ts +34 -0
- package/base/AbstractTool.d.ts.map +1 -0
- package/base/AbstractTool.js +3 -0
- package/base/AbstractTool.js.map +1 -0
- package/base/index.d.ts +8 -0
- package/base/index.d.ts.map +1 -0
- package/base/index.js +24 -0
- package/base/index.js.map +1 -0
- package/docs/ARCHITECTURE.md +601 -0
- package/docs/README.md +562 -0
- package/index.d.ts +4 -0
- package/index.d.ts.map +1 -0
- package/index.js +25 -0
- package/index.js.map +1 -0
- package/module/AgentModule/Agent.d.ts +55 -0
- package/module/AgentModule/Agent.d.ts.map +1 -0
- package/module/AgentModule/Agent.js +210 -0
- package/module/AgentModule/Agent.js.map +1 -0
- package/module/AgentModule/AgentModule.d.ts +26 -0
- package/module/AgentModule/AgentModule.d.ts.map +1 -0
- package/module/AgentModule/AgentModule.js +66 -0
- package/module/AgentModule/AgentModule.js.map +1 -0
- package/module/AgentModule/Memory.d.ts +55 -0
- package/module/AgentModule/Memory.d.ts.map +1 -0
- package/module/AgentModule/Memory.js +288 -0
- package/module/AgentModule/Memory.js.map +1 -0
- package/module/AgentModule/index.d.ts +2 -0
- package/module/AgentModule/index.d.ts.map +1 -0
- package/module/AgentModule/index.js +18 -0
- package/module/AgentModule/index.js.map +1 -0
- package/module/DialogModule/Dialog.d.ts +14 -0
- package/module/DialogModule/Dialog.d.ts.map +1 -0
- package/module/DialogModule/Dialog.js +27 -0
- package/module/DialogModule/Dialog.js.map +1 -0
- package/module/DialogModule/DialogModule.d.ts +39 -0
- package/module/DialogModule/DialogModule.d.ts.map +1 -0
- package/module/DialogModule/DialogModule.js +118 -0
- package/module/DialogModule/DialogModule.js.map +1 -0
- package/module/DialogModule/index.d.ts +3 -0
- package/module/DialogModule/index.d.ts.map +1 -0
- package/module/DialogModule/index.js +19 -0
- package/module/DialogModule/index.js.map +1 -0
- package/module/ReasonModule/ChainReason.d.ts +11 -0
- package/module/ReasonModule/ChainReason.d.ts.map +1 -0
- package/module/ReasonModule/ChainReason.js +34 -0
- package/module/ReasonModule/ChainReason.js.map +1 -0
- package/module/ReasonModule/CommanderReason.d.ts +15 -0
- package/module/ReasonModule/CommanderReason.d.ts.map +1 -0
- package/module/ReasonModule/CommanderReason.js +151 -0
- package/module/ReasonModule/CommanderReason.js.map +1 -0
- package/module/ReasonModule/CompetitiveReason.d.ts +13 -0
- package/module/ReasonModule/CompetitiveReason.d.ts.map +1 -0
- package/module/ReasonModule/CompetitiveReason.js +133 -0
- package/module/ReasonModule/CompetitiveReason.js.map +1 -0
- package/module/ReasonModule/PlanReason.d.ts +25 -0
- package/module/ReasonModule/PlanReason.d.ts.map +1 -0
- package/module/ReasonModule/PlanReason.js +133 -0
- package/module/ReasonModule/PlanReason.js.map +1 -0
- package/module/ReasonModule/ReasonModule.d.ts +41 -0
- package/module/ReasonModule/ReasonModule.d.ts.map +1 -0
- package/module/ReasonModule/ReasonModule.js +83 -0
- package/module/ReasonModule/ReasonModule.js.map +1 -0
- package/module/ReasonModule/ReflectReason.d.ts +15 -0
- package/module/ReasonModule/ReflectReason.d.ts.map +1 -0
- package/module/ReasonModule/ReflectReason.js +86 -0
- package/module/ReasonModule/ReflectReason.js.map +1 -0
- package/module/ReasonModule/TreeReason.d.ts +16 -0
- package/module/ReasonModule/TreeReason.d.ts.map +1 -0
- package/module/ReasonModule/TreeReason.js +139 -0
- package/module/ReasonModule/TreeReason.js.map +1 -0
- package/module/ReasonModule/index.d.ts +8 -0
- package/module/ReasonModule/index.d.ts.map +1 -0
- package/module/ReasonModule/index.js +24 -0
- package/module/ReasonModule/index.js.map +1 -0
- package/module/SkillModule/SkillModule.d.ts +42 -0
- package/module/SkillModule/SkillModule.d.ts.map +1 -0
- package/module/SkillModule/SkillModule.js +134 -0
- package/module/SkillModule/SkillModule.js.map +1 -0
- package/module/SkillModule/index.d.ts +2 -0
- package/module/SkillModule/index.d.ts.map +1 -0
- package/module/SkillModule/index.js +18 -0
- package/module/SkillModule/index.js.map +1 -0
- package/module/ToolModule/ToolModule.d.ts +57 -0
- package/module/ToolModule/ToolModule.d.ts.map +1 -0
- package/module/ToolModule/ToolModule.js +220 -0
- package/module/ToolModule/ToolModule.js.map +1 -0
- package/module/ToolModule/ToolRAG.d.ts +38 -0
- package/module/ToolModule/ToolRAG.d.ts.map +1 -0
- package/module/ToolModule/ToolRAG.js +124 -0
- package/module/ToolModule/ToolRAG.js.map +1 -0
- package/module/ToolModule/index.d.ts +3 -0
- package/module/ToolModule/index.d.ts.map +1 -0
- package/module/ToolModule/index.js +19 -0
- package/module/ToolModule/index.js.map +1 -0
- package/module/index.d.ts +6 -0
- package/module/index.d.ts.map +1 -0
- package/module/index.js +22 -0
- package/module/index.js.map +1 -0
- package/package.json +19 -0
- package/utility/InterfaceUtility.d.ts +14 -0
- package/utility/InterfaceUtility.d.ts.map +1 -0
- package/utility/InterfaceUtility.js +3 -0
- package/utility/InterfaceUtility.js.map +1 -0
- package/utility/LogUtility.d.ts +41 -0
- package/utility/LogUtility.d.ts.map +1 -0
- package/utility/LogUtility.js +70 -0
- package/utility/LogUtility.js.map +1 -0
- package/utility/NetworkUtility.d.ts +91 -0
- package/utility/NetworkUtility.d.ts.map +1 -0
- package/utility/NetworkUtility.js +104 -0
- package/utility/NetworkUtility.js.map +1 -0
- package/utility/ObjectUtility.d.ts +134 -0
- package/utility/ObjectUtility.d.ts.map +1 -0
- package/utility/ObjectUtility.js +313 -0
- package/utility/ObjectUtility.js.map +1 -0
- package/utility/OpenAIUtility.d.ts +333 -0
- package/utility/OpenAIUtility.d.ts.map +1 -0
- package/utility/OpenAIUtility.js +95 -0
- package/utility/OpenAIUtility.js.map +1 -0
- package/utility/PromiseUtility.d.ts +9 -0
- package/utility/PromiseUtility.d.ts.map +1 -0
- package/utility/PromiseUtility.js +16 -0
- package/utility/PromiseUtility.js.map +1 -0
- package/utility/StringUtility.d.ts +10 -0
- package/utility/StringUtility.d.ts.map +1 -0
- package/utility/StringUtility.js +42 -0
- package/utility/StringUtility.js.map +1 -0
- package/utility/TimeUtility.d.ts +10 -0
- package/utility/TimeUtility.d.ts.map +1 -0
- package/utility/TimeUtility.js +24 -0
- package/utility/TimeUtility.js.map +1 -0
- package/utility/index.d.ts +9 -0
- package/utility/index.d.ts.map +1 -0
- package/utility/index.js +25 -0
- package/utility/index.js.map +1 -0
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ToolModule = void 0;
|
|
4
|
+
const base_1 = require("../../base");
|
|
5
|
+
const ToolRAG_1 = require("./ToolRAG");
|
|
6
|
+
/** 工具管理模块 — 注册表 + 缓存 + 重试 + 执行调度 */
|
|
7
|
+
class ToolModule extends base_1.AbstractModule {
|
|
8
|
+
constructor() {
|
|
9
|
+
super();
|
|
10
|
+
/** 工具语义检索器(可选) */
|
|
11
|
+
this._rag = new ToolRAG_1.ToolRAG();
|
|
12
|
+
this._tools = new Map();
|
|
13
|
+
this._cache = new Map();
|
|
14
|
+
}
|
|
15
|
+
/** 已注册工具数量 */
|
|
16
|
+
get count() { return this._tools.size; }
|
|
17
|
+
// ======================== 注册 ========================
|
|
18
|
+
/** 注册单个工具 */
|
|
19
|
+
register(tool) {
|
|
20
|
+
this._tools.set(tool.name, tool);
|
|
21
|
+
this._rag.index(tool.name, `${tool.name}: ${tool.description}`);
|
|
22
|
+
return this;
|
|
23
|
+
}
|
|
24
|
+
/** 批量注册 */
|
|
25
|
+
registerAll(tools) {
|
|
26
|
+
for (const tool of tools) {
|
|
27
|
+
this.register(tool);
|
|
28
|
+
}
|
|
29
|
+
return this;
|
|
30
|
+
}
|
|
31
|
+
/** 移除工具 */
|
|
32
|
+
unregister(name) {
|
|
33
|
+
this.invalidateCache(name);
|
|
34
|
+
this._rag.remove(name);
|
|
35
|
+
return this._tools.delete(name);
|
|
36
|
+
}
|
|
37
|
+
/** 获取工具定义 */
|
|
38
|
+
get(name) {
|
|
39
|
+
return this._tools.get(name);
|
|
40
|
+
}
|
|
41
|
+
/** 获取全部工具 */
|
|
42
|
+
list() {
|
|
43
|
+
return Array.from(this._tools.values());
|
|
44
|
+
}
|
|
45
|
+
/** 按分类获取 */
|
|
46
|
+
listByCategory(category) {
|
|
47
|
+
return this.list().filter(t => t.category === category);
|
|
48
|
+
}
|
|
49
|
+
/** 设置语义检索的嵌入提供者(不设则使用内置关键词匹配) */
|
|
50
|
+
setEmbeddingProvider(provider) {
|
|
51
|
+
this._rag.setProvider(provider);
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* 根据用户输入从候选工具中检索最相关的 Top-K 个
|
|
55
|
+
* 先经过 RAG 语义排序,再取前 topK 个
|
|
56
|
+
* @param query 用户输入
|
|
57
|
+
* @param candidates 候选工具名列表(如 Skill 过滤后的结果)
|
|
58
|
+
* @param topK 返回数量
|
|
59
|
+
*/
|
|
60
|
+
async selectTools(query, candidates, topK = 10) {
|
|
61
|
+
const pool = (candidates ?? this.list().map(t => t.name));
|
|
62
|
+
if (pool.length <= topK) {
|
|
63
|
+
return pool;
|
|
64
|
+
}
|
|
65
|
+
const items = pool
|
|
66
|
+
.map(n => this._tools.get(n))
|
|
67
|
+
.filter(Boolean)
|
|
68
|
+
.map(t => ({ name: t.name, description: t.description }));
|
|
69
|
+
return this._rag.search(query, items, topK);
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* 导出为 OpenAI API 工具列表(可按名称过滤)
|
|
73
|
+
* @param names 工具名白名单
|
|
74
|
+
* @param compact 精简模式:去掉 schema 中的 description/default,减少 token 开销
|
|
75
|
+
*/
|
|
76
|
+
ToAPITools(names, compact = false) {
|
|
77
|
+
const tools = names
|
|
78
|
+
? names.map(n => this._tools.get(n)).filter(Boolean)
|
|
79
|
+
: this.list();
|
|
80
|
+
return tools.map(t => ({
|
|
81
|
+
id: t.name,
|
|
82
|
+
type: "function",
|
|
83
|
+
function: {
|
|
84
|
+
name: t.name,
|
|
85
|
+
description: t.description,
|
|
86
|
+
parameters: compact ? this.stripSchema(t.schema) : t.schema,
|
|
87
|
+
},
|
|
88
|
+
}));
|
|
89
|
+
}
|
|
90
|
+
/** 递归裁剪 JSONSchema:去掉 description/default,只保留 type/enum/required/properties/items */
|
|
91
|
+
stripSchema(s) {
|
|
92
|
+
if (!s || typeof s !== "object") {
|
|
93
|
+
return s;
|
|
94
|
+
}
|
|
95
|
+
const out = {};
|
|
96
|
+
if (s.type) {
|
|
97
|
+
out.type = s.type;
|
|
98
|
+
}
|
|
99
|
+
if (s.enum) {
|
|
100
|
+
out.enum = s.enum;
|
|
101
|
+
}
|
|
102
|
+
if (s.required) {
|
|
103
|
+
out.required = s.required;
|
|
104
|
+
}
|
|
105
|
+
if (s.properties) {
|
|
106
|
+
out.properties = {};
|
|
107
|
+
for (const [k, v] of Object.entries(s.properties)) {
|
|
108
|
+
out.properties[k] = this.stripSchema(v);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
if (s.items) {
|
|
112
|
+
out.items = this.stripSchema(s.items);
|
|
113
|
+
}
|
|
114
|
+
return out;
|
|
115
|
+
}
|
|
116
|
+
// ======================== 缓存 ========================
|
|
117
|
+
cacheKey(name, args) {
|
|
118
|
+
return `${name}:${JSON.stringify(args)}`;
|
|
119
|
+
}
|
|
120
|
+
checkCache(name, args) {
|
|
121
|
+
const key = this.cacheKey(name, args);
|
|
122
|
+
const entry = this._cache.get(key);
|
|
123
|
+
if (entry && (Date.now() - entry.timestamp) < entry.ttlMs) {
|
|
124
|
+
return entry.result;
|
|
125
|
+
}
|
|
126
|
+
this._cache.delete(key);
|
|
127
|
+
return null;
|
|
128
|
+
}
|
|
129
|
+
setCache(name, args, result, ttlMs = 60000) {
|
|
130
|
+
const key = this.cacheKey(name, args);
|
|
131
|
+
this._cache.set(key, { result, timestamp: Date.now(), ttlMs });
|
|
132
|
+
}
|
|
133
|
+
/** 清除缓存(可按工具名精确清除) */
|
|
134
|
+
invalidateCache(name) {
|
|
135
|
+
if (name) {
|
|
136
|
+
for (const [key] of this._cache) {
|
|
137
|
+
if (key.startsWith(`${name}:`)) {
|
|
138
|
+
this._cache.delete(key);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
else {
|
|
143
|
+
this._cache.clear();
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
// ======================== 执行 ========================
|
|
147
|
+
/** 执行单个工具调用 */
|
|
148
|
+
async Execute(toolCall, ctx) {
|
|
149
|
+
const name = toolCall.function.name;
|
|
150
|
+
const tool = this._tools.get(name);
|
|
151
|
+
if (!tool) {
|
|
152
|
+
return `工具 "${name}" 未注册`;
|
|
153
|
+
}
|
|
154
|
+
let args;
|
|
155
|
+
try {
|
|
156
|
+
args = JSON.parse(toolCall.function.arguments);
|
|
157
|
+
}
|
|
158
|
+
catch {
|
|
159
|
+
return `工具 "${name}" 参数解析失败`;
|
|
160
|
+
}
|
|
161
|
+
if (tool.cacheable) {
|
|
162
|
+
const cached = this.checkCache(name, args);
|
|
163
|
+
if (cached) {
|
|
164
|
+
return cached;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
const maxRetries = (tool.retryable && tool.maxRetries) ? tool.maxRetries : 1;
|
|
168
|
+
let lastError = "";
|
|
169
|
+
for (let attempt = 0; attempt < maxRetries; attempt++) {
|
|
170
|
+
try {
|
|
171
|
+
const result = await tool.handler(args);
|
|
172
|
+
if (tool.cacheable) {
|
|
173
|
+
this.setCache(name, args, result);
|
|
174
|
+
}
|
|
175
|
+
return result;
|
|
176
|
+
}
|
|
177
|
+
catch (e) {
|
|
178
|
+
lastError = String(e);
|
|
179
|
+
if (attempt < maxRetries - 1) {
|
|
180
|
+
await new Promise(r => setTimeout(r, 200 * (attempt + 1)));
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
return `工具 "${name}" 执行失败(重试${maxRetries}次): ${lastError}`;
|
|
185
|
+
}
|
|
186
|
+
/** 批量执行(自动分组并行/串行) */
|
|
187
|
+
async ExecuteBatch(toolCalls, ctx) {
|
|
188
|
+
const results = new Map();
|
|
189
|
+
const parallel = [];
|
|
190
|
+
const sequential = [];
|
|
191
|
+
for (const tc of toolCalls) {
|
|
192
|
+
const tool = this._tools.get(tc.function.name);
|
|
193
|
+
if (tool?.parallelizable) {
|
|
194
|
+
parallel.push(tc);
|
|
195
|
+
}
|
|
196
|
+
else {
|
|
197
|
+
sequential.push(tc);
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
if (parallel.length > 0) {
|
|
201
|
+
const parallelResults = await Promise.all(parallel.map(tc => this.Execute(tc, ctx).then(r => ({ id: tc.id, result: r }))));
|
|
202
|
+
for (const { id, result } of parallelResults) {
|
|
203
|
+
results.set(id, result);
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
for (const tc of sequential) {
|
|
207
|
+
const result = await this.Execute(tc, ctx);
|
|
208
|
+
results.set(tc.id, result);
|
|
209
|
+
}
|
|
210
|
+
return results;
|
|
211
|
+
}
|
|
212
|
+
/** 清空全部工具和缓存 */
|
|
213
|
+
clear() {
|
|
214
|
+
this._tools.clear();
|
|
215
|
+
this._cache.clear();
|
|
216
|
+
// RAG 索引随工具清空,但保留 provider 设置
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
exports.ToolModule = ToolModule;
|
|
220
|
+
//# sourceMappingURL=ToolModule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToolModule.js","sourceRoot":"","sources":["../../../src/module/ToolModule/ToolModule.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/** 嵌入向量提供者接口 — 业务层可替换为真实 embedding 模型 */
|
|
2
|
+
export interface IEmbeddingProvider {
|
|
3
|
+
/** 将文本转为向量 */
|
|
4
|
+
embed(text: string): Promise<Array<number>>;
|
|
5
|
+
/** 向量维度 */
|
|
6
|
+
readonly dims: number;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* 工具语义检索器
|
|
10
|
+
* 默认使用关键词匹配(零依赖),业务层可通过 setProvider() 替换为真实 embedding
|
|
11
|
+
*/
|
|
12
|
+
export declare class ToolRAG {
|
|
13
|
+
private _provider;
|
|
14
|
+
private readonly _index;
|
|
15
|
+
/** 是否已加载真实 embedding 提供者 */
|
|
16
|
+
get hasProvider(): boolean;
|
|
17
|
+
/** 设置嵌入提供者(可选,不设则使用内置关键词匹配) */
|
|
18
|
+
setProvider(provider: IEmbeddingProvider): void;
|
|
19
|
+
/** 索引一个工具(注册时调用) */
|
|
20
|
+
index(name: string, description: string): Promise<void>;
|
|
21
|
+
/** 移除工具索引 */
|
|
22
|
+
remove(name: string): void;
|
|
23
|
+
/**
|
|
24
|
+
* 检索最相关的 Top-K 个工具名
|
|
25
|
+
* @param query 用户输入
|
|
26
|
+
* @param candidates 候选工具定义(name + description)
|
|
27
|
+
* @param topK 返回数量
|
|
28
|
+
*/
|
|
29
|
+
search(query: string, candidates: Array<{
|
|
30
|
+
name: string;
|
|
31
|
+
description: string;
|
|
32
|
+
}>, topK?: number): Promise<Array<string>>;
|
|
33
|
+
/** 基于嵌入向量的语义检索 */
|
|
34
|
+
private _semanticSearch;
|
|
35
|
+
/** 内置关键词匹配(零依赖) */
|
|
36
|
+
private _keywordSearch;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=ToolRAG.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToolRAG.d.ts","sourceRoot":"","sources":["../../../src/module/ToolModule/ToolRAG.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,MAAM,WAAW,kBAAkB;IAE/B,cAAc;IACd,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5C,WAAW;IACX,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACzB;AASD;;;GAGG;AACH,qBAAa,OAAO;IAEhB,OAAO,CAAC,SAAS,CAAmC;IACpD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsC;IAE7D,4BAA4B;IAC5B,IAAW,WAAW,IAAI,OAAO,CAAoC;IAErE,+BAA+B;IACxB,WAAW,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI;IAOtD,oBAAoB;IACP,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAYpE,aAAa;IACN,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAKjC;;;;;OAKG;IACU,MAAM,CACf,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,EACxD,IAAI,GAAE,MAAW,GAClB,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAWzB,kBAAkB;YACJ,eAAe;IAiB7B,mBAAmB;IACnB,OAAO,CAAC,cAAc;CA8BzB"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ToolRAG = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* 工具语义检索器
|
|
6
|
+
* 默认使用关键词匹配(零依赖),业务层可通过 setProvider() 替换为真实 embedding
|
|
7
|
+
*/
|
|
8
|
+
class ToolRAG {
|
|
9
|
+
constructor() {
|
|
10
|
+
this._provider = null;
|
|
11
|
+
this._index = new Map();
|
|
12
|
+
}
|
|
13
|
+
/** 是否已加载真实 embedding 提供者 */
|
|
14
|
+
get hasProvider() { return this._provider !== null; }
|
|
15
|
+
/** 设置嵌入提供者(可选,不设则使用内置关键词匹配) */
|
|
16
|
+
setProvider(provider) {
|
|
17
|
+
this._provider = provider;
|
|
18
|
+
// 已有索引需要重建
|
|
19
|
+
this._index.clear();
|
|
20
|
+
}
|
|
21
|
+
/** 索引一个工具(注册时调用) */
|
|
22
|
+
async index(name, description) {
|
|
23
|
+
if (this._provider) {
|
|
24
|
+
const vector = await this._provider.embed(`${name}: ${description}`);
|
|
25
|
+
this._index.set(name, { name, vector });
|
|
26
|
+
}
|
|
27
|
+
// 关键词模式不需要索引,检索时实时计算
|
|
28
|
+
return Promise.resolve();
|
|
29
|
+
}
|
|
30
|
+
/** 移除工具索引 */
|
|
31
|
+
remove(name) {
|
|
32
|
+
this._index.delete(name);
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* 检索最相关的 Top-K 个工具名
|
|
36
|
+
* @param query 用户输入
|
|
37
|
+
* @param candidates 候选工具定义(name + description)
|
|
38
|
+
* @param topK 返回数量
|
|
39
|
+
*/
|
|
40
|
+
async search(query, candidates, topK = 10) {
|
|
41
|
+
if (candidates.length <= topK) {
|
|
42
|
+
return candidates.map(c => c.name);
|
|
43
|
+
}
|
|
44
|
+
if (this._provider) {
|
|
45
|
+
return this._semanticSearch(query, candidates, topK);
|
|
46
|
+
}
|
|
47
|
+
return this._keywordSearch(query, candidates, topK);
|
|
48
|
+
}
|
|
49
|
+
/** 基于嵌入向量的语义检索 */
|
|
50
|
+
async _semanticSearch(query, candidates, topK) {
|
|
51
|
+
const queryVec = await this._provider.embed(query);
|
|
52
|
+
const scored = candidates.map(c => {
|
|
53
|
+
const entry = this._index.get(c.name);
|
|
54
|
+
const score = entry ? _cosineSimilarity(queryVec, entry.vector) : 0;
|
|
55
|
+
return { name: c.name, score };
|
|
56
|
+
});
|
|
57
|
+
scored.sort((a, b) => b.score - a.score);
|
|
58
|
+
return scored.slice(0, topK).map(s => s.name);
|
|
59
|
+
}
|
|
60
|
+
/** 内置关键词匹配(零依赖) */
|
|
61
|
+
_keywordSearch(query, candidates, topK) {
|
|
62
|
+
const keywords = _tokenize(query);
|
|
63
|
+
if (keywords.length === 0) {
|
|
64
|
+
return candidates.slice(0, topK).map(c => c.name);
|
|
65
|
+
}
|
|
66
|
+
const scored = candidates.map(c => {
|
|
67
|
+
const nameTokens = _tokenize(c.name);
|
|
68
|
+
const descTokens = _tokenize(c.description);
|
|
69
|
+
let score = 0;
|
|
70
|
+
for (const kw of keywords) {
|
|
71
|
+
for (const nt of nameTokens) {
|
|
72
|
+
if (nt.includes(kw) || kw.includes(nt)) {
|
|
73
|
+
score += 3;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
for (const dt of descTokens) {
|
|
77
|
+
if (dt.includes(kw) || kw.includes(dt)) {
|
|
78
|
+
score += 1;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
return { name: c.name, score };
|
|
83
|
+
});
|
|
84
|
+
scored.sort((a, b) => b.score - a.score);
|
|
85
|
+
return scored.filter(s => s.score > 0).slice(0, topK).map(s => s.name);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
exports.ToolRAG = ToolRAG;
|
|
89
|
+
/** 简易分词(中文按单字、英文按词) */
|
|
90
|
+
function _tokenize(text) {
|
|
91
|
+
const tokens = [];
|
|
92
|
+
// 提取中文字符
|
|
93
|
+
const cjk = text.match(/[一-鿿㐀-䶿]+/g);
|
|
94
|
+
if (cjk) {
|
|
95
|
+
for (const seg of cjk) {
|
|
96
|
+
// 中文按 1-2 字滑动窗口
|
|
97
|
+
for (let i = 0; i < seg.length; i++) {
|
|
98
|
+
tokens.push(seg.substring(i, i + 2));
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
// 提取英文/数字词
|
|
103
|
+
const en = text.match(/[a-zA-Z0-9_]+/g);
|
|
104
|
+
if (en) {
|
|
105
|
+
for (const w of en) {
|
|
106
|
+
if (w.length > 1) {
|
|
107
|
+
tokens.push(w.toLowerCase());
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
return tokens;
|
|
112
|
+
}
|
|
113
|
+
/** 余弦相似度 */
|
|
114
|
+
function _cosineSimilarity(a, b) {
|
|
115
|
+
let dot = 0, normA = 0, normB = 0;
|
|
116
|
+
for (let i = 0; i < a.length; i++) {
|
|
117
|
+
dot += a[i] * b[i];
|
|
118
|
+
normA += a[i] * a[i];
|
|
119
|
+
normB += b[i] * b[i];
|
|
120
|
+
}
|
|
121
|
+
const denom = Math.sqrt(normA) * Math.sqrt(normB);
|
|
122
|
+
return denom === 0 ? 0 : dot / denom;
|
|
123
|
+
}
|
|
124
|
+
//# sourceMappingURL=ToolRAG.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToolRAG.js","sourceRoot":"","sources":["../../../src/module/ToolModule/ToolRAG.ts"],"names":[],"mappings":";;;AAgBA;;;GAGG;AACH,MAAa,OAAO;IAApB;QAEY,cAAS,GAA8B,IAAI,CAAC;QACnC,WAAM,GAA4B,IAAI,GAAG,EAAE,CAAC;IAsGjE,CAAC;IApGG,4BAA4B;IAC5B,IAAW,WAAW,KAAc,OAAO,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC;IAErE,+BAA+B;IACxB,WAAW,CAAC,QAA4B;QAE3C,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,WAAW;QACX,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;IAED,oBAAoB;IACb,KAAK,CAAC,KAAK,CAAC,IAAY,EAAE,WAAmB;QAEhD,IAAI,IAAI,CAAC,SAAS,EAClB,CAAC;YACG,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,KAAK,WAAW,EAAE,CAAC,CAAC;YACrE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAC5C,CAAC;QACD,qBAAqB;QAErB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,aAAa;IACN,MAAM,CAAC,IAAY;QAEtB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,MAAM,CACf,KAAa,EACb,UAAwD,EACxD,OAAe,EAAE;QAGjB,IAAI,UAAU,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;YAAC,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAAC,CAAC;QAEtE,IAAI,IAAI,CAAC,SAAS,EAClB,CAAC;YACG,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;QACzD,CAAC;QACD,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;IACxD,CAAC;IAED,kBAAkB;IACV,KAAK,CAAC,eAAe,CACzB,KAAa,EACb,UAAwD,EACxD,IAAY;QAGZ,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YAE9B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACtC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,iBAAiB,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACpE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;QACnC,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;QACzC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;IAED,mBAAmB;IACX,cAAc,CAClB,KAAa,EACb,UAAwD,EACxD,IAAY;QAGZ,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAAC,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAAC,CAAC;QAEjF,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YAE9B,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACrC,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAC5C,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,KAAK,MAAM,EAAE,IAAI,QAAQ,EACzB,CAAC;gBACG,KAAK,MAAM,EAAE,IAAI,UAAU,EAC3B,CAAC;oBACG,IAAI,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;wBAAC,KAAK,IAAI,CAAC,CAAC;oBAAC,CAAC;gBAC3D,CAAC;gBACD,KAAK,MAAM,EAAE,IAAI,UAAU,EAC3B,CAAC;oBACG,IAAI,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;wBAAC,KAAK,IAAI,CAAC,CAAC;oBAAC,CAAC;gBAC3D,CAAC;YACL,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;QACnC,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;QACzC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC3E,CAAC;CACJ;AAzGD,0BAyGC;AAED,uBAAuB;AACvB,SAAS,SAAS,CAAC,IAAY;IAE3B,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,SAAS;IACT,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACrC,IAAI,GAAG,EACP,CAAC;QACG,KAAK,MAAM,GAAG,IAAI,GAAG,EACrB,CAAC;YACG,gBAAgB;YAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EACnC,CAAC;gBACG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACzC,CAAC;QACL,CAAC;IACL,CAAC;IACD,WAAW;IACX,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IACxC,IAAI,EAAE,EACN,CAAC;QACG,KAAK,MAAM,CAAC,IAAI,EAAE,EAClB,CAAC;YACG,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;YAAC,CAAC;QACvD,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,YAAY;AACZ,SAAS,iBAAiB,CAAC,CAAgB,EAAE,CAAgB;IAEzD,IAAI,GAAG,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC;IAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EACjC,CAAC;QACG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACnB,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACrB,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClD,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC;AACzC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/module/ToolModule/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
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("./ToolModule"), exports);
|
|
18
|
+
__exportStar(require("./ToolRAG"), exports);
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/module/ToolModule/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,4CAA0B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/module/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC"}
|
package/module/index.js
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
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("./AgentModule"), exports);
|
|
18
|
+
__exportStar(require("./ToolModule"), exports);
|
|
19
|
+
__exportStar(require("./ReasonModule"), exports);
|
|
20
|
+
__exportStar(require("./DialogModule"), exports);
|
|
21
|
+
__exportStar(require("./SkillModule"), exports);
|
|
22
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/module/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,+CAA6B;AAC7B,iDAA+B;AAC/B,iDAA+B;AAC/B,gDAA8B"}
|
package/package.json
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "knight-agent",
|
|
3
|
+
"version": "1.1.0",
|
|
4
|
+
"description": "Knight-agent智能体架构",
|
|
5
|
+
"main": "index.js",
|
|
6
|
+
"scripts": {
|
|
7
|
+
"test": "echo \"Error: no test specified\" && exit 1",
|
|
8
|
+
"authToken": "npm config set //registry.npmjs.org/:_authToken=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",
|
|
9
|
+
"login": "npm login",
|
|
10
|
+
"publish": "npm publish"
|
|
11
|
+
},
|
|
12
|
+
"keywords": [
|
|
13
|
+
"knight",
|
|
14
|
+
"agent",
|
|
15
|
+
"knight-agent"
|
|
16
|
+
],
|
|
17
|
+
"author": "ZiXuWang",
|
|
18
|
+
"license": "MIT"
|
|
19
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/** 接口模块 */
|
|
2
|
+
export declare namespace InterfaceUtility {
|
|
3
|
+
/** 类型泛型接口(构造器签名接口) */
|
|
4
|
+
type IType<T> = new (...args: any[]) => T;
|
|
5
|
+
/** 行为类型泛型接口(类似于C#中的Action使用方法) */
|
|
6
|
+
interface IAction<T = any, K = any, M = any, N = any, Q = any, U = any, V = any, W = any> {
|
|
7
|
+
(t?: T, k?: K, m?: M, n?: N, q?: Q, u?: U, v?: V, w?: W): any;
|
|
8
|
+
}
|
|
9
|
+
/** 事件类型泛型接口(类似于C#中的Event使用方法) */
|
|
10
|
+
interface IEvent<T = any, K = any, M = any, N = any, Q = any, U = any, V = any, W = any> {
|
|
11
|
+
(t?: T, k?: K, m?: M, n?: N, q?: Q, u?: U, v?: V, w?: W): any;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=InterfaceUtility.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InterfaceUtility.d.ts","sourceRoot":"","sources":["../../src/utility/InterfaceUtility.ts"],"names":[],"mappings":"AACA,WAAW;AACX,yBAAiB,gBAAgB,CACjC;IACI,sBAAsB;IACtB,KAAY,KAAK,CAAC,CAAC,IAAI,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IACjD,kCAAkC;IAClC,UAAiB,OAAO,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG;QAE3F,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;KACjE;IACD,iCAAiC;IACjC,UAAiB,MAAM,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG;QAE1F,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;KACjE;CACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InterfaceUtility.js","sourceRoot":"","sources":["../../src/utility/InterfaceUtility.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/*********************************************************************************
|
|
2
|
+
* FileName : LogUtility
|
|
3
|
+
* FileBasename : LogUtility.ts
|
|
4
|
+
* Description : 日志工具
|
|
5
|
+
* Version : V1.0.0
|
|
6
|
+
* Date : Wed Mar 02 2022 17:03:42 GMT+0800 (中国标准时间)
|
|
7
|
+
* Path : db://assets/Script/Utility/LogUtility.ts
|
|
8
|
+
* Author : Seven_9t
|
|
9
|
+
* Others : 修改默认TS脚本模板路径 C:\CocosDashboard_1.0.12\resources\.editors\Creator\<Version>\resources\resources\3d\engine\editor\assets\default_file_content\ts
|
|
10
|
+
* ManualUrl : <指南手册> https://docs.cocos.com/creator/3.4/manual/zh/
|
|
11
|
+
* : <脚本手册> https://docs.cocos.com/creator/3.4/manual/zh/scripting/
|
|
12
|
+
* : <CC类手册> https://docs.cocos.com/creator/3.4/manual/zh/scripting/decorator.html
|
|
13
|
+
* : <生命周期手册>https://docs.cocos.com/creator/3.4/manual/zh/scripting/life-cycle-callbacks.html
|
|
14
|
+
|
|
15
|
+
**********************************************************************************/
|
|
16
|
+
/** 日志工具 */
|
|
17
|
+
export declare namespace LogUtility {
|
|
18
|
+
/** 是否开启日志 */
|
|
19
|
+
let Switch: boolean;
|
|
20
|
+
/** 是否显示堆栈信息 */
|
|
21
|
+
const Stack: boolean;
|
|
22
|
+
/** 系统名称 */
|
|
23
|
+
const Name: string;
|
|
24
|
+
/** 日志标签 */
|
|
25
|
+
const Flag: string;
|
|
26
|
+
/** 设置日志开关 */
|
|
27
|
+
function SetSwitch(_value: boolean): void;
|
|
28
|
+
/** 提示日志 */
|
|
29
|
+
function LogTip(..._message: any[]): void;
|
|
30
|
+
/** 信息日志*/
|
|
31
|
+
function LogInfo(..._message: any[]): void;
|
|
32
|
+
/** 警告日志 */
|
|
33
|
+
function LogWarning(..._message: any[]): void;
|
|
34
|
+
/** 错误日志 */
|
|
35
|
+
function LogError(..._message: any[]): void;
|
|
36
|
+
/** 系统日志 */
|
|
37
|
+
function LogSystem(..._message: any[]): void;
|
|
38
|
+
/** 输出日志 */
|
|
39
|
+
function Print(type: any, _head: string, _color: string, ..._message: any[]): void;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=LogUtility.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LogUtility.d.ts","sourceRoot":"","sources":["../../src/utility/LogUtility.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;mFAcmF;AAEnF,WAAW;AACX,yBAAiB,UAAU,CAC3B;IACI,aAAa;IACN,IAAI,MAAM,EAAE,OAAc,CAAC;IAClC,eAAe;IACR,MAAM,KAAK,EAAE,OAAe,CAAC;IACpC,WAAW;IACJ,MAAM,IAAI,EAAE,MAAkB,CAAC;IACtC,WAAW;IACJ,MAAM,IAAI,EAAE,MAAgB,CAAC;IAEpC,aAAa;IACb,SAAgB,SAAS,CAAC,MAAM,EAAE,OAAO,QAGxC;IACD,WAAW;IACX,SAAgB,MAAM,CAAC,GAAG,QAAQ,EAAE,GAAG,EAAE,QAGxC;IACD,UAAU;IACV,SAAgB,OAAO,CAAC,GAAG,QAAQ,EAAE,GAAG,EAAE,QAGzC;IACD,WAAW;IACX,SAAgB,UAAU,CAAC,GAAG,QAAQ,EAAE,GAAG,EAAE,QAG5C;IACD,WAAW;IACX,SAAgB,QAAQ,CAAC,GAAG,QAAQ,EAAE,GAAG,EAAE,QAG1C;IACD,WAAW;IACX,SAAgB,SAAS,CAAC,GAAG,QAAQ,EAAE,GAAG,EAAE,QAG3C;IACD,WAAW;IACX,SAAgB,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,GAAG,EAAE,QAKjF;CACJ"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*********************************************************************************
|
|
3
|
+
* FileName : LogUtility
|
|
4
|
+
* FileBasename : LogUtility.ts
|
|
5
|
+
* Description : 日志工具
|
|
6
|
+
* Version : V1.0.0
|
|
7
|
+
* Date : Wed Mar 02 2022 17:03:42 GMT+0800 (中国标准时间)
|
|
8
|
+
* Path : db://assets/Script/Utility/LogUtility.ts
|
|
9
|
+
* Author : Seven_9t
|
|
10
|
+
* Others : 修改默认TS脚本模板路径 C:\CocosDashboard_1.0.12\resources\.editors\Creator\<Version>\resources\resources\3d\engine\editor\assets\default_file_content\ts
|
|
11
|
+
* ManualUrl : <指南手册> https://docs.cocos.com/creator/3.4/manual/zh/
|
|
12
|
+
* : <脚本手册> https://docs.cocos.com/creator/3.4/manual/zh/scripting/
|
|
13
|
+
* : <CC类手册> https://docs.cocos.com/creator/3.4/manual/zh/scripting/decorator.html
|
|
14
|
+
* : <生命周期手册>https://docs.cocos.com/creator/3.4/manual/zh/scripting/life-cycle-callbacks.html
|
|
15
|
+
|
|
16
|
+
**********************************************************************************/
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.LogUtility = void 0;
|
|
19
|
+
/** 日志工具 */
|
|
20
|
+
var LogUtility;
|
|
21
|
+
(function (LogUtility) {
|
|
22
|
+
/** 是否开启日志 */
|
|
23
|
+
LogUtility.Switch = true;
|
|
24
|
+
/** 是否显示堆栈信息 */
|
|
25
|
+
LogUtility.Stack = false;
|
|
26
|
+
/** 系统名称 */
|
|
27
|
+
LogUtility.Name = "⚡KNIGHT";
|
|
28
|
+
/** 日志标签 */
|
|
29
|
+
LogUtility.Flag = '⛓️💥';
|
|
30
|
+
/** 设置日志开关 */
|
|
31
|
+
function SetSwitch(_value) {
|
|
32
|
+
// LogUtility.Switch = _value;
|
|
33
|
+
}
|
|
34
|
+
LogUtility.SetSwitch = SetSwitch;
|
|
35
|
+
/** 提示日志 */
|
|
36
|
+
function LogTip(..._message) {
|
|
37
|
+
LogUtility.Print(console.log, "📣提示", '#19be6b', ..._message);
|
|
38
|
+
}
|
|
39
|
+
LogUtility.LogTip = LogTip;
|
|
40
|
+
/** 信息日志*/
|
|
41
|
+
function LogInfo(..._message) {
|
|
42
|
+
LogUtility.Print(console.info, "💬信息", '#2d8cf0', ..._message);
|
|
43
|
+
}
|
|
44
|
+
LogUtility.LogInfo = LogInfo;
|
|
45
|
+
/** 警告日志 */
|
|
46
|
+
function LogWarning(..._message) {
|
|
47
|
+
LogUtility.Print(console.warn, "⚠️警告", '#ff9900', ..._message);
|
|
48
|
+
}
|
|
49
|
+
LogUtility.LogWarning = LogWarning;
|
|
50
|
+
/** 错误日志 */
|
|
51
|
+
function LogError(..._message) {
|
|
52
|
+
LogUtility.Print(console.error, "☣️错误", '#ed4014', ..._message);
|
|
53
|
+
}
|
|
54
|
+
LogUtility.LogError = LogError;
|
|
55
|
+
/** 系统日志 */
|
|
56
|
+
function LogSystem(..._message) {
|
|
57
|
+
LogUtility.Print(console.warn, "⚙️系统", '#7825FF', ..._message);
|
|
58
|
+
}
|
|
59
|
+
LogUtility.LogSystem = LogSystem;
|
|
60
|
+
/** 输出日志 */
|
|
61
|
+
function Print(type, _head, _color, ..._message) {
|
|
62
|
+
if (!LogUtility.Switch) {
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
const _format = [`[${LogUtility.Name}][${_head}]`, ..._message];
|
|
66
|
+
type(..._format);
|
|
67
|
+
}
|
|
68
|
+
LogUtility.Print = Print;
|
|
69
|
+
})(LogUtility || (exports.LogUtility = LogUtility = {}));
|
|
70
|
+
//# sourceMappingURL=LogUtility.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LogUtility.js","sourceRoot":"","sources":["../../src/utility/LogUtility.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;mFAcmF;;;AAEnF,WAAW;AACX,IAAiB,UAAU,CAgD1B;AAhDD,WAAiB,UAAU;IAEvB,aAAa;IACF,iBAAM,GAAY,IAAI,CAAC;IAClC,eAAe;IACF,gBAAK,GAAY,KAAK,CAAC;IACpC,WAAW;IACE,eAAI,GAAW,SAAS,CAAC;IACtC,WAAW;IACE,eAAI,GAAW,OAAO,CAAC;IAEpC,aAAa;IACb,SAAgB,SAAS,CAAC,MAAe;QAErC,8BAA8B;IAClC,CAAC;IAHe,oBAAS,YAGxB,CAAA;IACD,WAAW;IACX,SAAgB,MAAM,CAAC,GAAG,QAAe;QAErC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC,CAAC;IAClE,CAAC;IAHe,iBAAM,SAGrB,CAAA;IACD,UAAU;IACV,SAAgB,OAAO,CAAC,GAAG,QAAe;QAEtC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC,CAAC;IACnE,CAAC;IAHe,kBAAO,UAGtB,CAAA;IACD,WAAW;IACX,SAAgB,UAAU,CAAC,GAAG,QAAe;QAEzC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC,CAAC;IACnE,CAAC;IAHe,qBAAU,aAGzB,CAAA;IACD,WAAW;IACX,SAAgB,QAAQ,CAAC,GAAG,QAAe;QAEvC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC,CAAC;IACpE,CAAC;IAHe,mBAAQ,WAGvB,CAAA;IACD,WAAW;IACX,SAAgB,SAAS,CAAC,GAAG,QAAe;QAExC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC,CAAC;IACnE,CAAC;IAHe,oBAAS,YAGxB,CAAA;IACD,WAAW;IACX,SAAgB,KAAK,CAAC,IAAS,EAAE,KAAa,EAAE,MAAc,EAAE,GAAG,QAAe;QAE9E,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YAAC,OAAO;QAAC,CAAC;QACnC,MAAM,OAAO,GAAa,CAAC,IAAI,UAAU,CAAC,IAAI,KAAK,KAAK,GAAG,EAAE,GAAG,QAAQ,CAAC,CAAC;QAC1E,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;IACrB,CAAC;IALe,gBAAK,QAKpB,CAAA;AACL,CAAC,EAhDgB,UAAU,0BAAV,UAAU,QAgD1B"}
|