@cicctencent/agent-server 0.2.74 → 0.2.76

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 (117) hide show
  1. package/dist/cjs/agent/agent-server.d.ts.map +1 -1
  2. package/dist/cjs/agent/agent-server.js +149 -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/mcp/api-bridge-client.d.ts.map +1 -1
  41. package/dist/cjs/mcp/api-bridge-client.js +15 -1
  42. package/dist/cjs/mcp/api-bridge-client.js.map +1 -1
  43. package/dist/cjs/mcp/api-bridge-types.d.ts +15 -0
  44. package/dist/cjs/mcp/api-bridge-types.d.ts.map +1 -1
  45. package/dist/cjs/mcp/body-template.d.ts +2 -0
  46. package/dist/cjs/mcp/body-template.d.ts.map +1 -1
  47. package/dist/cjs/mcp/body-template.js +1 -0
  48. package/dist/cjs/mcp/body-template.js.map +1 -1
  49. package/dist/cjs/mcp/template-builder.d.ts.map +1 -1
  50. package/dist/cjs/mcp/template-builder.js +5 -3
  51. package/dist/cjs/mcp/template-builder.js.map +1 -1
  52. package/dist/cjs/prompt/prompt-builder.d.ts.map +1 -1
  53. package/dist/cjs/prompt/prompt-builder.js +6 -16
  54. package/dist/cjs/prompt/prompt-builder.js.map +1 -1
  55. package/dist/cjs/spi/types.d.ts +2 -0
  56. package/dist/cjs/spi/types.d.ts.map +1 -1
  57. package/dist/cjs/types.d.ts +180 -10
  58. package/dist/cjs/types.d.ts.map +1 -1
  59. package/dist/esm/agent/agent-server.d.ts.map +1 -1
  60. package/dist/esm/agent/agent-server.js +149 -6
  61. package/dist/esm/agent/agent-server.js.map +1 -1
  62. package/dist/esm/connectors/calendar-adapter.d.ts +4 -11
  63. package/dist/esm/connectors/calendar-adapter.d.ts.map +1 -1
  64. package/dist/esm/connectors/calendar-adapter.js +84 -115
  65. package/dist/esm/connectors/calendar-adapter.js.map +1 -1
  66. package/dist/esm/connectors/db-adapter.d.ts +5 -22
  67. package/dist/esm/connectors/db-adapter.d.ts.map +1 -1
  68. package/dist/esm/connectors/db-adapter.js +315 -118
  69. package/dist/esm/connectors/db-adapter.js.map +1 -1
  70. package/dist/esm/connectors/email-adapter.d.ts +12 -14
  71. package/dist/esm/connectors/email-adapter.d.ts.map +1 -1
  72. package/dist/esm/connectors/email-adapter.js +253 -127
  73. package/dist/esm/connectors/email-adapter.js.map +1 -1
  74. package/dist/esm/connectors/fs-adapter.d.ts +3 -9
  75. package/dist/esm/connectors/fs-adapter.d.ts.map +1 -1
  76. package/dist/esm/connectors/fs-adapter.js +77 -87
  77. package/dist/esm/connectors/fs-adapter.js.map +1 -1
  78. package/dist/esm/connectors/http-adapter.d.ts +14 -18
  79. package/dist/esm/connectors/http-adapter.d.ts.map +1 -1
  80. package/dist/esm/connectors/http-adapter.js +260 -135
  81. package/dist/esm/connectors/http-adapter.js.map +1 -1
  82. package/dist/esm/connectors/index.d.ts +4 -2
  83. package/dist/esm/connectors/index.d.ts.map +1 -1
  84. package/dist/esm/connectors/index.js +136 -1
  85. package/dist/esm/connectors/index.js.map +1 -1
  86. package/dist/esm/connectors/mcp-adapter.d.ts +9 -17
  87. package/dist/esm/connectors/mcp-adapter.d.ts.map +1 -1
  88. package/dist/esm/connectors/mcp-adapter.js +153 -136
  89. package/dist/esm/connectors/mcp-adapter.js.map +1 -1
  90. package/dist/esm/connectors/mq-adapter.d.ts +10 -15
  91. package/dist/esm/connectors/mq-adapter.d.ts.map +1 -1
  92. package/dist/esm/connectors/mq-adapter.js +230 -141
  93. package/dist/esm/connectors/mq-adapter.js.map +1 -1
  94. package/dist/esm/index.d.ts +1 -1
  95. package/dist/esm/index.d.ts.map +1 -1
  96. package/dist/esm/index.js +1 -1
  97. package/dist/esm/index.js.map +1 -1
  98. package/dist/esm/mcp/api-bridge-client.d.ts.map +1 -1
  99. package/dist/esm/mcp/api-bridge-client.js +15 -1
  100. package/dist/esm/mcp/api-bridge-client.js.map +1 -1
  101. package/dist/esm/mcp/api-bridge-types.d.ts +15 -0
  102. package/dist/esm/mcp/api-bridge-types.d.ts.map +1 -1
  103. package/dist/esm/mcp/body-template.d.ts +2 -0
  104. package/dist/esm/mcp/body-template.d.ts.map +1 -1
  105. package/dist/esm/mcp/body-template.js +1 -1
  106. package/dist/esm/mcp/body-template.js.map +1 -1
  107. package/dist/esm/mcp/template-builder.d.ts.map +1 -1
  108. package/dist/esm/mcp/template-builder.js +5 -3
  109. package/dist/esm/mcp/template-builder.js.map +1 -1
  110. package/dist/esm/prompt/prompt-builder.d.ts.map +1 -1
  111. package/dist/esm/prompt/prompt-builder.js +6 -16
  112. package/dist/esm/prompt/prompt-builder.js.map +1 -1
  113. package/dist/esm/spi/types.d.ts +2 -0
  114. package/dist/esm/spi/types.d.ts.map +1 -1
  115. package/dist/esm/types.d.ts +180 -10
  116. package/dist/esm/types.d.ts.map +1 -1
  117. 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"}