@cicctencent/agent-server 0.2.73 → 0.2.75

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. package/dist/cjs/agent/agent-server.d.ts.map +1 -1
  2. package/dist/cjs/agent/agent-server.js +90 -6
  3. package/dist/cjs/agent/agent-server.js.map +1 -1
  4. package/dist/cjs/connectors/calendar-adapter.d.ts +4 -11
  5. package/dist/cjs/connectors/calendar-adapter.d.ts.map +1 -1
  6. package/dist/cjs/connectors/calendar-adapter.js +84 -115
  7. package/dist/cjs/connectors/calendar-adapter.js.map +1 -1
  8. package/dist/cjs/connectors/db-adapter.d.ts +5 -22
  9. package/dist/cjs/connectors/db-adapter.d.ts.map +1 -1
  10. package/dist/cjs/connectors/db-adapter.js +316 -119
  11. package/dist/cjs/connectors/db-adapter.js.map +1 -1
  12. package/dist/cjs/connectors/email-adapter.d.ts +12 -14
  13. package/dist/cjs/connectors/email-adapter.d.ts.map +1 -1
  14. package/dist/cjs/connectors/email-adapter.js +286 -127
  15. package/dist/cjs/connectors/email-adapter.js.map +1 -1
  16. package/dist/cjs/connectors/fs-adapter.d.ts +3 -9
  17. package/dist/cjs/connectors/fs-adapter.d.ts.map +1 -1
  18. package/dist/cjs/connectors/fs-adapter.js +77 -87
  19. package/dist/cjs/connectors/fs-adapter.js.map +1 -1
  20. package/dist/cjs/connectors/http-adapter.d.ts +14 -18
  21. package/dist/cjs/connectors/http-adapter.d.ts.map +1 -1
  22. package/dist/cjs/connectors/http-adapter.js +260 -135
  23. package/dist/cjs/connectors/http-adapter.js.map +1 -1
  24. package/dist/cjs/connectors/index.d.ts +4 -2
  25. package/dist/cjs/connectors/index.d.ts.map +1 -1
  26. package/dist/cjs/connectors/index.js +137 -1
  27. package/dist/cjs/connectors/index.js.map +1 -1
  28. package/dist/cjs/connectors/mcp-adapter.d.ts +9 -17
  29. package/dist/cjs/connectors/mcp-adapter.d.ts.map +1 -1
  30. package/dist/cjs/connectors/mcp-adapter.js +186 -136
  31. package/dist/cjs/connectors/mcp-adapter.js.map +1 -1
  32. package/dist/cjs/connectors/mq-adapter.d.ts +10 -15
  33. package/dist/cjs/connectors/mq-adapter.d.ts.map +1 -1
  34. package/dist/cjs/connectors/mq-adapter.js +264 -142
  35. package/dist/cjs/connectors/mq-adapter.js.map +1 -1
  36. package/dist/cjs/index.d.ts +1 -1
  37. package/dist/cjs/index.d.ts.map +1 -1
  38. package/dist/cjs/index.js +4 -3
  39. package/dist/cjs/index.js.map +1 -1
  40. package/dist/cjs/spi/observability-store.d.ts +30 -8
  41. package/dist/cjs/spi/observability-store.d.ts.map +1 -1
  42. package/dist/cjs/spi/observability-store.js +33 -5
  43. package/dist/cjs/spi/observability-store.js.map +1 -1
  44. package/dist/cjs/spi/types.d.ts +2 -0
  45. package/dist/cjs/spi/types.d.ts.map +1 -1
  46. package/dist/cjs/types.d.ts +170 -10
  47. package/dist/cjs/types.d.ts.map +1 -1
  48. package/dist/esm/agent/agent-server.d.ts.map +1 -1
  49. package/dist/esm/agent/agent-server.js +90 -6
  50. package/dist/esm/agent/agent-server.js.map +1 -1
  51. package/dist/esm/connectors/calendar-adapter.d.ts +4 -11
  52. package/dist/esm/connectors/calendar-adapter.d.ts.map +1 -1
  53. package/dist/esm/connectors/calendar-adapter.js +84 -115
  54. package/dist/esm/connectors/calendar-adapter.js.map +1 -1
  55. package/dist/esm/connectors/db-adapter.d.ts +5 -22
  56. package/dist/esm/connectors/db-adapter.d.ts.map +1 -1
  57. package/dist/esm/connectors/db-adapter.js +315 -118
  58. package/dist/esm/connectors/db-adapter.js.map +1 -1
  59. package/dist/esm/connectors/email-adapter.d.ts +12 -14
  60. package/dist/esm/connectors/email-adapter.d.ts.map +1 -1
  61. package/dist/esm/connectors/email-adapter.js +253 -127
  62. package/dist/esm/connectors/email-adapter.js.map +1 -1
  63. package/dist/esm/connectors/fs-adapter.d.ts +3 -9
  64. package/dist/esm/connectors/fs-adapter.d.ts.map +1 -1
  65. package/dist/esm/connectors/fs-adapter.js +77 -87
  66. package/dist/esm/connectors/fs-adapter.js.map +1 -1
  67. package/dist/esm/connectors/http-adapter.d.ts +14 -18
  68. package/dist/esm/connectors/http-adapter.d.ts.map +1 -1
  69. package/dist/esm/connectors/http-adapter.js +260 -135
  70. package/dist/esm/connectors/http-adapter.js.map +1 -1
  71. package/dist/esm/connectors/index.d.ts +4 -2
  72. package/dist/esm/connectors/index.d.ts.map +1 -1
  73. package/dist/esm/connectors/index.js +136 -1
  74. package/dist/esm/connectors/index.js.map +1 -1
  75. package/dist/esm/connectors/mcp-adapter.d.ts +9 -17
  76. package/dist/esm/connectors/mcp-adapter.d.ts.map +1 -1
  77. package/dist/esm/connectors/mcp-adapter.js +153 -136
  78. package/dist/esm/connectors/mcp-adapter.js.map +1 -1
  79. package/dist/esm/connectors/mq-adapter.d.ts +10 -15
  80. package/dist/esm/connectors/mq-adapter.d.ts.map +1 -1
  81. package/dist/esm/connectors/mq-adapter.js +230 -141
  82. package/dist/esm/connectors/mq-adapter.js.map +1 -1
  83. package/dist/esm/index.d.ts +1 -1
  84. package/dist/esm/index.d.ts.map +1 -1
  85. package/dist/esm/index.js +1 -1
  86. package/dist/esm/index.js.map +1 -1
  87. package/dist/esm/spi/observability-store.d.ts +30 -8
  88. package/dist/esm/spi/observability-store.d.ts.map +1 -1
  89. package/dist/esm/spi/observability-store.js +33 -5
  90. package/dist/esm/spi/observability-store.js.map +1 -1
  91. package/dist/esm/spi/types.d.ts +2 -0
  92. package/dist/esm/spi/types.d.ts.map +1 -1
  93. package/dist/esm/types.d.ts +170 -10
  94. package/dist/esm/types.d.ts.map +1 -1
  95. package/package.json +7 -3
@@ -37,159 +37,149 @@ exports.FileSystemAdapter = void 0;
37
37
  /**
38
38
  * 文件系统适配器
39
39
  *
40
- * 生成 list_directory / read_file / search_files / file_info / write_file 工具。
41
- * testConnection 检查根目录是否可访问。
40
+ * 提供目录扫描、文件读取、搜索、信息、写入工具(写入需开启)。
41
+ * 工具通过 executorType(fs-*) 路由到 work-client 运行时执行器(见 mcp.service)。
42
+ *
43
+ * 字段读取兼容规范键(rootPath / allowedExtensions / readOnly)与历史别名(fsRootPath / fsAllowedExtensions / fsWritable)。
42
44
  */
43
45
  const fs = __importStar(require("fs/promises"));
46
+ function readFsConfig(config) {
47
+ return {
48
+ rootPath: config.rootPath || config.fsRootPath,
49
+ allowedExtensions: config.allowedExtensions || config.fsAllowedExtensions,
50
+ // 可写:规范 readOnly 取反,或历史 fsWritable 为真
51
+ writable: config.fsWritable === true || config.readOnly === false,
52
+ };
53
+ }
44
54
  class FileSystemAdapter {
45
55
  type = 'filesystem';
56
+ label = '文件系统';
46
57
  async testConnection(config) {
47
- const rootPath = config.rootPath;
48
- if (!rootPath) {
49
- return {
50
- success: false,
51
- message: '未配置根目录路径',
52
- };
53
- }
58
+ const { rootPath } = readFsConfig(config);
59
+ if (!rootPath)
60
+ return { success: false, message: '未配置根目录路径' };
61
+ const start = Date.now();
54
62
  try {
55
63
  const stat = await fs.stat(rootPath);
56
- if (!stat.isDirectory()) {
57
- return {
58
- success: false,
59
- message: `${rootPath} 不是目录`,
60
- };
61
- }
64
+ if (!stat.isDirectory())
65
+ return { success: false, message: `${rootPath} 不是目录` };
62
66
  const entries = await fs.readdir(rootPath);
63
67
  return {
64
68
  success: true,
65
69
  message: `连接成功,根目录包含 ${entries.length} 个条目`,
66
70
  resources: entries.slice(0, 50),
71
+ latency: Date.now() - start,
72
+ info: { rootPath, entryCount: entries.length, writable: readFsConfig(config).writable },
67
73
  };
68
74
  }
69
75
  catch (err) {
70
- return {
71
- success: false,
72
- message: '无法访问根目录',
73
- error: err.message,
74
- };
76
+ return { success: false, message: '无法访问根目录', error: err.message, latency: Date.now() - start };
75
77
  }
76
78
  }
77
79
  async discoverTools(config) {
78
- const readOnly = config.readOnly !== false;
80
+ const { rootPath, allowedExtensions, writable } = readFsConfig(config);
81
+ const rootLabel = rootPath || '指定目录';
79
82
  const tools = [
80
83
  {
81
- name: 'list_directory',
82
- description: `列出指定目录下的文件和子目录(根目录: ${config.rootPath})`,
84
+ name: 'fs_list_directory',
85
+ description: `列出 ${rootLabel} 下的目录和文件`,
83
86
  inputSchema: {
84
87
  type: 'object',
85
88
  properties: {
86
- dirPath: {
87
- type: 'string',
88
- description: '相对于根目录的路径,默认为根目录',
89
- default: '.',
90
- },
89
+ relative_path: { type: 'string', description: '相对于根目录的子路径,默认 "."(根目录本身)' },
90
+ recursive: { type: 'boolean', description: '是否递归列出子目录,默认 false' },
91
+ max_depth: { type: 'number', description: '递归最大深度,默认 3' },
91
92
  },
92
93
  },
94
+ executorType: 'fs-list',
95
+ executorMeta: { rootPath, allowedExtensions },
93
96
  },
94
97
  {
95
- name: 'read_file',
96
- description: '读取文件内容',
98
+ name: 'fs_read_file',
99
+ description: `读取 ${rootLabel} 下的文件内容`,
97
100
  inputSchema: {
98
101
  type: 'object',
99
102
  properties: {
100
- filePath: {
101
- type: 'string',
102
- description: '相对于根目录的文件路径',
103
- },
104
- encoding: {
105
- type: 'string',
106
- description: '文件编码',
107
- default: 'utf-8',
108
- },
103
+ relative_path: { type: 'string', description: '相对于根目录的文件路径' },
104
+ encoding: { type: 'string', description: '文件编码: utf-8(默认)或 base64', enum: ['utf-8', 'base64'] },
105
+ max_size: { type: 'number', description: '最大读取大小(字节),默认 1MB' },
109
106
  },
110
- required: ['filePath'],
107
+ required: ['relative_path'],
111
108
  },
109
+ executorType: 'fs-read',
110
+ executorMeta: { rootPath, allowedExtensions },
112
111
  },
113
112
  {
114
- name: 'search_files',
115
- description: '按名称模式搜索文件',
113
+ name: 'fs_search_files',
114
+ description: `在 ${rootLabel} 下按文件名模式搜索文件`,
116
115
  inputSchema: {
117
116
  type: 'object',
118
117
  properties: {
119
- pattern: {
120
- type: 'string',
121
- description: '文件名匹配模式(支持 * 通配符)',
122
- },
123
- dirPath: {
124
- type: 'string',
125
- description: '搜索起始目录(相对于根目录)',
126
- default: '.',
127
- },
118
+ pattern: { type: 'string', description: '文件名匹配模式(支持 * 和 ? 通配符),如 "*.ts" 或 "config.*"' },
119
+ relative_path: { type: 'string', description: '搜索起始子路径,默认根目录' },
120
+ max_results: { type: 'number', description: '最大返回结果数,默认 50' },
128
121
  },
129
122
  required: ['pattern'],
130
123
  },
124
+ executorType: 'fs-search',
125
+ executorMeta: { rootPath, allowedExtensions },
131
126
  },
132
127
  {
133
- name: 'file_info',
134
- description: '获取文件或目录的元信息',
128
+ name: 'fs_file_info',
129
+ description: `获取 ${rootLabel} 下文件/目录的元信息(大小、修改时间、权限等)`,
135
130
  inputSchema: {
136
131
  type: 'object',
137
- properties: {
138
- filePath: {
139
- type: 'string',
140
- description: '相对于根目录的路径',
141
- },
142
- },
143
- required: ['filePath'],
132
+ properties: { relative_path: { type: 'string', description: '相对于根目录的路径' } },
133
+ required: ['relative_path'],
144
134
  },
135
+ executorType: 'fs-info',
136
+ executorMeta: { rootPath },
145
137
  },
146
138
  ];
147
- if (!readOnly) {
139
+ if (writable) {
148
140
  tools.push({
149
- name: 'write_file',
150
- description: '写入内容到文件',
141
+ name: 'fs_write_file',
142
+ description: `写入文件到 ${rootLabel}(覆盖或追加)`,
151
143
  inputSchema: {
152
144
  type: 'object',
153
145
  properties: {
154
- filePath: {
155
- type: 'string',
156
- description: '相对于根目录的文件路径',
157
- },
158
- content: {
159
- type: 'string',
160
- description: '文件内容',
161
- },
146
+ relative_path: { type: 'string', description: '相对于根目录的文件路径' },
147
+ content: { type: 'string', description: '写入内容' },
148
+ append: { type: 'boolean', description: '是否追加模式,默认 false(覆盖)' },
162
149
  },
163
- required: ['filePath', 'content'],
150
+ required: ['relative_path', 'content'],
164
151
  },
152
+ executorType: 'fs-write',
153
+ executorMeta: { rootPath },
165
154
  });
166
155
  }
167
156
  return tools;
168
157
  }
169
- async generateManifest(config) {
170
- const tools = await this.discoverTools(config);
158
+ generateManifest(config, _tools) {
159
+ const { rootPath, allowedExtensions, writable } = readFsConfig(config);
171
160
  return {
172
- tools,
173
- metadata: {
174
- rootPath: config.rootPath,
175
- readOnly: config.readOnly,
176
- allowedExtensions: config.allowedExtensions,
161
+ name: config.name,
162
+ description: config.description || `文件系统连接器 — ${rootPath}`,
163
+ category: 'data',
164
+ version: '1.0.0',
165
+ icon: 'folder2-open',
166
+ enabled: true,
167
+ dataSourceType: 'filesystem',
168
+ dataSourceConfig: {
169
+ rootPath,
170
+ allowedExtensions,
171
+ readOnly: !writable,
177
172
  },
178
173
  };
179
174
  }
180
- async generateMCPServerConfigs(config) {
181
- const tools = await this.discoverTools(config);
175
+ generateMCPServerConfigs(_config, tools) {
182
176
  return [
183
177
  {
184
- name: `fs-${config.name || 'default'}`,
178
+ name: 'fs-tools',
185
179
  transport: 'stdio',
186
180
  command: 'node',
187
181
  args: ['-e', '/* MCP server for filesystem */'],
188
- env: {
189
- FS_ROOT: config.rootPath || '',
190
- FS_READ_ONLY: String(config.readOnly ?? true),
191
- },
192
- tools,
182
+ tools: tools || [],
193
183
  },
194
184
  ];
195
185
  }
@@ -1 +1 @@
1
- {"version":3,"file":"fs-adapter.js","sourceRoot":"","sources":["../../../src/connectors/fs-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fs-adapter.js","sourceRoot":"","sources":["../../../src/connectors/fs-adapter.ts"],"names":[],"mappings":"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"}
@@ -1,30 +1,26 @@
1
1
  /**
2
2
  * HTTP API 适配器
3
3
  *
4
- * 支持 manual(手动定义端点)和 openapi(从 OpenAPI spec 解析)两种模式。
5
- * testConnection 尝试请求 baseUrl,discoverTools 将端点转为工具定义。
4
+ * 支持 manual(手动定义端点)/ openapi(导入 OpenAPI 文档)两种模式,多服务实例。
5
+ * 工具通过 executorType(http-api) 路由到 work-client 运行时 api-bridge 执行器(见 mcp.service)。
6
+ *
7
+ * 字段读取兼容规范键(baseUrl / endpoints[{ path, bodySchema, querySchema }] / authToken / authType)
8
+ * 与历史别名(apiRoot / endpoints[{ entry, parameters }] / httpMode / openapiUrl / auth)。
6
9
  */
7
10
  import type { DataSourceConfig, DiscoveredTool, ConnectionTestResult, DataSourceAdapter, MCPServerConfig } from '../types.js';
8
11
  export declare class HTTPAPIAdapter implements DataSourceAdapter {
9
12
  readonly type: "http-api";
13
+ readonly label = "HTTP \u670D\u52A1";
10
14
  testConnection(config: DataSourceConfig): Promise<ConnectionTestResult>;
11
15
  discoverTools(config: DataSourceConfig): Promise<DiscoveredTool[]>;
12
- generateManifest(config: DataSourceConfig): Promise<{
13
- tools: DiscoveredTool[];
14
- metadata: {
15
- apiMode: "manual" | "openapi";
16
- serviceCount: number;
17
- endpointCount: number;
18
- };
19
- }>;
20
- generateMCPServerConfigs(config: DataSourceConfig): Promise<MCPServerConfig[]>;
21
- /** 收集所有端点 */
22
- private collectEndpoints;
23
- /** 解析 OpenAPI spec */
24
- private parseOpenAPI;
25
- /** 构建请求头 */
26
- private buildHeaders;
27
- /** 将端点名转为合法工具名 */
16
+ generateManifest(config: DataSourceConfig, _tools?: DiscoveredTool[]): Record<string, unknown>;
17
+ generateMCPServerConfigs(config: DataSourceConfig, tools?: DiscoveredTool[]): MCPServerConfig[];
18
+ private buildAuthHeaders;
19
+ private discoverFromEndpoints;
20
+ private discoverFromOpenAPI;
21
+ private getBasePath;
22
+ private generateOperationId;
28
23
  private sanitizeToolName;
24
+ private buildBodyTemplate;
29
25
  }
30
26
  //# sourceMappingURL=http-adapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"http-adapter.d.ts","sourceRoot":"","sources":["../../../src/connectors/http-adapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EACR,gBAAgB,EAChB,cAAc,EACd,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,EAElB,MAAM,aAAa,CAAC;AAErB,qBAAa,cAAe,YAAW,iBAAiB;IACpD,QAAQ,CAAC,IAAI,EAAG,UAAU,CAAU;IAE9B,cAAc,CAChB,MAAM,EAAE,gBAAgB,GACzB,OAAO,CAAC,oBAAoB,CAAC;IAsC1B,aAAa,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAiDlE,gBAAgB,CAAC,MAAM,EAAE,gBAAgB;;;;;;;;IAYzC,wBAAwB,CAC1B,MAAM,EAAE,gBAAgB,GACzB,OAAO,CAAC,eAAe,EAAE,CAAC;IAgB7B,aAAa;YACC,gBAAgB;IAgB9B,sBAAsB;YACR,YAAY;IAiD1B,YAAY;IACZ,OAAO,CAAC,YAAY;IA8BpB,kBAAkB;IAClB,OAAO,CAAC,gBAAgB;CAO3B"}
1
+ {"version":3,"file":"http-adapter.d.ts","sourceRoot":"","sources":["../../../src/connectors/http-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EACV,gBAAgB,EAChB,cAAc,EACd,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,EAGhB,MAAM,aAAa,CAAC;AAiCrB,qBAAa,cAAe,YAAW,iBAAiB;IACtD,QAAQ,CAAC,IAAI,EAAG,UAAU,CAAU;IACpC,QAAQ,CAAC,KAAK,uBAAa;IAErB,cAAc,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IA8BvE,aAAa,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAcxE,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,EAAE,MAAM,CAAC,EAAE,cAAc,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAc9F,wBAAwB,CAAC,MAAM,EAAE,gBAAgB,EAAE,KAAK,CAAC,EAAE,cAAc,EAAE,GAAG,eAAe,EAAE;IAsD/F,OAAO,CAAC,gBAAgB;IAaxB,OAAO,CAAC,qBAAqB;YAyCf,mBAAmB;IAwDjC,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,iBAAiB;CAM1B"}