@eui/mcp 1.0.3

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 (191) hide show
  1. package/README.md +846 -0
  2. package/dist/config/index.d.ts +6 -0
  3. package/dist/config/index.d.ts.map +1 -0
  4. package/dist/config/index.js +6 -0
  5. package/dist/config/index.js.map +1 -0
  6. package/dist/config/loader.d.ts +27 -0
  7. package/dist/config/loader.d.ts.map +1 -0
  8. package/dist/config/loader.js +224 -0
  9. package/dist/config/loader.js.map +1 -0
  10. package/dist/config/schema.d.ts +171 -0
  11. package/dist/config/schema.d.ts.map +1 -0
  12. package/dist/config/schema.js +100 -0
  13. package/dist/config/schema.js.map +1 -0
  14. package/dist/index.d.ts +3 -0
  15. package/dist/index.d.ts.map +1 -0
  16. package/dist/index.js +45 -0
  17. package/dist/index.js.map +1 -0
  18. package/dist/loader/cache-manager.d.ts +74 -0
  19. package/dist/loader/cache-manager.d.ts.map +1 -0
  20. package/dist/loader/cache-manager.js +107 -0
  21. package/dist/loader/cache-manager.js.map +1 -0
  22. package/dist/loader/documentation-loader.d.ts +57 -0
  23. package/dist/loader/documentation-loader.d.ts.map +1 -0
  24. package/dist/loader/documentation-loader.js +81 -0
  25. package/dist/loader/documentation-loader.js.map +1 -0
  26. package/dist/loader/documentation-source.d.ts +37 -0
  27. package/dist/loader/documentation-source.d.ts.map +1 -0
  28. package/dist/loader/documentation-source.js +2 -0
  29. package/dist/loader/documentation-source.js.map +1 -0
  30. package/dist/loader/errors.d.ts +34 -0
  31. package/dist/loader/errors.d.ts.map +1 -0
  32. package/dist/loader/errors.js +65 -0
  33. package/dist/loader/errors.js.map +1 -0
  34. package/dist/loader/http-client.d.ts +43 -0
  35. package/dist/loader/http-client.d.ts.map +1 -0
  36. package/dist/loader/http-client.js +144 -0
  37. package/dist/loader/http-client.js.map +1 -0
  38. package/dist/loader/index.d.ts +6 -0
  39. package/dist/loader/index.d.ts.map +1 -0
  40. package/dist/loader/index.js +5 -0
  41. package/dist/loader/index.js.map +1 -0
  42. package/dist/loader/local-documentation-source.d.ts +62 -0
  43. package/dist/loader/local-documentation-source.d.ts.map +1 -0
  44. package/dist/loader/local-documentation-source.js +190 -0
  45. package/dist/loader/local-documentation-source.js.map +1 -0
  46. package/dist/loader/path-type-detector.d.ts +34 -0
  47. package/dist/loader/path-type-detector.d.ts.map +1 -0
  48. package/dist/loader/path-type-detector.js +78 -0
  49. package/dist/loader/path-type-detector.js.map +1 -0
  50. package/dist/loader/remote-documentation-source.d.ts +112 -0
  51. package/dist/loader/remote-documentation-source.d.ts.map +1 -0
  52. package/dist/loader/remote-documentation-source.js +252 -0
  53. package/dist/loader/remote-documentation-source.js.map +1 -0
  54. package/dist/main.d.ts +3 -0
  55. package/dist/main.d.ts.map +1 -0
  56. package/dist/main.js +211 -0
  57. package/dist/main.js.map +1 -0
  58. package/dist/mcp/index.d.ts +5 -0
  59. package/dist/mcp/index.d.ts.map +1 -0
  60. package/dist/mcp/index.js +5 -0
  61. package/dist/mcp/index.js.map +1 -0
  62. package/dist/mcp/server.d.ts +65 -0
  63. package/dist/mcp/server.d.ts.map +1 -0
  64. package/dist/mcp/server.js +224 -0
  65. package/dist/mcp/server.js.map +1 -0
  66. package/dist/publish/index.d.ts +8 -0
  67. package/dist/publish/index.d.ts.map +1 -0
  68. package/dist/publish/index.js +8 -0
  69. package/dist/publish/index.js.map +1 -0
  70. package/dist/publish/publish-utils.d.ts +74 -0
  71. package/dist/publish/publish-utils.d.ts.map +1 -0
  72. package/dist/publish/publish-utils.js +170 -0
  73. package/dist/publish/publish-utils.js.map +1 -0
  74. package/dist/query/component-query.d.ts +33 -0
  75. package/dist/query/component-query.d.ts.map +1 -0
  76. package/dist/query/component-query.js +63 -0
  77. package/dist/query/component-query.js.map +1 -0
  78. package/dist/query/index-builder.d.ts +79 -0
  79. package/dist/query/index-builder.d.ts.map +1 -0
  80. package/dist/query/index-builder.js +217 -0
  81. package/dist/query/index-builder.js.map +1 -0
  82. package/dist/query/index.d.ts +5 -0
  83. package/dist/query/index.d.ts.map +1 -0
  84. package/dist/query/index.js +6 -0
  85. package/dist/query/index.js.map +1 -0
  86. package/dist/query/result-formatter.d.ts +108 -0
  87. package/dist/query/result-formatter.d.ts.map +1 -0
  88. package/dist/query/result-formatter.js +165 -0
  89. package/dist/query/result-formatter.js.map +1 -0
  90. package/dist/query/search-engine.d.ts +54 -0
  91. package/dist/query/search-engine.d.ts.map +1 -0
  92. package/dist/query/search-engine.js +178 -0
  93. package/dist/query/search-engine.js.map +1 -0
  94. package/dist/test-error.ts +1 -0
  95. package/dist/tools/get-component-docs.d.ts +43 -0
  96. package/dist/tools/get-component-docs.d.ts.map +1 -0
  97. package/dist/tools/get-component-docs.js +55 -0
  98. package/dist/tools/get-component-docs.js.map +1 -0
  99. package/dist/tools/get-component-examples.d.ts +45 -0
  100. package/dist/tools/get-component-examples.d.ts.map +1 -0
  101. package/dist/tools/get-component-examples.js +56 -0
  102. package/dist/tools/get-component-examples.js.map +1 -0
  103. package/dist/tools/get-component-inputs.d.ts +44 -0
  104. package/dist/tools/get-component-inputs.d.ts.map +1 -0
  105. package/dist/tools/get-component-inputs.js +55 -0
  106. package/dist/tools/get-component-inputs.js.map +1 -0
  107. package/dist/tools/get-component-outputs.d.ts +44 -0
  108. package/dist/tools/get-component-outputs.d.ts.map +1 -0
  109. package/dist/tools/get-component-outputs.js +55 -0
  110. package/dist/tools/get-component-outputs.js.map +1 -0
  111. package/dist/tools/index.d.ts +7 -0
  112. package/dist/tools/index.d.ts.map +1 -0
  113. package/dist/tools/index.js +8 -0
  114. package/dist/tools/index.js.map +1 -0
  115. package/dist/tools/list-components.d.ts +69 -0
  116. package/dist/tools/list-components.d.ts.map +1 -0
  117. package/dist/tools/list-components.js +84 -0
  118. package/dist/tools/list-components.js.map +1 -0
  119. package/dist/tools/search-components.d.ts +69 -0
  120. package/dist/tools/search-components.d.ts.map +1 -0
  121. package/dist/tools/search-components.js +98 -0
  122. package/dist/tools/search-components.js.map +1 -0
  123. package/dist/types/compodoc.d.ts +261 -0
  124. package/dist/types/compodoc.d.ts.map +1 -0
  125. package/dist/types/compodoc.js +5 -0
  126. package/dist/types/compodoc.js.map +1 -0
  127. package/dist/types/index.d.ts +5 -0
  128. package/dist/types/index.d.ts.map +1 -0
  129. package/dist/types/index.js +5 -0
  130. package/dist/types/index.js.map +1 -0
  131. package/dist/utils/circuit-breaker.d.ts +91 -0
  132. package/dist/utils/circuit-breaker.d.ts.map +1 -0
  133. package/dist/utils/circuit-breaker.js +186 -0
  134. package/dist/utils/circuit-breaker.js.map +1 -0
  135. package/dist/utils/credential-masking.d.ts +90 -0
  136. package/dist/utils/credential-masking.d.ts.map +1 -0
  137. package/dist/utils/credential-masking.js +202 -0
  138. package/dist/utils/credential-masking.js.map +1 -0
  139. package/dist/utils/error-handler.d.ts +68 -0
  140. package/dist/utils/error-handler.d.ts.map +1 -0
  141. package/dist/utils/error-handler.js +184 -0
  142. package/dist/utils/error-handler.js.map +1 -0
  143. package/dist/utils/errors.d.ts +156 -0
  144. package/dist/utils/errors.d.ts.map +1 -0
  145. package/dist/utils/errors.js +242 -0
  146. package/dist/utils/errors.js.map +1 -0
  147. package/dist/utils/index.d.ts +10 -0
  148. package/dist/utils/index.d.ts.map +1 -0
  149. package/dist/utils/index.js +16 -0
  150. package/dist/utils/index.js.map +1 -0
  151. package/dist/utils/logger.d.ts +76 -0
  152. package/dist/utils/logger.d.ts.map +1 -0
  153. package/dist/utils/logger.js +150 -0
  154. package/dist/utils/logger.js.map +1 -0
  155. package/dist/utils/retry.d.ts +19 -0
  156. package/dist/utils/retry.d.ts.map +1 -0
  157. package/dist/utils/retry.js +81 -0
  158. package/dist/utils/retry.js.map +1 -0
  159. package/dist/version/changelog-file-utils.d.ts +69 -0
  160. package/dist/version/changelog-file-utils.d.ts.map +1 -0
  161. package/dist/version/changelog-file-utils.js +161 -0
  162. package/dist/version/changelog-file-utils.js.map +1 -0
  163. package/dist/version/changelog-utils.d.ts +98 -0
  164. package/dist/version/changelog-utils.d.ts.map +1 -0
  165. package/dist/version/changelog-utils.js +198 -0
  166. package/dist/version/changelog-utils.js.map +1 -0
  167. package/dist/version/dry-run-utils.d.ts +108 -0
  168. package/dist/version/dry-run-utils.d.ts.map +1 -0
  169. package/dist/version/dry-run-utils.js +126 -0
  170. package/dist/version/dry-run-utils.js.map +1 -0
  171. package/dist/version/git-tag-utils.d.ts +50 -0
  172. package/dist/version/git-tag-utils.d.ts.map +1 -0
  173. package/dist/version/git-tag-utils.js +66 -0
  174. package/dist/version/git-tag-utils.js.map +1 -0
  175. package/dist/version/index.d.ts +11 -0
  176. package/dist/version/index.d.ts.map +1 -0
  177. package/dist/version/index.js +11 -0
  178. package/dist/version/index.js.map +1 -0
  179. package/dist/version/release-utils.d.ts +94 -0
  180. package/dist/version/release-utils.d.ts.map +1 -0
  181. package/dist/version/release-utils.js +170 -0
  182. package/dist/version/release-utils.js.map +1 -0
  183. package/dist/version/rollback-utils.d.ts +47 -0
  184. package/dist/version/rollback-utils.d.ts.map +1 -0
  185. package/dist/version/rollback-utils.js +73 -0
  186. package/dist/version/rollback-utils.js.map +1 -0
  187. package/dist/version/version-manager.d.ts +98 -0
  188. package/dist/version/version-manager.d.ts.map +1 -0
  189. package/dist/version/version-manager.js +158 -0
  190. package/dist/version/version-manager.js.map +1 -0
  191. package/package.json +61 -0
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Configuration module exports
3
+ */
4
+ export { Config, ConfigInput, ConfigSchema, DEFAULT_CONFIG, validateConfig, safeValidateConfig, } from './schema.js';
5
+ export { ConfigLoadResult, loadConfig, loadFromEnv, loadFromArgs, loadFromFile, } from './loader.js';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,MAAM,EACN,WAAW,EACX,YAAY,EACZ,cAAc,EACd,cAAc,EACd,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,gBAAgB,EAChB,UAAU,EACV,WAAW,EACX,YAAY,EACZ,YAAY,GACb,MAAM,aAAa,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Configuration module exports
3
+ */
4
+ export { ConfigSchema, DEFAULT_CONFIG, validateConfig, safeValidateConfig, } from './schema.js';
5
+ export { loadConfig, loadFromEnv, loadFromArgs, loadFromFile, } from './loader.js';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAGL,YAAY,EACZ,cAAc,EACd,cAAc,EACd,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAErB,OAAO,EAEL,UAAU,EACV,WAAW,EACX,YAAY,EACZ,YAAY,GACb,MAAM,aAAa,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { Config, ConfigInput } from './schema.js';
2
+ /**
3
+ * Configuration loading result
4
+ */
5
+ export interface ConfigLoadResult {
6
+ success: boolean;
7
+ config?: Config;
8
+ errors?: string[];
9
+ }
10
+ /**
11
+ * Load configuration from environment variables
12
+ */
13
+ export declare function loadFromEnv(): Partial<ConfigInput>;
14
+ /**
15
+ * Load configuration from CLI arguments
16
+ */
17
+ export declare function loadFromArgs(args: string[]): Partial<ConfigInput>;
18
+ /**
19
+ * Load configuration from a JSON file
20
+ */
21
+ export declare function loadFromFile(filePath: string): Partial<ConfigInput>;
22
+ /**
23
+ * Load and merge configuration from all sources
24
+ * Priority: CLI args > Environment variables > Config file > Defaults
25
+ */
26
+ export declare function loadConfig(args?: string[]): ConfigLoadResult;
27
+ //# sourceMappingURL=loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,MAAM,EAAE,WAAW,EAAsC,MAAM,aAAa,CAAC;AAGtF;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC,CAuBlD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CA6CjE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAoBnE;AA+BD;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,GAAE,MAAM,EAA0B,GAAG,gBAAgB,CAsCnF"}
@@ -0,0 +1,224 @@
1
+ /**
2
+ * Configuration loader
3
+ * Supports loading configuration from CLI args, environment variables, and config files
4
+ */
5
+ import * as fs from 'fs';
6
+ import * as path from 'path';
7
+ import { safeValidateConfig, DEFAULT_CONFIG } from './schema.js';
8
+ /**
9
+ * Load configuration from environment variables
10
+ */
11
+ export function loadFromEnv() {
12
+ const config = {};
13
+ if (process.env.COMPODOC_MCP_DOC_PATH) {
14
+ config.documentation = {
15
+ path: process.env.COMPODOC_MCP_DOC_PATH,
16
+ };
17
+ }
18
+ if (process.env.COMPODOC_MCP_LOG_LEVEL) {
19
+ config.logging = {
20
+ level: process.env.COMPODOC_MCP_LOG_LEVEL,
21
+ };
22
+ }
23
+ if (process.env.COMPODOC_MCP_WATCH !== undefined) {
24
+ if (!config.documentation) {
25
+ config.documentation = {};
26
+ }
27
+ config.documentation.watchForChanges = process.env.COMPODOC_MCP_WATCH === 'true';
28
+ }
29
+ return config;
30
+ }
31
+ /**
32
+ * Load configuration from CLI arguments
33
+ */
34
+ export function loadFromArgs(args) {
35
+ const config = {};
36
+ for (let i = 0; i < args.length; i++) {
37
+ const arg = args[i];
38
+ switch (arg) {
39
+ case '--doc-path':
40
+ case '--documentation-path':
41
+ if (!config.documentation) {
42
+ config.documentation = {};
43
+ }
44
+ config.documentation.path = args[++i];
45
+ break;
46
+ case '--watch':
47
+ if (!config.documentation) {
48
+ config.documentation = {};
49
+ }
50
+ config.documentation.watchForChanges = true;
51
+ break;
52
+ case '--no-watch':
53
+ if (!config.documentation) {
54
+ config.documentation = {};
55
+ }
56
+ config.documentation.watchForChanges = false;
57
+ break;
58
+ case '--log-level':
59
+ config.logging = {
60
+ level: args[++i],
61
+ };
62
+ break;
63
+ case '--max-results':
64
+ config.search = {
65
+ maxResults: parseInt(args[++i], 10),
66
+ };
67
+ break;
68
+ case '--help':
69
+ case '-h':
70
+ printHelp();
71
+ process.exit(0);
72
+ break;
73
+ }
74
+ }
75
+ return config;
76
+ }
77
+ /**
78
+ * Load configuration from a JSON file
79
+ */
80
+ export function loadFromFile(filePath) {
81
+ try {
82
+ if (!fs.existsSync(filePath)) {
83
+ console.warn(`Configuration file not found: ${filePath}`);
84
+ return {};
85
+ }
86
+ const content = fs.readFileSync(filePath, 'utf-8');
87
+ const ext = path.extname(filePath).toLowerCase();
88
+ if (ext === '.json') {
89
+ return JSON.parse(content);
90
+ }
91
+ console.warn(`Unsupported configuration file format: ${ext}`);
92
+ return {};
93
+ }
94
+ catch (error) {
95
+ console.error(`Failed to load config file ${filePath}:`, error);
96
+ return {};
97
+ }
98
+ }
99
+ /**
100
+ * Deep merge two objects
101
+ */
102
+ function deepMerge(target, source) {
103
+ const result = { ...target };
104
+ for (const key in source) {
105
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
106
+ const sourceValue = source[key];
107
+ const targetValue = result[key];
108
+ if (sourceValue &&
109
+ typeof sourceValue === 'object' &&
110
+ !Array.isArray(sourceValue) &&
111
+ targetValue &&
112
+ typeof targetValue === 'object' &&
113
+ !Array.isArray(targetValue)) {
114
+ result[key] = deepMerge(targetValue, sourceValue);
115
+ }
116
+ else if (sourceValue !== undefined) {
117
+ result[key] = sourceValue;
118
+ }
119
+ }
120
+ }
121
+ return result;
122
+ }
123
+ /**
124
+ * Load and merge configuration from all sources
125
+ * Priority: CLI args > Environment variables > Config file > Defaults
126
+ */
127
+ export function loadConfig(args = process.argv.slice(2)) {
128
+ try {
129
+ // Try to load from config file (if specified)
130
+ const configFileIndex = args.indexOf('--config');
131
+ const configFile = configFileIndex >= 0 ? args[configFileIndex + 1] : undefined;
132
+ const fileConfig = configFile ? loadFromFile(configFile) : {};
133
+ // Load from environment variables
134
+ const envConfig = loadFromEnv();
135
+ // Load from CLI arguments
136
+ const argsConfig = loadFromArgs(args);
137
+ // Start with defaults and merge in order of priority
138
+ let mergedConfig = { ...DEFAULT_CONFIG };
139
+ mergedConfig = deepMerge(mergedConfig, fileConfig);
140
+ mergedConfig = deepMerge(mergedConfig, envConfig);
141
+ mergedConfig = deepMerge(mergedConfig, argsConfig);
142
+ // Validate the merged configuration
143
+ const result = safeValidateConfig(mergedConfig);
144
+ if (!result.success) {
145
+ const errors = formatZodErrors(result.error);
146
+ console.error('Configuration validation failed:');
147
+ errors.forEach((error) => console.error(` - ${error}`));
148
+ return { success: false, errors };
149
+ }
150
+ console.log('Configuration loaded successfully');
151
+ return { success: true, config: result.data };
152
+ }
153
+ catch (error) {
154
+ const errorMessage = error instanceof Error ? error.message : String(error);
155
+ return {
156
+ success: false,
157
+ errors: [`Failed to load configuration: ${errorMessage}`],
158
+ };
159
+ }
160
+ }
161
+ /**
162
+ * Format Zod validation errors into readable messages
163
+ */
164
+ function formatZodErrors(error) {
165
+ return error.errors.map((err) => {
166
+ const path = err.path.join('.');
167
+ return `${path}: ${err.message}`;
168
+ });
169
+ }
170
+ /**
171
+ * Print help message
172
+ */
173
+ function printHelp() {
174
+ console.log(`
175
+ EUI Compodoc MCP Server - Model Context Protocol server for Angular component documentation
176
+
177
+ Usage:
178
+ eui-compodoc-mcp [options]
179
+
180
+ Options:
181
+ --doc-path <path> Path to documentation.json file (required)
182
+ --watch Watch for changes to documentation.json (default: true)
183
+ --no-watch Disable file watching
184
+ --log-level <level> Logging level: debug, info, warn, error (default: info)
185
+ --max-results <number> Maximum search results (default: 50)
186
+ --config <file> Load configuration from JSON file
187
+ --help, -h Show this help message
188
+
189
+ Environment Variables:
190
+ COMPODOC_MCP_DOC_PATH Path to documentation.json file
191
+ COMPODOC_MCP_LOG_LEVEL Logging level
192
+ COMPODOC_MCP_WATCH Enable/disable file watching (true/false)
193
+
194
+ Configuration File Format (JSON):
195
+ {
196
+ "server": {
197
+ "name": "eui-compodoc-mcp",
198
+ "version": "1.0.0"
199
+ },
200
+ "documentation": {
201
+ "path": "./documentation.json",
202
+ "watchForChanges": true,
203
+ "reloadDebounce": 1000
204
+ },
205
+ "search": {
206
+ "maxResults": 50,
207
+ "minQueryLength": 2
208
+ },
209
+ "logging": {
210
+ "level": "info",
211
+ "format": "text"
212
+ }
213
+ }
214
+
215
+ Examples:
216
+ eui-compodoc-mcp --doc-path ./documentation.json
217
+ eui-compodoc-mcp --doc-path ./docs/documentation.json --log-level debug
218
+ eui-compodoc-mcp --config ./config.json
219
+ COMPODOC_MCP_DOC_PATH=./documentation.json eui-compodoc-mcp
220
+
221
+ For more information, visit: https://github.com/your-org/eui-compodoc-mcp
222
+ `);
223
+ }
224
+ //# sourceMappingURL=loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,171 @@
1
+ /**
2
+ * Configuration schema and validation using Zod
3
+ */
4
+ import { z } from 'zod';
5
+ /**
6
+ * Complete configuration schema
7
+ */
8
+ export declare const ConfigSchema: z.ZodObject<{
9
+ server: z.ZodDefault<z.ZodObject<{
10
+ name: z.ZodDefault<z.ZodString>;
11
+ version: z.ZodDefault<z.ZodString>;
12
+ }, "strip", z.ZodTypeAny, {
13
+ version: string;
14
+ name: string;
15
+ }, {
16
+ version?: string | undefined;
17
+ name?: string | undefined;
18
+ }>>;
19
+ documentation: z.ZodObject<{
20
+ path: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
21
+ watchForChanges: z.ZodDefault<z.ZodBoolean>;
22
+ reloadDebounce: z.ZodDefault<z.ZodNumber>;
23
+ timeout: z.ZodDefault<z.ZodNumber>;
24
+ maxRetries: z.ZodDefault<z.ZodNumber>;
25
+ pollingInterval: z.ZodDefault<z.ZodNumber>;
26
+ }, "strip", z.ZodTypeAny, {
27
+ path: string;
28
+ watchForChanges: boolean;
29
+ reloadDebounce: number;
30
+ timeout: number;
31
+ maxRetries: number;
32
+ pollingInterval: number;
33
+ }, {
34
+ path: string;
35
+ watchForChanges?: boolean | undefined;
36
+ reloadDebounce?: number | undefined;
37
+ timeout?: number | undefined;
38
+ maxRetries?: number | undefined;
39
+ pollingInterval?: number | undefined;
40
+ }>;
41
+ search: z.ZodDefault<z.ZodObject<{
42
+ maxResults: z.ZodDefault<z.ZodNumber>;
43
+ minQueryLength: z.ZodDefault<z.ZodNumber>;
44
+ }, "strip", z.ZodTypeAny, {
45
+ maxResults: number;
46
+ minQueryLength: number;
47
+ }, {
48
+ maxResults?: number | undefined;
49
+ minQueryLength?: number | undefined;
50
+ }>>;
51
+ logging: z.ZodDefault<z.ZodObject<{
52
+ level: z.ZodDefault<z.ZodEnum<["debug", "info", "warn", "error"]>>;
53
+ format: z.ZodDefault<z.ZodEnum<["json", "text"]>>;
54
+ }, "strip", z.ZodTypeAny, {
55
+ level: "error" | "debug" | "info" | "warn";
56
+ format: "text" | "json";
57
+ }, {
58
+ level?: "error" | "debug" | "info" | "warn" | undefined;
59
+ format?: "text" | "json" | undefined;
60
+ }>>;
61
+ }, "strip", z.ZodTypeAny, {
62
+ logging: {
63
+ level: "error" | "debug" | "info" | "warn";
64
+ format: "text" | "json";
65
+ };
66
+ server: {
67
+ version: string;
68
+ name: string;
69
+ };
70
+ documentation: {
71
+ path: string;
72
+ watchForChanges: boolean;
73
+ reloadDebounce: number;
74
+ timeout: number;
75
+ maxRetries: number;
76
+ pollingInterval: number;
77
+ };
78
+ search: {
79
+ maxResults: number;
80
+ minQueryLength: number;
81
+ };
82
+ }, {
83
+ documentation: {
84
+ path: string;
85
+ watchForChanges?: boolean | undefined;
86
+ reloadDebounce?: number | undefined;
87
+ timeout?: number | undefined;
88
+ maxRetries?: number | undefined;
89
+ pollingInterval?: number | undefined;
90
+ };
91
+ logging?: {
92
+ level?: "error" | "debug" | "info" | "warn" | undefined;
93
+ format?: "text" | "json" | undefined;
94
+ } | undefined;
95
+ server?: {
96
+ version?: string | undefined;
97
+ name?: string | undefined;
98
+ } | undefined;
99
+ search?: {
100
+ maxResults?: number | undefined;
101
+ minQueryLength?: number | undefined;
102
+ } | undefined;
103
+ }>;
104
+ /**
105
+ * Inferred TypeScript type from schema
106
+ */
107
+ export type Config = z.infer<typeof ConfigSchema>;
108
+ /**
109
+ * Partial configuration input (before defaults are applied)
110
+ */
111
+ export type ConfigInput = z.input<typeof ConfigSchema>;
112
+ /**
113
+ * Default configuration values
114
+ */
115
+ export declare const DEFAULT_CONFIG: Partial<Config>;
116
+ /**
117
+ * Validates and parses configuration input
118
+ * @param input - Raw configuration input
119
+ * @returns Validated configuration with defaults applied
120
+ * @throws ZodError if validation fails
121
+ */
122
+ export declare function validateConfig(input: unknown): Config;
123
+ /**
124
+ * Safely validates configuration and returns result with error details
125
+ * @param input - Raw configuration input
126
+ * @returns Validation result with success flag and data or errors
127
+ */
128
+ export declare function safeValidateConfig(input: unknown): z.SafeParseReturnType<{
129
+ documentation: {
130
+ path: string;
131
+ watchForChanges?: boolean | undefined;
132
+ reloadDebounce?: number | undefined;
133
+ timeout?: number | undefined;
134
+ maxRetries?: number | undefined;
135
+ pollingInterval?: number | undefined;
136
+ };
137
+ logging?: {
138
+ level?: "error" | "debug" | "info" | "warn" | undefined;
139
+ format?: "text" | "json" | undefined;
140
+ } | undefined;
141
+ server?: {
142
+ version?: string | undefined;
143
+ name?: string | undefined;
144
+ } | undefined;
145
+ search?: {
146
+ maxResults?: number | undefined;
147
+ minQueryLength?: number | undefined;
148
+ } | undefined;
149
+ }, {
150
+ logging: {
151
+ level: "error" | "debug" | "info" | "warn";
152
+ format: "text" | "json";
153
+ };
154
+ server: {
155
+ version: string;
156
+ name: string;
157
+ };
158
+ documentation: {
159
+ path: string;
160
+ watchForChanges: boolean;
161
+ reloadDebounce: number;
162
+ timeout: number;
163
+ maxRetries: number;
164
+ pollingInterval: number;
165
+ };
166
+ search: {
167
+ maxResults: number;
168
+ minQueryLength: number;
169
+ };
170
+ }>;
171
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAwDxB;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKvB,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAElD;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAEvD;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,OAAO,CAAC,MAAM,CAqB1C,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAErD;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAEhD"}
@@ -0,0 +1,100 @@
1
+ /**
2
+ * Configuration schema and validation using Zod
3
+ */
4
+ import { z } from 'zod';
5
+ import { PathTypeDetector } from '../loader/path-type-detector.js';
6
+ /**
7
+ * Server configuration schema
8
+ */
9
+ const ServerConfigSchema = z.object({
10
+ name: z.string().default('eui-compodoc-mcp'),
11
+ version: z.string().default('1.0.0'),
12
+ });
13
+ /**
14
+ * Documentation configuration schema
15
+ */
16
+ const DocumentationConfigSchema = z.object({
17
+ path: z.string()
18
+ .min(1, 'Documentation path cannot be empty')
19
+ .refine((path) => path.trim().length > 0, { message: 'Documentation path cannot be only whitespace' })
20
+ .refine((path) => {
21
+ const trimmedPath = path.trim();
22
+ // If it looks like a URL (starts with http:// or https://), validate as URL
23
+ if (trimmedPath.startsWith('http://') || trimmedPath.startsWith('https://')) {
24
+ return PathTypeDetector.isRemoteUrl(trimmedPath);
25
+ }
26
+ // Otherwise, accept as local path
27
+ return true;
28
+ }, { message: 'Path must be a valid local file path or HTTP/HTTPS URL' }),
29
+ watchForChanges: z.boolean().default(true),
30
+ reloadDebounce: z.number().min(0).default(1000),
31
+ timeout: z.number().min(1000).default(10000),
32
+ maxRetries: z.number().min(0).max(10).default(3),
33
+ pollingInterval: z.number().min(5000).default(60000),
34
+ });
35
+ /**
36
+ * Search configuration schema
37
+ */
38
+ const SearchConfigSchema = z.object({
39
+ maxResults: z.number().min(1).max(1000).default(50),
40
+ minQueryLength: z.number().min(1).default(2),
41
+ });
42
+ /**
43
+ * Logging configuration schema
44
+ */
45
+ const LoggingConfigSchema = z.object({
46
+ level: z.enum(['debug', 'info', 'warn', 'error']).default('info'),
47
+ format: z.enum(['json', 'text']).default('text'),
48
+ });
49
+ /**
50
+ * Complete configuration schema
51
+ */
52
+ export const ConfigSchema = z.object({
53
+ server: ServerConfigSchema.default({}),
54
+ documentation: DocumentationConfigSchema,
55
+ search: SearchConfigSchema.default({}),
56
+ logging: LoggingConfigSchema.default({}),
57
+ });
58
+ /**
59
+ * Default configuration values
60
+ */
61
+ export const DEFAULT_CONFIG = {
62
+ server: {
63
+ name: 'eui-compodoc-mcp',
64
+ version: '1.0.0',
65
+ },
66
+ documentation: {
67
+ path: './documentation.json',
68
+ watchForChanges: true,
69
+ reloadDebounce: 1000,
70
+ timeout: 10000,
71
+ maxRetries: 3,
72
+ pollingInterval: 60000,
73
+ },
74
+ search: {
75
+ maxResults: 50,
76
+ minQueryLength: 2,
77
+ },
78
+ logging: {
79
+ level: 'info',
80
+ format: 'text',
81
+ },
82
+ };
83
+ /**
84
+ * Validates and parses configuration input
85
+ * @param input - Raw configuration input
86
+ * @returns Validated configuration with defaults applied
87
+ * @throws ZodError if validation fails
88
+ */
89
+ export function validateConfig(input) {
90
+ return ConfigSchema.parse(input);
91
+ }
92
+ /**
93
+ * Safely validates configuration and returns result with error details
94
+ * @param input - Raw configuration input
95
+ * @returns Validation result with success flag and data or errors
96
+ */
97
+ export function safeValidateConfig(input) {
98
+ return ConfigSchema.safeParse(input);
99
+ }
100
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
package/dist/index.js ADDED
@@ -0,0 +1,45 @@
1
+ #!/usr/bin/env node
2
+ import { Server } from "@modelcontextprotocol/sdk/server/index.js";
3
+ import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
4
+ import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
5
+ const server = new Server({
6
+ name: "simple-mcp-server",
7
+ version: "1.0.0",
8
+ }, {
9
+ capabilities: {
10
+ tools: {},
11
+ },
12
+ });
13
+ server.setRequestHandler(ListToolsRequestSchema, async () => ({
14
+ tools: [
15
+ {
16
+ name: "echo",
17
+ description: "Echoes back the provided message",
18
+ inputSchema: {
19
+ type: "object",
20
+ properties: {
21
+ message: {
22
+ type: "string",
23
+ description: "Message to echo",
24
+ },
25
+ },
26
+ required: ["message"],
27
+ },
28
+ },
29
+ ],
30
+ }));
31
+ server.setRequestHandler(CallToolRequestSchema, async (request) => {
32
+ if (request.params.name === "echo") {
33
+ const message = request.params.arguments?.message;
34
+ return {
35
+ content: [{ type: "text", text: `Echo: ${message}` }],
36
+ };
37
+ }
38
+ throw new Error(`Unknown tool: ${request.params.name}`);
39
+ });
40
+ async function main() {
41
+ const transport = new StdioServerTransport();
42
+ await server.connect(transport);
43
+ }
44
+ main().catch(console.error);
45
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,oCAAoC,CAAC;AAE5C,MAAM,MAAM,GAAG,IAAI,MAAM,CACvB;IACE,IAAI,EAAE,mBAAmB;IACzB,OAAO,EAAE,OAAO;CACjB,EACD;IACE,YAAY,EAAE;QACZ,KAAK,EAAE,EAAE;KACV;CACF,CACF,CAAC;AAEF,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;IAC5D,KAAK,EAAE;QACL;YACE,IAAI,EAAE,MAAM;YACZ,WAAW,EAAE,kCAAkC;YAC/C,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,OAAO,EAAE;wBACP,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,iBAAiB;qBAC/B;iBACF;gBACD,QAAQ,EAAE,CAAC,SAAS,CAAC;aACtB;SACF;KACF;CACF,CAAC,CAAC,CAAC;AAEJ,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IAChE,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACnC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,OAAiB,CAAC;QAC5D,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,OAAO,EAAE,EAAE,CAAC;SACtD,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,iBAAiB,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;AAC1D,CAAC,CAAC,CAAC;AAEH,KAAK,UAAU,IAAI;IACjB,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC"}