@elliotding/ai-agent-mcp 0.1.25 → 0.1.26

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 (237) hide show
  1. package/package.json +4 -1
  2. package/.prompt-cache/cmd-cmd-client-sdk-ai-hub-generate-testcase.md +0 -101
  3. package/.prompt-cache/cmd-cmd-client-sdk-ai-hub-submit_zct_job.md +0 -158
  4. package/.prompt-cache/skill-skill-client-sdk-ai-hub-analyze-conf-status.md +0 -311
  5. package/.prompt-cache/skill-skill-client-sdk-ai-hub-analyze-sdk-log.md +0 -64
  6. package/.prompt-cache/skill-skill-client-sdk-ai-hub-analyze-zmb-log-errors.md +0 -84
  7. package/ai-resource-telemetry.json +0 -40
  8. package/dist/api/cached-client.d.ts +0 -48
  9. package/dist/api/cached-client.d.ts.map +0 -1
  10. package/dist/api/cached-client.js +0 -126
  11. package/dist/api/cached-client.js.map +0 -1
  12. package/dist/api/client.d.ts +0 -281
  13. package/dist/api/client.d.ts.map +0 -1
  14. package/dist/api/client.js +0 -371
  15. package/dist/api/client.js.map +0 -1
  16. package/dist/auth/index.d.ts +0 -8
  17. package/dist/auth/index.d.ts.map +0 -1
  18. package/dist/auth/index.js +0 -26
  19. package/dist/auth/index.js.map +0 -1
  20. package/dist/auth/middleware.d.ts +0 -36
  21. package/dist/auth/middleware.d.ts.map +0 -1
  22. package/dist/auth/middleware.js +0 -194
  23. package/dist/auth/middleware.js.map +0 -1
  24. package/dist/auth/permissions.d.ts +0 -60
  25. package/dist/auth/permissions.d.ts.map +0 -1
  26. package/dist/auth/permissions.js +0 -262
  27. package/dist/auth/permissions.js.map +0 -1
  28. package/dist/auth/token-validator.d.ts +0 -52
  29. package/dist/auth/token-validator.d.ts.map +0 -1
  30. package/dist/auth/token-validator.js +0 -215
  31. package/dist/auth/token-validator.js.map +0 -1
  32. package/dist/cache/cache-manager.d.ts +0 -49
  33. package/dist/cache/cache-manager.d.ts.map +0 -1
  34. package/dist/cache/cache-manager.js +0 -191
  35. package/dist/cache/cache-manager.js.map +0 -1
  36. package/dist/cache/index.d.ts +0 -6
  37. package/dist/cache/index.d.ts.map +0 -1
  38. package/dist/cache/index.js +0 -12
  39. package/dist/cache/index.js.map +0 -1
  40. package/dist/cache/redis-client.d.ts +0 -45
  41. package/dist/cache/redis-client.d.ts.map +0 -1
  42. package/dist/cache/redis-client.js +0 -210
  43. package/dist/cache/redis-client.js.map +0 -1
  44. package/dist/config/constants.d.ts +0 -28
  45. package/dist/config/constants.d.ts.map +0 -1
  46. package/dist/config/constants.js +0 -31
  47. package/dist/config/constants.js.map +0 -1
  48. package/dist/config/index.d.ts +0 -71
  49. package/dist/config/index.d.ts.map +0 -1
  50. package/dist/config/index.js +0 -190
  51. package/dist/config/index.js.map +0 -1
  52. package/dist/filesystem/manager.d.ts +0 -45
  53. package/dist/filesystem/manager.d.ts.map +0 -1
  54. package/dist/filesystem/manager.js +0 -246
  55. package/dist/filesystem/manager.js.map +0 -1
  56. package/dist/git/multi-source-manager.d.ts +0 -78
  57. package/dist/git/multi-source-manager.d.ts.map +0 -1
  58. package/dist/git/multi-source-manager.js +0 -577
  59. package/dist/git/multi-source-manager.js.map +0 -1
  60. package/dist/git/operations.d.ts +0 -27
  61. package/dist/git/operations.d.ts.map +0 -1
  62. package/dist/git/operations.js +0 -83
  63. package/dist/git/operations.js.map +0 -1
  64. package/dist/index.d.ts +0 -6
  65. package/dist/index.d.ts.map +0 -1
  66. package/dist/index.js +0 -122
  67. package/dist/index.js.map +0 -1
  68. package/dist/monitoring/health.d.ts +0 -35
  69. package/dist/monitoring/health.d.ts.map +0 -1
  70. package/dist/monitoring/health.js +0 -105
  71. package/dist/monitoring/health.js.map +0 -1
  72. package/dist/prompts/cache.d.ts +0 -69
  73. package/dist/prompts/cache.d.ts.map +0 -1
  74. package/dist/prompts/cache.js +0 -163
  75. package/dist/prompts/cache.js.map +0 -1
  76. package/dist/prompts/generator.d.ts +0 -49
  77. package/dist/prompts/generator.d.ts.map +0 -1
  78. package/dist/prompts/generator.js +0 -160
  79. package/dist/prompts/generator.js.map +0 -1
  80. package/dist/prompts/index.d.ts +0 -13
  81. package/dist/prompts/index.d.ts.map +0 -1
  82. package/dist/prompts/index.js +0 -24
  83. package/dist/prompts/index.js.map +0 -1
  84. package/dist/prompts/manager.d.ts +0 -207
  85. package/dist/prompts/manager.d.ts.map +0 -1
  86. package/dist/prompts/manager.js +0 -566
  87. package/dist/prompts/manager.js.map +0 -1
  88. package/dist/resources/index.d.ts +0 -6
  89. package/dist/resources/index.d.ts.map +0 -1
  90. package/dist/resources/index.js +0 -10
  91. package/dist/resources/index.js.map +0 -1
  92. package/dist/resources/loader.d.ts +0 -88
  93. package/dist/resources/loader.d.ts.map +0 -1
  94. package/dist/resources/loader.js +0 -492
  95. package/dist/resources/loader.js.map +0 -1
  96. package/dist/server/http.d.ts +0 -57
  97. package/dist/server/http.d.ts.map +0 -1
  98. package/dist/server/http.js +0 -435
  99. package/dist/server/http.js.map +0 -1
  100. package/dist/server.d.ts +0 -13
  101. package/dist/server.d.ts.map +0 -1
  102. package/dist/server.js +0 -201
  103. package/dist/server.js.map +0 -1
  104. package/dist/session/manager.d.ts +0 -91
  105. package/dist/session/manager.d.ts.map +0 -1
  106. package/dist/session/manager.js +0 -251
  107. package/dist/session/manager.js.map +0 -1
  108. package/dist/telemetry/index.d.ts +0 -3
  109. package/dist/telemetry/index.d.ts.map +0 -1
  110. package/dist/telemetry/index.js +0 -7
  111. package/dist/telemetry/index.js.map +0 -1
  112. package/dist/telemetry/manager.d.ts +0 -151
  113. package/dist/telemetry/manager.d.ts.map +0 -1
  114. package/dist/telemetry/manager.js +0 -367
  115. package/dist/telemetry/manager.js.map +0 -1
  116. package/dist/tools/index.d.ts +0 -13
  117. package/dist/tools/index.d.ts.map +0 -1
  118. package/dist/tools/index.js +0 -29
  119. package/dist/tools/index.js.map +0 -1
  120. package/dist/tools/manage-subscription.d.ts +0 -47
  121. package/dist/tools/manage-subscription.d.ts.map +0 -1
  122. package/dist/tools/manage-subscription.js +0 -317
  123. package/dist/tools/manage-subscription.js.map +0 -1
  124. package/dist/tools/registry.d.ts +0 -40
  125. package/dist/tools/registry.d.ts.map +0 -1
  126. package/dist/tools/registry.js +0 -85
  127. package/dist/tools/registry.js.map +0 -1
  128. package/dist/tools/resolve-prompt-content.d.ts +0 -35
  129. package/dist/tools/resolve-prompt-content.d.ts.map +0 -1
  130. package/dist/tools/resolve-prompt-content.js +0 -99
  131. package/dist/tools/resolve-prompt-content.js.map +0 -1
  132. package/dist/tools/search-resources.d.ts +0 -35
  133. package/dist/tools/search-resources.d.ts.map +0 -1
  134. package/dist/tools/search-resources.js +0 -159
  135. package/dist/tools/search-resources.js.map +0 -1
  136. package/dist/tools/sync-resources.d.ts +0 -54
  137. package/dist/tools/sync-resources.d.ts.map +0 -1
  138. package/dist/tools/sync-resources.js +0 -735
  139. package/dist/tools/sync-resources.js.map +0 -1
  140. package/dist/tools/track-usage.d.ts +0 -63
  141. package/dist/tools/track-usage.d.ts.map +0 -1
  142. package/dist/tools/track-usage.js +0 -90
  143. package/dist/tools/track-usage.js.map +0 -1
  144. package/dist/tools/uninstall-resource.d.ts +0 -30
  145. package/dist/tools/uninstall-resource.d.ts.map +0 -1
  146. package/dist/tools/uninstall-resource.js +0 -174
  147. package/dist/tools/uninstall-resource.js.map +0 -1
  148. package/dist/tools/upload-resource.d.ts +0 -81
  149. package/dist/tools/upload-resource.d.ts.map +0 -1
  150. package/dist/tools/upload-resource.js +0 -393
  151. package/dist/tools/upload-resource.js.map +0 -1
  152. package/dist/transport/sse.d.ts +0 -29
  153. package/dist/transport/sse.d.ts.map +0 -1
  154. package/dist/transport/sse.js +0 -271
  155. package/dist/transport/sse.js.map +0 -1
  156. package/dist/types/errors.d.ts +0 -60
  157. package/dist/types/errors.d.ts.map +0 -1
  158. package/dist/types/errors.js +0 -112
  159. package/dist/types/errors.js.map +0 -1
  160. package/dist/types/index.d.ts +0 -7
  161. package/dist/types/index.d.ts.map +0 -1
  162. package/dist/types/index.js +0 -23
  163. package/dist/types/index.js.map +0 -1
  164. package/dist/types/mcp.d.ts +0 -50
  165. package/dist/types/mcp.d.ts.map +0 -1
  166. package/dist/types/mcp.js +0 -6
  167. package/dist/types/mcp.js.map +0 -1
  168. package/dist/types/resources.d.ts +0 -109
  169. package/dist/types/resources.d.ts.map +0 -1
  170. package/dist/types/resources.js +0 -7
  171. package/dist/types/resources.js.map +0 -1
  172. package/dist/types/tools.d.ts +0 -253
  173. package/dist/types/tools.d.ts.map +0 -1
  174. package/dist/types/tools.js +0 -6
  175. package/dist/types/tools.js.map +0 -1
  176. package/dist/utils/cursor-paths.d.ts +0 -84
  177. package/dist/utils/cursor-paths.d.ts.map +0 -1
  178. package/dist/utils/cursor-paths.js +0 -166
  179. package/dist/utils/cursor-paths.js.map +0 -1
  180. package/dist/utils/log-cleaner.d.ts +0 -18
  181. package/dist/utils/log-cleaner.d.ts.map +0 -1
  182. package/dist/utils/log-cleaner.js +0 -112
  183. package/dist/utils/log-cleaner.js.map +0 -1
  184. package/dist/utils/logger.d.ts +0 -59
  185. package/dist/utils/logger.d.ts.map +0 -1
  186. package/dist/utils/logger.js +0 -292
  187. package/dist/utils/logger.js.map +0 -1
  188. package/dist/utils/validation.d.ts +0 -58
  189. package/dist/utils/validation.d.ts.map +0 -1
  190. package/dist/utils/validation.js +0 -214
  191. package/dist/utils/validation.js.map +0 -1
  192. package/src/api/cached-client.ts +0 -144
  193. package/src/api/client.ts +0 -697
  194. package/src/auth/index.ts +0 -11
  195. package/src/auth/middleware.ts +0 -244
  196. package/src/auth/permissions.ts +0 -323
  197. package/src/auth/token-validator.ts +0 -292
  198. package/src/cache/cache-manager.ts +0 -243
  199. package/src/cache/index.ts +0 -6
  200. package/src/cache/redis-client.ts +0 -249
  201. package/src/config/constants.ts +0 -33
  202. package/src/config/index.ts +0 -269
  203. package/src/filesystem/manager.ts +0 -235
  204. package/src/git/multi-source-manager.ts +0 -654
  205. package/src/git/operations.ts +0 -93
  206. package/src/index.ts +0 -157
  207. package/src/monitoring/health.ts +0 -132
  208. package/src/prompts/cache.ts +0 -140
  209. package/src/prompts/generator.ts +0 -143
  210. package/src/prompts/index.ts +0 -20
  211. package/src/prompts/manager.ts +0 -718
  212. package/src/resources/index.ts +0 -13
  213. package/src/resources/loader.ts +0 -563
  214. package/src/server/http.ts +0 -549
  215. package/src/server.ts +0 -206
  216. package/src/session/manager.ts +0 -296
  217. package/src/telemetry/index.ts +0 -10
  218. package/src/telemetry/manager.ts +0 -419
  219. package/src/tools/index.ts +0 -13
  220. package/src/tools/manage-subscription.ts +0 -388
  221. package/src/tools/registry.ts +0 -97
  222. package/src/tools/resolve-prompt-content.ts +0 -113
  223. package/src/tools/search-resources.ts +0 -185
  224. package/src/tools/sync-resources.ts +0 -829
  225. package/src/tools/track-usage.ts +0 -113
  226. package/src/tools/uninstall-resource.ts +0 -199
  227. package/src/tools/upload-resource.ts +0 -431
  228. package/src/transport/sse.ts +0 -308
  229. package/src/types/errors.ts +0 -146
  230. package/src/types/index.ts +0 -7
  231. package/src/types/mcp.ts +0 -61
  232. package/src/types/resources.ts +0 -141
  233. package/src/types/tools.ts +0 -305
  234. package/src/utils/cursor-paths.ts +0 -135
  235. package/src/utils/log-cleaner.ts +0 -92
  236. package/src/utils/logger.ts +0 -333
  237. package/src/utils/validation.ts +0 -262
@@ -1,235 +0,0 @@
1
- /**
2
- * Filesystem Manager
3
- * Atomic filesystem operations for resource management
4
- */
5
-
6
- import * as fs from 'fs/promises';
7
- import * as fsSync from 'fs';
8
- import * as path from 'path';
9
- import { logger } from '../utils/logger';
10
- import { createFileSystemError, createValidationError } from '../types/errors';
11
-
12
- class FilesystemManager {
13
- /**
14
- * Write resource file atomically
15
- */
16
- async writeResource(filePath: string, content: string): Promise<void> {
17
- const tempPath = `${filePath}.tmp`;
18
-
19
- try {
20
- // Ensure directory exists
21
- const dir = path.dirname(filePath);
22
- await fs.mkdir(dir, { recursive: true });
23
-
24
- // Write to temporary file
25
- await fs.writeFile(tempPath, content, 'utf-8');
26
-
27
- // Validate content (basic check)
28
- await this.validateResourceContent(tempPath, content);
29
-
30
- // Atomic rename
31
- await fs.rename(tempPath, filePath);
32
-
33
- logger.debug({ filePath }, 'Resource file written successfully');
34
- } catch (error) {
35
- // Cleanup temporary file
36
- try {
37
- await fs.unlink(tempPath);
38
- } catch {
39
- // Ignore cleanup errors
40
- }
41
-
42
- throw createFileSystemError('write', filePath, error as Error & { code?: string });
43
- }
44
- }
45
-
46
- /**
47
- * Read resource file with validation
48
- */
49
- async readResource(filePath: string): Promise<string> {
50
- try {
51
- // Check if file exists
52
- await fs.access(filePath, fsSync.constants.R_OK);
53
-
54
- // Read file
55
- const content = await fs.readFile(filePath, 'utf-8');
56
-
57
- // Validate format
58
- await this.validateResourceContent(filePath, content);
59
-
60
- return content;
61
- } catch (error) {
62
- throw createFileSystemError('read', filePath, error as Error & { code?: string });
63
- }
64
- }
65
-
66
- /**
67
- * Delete resource file with backup
68
- */
69
- async deleteResource(filePath: string): Promise<void> {
70
- const backupPath = `${filePath}.backup`;
71
-
72
- try {
73
- // Create backup
74
- if (fsSync.existsSync(filePath)) {
75
- await fs.copyFile(filePath, backupPath);
76
- }
77
-
78
- // Delete file
79
- await fs.unlink(filePath);
80
-
81
- // Remove backup on success
82
- try {
83
- await fs.unlink(backupPath);
84
- } catch {
85
- // Ignore backup cleanup errors
86
- }
87
-
88
- logger.debug({ filePath }, 'Resource file deleted successfully');
89
- } catch (error) {
90
- // Restore from backup on failure
91
- try {
92
- if (fsSync.existsSync(backupPath)) {
93
- await fs.copyFile(backupPath, filePath);
94
- await fs.unlink(backupPath);
95
- }
96
- } catch {
97
- // Ignore restore errors
98
- }
99
-
100
- throw createFileSystemError('delete', filePath, error as Error & { code?: string });
101
- }
102
- }
103
-
104
- /**
105
- * Validate resource content
106
- */
107
- private async validateResourceContent(filePath: string, content: string): Promise<void> {
108
- const ext = path.extname(filePath);
109
-
110
- // Check if empty
111
- if (!content || content.trim().length === 0) {
112
- throw createValidationError(filePath, ext, 'File content is empty');
113
- }
114
-
115
- // Validate based on file type
116
- if (ext === '.json') {
117
- try {
118
- JSON.parse(content);
119
- } catch (error) {
120
- throw createValidationError(filePath, 'json', 'Invalid JSON format');
121
- }
122
- } else if (ext === '.md') {
123
- // Basic markdown validation (check for minimum content)
124
- if (content.length < 10) {
125
- throw createValidationError(filePath, 'markdown', 'Markdown content too short');
126
- }
127
- }
128
- }
129
-
130
- /**
131
- * Check if file exists
132
- */
133
- async fileExists(filePath: string): Promise<boolean> {
134
- try {
135
- await fs.access(filePath, fsSync.constants.F_OK);
136
- return true;
137
- } catch {
138
- return false;
139
- }
140
- }
141
-
142
- /**
143
- * List files in directory
144
- */
145
- async listFiles(dirPath: string, pattern?: RegExp): Promise<string[]> {
146
- try {
147
- const files = await fs.readdir(dirPath, { recursive: true });
148
-
149
- if (pattern) {
150
- return files.filter((file) => pattern.test(file));
151
- }
152
-
153
- return files;
154
- } catch (error) {
155
- throw createFileSystemError('list', dirPath, error as Error & { code?: string });
156
- }
157
- }
158
-
159
- /**
160
- * Recursively scan a directory and return all text files as FileEntry[]
161
- * Supported extensions: .md, .mdc, .txt, .yaml, .yml, .json
162
- */
163
- async scanDirectory(dirPath: string): Promise<Array<{ path: string; content: string }>> {
164
- const TEXT_EXTENSIONS = new Set(['.md', '.mdc', '.txt', '.yaml', '.yml', '.json']);
165
- const results: Array<{ path: string; content: string }> = [];
166
-
167
- const walk = async (currentPath: string, relBase: string): Promise<void> => {
168
- let entries: fsSync.Dirent[];
169
- try {
170
- entries = await fs.readdir(currentPath, { withFileTypes: true });
171
- } catch (error) {
172
- throw createFileSystemError('list', currentPath, error as Error & { code?: string });
173
- }
174
-
175
- for (const entry of entries) {
176
- const fullPath = path.join(currentPath, entry.name);
177
- const relPath = path.join(relBase, entry.name);
178
-
179
- if (entry.isDirectory()) {
180
- await walk(fullPath, relPath);
181
- } else if (entry.isFile()) {
182
- const ext = path.extname(entry.name).toLowerCase();
183
- if (TEXT_EXTENSIONS.has(ext)) {
184
- try {
185
- const content = await fs.readFile(fullPath, 'utf-8');
186
- if (content.trim().length > 0) {
187
- results.push({ path: relPath, content });
188
- }
189
- } catch {
190
- // Skip unreadable files silently
191
- logger.warn({ filePath: fullPath }, 'Skipped unreadable file during directory scan');
192
- }
193
- }
194
- }
195
- }
196
- };
197
-
198
- await walk(dirPath, '');
199
-
200
- if (results.length === 0) {
201
- throw createValidationError(
202
- dirPath,
203
- 'directory',
204
- `No text files found in directory: ${dirPath}`
205
- );
206
- }
207
-
208
- logger.debug({ dirPath, fileCount: results.length }, 'Directory scan completed');
209
- return results;
210
- }
211
-
212
- /**
213
- * Remove empty directories recursively
214
- */
215
- async removeEmptyDirs(dirPath: string): Promise<void> {
216
- try {
217
- const files = await fs.readdir(dirPath);
218
-
219
- if (files.length === 0) {
220
- await fs.rmdir(dirPath);
221
- logger.debug({ dirPath }, 'Empty directory removed');
222
-
223
- // Check parent directory
224
- const parentDir = path.dirname(dirPath);
225
- if (parentDir !== dirPath) {
226
- await this.removeEmptyDirs(parentDir);
227
- }
228
- }
229
- } catch (error) {
230
- // Ignore errors (directory might not be empty or already deleted)
231
- }
232
- }
233
- }
234
-
235
- export const filesystemManager = new FilesystemManager();