flex-mcp 1.0.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/LICENSE +21 -0
- package/README.md +154 -0
- package/dist/api/auth.d.ts +6 -0
- package/dist/api/auth.d.ts.map +1 -0
- package/dist/api/auth.js +111 -0
- package/dist/api/auth.js.map +1 -0
- package/dist/api/configs.d.ts +6 -0
- package/dist/api/configs.d.ts.map +1 -0
- package/dist/api/configs.js +693 -0
- package/dist/api/configs.js.map +1 -0
- package/dist/api/index.d.ts +6 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +24 -0
- package/dist/api/index.js.map +1 -0
- package/dist/api/mcp.d.ts +7 -0
- package/dist/api/mcp.d.ts.map +1 -0
- package/dist/api/mcp.js +46 -0
- package/dist/api/mcp.js.map +1 -0
- package/dist/api/middleware.d.ts +25 -0
- package/dist/api/middleware.d.ts.map +1 -0
- package/dist/api/middleware.js +65 -0
- package/dist/api/middleware.js.map +1 -0
- package/dist/api/prompts.d.ts +6 -0
- package/dist/api/prompts.d.ts.map +1 -0
- package/dist/api/prompts.js +260 -0
- package/dist/api/prompts.js.map +1 -0
- package/dist/api/resources.d.ts +6 -0
- package/dist/api/resources.d.ts.map +1 -0
- package/dist/api/resources.js +159 -0
- package/dist/api/resources.js.map +1 -0
- package/dist/api/tables.d.ts +15 -0
- package/dist/api/tables.d.ts.map +1 -0
- package/dist/api/tables.js +702 -0
- package/dist/api/tables.js.map +1 -0
- package/dist/api/users.d.ts +6 -0
- package/dist/api/users.d.ts.map +1 -0
- package/dist/api/users.js +96 -0
- package/dist/api/users.js.map +1 -0
- package/dist/auth/index.d.ts +15 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +126 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/cli.d.ts +7 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +288 -0
- package/dist/cli.js.map +1 -0
- package/dist/config.d.ts +21 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +54 -0
- package/dist/config.js.map +1 -0
- package/dist/db/index.d.ts +11 -0
- package/dist/db/index.d.ts.map +1 -0
- package/dist/db/index.js +164 -0
- package/dist/db/index.js.map +1 -0
- package/dist/db/schema.d.ts +646 -0
- package/dist/db/schema.d.ts.map +1 -0
- package/dist/db/schema.js +73 -0
- package/dist/db/schema.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +153 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp/aggregator.d.ts +78 -0
- package/dist/mcp/aggregator.d.ts.map +1 -0
- package/dist/mcp/aggregator.js +1266 -0
- package/dist/mcp/aggregator.js.map +1 -0
- package/dist/mcp/component-loader.d.ts +17 -0
- package/dist/mcp/component-loader.d.ts.map +1 -0
- package/dist/mcp/component-loader.js +131 -0
- package/dist/mcp/component-loader.js.map +1 -0
- package/dist/mcp/index.d.ts +7 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +107 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/mcp-client.d.ts +53 -0
- package/dist/mcp/mcp-client.d.ts.map +1 -0
- package/dist/mcp/mcp-client.js +418 -0
- package/dist/mcp/mcp-client.js.map +1 -0
- package/dist/mcp/post-sse-transport.d.ts +52 -0
- package/dist/mcp/post-sse-transport.d.ts.map +1 -0
- package/dist/mcp/post-sse-transport.js +375 -0
- package/dist/mcp/post-sse-transport.js.map +1 -0
- package/dist/mcp/service.d.ts +49 -0
- package/dist/mcp/service.d.ts.map +1 -0
- package/dist/mcp/service.js +358 -0
- package/dist/mcp/service.js.map +1 -0
- package/dist/mcp/tool-sync.d.ts +27 -0
- package/dist/mcp/tool-sync.d.ts.map +1 -0
- package/dist/mcp/tool-sync.js +200 -0
- package/dist/mcp/tool-sync.js.map +1 -0
- package/dist/script/compiler.d.ts +15 -0
- package/dist/script/compiler.d.ts.map +1 -0
- package/dist/script/compiler.js +163 -0
- package/dist/script/compiler.js.map +1 -0
- package/dist/script/context.d.ts +11 -0
- package/dist/script/context.d.ts.map +1 -0
- package/dist/script/context.js +786 -0
- package/dist/script/context.js.map +1 -0
- package/dist/script/executor.d.ts +43 -0
- package/dist/script/executor.d.ts.map +1 -0
- package/dist/script/executor.js +126 -0
- package/dist/script/executor.js.map +1 -0
- package/dist/static.d.ts +21 -0
- package/dist/static.d.ts.map +1 -0
- package/dist/static.js +95 -0
- package/dist/static.js.map +1 -0
- package/dist/types/index.d.ts +337 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +5 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/id.d.ts +5 -0
- package/dist/utils/id.d.ts.map +1 -0
- package/dist/utils/id.js +8 -0
- package/dist/utils/id.js.map +1 -0
- package/dist/utils/logger.d.ts +21 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +31 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/prompt-template.d.ts +15 -0
- package/dist/utils/prompt-template.d.ts.map +1 -0
- package/dist/utils/prompt-template.js +82 -0
- package/dist/utils/prompt-template.js.map +1 -0
- package/dist/utils/telemetry.d.ts +45 -0
- package/dist/utils/telemetry.d.ts.map +1 -0
- package/dist/utils/telemetry.js +245 -0
- package/dist/utils/telemetry.js.map +1 -0
- package/dist/utils/variables.d.ts +24 -0
- package/dist/utils/variables.d.ts.map +1 -0
- package/dist/utils/variables.js +45 -0
- package/dist/utils/variables.js.map +1 -0
- package/package.json +70 -0
|
@@ -0,0 +1,337 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 类型定义(内联版本,用于 npm 发布)
|
|
3
|
+
*/
|
|
4
|
+
export type UserRole = 'admin' | 'user';
|
|
5
|
+
export interface User {
|
|
6
|
+
id: string;
|
|
7
|
+
email: string;
|
|
8
|
+
apiKey: string;
|
|
9
|
+
role: UserRole;
|
|
10
|
+
createdAt: Date;
|
|
11
|
+
updatedAt: Date;
|
|
12
|
+
}
|
|
13
|
+
export interface MCPConfig {
|
|
14
|
+
id: string;
|
|
15
|
+
userId: string;
|
|
16
|
+
name: string;
|
|
17
|
+
components: MCPComponent[];
|
|
18
|
+
customTools: CustomTool[];
|
|
19
|
+
variables: Variable[];
|
|
20
|
+
initScript?: string;
|
|
21
|
+
enableExploreTable?: boolean;
|
|
22
|
+
createdAt: Date;
|
|
23
|
+
updatedAt: Date;
|
|
24
|
+
}
|
|
25
|
+
export interface MCPComponent {
|
|
26
|
+
id: string;
|
|
27
|
+
name: string;
|
|
28
|
+
type: 'npm' | 'url' | 'stdio';
|
|
29
|
+
package?: string;
|
|
30
|
+
version?: string;
|
|
31
|
+
url?: string;
|
|
32
|
+
command?: string;
|
|
33
|
+
args?: string[];
|
|
34
|
+
env?: Record<string, string>;
|
|
35
|
+
namespace?: string;
|
|
36
|
+
disabled?: boolean;
|
|
37
|
+
config?: Record<string, any>;
|
|
38
|
+
}
|
|
39
|
+
export type ToolSource = 'custom' | 'table' | 'mcp' | 'system';
|
|
40
|
+
export interface CustomTool {
|
|
41
|
+
id: string;
|
|
42
|
+
name: string;
|
|
43
|
+
description: string;
|
|
44
|
+
serverScript?: string;
|
|
45
|
+
parameters: ToolParameter[];
|
|
46
|
+
source?: ToolSource;
|
|
47
|
+
}
|
|
48
|
+
export interface ToolParameter {
|
|
49
|
+
name: string;
|
|
50
|
+
type: 'string' | 'number' | 'boolean' | 'object' | 'array';
|
|
51
|
+
description: string;
|
|
52
|
+
required?: boolean;
|
|
53
|
+
default?: any;
|
|
54
|
+
}
|
|
55
|
+
export interface Variable {
|
|
56
|
+
id: string;
|
|
57
|
+
name: string;
|
|
58
|
+
value: string;
|
|
59
|
+
description?: string;
|
|
60
|
+
isSecret?: boolean;
|
|
61
|
+
}
|
|
62
|
+
export interface ApiResponse<T = any> {
|
|
63
|
+
success: boolean;
|
|
64
|
+
data?: T;
|
|
65
|
+
error?: string;
|
|
66
|
+
message?: string;
|
|
67
|
+
}
|
|
68
|
+
export interface LoginRequest {
|
|
69
|
+
email: string;
|
|
70
|
+
apiKey: string;
|
|
71
|
+
}
|
|
72
|
+
export interface AdminLoginRequest {
|
|
73
|
+
username: string;
|
|
74
|
+
password: string;
|
|
75
|
+
}
|
|
76
|
+
export interface AuthToken {
|
|
77
|
+
token: string;
|
|
78
|
+
user: Omit<User, 'apiKey'>;
|
|
79
|
+
}
|
|
80
|
+
export interface MCPTool {
|
|
81
|
+
name: string;
|
|
82
|
+
description: string;
|
|
83
|
+
inputSchema: {
|
|
84
|
+
type: 'object';
|
|
85
|
+
properties: Record<string, any>;
|
|
86
|
+
required?: string[];
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
export interface MCPComponentTool {
|
|
90
|
+
id: string;
|
|
91
|
+
userId: string;
|
|
92
|
+
configId: string;
|
|
93
|
+
componentId: string;
|
|
94
|
+
componentName: string;
|
|
95
|
+
toolName: string;
|
|
96
|
+
originalToolName: string;
|
|
97
|
+
description: string;
|
|
98
|
+
inputSchema: {
|
|
99
|
+
type: 'object';
|
|
100
|
+
properties: Record<string, any>;
|
|
101
|
+
required?: string[];
|
|
102
|
+
};
|
|
103
|
+
disabled: boolean;
|
|
104
|
+
toolPatches?: Record<string, any>;
|
|
105
|
+
createdAt: Date;
|
|
106
|
+
updatedAt: Date;
|
|
107
|
+
}
|
|
108
|
+
export interface MCPPrompt {
|
|
109
|
+
name: string;
|
|
110
|
+
description?: string;
|
|
111
|
+
arguments?: Array<{
|
|
112
|
+
name: string;
|
|
113
|
+
description?: string;
|
|
114
|
+
required?: boolean;
|
|
115
|
+
}>;
|
|
116
|
+
}
|
|
117
|
+
export interface Prompt {
|
|
118
|
+
id: string;
|
|
119
|
+
userId: string;
|
|
120
|
+
name: string;
|
|
121
|
+
description?: string;
|
|
122
|
+
arguments: Array<{
|
|
123
|
+
name: string;
|
|
124
|
+
description?: string;
|
|
125
|
+
required?: boolean;
|
|
126
|
+
}>;
|
|
127
|
+
messages: Array<{
|
|
128
|
+
role: 'user' | 'assistant';
|
|
129
|
+
content: {
|
|
130
|
+
type: 'text';
|
|
131
|
+
text: string;
|
|
132
|
+
};
|
|
133
|
+
}>;
|
|
134
|
+
createdAt: Date;
|
|
135
|
+
updatedAt: Date;
|
|
136
|
+
}
|
|
137
|
+
export type ColumnType = 'string' | 'number' | 'boolean' | 'date' | 'json';
|
|
138
|
+
/**
|
|
139
|
+
* 表列定义
|
|
140
|
+
* @property name - 列名
|
|
141
|
+
* @property type - 列类型:'string' | 'number' | 'boolean' | 'date' | 'json'
|
|
142
|
+
* @property nullable - 是否可为空
|
|
143
|
+
* @property defaultValue - 默认值(可选)
|
|
144
|
+
* @property description - 列说明/描述(可选),用于说明该列的用途和含义
|
|
145
|
+
*/
|
|
146
|
+
export interface TableColumn {
|
|
147
|
+
name: string;
|
|
148
|
+
type: ColumnType;
|
|
149
|
+
nullable: boolean;
|
|
150
|
+
defaultValue?: any;
|
|
151
|
+
description?: string;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* 表定义
|
|
155
|
+
* @property id - 表ID
|
|
156
|
+
* @property name - 表名
|
|
157
|
+
* @property description - 表说明/描述(可选),用于说明该表的用途
|
|
158
|
+
* @property columns - 列定义数组,每个列定义包含列名、类型、是否可为空、默认值和列说明
|
|
159
|
+
* @property allowExplore - 是否允许 AI 探索此表(默认为 true)
|
|
160
|
+
* @property createdAt - 创建时间
|
|
161
|
+
* @property updatedAt - 更新时间
|
|
162
|
+
*/
|
|
163
|
+
export interface TableDefinition {
|
|
164
|
+
id: string;
|
|
165
|
+
name: string;
|
|
166
|
+
description?: string;
|
|
167
|
+
columns: TableColumn[];
|
|
168
|
+
allowExplore?: boolean;
|
|
169
|
+
createdAt: Date;
|
|
170
|
+
updatedAt: Date;
|
|
171
|
+
}
|
|
172
|
+
export interface Context {
|
|
173
|
+
user: {
|
|
174
|
+
id: string;
|
|
175
|
+
email: string;
|
|
176
|
+
role: UserRole;
|
|
177
|
+
createdAt: Date;
|
|
178
|
+
updatedAt: Date;
|
|
179
|
+
};
|
|
180
|
+
mcpClient: {
|
|
181
|
+
headers: Record<string, string>;
|
|
182
|
+
config: Record<string, any>;
|
|
183
|
+
};
|
|
184
|
+
http: {
|
|
185
|
+
get(url: string, options?: any): Promise<any>;
|
|
186
|
+
post(url: string, data?: any, options?: any): Promise<any>;
|
|
187
|
+
put(url: string, data?: any, options?: any): Promise<any>;
|
|
188
|
+
delete(url: string, options?: any): Promise<any>;
|
|
189
|
+
};
|
|
190
|
+
fs: {
|
|
191
|
+
readFile(path: string): Promise<string>;
|
|
192
|
+
writeFile(path: string, content: string): Promise<void>;
|
|
193
|
+
exists(path: string): Promise<boolean>;
|
|
194
|
+
listDir(path: string): Promise<string[]>;
|
|
195
|
+
mkdir(path: string): Promise<void>;
|
|
196
|
+
};
|
|
197
|
+
cmd: {
|
|
198
|
+
exec(command: string, options?: {
|
|
199
|
+
cwd?: string;
|
|
200
|
+
timeout?: number;
|
|
201
|
+
}): Promise<{
|
|
202
|
+
stdout: string;
|
|
203
|
+
stderr: string;
|
|
204
|
+
exitCode: number;
|
|
205
|
+
}>;
|
|
206
|
+
};
|
|
207
|
+
utils: {
|
|
208
|
+
md5(input: string): string;
|
|
209
|
+
};
|
|
210
|
+
ripgrep: {
|
|
211
|
+
/**
|
|
212
|
+
* 搜索文件内容
|
|
213
|
+
*/
|
|
214
|
+
search(pattern: string, options?: {
|
|
215
|
+
/** 工作目录(相对于用户隔离目录) */
|
|
216
|
+
cwd?: string;
|
|
217
|
+
/** 是否大小写敏感 */
|
|
218
|
+
caseSensitive?: boolean;
|
|
219
|
+
/** 是否启用多行匹配 */
|
|
220
|
+
multiline?: boolean;
|
|
221
|
+
/** 文件过滤模式(glob 模式数组) */
|
|
222
|
+
files?: string[];
|
|
223
|
+
/** 排除文件模式(glob 模式数组) */
|
|
224
|
+
excludeFiles?: string[];
|
|
225
|
+
/** 每个文件的最大匹配数 */
|
|
226
|
+
maxCount?: number;
|
|
227
|
+
/** 总结果数的最大限制 */
|
|
228
|
+
maxResults?: number;
|
|
229
|
+
/** 最大递归深度 */
|
|
230
|
+
maxDepth?: number;
|
|
231
|
+
/** 匹配行之前显示的行数 */
|
|
232
|
+
contextBefore?: number;
|
|
233
|
+
/** 匹配行之后显示的行数 */
|
|
234
|
+
contextAfter?: number;
|
|
235
|
+
/** 匹配行前后显示的行数(等同于同时设置 contextBefore 和 contextAfter) */
|
|
236
|
+
context?: number;
|
|
237
|
+
/** 将模式视为固定字符串而非正则表达式 */
|
|
238
|
+
fixedStrings?: boolean;
|
|
239
|
+
/** 只匹配完整的单词 */
|
|
240
|
+
wordRegexp?: boolean;
|
|
241
|
+
/** 文件类型过滤(如:['js', 'ts']) */
|
|
242
|
+
fileTypes?: string[];
|
|
243
|
+
/** 排除的文件类型 */
|
|
244
|
+
excludeTypes?: string[];
|
|
245
|
+
/** 只返回包含匹配的文件名 */
|
|
246
|
+
filesWithMatches?: boolean;
|
|
247
|
+
/** 只返回每个文件的匹配数量 */
|
|
248
|
+
count?: boolean;
|
|
249
|
+
/** 忽略 .gitignore 和 .ignore 文件 */
|
|
250
|
+
noIgnore?: boolean;
|
|
251
|
+
/** 智能大小写:如果模式包含大写字母则大小写敏感 */
|
|
252
|
+
smartCase?: boolean;
|
|
253
|
+
}): Promise<Array<{
|
|
254
|
+
file: string;
|
|
255
|
+
line: number;
|
|
256
|
+
text: string;
|
|
257
|
+
column?: number;
|
|
258
|
+
contextBefore?: string[];
|
|
259
|
+
contextAfter?: string[];
|
|
260
|
+
}>>;
|
|
261
|
+
/**
|
|
262
|
+
* 通过文件名模式搜索文件
|
|
263
|
+
*/
|
|
264
|
+
searchByPath(pattern: string, options?: {
|
|
265
|
+
/** 工作目录(相对于用户隔离目录) */
|
|
266
|
+
cwd?: string;
|
|
267
|
+
/** 是否大小写敏感 */
|
|
268
|
+
caseSensitive?: boolean;
|
|
269
|
+
/** 最大递归深度 */
|
|
270
|
+
maxDepth?: number;
|
|
271
|
+
/** 文件类型过滤(如:['js', 'ts']) */
|
|
272
|
+
fileTypes?: string[];
|
|
273
|
+
/** 排除的文件类型 */
|
|
274
|
+
excludeTypes?: string[];
|
|
275
|
+
/** 排除文件模式(glob 模式数组) */
|
|
276
|
+
excludeFiles?: string[];
|
|
277
|
+
/** 总结果数的最大限制 */
|
|
278
|
+
maxResults?: number;
|
|
279
|
+
/** 忽略 .gitignore 和 .ignore 文件 */
|
|
280
|
+
noIgnore?: boolean;
|
|
281
|
+
}): Promise<string[]>;
|
|
282
|
+
};
|
|
283
|
+
mcp: {
|
|
284
|
+
callTool(toolName: string, args: any): Promise<any>;
|
|
285
|
+
listTools(): Promise<string[]>;
|
|
286
|
+
};
|
|
287
|
+
vars: {
|
|
288
|
+
get(name: string): string;
|
|
289
|
+
has(name: string): boolean;
|
|
290
|
+
getAll(): Record<string, string>;
|
|
291
|
+
set(name: string, value: string, description?: string): void;
|
|
292
|
+
};
|
|
293
|
+
log: {
|
|
294
|
+
info(message: string, ...args: any[]): void;
|
|
295
|
+
error(message: string, ...args: any[]): void;
|
|
296
|
+
warn(message: string, ...args: any[]): void;
|
|
297
|
+
debug(message: string, ...args: any[]): void;
|
|
298
|
+
};
|
|
299
|
+
tables: {
|
|
300
|
+
/**
|
|
301
|
+
* 列出所有表定义
|
|
302
|
+
* @returns 表定义数组,每个表定义包含表名、描述、列定义等信息
|
|
303
|
+
* 列定义(TableColumn)包含列名、类型、是否可为空、默认值和列说明(description)
|
|
304
|
+
*/
|
|
305
|
+
list(): Promise<TableDefinition[]>;
|
|
306
|
+
/**
|
|
307
|
+
* 根据表名获取表定义(包含列说明)
|
|
308
|
+
* @param tableName 表名
|
|
309
|
+
* @returns 表定义对象,包含表名、描述、列定义(含字段说明)等信息
|
|
310
|
+
*/
|
|
311
|
+
getDefinition(tableName: string): Promise<TableDefinition>;
|
|
312
|
+
/**
|
|
313
|
+
* 根据表名获取表的所有行数据
|
|
314
|
+
* @param tableName 表名
|
|
315
|
+
* @returns 表行数据数组,每行是一个包含列名和值的对象
|
|
316
|
+
*/
|
|
317
|
+
get(tableName: string): Promise<Array<Record<string, any>>>;
|
|
318
|
+
/**
|
|
319
|
+
* 根据表名查询表数据,支持过滤
|
|
320
|
+
* @param tableName 表名
|
|
321
|
+
* @param filter 可选的过滤函数,返回 true 的行会被包含在结果中
|
|
322
|
+
* @returns 过滤后的表行数据数组
|
|
323
|
+
*/
|
|
324
|
+
query(tableName: string, filter?: (row: Record<string, any>) => boolean): Promise<Array<Record<string, any>>>;
|
|
325
|
+
};
|
|
326
|
+
sql: {
|
|
327
|
+
/**
|
|
328
|
+
* 执行 SQL 语句
|
|
329
|
+
* 只能访问和操作当前用户的表
|
|
330
|
+
* 支持 SELECT, INSERT, UPDATE, DELETE
|
|
331
|
+
* @param sql SQL 语句
|
|
332
|
+
* @returns SELECT 返回结果数组,其他操作返回 { changes: number, lastInsertRowid?: number }
|
|
333
|
+
*/
|
|
334
|
+
execute(sql: string): Promise<any>;
|
|
335
|
+
};
|
|
336
|
+
}
|
|
337
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"id.d.ts","sourceRoot":"","sources":["../../src/utils/id.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,wBAAgB,UAAU,IAAI,MAAM,CAEnC"}
|
package/dist/utils/id.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"id.js","sourceRoot":"","sources":["../../src/utils/id.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,MAAM,UAAU,UAAU;IACxB,OAAO,MAAM,CAAC,UAAU,EAAE,CAAC;AAC7B,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 统一日志工具
|
|
3
|
+
* 提供统一的日志接口,便于后续扩展(如日志级别、日志文件等)
|
|
4
|
+
*/
|
|
5
|
+
type LogLevel = 'info' | 'warn' | 'error' | 'debug';
|
|
6
|
+
interface Logger {
|
|
7
|
+
info(message: string, ...args: any[]): void;
|
|
8
|
+
warn(message: string, ...args: any[]): void;
|
|
9
|
+
error(message: string, ...args: any[]): void;
|
|
10
|
+
debug(message: string, ...args: any[]): void;
|
|
11
|
+
}
|
|
12
|
+
declare class ConsoleLogger implements Logger {
|
|
13
|
+
private formatMessage;
|
|
14
|
+
info(message: string, ...args: any[]): void;
|
|
15
|
+
warn(message: string, ...args: any[]): void;
|
|
16
|
+
error(message: string, ...args: any[]): void;
|
|
17
|
+
debug(message: string, ...args: any[]): void;
|
|
18
|
+
}
|
|
19
|
+
export declare const logger: ConsoleLogger;
|
|
20
|
+
export type { Logger, LogLevel };
|
|
21
|
+
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,KAAK,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAEpD,UAAU,MAAM;IACd,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAC5C,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAC5C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAC7C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;CAC9C;AAED,cAAM,aAAc,YAAW,MAAM;IACnC,OAAO,CAAC,aAAa;IASrB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAI3C,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAI3C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAI5C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;CAK7C;AAGD,eAAO,MAAM,MAAM,eAAsB,CAAC;AAG1C,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 统一日志工具
|
|
3
|
+
* 提供统一的日志接口,便于后续扩展(如日志级别、日志文件等)
|
|
4
|
+
*/
|
|
5
|
+
class ConsoleLogger {
|
|
6
|
+
formatMessage(level, message, ...args) {
|
|
7
|
+
const timestamp = new Date().toISOString();
|
|
8
|
+
const prefix = `[${timestamp}] [${level.toUpperCase()}]`;
|
|
9
|
+
if (args.length > 0) {
|
|
10
|
+
return `${prefix} ${message} ${args.map(arg => typeof arg === 'object' ? JSON.stringify(arg) : String(arg)).join(' ')}`;
|
|
11
|
+
}
|
|
12
|
+
return `${prefix} ${message}`;
|
|
13
|
+
}
|
|
14
|
+
info(message, ...args) {
|
|
15
|
+
console.log(this.formatMessage('info', message, ...args));
|
|
16
|
+
}
|
|
17
|
+
warn(message, ...args) {
|
|
18
|
+
console.warn(this.formatMessage('warn', message, ...args));
|
|
19
|
+
}
|
|
20
|
+
error(message, ...args) {
|
|
21
|
+
console.error(this.formatMessage('error', message, ...args));
|
|
22
|
+
}
|
|
23
|
+
debug(message, ...args) {
|
|
24
|
+
if (process.env.NODE_ENV === 'development' || process.env.DEBUG === 'true') {
|
|
25
|
+
console.debug(this.formatMessage('debug', message, ...args));
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
// 导出单例 logger
|
|
30
|
+
export const logger = new ConsoleLogger();
|
|
31
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAWH,MAAM,aAAa;IACT,aAAa,CAAC,KAAe,EAAE,OAAe,EAAE,GAAG,IAAW;QACpE,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,IAAI,SAAS,MAAM,KAAK,CAAC,WAAW,EAAE,GAAG,CAAC;QACzD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,OAAO,GAAG,MAAM,IAAI,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1H,CAAC;QACD,OAAO,GAAG,MAAM,IAAI,OAAO,EAAE,CAAC;IAChC,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,GAAG,IAAW;QAClC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,GAAG,IAAW;QAClC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,GAAG,IAAW;QACnC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,GAAG,IAAW;QACnC,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;YAC3E,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;CACF;AAED,cAAc;AACd,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 提示词模板处理工具
|
|
3
|
+
* 支持变量替换和条件逻辑
|
|
4
|
+
*
|
|
5
|
+
* @deprecated 使用 @flex-mcp/shared 中的 processPromptTemplate 代替
|
|
6
|
+
* 此文件保留仅为向后兼容,新代码应直接从 shared 包导入
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* 处理提示词模板,支持变量替换和条件逻辑
|
|
10
|
+
* @param text 模板文本
|
|
11
|
+
* @param args 参数对象
|
|
12
|
+
* @returns 处理后的文本
|
|
13
|
+
*/
|
|
14
|
+
export declare function processPromptTemplate(text: string, args: Record<string, any>): string;
|
|
15
|
+
//# sourceMappingURL=prompt-template.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt-template.d.ts","sourceRoot":"","sources":["../../src/utils/prompt-template.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAsEH;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAIrF"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 提示词模板处理工具
|
|
3
|
+
* 支持变量替换和条件逻辑
|
|
4
|
+
*
|
|
5
|
+
* @deprecated 使用 @flex-mcp/shared 中的 processPromptTemplate 代替
|
|
6
|
+
* 此文件保留仅为向后兼容,新代码应直接从 shared 包导入
|
|
7
|
+
*/
|
|
8
|
+
// 重新导出 shared 包中的函数,保持向后兼容
|
|
9
|
+
// 注意:server 包不使用 shared,所以这里需要内联实现
|
|
10
|
+
// 但为了代码一致性,建议后续迁移到使用 shared 包
|
|
11
|
+
/**
|
|
12
|
+
* 判断值是否为真值
|
|
13
|
+
*/
|
|
14
|
+
function isTruthy(value) {
|
|
15
|
+
if (value === undefined || value === null) {
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
if (typeof value === 'boolean') {
|
|
19
|
+
return value;
|
|
20
|
+
}
|
|
21
|
+
if (typeof value === 'string') {
|
|
22
|
+
return value.trim() !== '';
|
|
23
|
+
}
|
|
24
|
+
if (typeof value === 'number') {
|
|
25
|
+
return value !== 0;
|
|
26
|
+
}
|
|
27
|
+
if (Array.isArray(value)) {
|
|
28
|
+
return value.length > 0;
|
|
29
|
+
}
|
|
30
|
+
if (typeof value === 'object') {
|
|
31
|
+
return Object.keys(value).length > 0;
|
|
32
|
+
}
|
|
33
|
+
return Boolean(value);
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* 处理条件逻辑块
|
|
37
|
+
*/
|
|
38
|
+
function processConditionalBlocks(text, args) {
|
|
39
|
+
let result = text;
|
|
40
|
+
const ifPattern = /\{\{#if\s+(\w+)\}\}([\s\S]*?)(?:\{\{else\}\}([\s\S]*?))?\{\{\/if\}\}/g;
|
|
41
|
+
result = result.replace(ifPattern, (match, varName, ifContent, elseContent) => {
|
|
42
|
+
const value = args[varName];
|
|
43
|
+
if (isTruthy(value)) {
|
|
44
|
+
return ifContent || '';
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
return elseContent || '';
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
const ifnotPattern = /\{\{#ifnot\s+(\w+)\}\}([\s\S]*?)(?:\{\{else\}\}([\s\S]*?))?\{\{\/ifnot\}\}/g;
|
|
51
|
+
result = result.replace(ifnotPattern, (match, varName, ifnotContent, elseContent) => {
|
|
52
|
+
const value = args[varName];
|
|
53
|
+
if (!isTruthy(value)) {
|
|
54
|
+
return ifnotContent || '';
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
return elseContent || '';
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
return result;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* 替换简单变量 {{varName}}
|
|
64
|
+
*/
|
|
65
|
+
function replaceSimpleVariables(text, args) {
|
|
66
|
+
return text.replace(/\{\{(\w+)\}\}/g, (match, varName) => {
|
|
67
|
+
const value = args[varName];
|
|
68
|
+
return value !== undefined && value !== null ? String(value) : match;
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* 处理提示词模板,支持变量替换和条件逻辑
|
|
73
|
+
* @param text 模板文本
|
|
74
|
+
* @param args 参数对象
|
|
75
|
+
* @returns 处理后的文本
|
|
76
|
+
*/
|
|
77
|
+
export function processPromptTemplate(text, args) {
|
|
78
|
+
let result = processConditionalBlocks(text, args);
|
|
79
|
+
result = replaceSimpleVariables(result, args);
|
|
80
|
+
return result;
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=prompt-template.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt-template.js","sourceRoot":"","sources":["../../src/utils/prompt-template.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,2BAA2B;AAC3B,mCAAmC;AACnC,8BAA8B;AAE9B;;GAEG;AACH,SAAS,QAAQ,CAAC,KAAU;IAC1B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC1C,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;IAC7B,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,KAAK,CAAC,CAAC;IACrB,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IAC1B,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,SAAS,wBAAwB,CAAC,IAAY,EAAE,IAAyB;IACvE,IAAI,MAAM,GAAG,IAAI,CAAC;IAElB,MAAM,SAAS,GAAG,uEAAuE,CAAC;IAC1F,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE;QAC5E,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACpB,OAAO,SAAS,IAAI,EAAE,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,OAAO,WAAW,IAAI,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,6EAA6E,CAAC;IACnG,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE;QAClF,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACrB,OAAO,YAAY,IAAI,EAAE,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,OAAO,WAAW,IAAI,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,SAAS,sBAAsB,CAAC,IAAY,EAAE,IAAyB;IACrE,OAAO,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACvD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACvE,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAY,EAAE,IAAyB;IAC3E,IAAI,MAAM,GAAG,wBAAwB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAClD,MAAM,GAAG,sBAAsB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC9C,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 使用统计上报模块(Telemetry)
|
|
3
|
+
*
|
|
4
|
+
* 设计原则:
|
|
5
|
+
* 1. 简单易用:只需调用 report(keypoint, params) 即可
|
|
6
|
+
* 2. 可替换后端:抽象底层实现,支持 PostHog、自定义端点等
|
|
7
|
+
* 3. 完全可选:通过环境变量 DISABLE_TELEMETRY=true 禁用
|
|
8
|
+
* 4. 异步上报:不阻塞主程序
|
|
9
|
+
* 5. 静默失败:上报失败不影响功能
|
|
10
|
+
*
|
|
11
|
+
* 使用方式:
|
|
12
|
+
* import { report } from './utils/telemetry.js';
|
|
13
|
+
* report('tool_called', { tool_name: 'explore_table' });
|
|
14
|
+
*/
|
|
15
|
+
/**
|
|
16
|
+
* 上报参数接口
|
|
17
|
+
*/
|
|
18
|
+
export interface TelemetryParams {
|
|
19
|
+
[key: string]: any;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* 上报事件(公共 API)
|
|
23
|
+
*
|
|
24
|
+
* 说明:
|
|
25
|
+
* - 通用数据(instance_id, version, platform 等)会自动添加到所有上报中
|
|
26
|
+
* - 这些数据在 TelemetryManager 的 metadata 中统一管理
|
|
27
|
+
* - 无需在 params 中重复传递通用数据
|
|
28
|
+
*
|
|
29
|
+
* @param keypoint 事件名称(关键点)
|
|
30
|
+
* @param params 事件参数(只包含事件特定的数据,通用数据会自动添加)
|
|
31
|
+
* @param userId 用户 ID(可选,用于统计用户数量)
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* // 简单上报,通用数据会自动添加
|
|
35
|
+
* report('tool_called', { tool_name: 'explore_table' }, userId);
|
|
36
|
+
*
|
|
37
|
+
* // 通用数据(instance_id, version, platform 等)会自动包含,无需手动添加
|
|
38
|
+
* report('server_start', {});
|
|
39
|
+
*/
|
|
40
|
+
export declare function report(keypoint: string, params?: TelemetryParams, userId?: string): void;
|
|
41
|
+
/**
|
|
42
|
+
* 在启动时上报(延迟执行,不阻塞启动)
|
|
43
|
+
*/
|
|
44
|
+
export declare function reportStartup(): void;
|
|
45
|
+
//# sourceMappingURL=telemetry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../src/utils/telemetry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAMH;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AA0OD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAE,eAAoB,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAO5F;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,IAAI,CAKpC"}
|