solidworks-mcp-server 2.2.0 → 3.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.
Files changed (104) hide show
  1. package/README.md +33 -10
  2. package/dist/application/services/command-bus.d.ts +39 -0
  3. package/dist/application/services/command-bus.d.ts.map +1 -0
  4. package/dist/application/services/command-bus.js +88 -0
  5. package/dist/application/services/command-bus.js.map +1 -0
  6. package/dist/application/services/event-bus.d.ts +31 -0
  7. package/dist/application/services/event-bus.d.ts.map +1 -0
  8. package/dist/application/services/event-bus.js +83 -0
  9. package/dist/application/services/event-bus.js.map +1 -0
  10. package/dist/application/services/query-bus.d.ts +30 -0
  11. package/dist/application/services/query-bus.d.ts.map +1 -0
  12. package/dist/application/services/query-bus.js +59 -0
  13. package/dist/application/services/query-bus.js.map +1 -0
  14. package/dist/application/services/tool-registry.d.ts +53 -0
  15. package/dist/application/services/tool-registry.d.ts.map +1 -0
  16. package/dist/application/services/tool-registry.js +81 -0
  17. package/dist/application/services/tool-registry.js.map +1 -0
  18. package/dist/application/use-cases/analysis/index.d.ts +13 -0
  19. package/dist/application/use-cases/analysis/index.d.ts.map +1 -0
  20. package/dist/application/use-cases/analysis/index.js +17 -0
  21. package/dist/application/use-cases/analysis/index.js.map +1 -0
  22. package/dist/application/use-cases/drawing/index.d.ts +13 -0
  23. package/dist/application/use-cases/drawing/index.d.ts.map +1 -0
  24. package/dist/application/use-cases/drawing/index.js +17 -0
  25. package/dist/application/use-cases/drawing/index.js.map +1 -0
  26. package/dist/application/use-cases/export/index.d.ts +13 -0
  27. package/dist/application/use-cases/export/index.d.ts.map +1 -0
  28. package/dist/application/use-cases/export/index.js +17 -0
  29. package/dist/application/use-cases/export/index.js.map +1 -0
  30. package/dist/application/use-cases/macro/index.d.ts +13 -0
  31. package/dist/application/use-cases/macro/index.d.ts.map +1 -0
  32. package/dist/application/use-cases/macro/index.js +17 -0
  33. package/dist/application/use-cases/macro/index.js.map +1 -0
  34. package/dist/application/use-cases/modeling/index.d.ts +56 -0
  35. package/dist/application/use-cases/modeling/index.d.ts.map +1 -0
  36. package/dist/application/use-cases/modeling/index.js +385 -0
  37. package/dist/application/use-cases/modeling/index.js.map +1 -0
  38. package/dist/core/interfaces/core-abstractions.d.ts +289 -0
  39. package/dist/core/interfaces/core-abstractions.d.ts.map +1 -0
  40. package/dist/core/interfaces/core-abstractions.js +121 -0
  41. package/dist/core/interfaces/core-abstractions.js.map +1 -0
  42. package/dist/index.refactored.d.ts +7 -0
  43. package/dist/index.refactored.d.ts.map +1 -0
  44. package/dist/index.refactored.js +254 -0
  45. package/dist/index.refactored.js.map +1 -0
  46. package/dist/infrastructure/config/configuration-manager.d.ts +381 -0
  47. package/dist/infrastructure/config/configuration-manager.d.ts.map +1 -0
  48. package/dist/infrastructure/config/configuration-manager.js +566 -0
  49. package/dist/infrastructure/config/configuration-manager.js.map +1 -0
  50. package/dist/infrastructure/container/service-locator.d.ts +14 -0
  51. package/dist/infrastructure/container/service-locator.d.ts.map +1 -0
  52. package/dist/infrastructure/container/service-locator.js +38 -0
  53. package/dist/infrastructure/container/service-locator.js.map +1 -0
  54. package/dist/infrastructure/logging/logger.d.ts +24 -0
  55. package/dist/infrastructure/logging/logger.d.ts.map +1 -0
  56. package/dist/infrastructure/logging/logger.js +65 -0
  57. package/dist/infrastructure/logging/logger.js.map +1 -0
  58. package/dist/infrastructure/solidworks/solidworks-adapter.d.ts +43 -0
  59. package/dist/infrastructure/solidworks/solidworks-adapter.d.ts.map +1 -0
  60. package/dist/infrastructure/solidworks/solidworks-adapter.js +527 -0
  61. package/dist/infrastructure/solidworks/solidworks-adapter.js.map +1 -0
  62. package/dist/presentation/mcp/request-handler.d.ts +41 -0
  63. package/dist/presentation/mcp/request-handler.d.ts.map +1 -0
  64. package/dist/presentation/mcp/request-handler.js +100 -0
  65. package/dist/presentation/mcp/request-handler.js.map +1 -0
  66. package/dist/presentation/transformers/error-transformer.d.ts +16 -0
  67. package/dist/presentation/transformers/error-transformer.d.ts.map +1 -0
  68. package/dist/presentation/transformers/error-transformer.js +44 -0
  69. package/dist/presentation/transformers/error-transformer.js.map +1 -0
  70. package/dist/presentation/transformers/response-transformer.d.ts +24 -0
  71. package/dist/presentation/transformers/response-transformer.d.ts.map +1 -0
  72. package/dist/presentation/transformers/response-transformer.js +102 -0
  73. package/dist/presentation/transformers/response-transformer.js.map +1 -0
  74. package/dist/resources/design-table.d.ts +28 -28
  75. package/dist/resources/pdm.d.ts +70 -70
  76. package/dist/shared/constants/solidworks-constants.d.ts +302 -0
  77. package/dist/shared/constants/solidworks-constants.d.ts.map +1 -0
  78. package/dist/shared/constants/solidworks-constants.js +471 -0
  79. package/dist/shared/constants/solidworks-constants.js.map +1 -0
  80. package/dist/tools/diagnostics.d.ts +21 -0
  81. package/dist/tools/diagnostics.d.ts.map +1 -0
  82. package/dist/tools/diagnostics.js +120 -0
  83. package/dist/tools/diagnostics.js.map +1 -0
  84. package/dist/tools/drawing-analysis.d.ts +9 -0
  85. package/dist/tools/drawing-analysis.d.ts.map +1 -0
  86. package/dist/tools/drawing-analysis.js +239 -0
  87. package/dist/tools/drawing-analysis.js.map +1 -0
  88. package/dist/tools/drawing.d.ts +4 -4
  89. package/dist/tools/enhanced-drawing.d.ts +51 -0
  90. package/dist/tools/enhanced-drawing.d.ts.map +1 -0
  91. package/dist/tools/enhanced-drawing.js +193 -0
  92. package/dist/tools/enhanced-drawing.js.map +1 -0
  93. package/dist/tools/export.d.ts +6 -6
  94. package/dist/tools/macro-security.d.ts +9 -0
  95. package/dist/tools/macro-security.d.ts.map +1 -0
  96. package/dist/tools/macro-security.js +86 -0
  97. package/dist/tools/macro-security.js.map +1 -0
  98. package/dist/tools/vba-advanced.d.ts +12 -12
  99. package/dist/tools/vba-assembly.d.ts +8 -8
  100. package/dist/tools/vba-drawing.d.ts +14 -14
  101. package/dist/tools/vba-file-management.d.ts +16 -16
  102. package/dist/tools/vba-part.d.ts +10 -10
  103. package/dist/tools/vba.d.ts +67 -67
  104. package/package.json +12 -7
@@ -0,0 +1,566 @@
1
+ /**
2
+ * Configuration Management System
3
+ * Centralized, type-safe configuration with validation
4
+ */
5
+ import { z } from 'zod';
6
+ import { ResultUtil, ValidationError } from './core-abstractions';
7
+ import { config as dotenv } from 'dotenv';
8
+ import { readFileSync, existsSync, writeFileSync } from 'fs';
9
+ import { join } from 'path';
10
+ // ============================================
11
+ // CONFIGURATION SCHEMAS
12
+ // ============================================
13
+ /**
14
+ * Connection configuration schema
15
+ */
16
+ const ConnectionConfigSchema = z.object({
17
+ solidworksPath: z.string().optional(),
18
+ retryAttempts: z.number().min(1).max(10).default(3),
19
+ retryDelay: z.number().min(100).max(10000).default(1000),
20
+ timeout: z.number().min(1000).max(300000).default(30000),
21
+ autoConnect: z.boolean().default(true),
22
+ });
23
+ /**
24
+ * Logging configuration schema
25
+ */
26
+ const LoggingConfigSchema = z.object({
27
+ level: z.enum(['debug', 'info', 'warn', 'error', 'fatal']).default('info'),
28
+ console: z.boolean().default(true),
29
+ file: z.boolean().default(false),
30
+ filePath: z.string().optional(),
31
+ maxFileSize: z.number().min(1024).default(10485760), // 10MB
32
+ maxFiles: z.number().min(1).max(100).default(5),
33
+ format: z.enum(['json', 'text']).default('json'),
34
+ });
35
+ /**
36
+ * Cache configuration schema
37
+ */
38
+ const CacheConfigSchema = z.object({
39
+ enabled: z.boolean().default(true),
40
+ maxEntries: z.number().min(10).max(10000).default(1000),
41
+ ttl: z.number().min(1000).default(3600000), // 1 hour
42
+ strategy: z.enum(['lru', 'lfu', 'fifo']).default('lru'),
43
+ });
44
+ /**
45
+ * Performance configuration schema
46
+ */
47
+ const PerformanceConfigSchema = z.object({
48
+ maxConcurrentOperations: z.number().min(1).max(20).default(5),
49
+ operationTimeout: z.number().min(1000).default(60000),
50
+ memoryLimit: z.number().min(104857600).optional(), // 100MB minimum
51
+ enableMetrics: z.boolean().default(true),
52
+ });
53
+ /**
54
+ * Security configuration schema
55
+ */
56
+ const SecurityConfigSchema = z.object({
57
+ enableMacroSecurity: z.boolean().default(true),
58
+ macroSecurityLevel: z.enum(['low', 'medium', 'high']).default('medium'),
59
+ trustedPaths: z.array(z.string()).default([]),
60
+ enableAudit: z.boolean().default(false),
61
+ encryptSensitiveData: z.boolean().default(true),
62
+ });
63
+ /**
64
+ * Templates configuration schema
65
+ */
66
+ const TemplatesConfigSchema = z.object({
67
+ partTemplate: z.string().optional(),
68
+ assemblyTemplate: z.string().optional(),
69
+ drawingTemplate: z.string().optional(),
70
+ customTemplatesPath: z.string().optional(),
71
+ autoDetectTemplates: z.boolean().default(true),
72
+ });
73
+ /**
74
+ * Database configuration schema
75
+ */
76
+ const DatabaseConfigSchema = z.object({
77
+ enabled: z.boolean().default(false),
78
+ type: z.enum(['mssql', 'postgresql', 'sqlite']).optional(),
79
+ connectionString: z.string().optional(),
80
+ poolSize: z.number().min(1).max(100).default(10),
81
+ connectionTimeout: z.number().min(1000).default(15000),
82
+ });
83
+ /**
84
+ * Feature flags schema
85
+ */
86
+ const FeatureFlagsSchema = z.object({
87
+ enableMacroRecording: z.boolean().default(true),
88
+ enablePDM: z.boolean().default(false),
89
+ enableDesignTables: z.boolean().default(true),
90
+ enableVBAGeneration: z.boolean().default(true),
91
+ enableAdvancedAnalysis: z.boolean().default(false),
92
+ enableExperimentalFeatures: z.boolean().default(false),
93
+ });
94
+ /**
95
+ * Complete configuration schema
96
+ */
97
+ const ConfigurationSchema = z.object({
98
+ connection: ConnectionConfigSchema,
99
+ logging: LoggingConfigSchema,
100
+ cache: CacheConfigSchema,
101
+ performance: PerformanceConfigSchema,
102
+ security: SecurityConfigSchema,
103
+ templates: TemplatesConfigSchema,
104
+ database: DatabaseConfigSchema,
105
+ features: FeatureFlagsSchema,
106
+ environment: z.enum(['development', 'staging', 'production']).default('production'),
107
+ version: z.string().default('2.0.0'),
108
+ });
109
+ /**
110
+ * Environment variables configuration source
111
+ */
112
+ class EnvironmentConfigSource {
113
+ priority = 1;
114
+ async load() {
115
+ try {
116
+ dotenv();
117
+ const config = {};
118
+ // Map environment variables to configuration
119
+ const mappings = {
120
+ 'SOLIDWORKS_PATH': ['connection', 'solidworksPath'],
121
+ 'RETRY_ATTEMPTS': ['connection', 'retryAttempts'],
122
+ 'RETRY_DELAY': ['connection', 'retryDelay'],
123
+ 'CONNECTION_TIMEOUT': ['connection', 'timeout'],
124
+ 'LOG_LEVEL': ['logging', 'level'],
125
+ 'LOG_TO_FILE': ['logging', 'file'],
126
+ 'LOG_FILE_PATH': ['logging', 'filePath'],
127
+ 'CACHE_ENABLED': ['cache', 'enabled'],
128
+ 'CACHE_TTL': ['cache', 'ttl'],
129
+ 'MAX_CONCURRENT_OPS': ['performance', 'maxConcurrentOperations'],
130
+ 'ENABLE_MACRO_RECORDING': ['features', 'enableMacroRecording'],
131
+ 'ENABLE_PDM': ['features', 'enablePDM'],
132
+ 'DB_CONNECTION_STRING': ['database', 'connectionString'],
133
+ 'DB_TYPE': ['database', 'type'],
134
+ 'NODE_ENV': ['environment'],
135
+ };
136
+ for (const [envVar, path] of Object.entries(mappings)) {
137
+ const value = process.env[envVar];
138
+ if (value !== undefined) {
139
+ this.setNestedValue(config, path, this.parseValue(value));
140
+ }
141
+ }
142
+ return ResultUtil.ok(config);
143
+ }
144
+ catch (error) {
145
+ return ResultUtil.fail(new ValidationError('Failed to load environment configuration', { error }));
146
+ }
147
+ }
148
+ setNestedValue(obj, path, value) {
149
+ const last = path[path.length - 1];
150
+ const parent = path.slice(0, -1).reduce((acc, key) => {
151
+ if (!acc[key])
152
+ acc[key] = {};
153
+ return acc[key];
154
+ }, obj);
155
+ parent[last] = value;
156
+ }
157
+ parseValue(value) {
158
+ // Try to parse as JSON first
159
+ try {
160
+ return JSON.parse(value);
161
+ }
162
+ catch {
163
+ // Parse booleans
164
+ if (value.toLowerCase() === 'true')
165
+ return true;
166
+ if (value.toLowerCase() === 'false')
167
+ return false;
168
+ // Parse numbers
169
+ const num = Number(value);
170
+ if (!isNaN(num))
171
+ return num;
172
+ // Return as string
173
+ return value;
174
+ }
175
+ }
176
+ }
177
+ /**
178
+ * JSON file configuration source
179
+ */
180
+ class JsonFileConfigSource {
181
+ filePath;
182
+ priority = 2;
183
+ constructor(filePath) {
184
+ this.filePath = filePath;
185
+ }
186
+ async load() {
187
+ try {
188
+ if (!existsSync(this.filePath)) {
189
+ return ResultUtil.ok({});
190
+ }
191
+ const content = readFileSync(this.filePath, 'utf-8');
192
+ const config = JSON.parse(content);
193
+ return ResultUtil.ok(config);
194
+ }
195
+ catch (error) {
196
+ return ResultUtil.fail(new ValidationError('Failed to load JSON configuration', {
197
+ file: this.filePath,
198
+ error
199
+ }));
200
+ }
201
+ }
202
+ async save(config) {
203
+ try {
204
+ const content = JSON.stringify(config, null, 2);
205
+ writeFileSync(this.filePath, content, 'utf-8');
206
+ return ResultUtil.ok(undefined);
207
+ }
208
+ catch (error) {
209
+ return ResultUtil.fail(new ValidationError('Failed to save JSON configuration', {
210
+ file: this.filePath,
211
+ error
212
+ }));
213
+ }
214
+ }
215
+ }
216
+ /**
217
+ * Default configuration source
218
+ */
219
+ class DefaultConfigSource {
220
+ priority = 0;
221
+ async load() {
222
+ const defaults = {
223
+ connection: {
224
+ retryAttempts: 3,
225
+ retryDelay: 1000,
226
+ timeout: 30000,
227
+ autoConnect: true,
228
+ },
229
+ logging: {
230
+ level: 'info',
231
+ console: true,
232
+ file: false,
233
+ maxFileSize: 10485760,
234
+ maxFiles: 5,
235
+ format: 'json',
236
+ },
237
+ cache: {
238
+ enabled: true,
239
+ maxEntries: 1000,
240
+ ttl: 3600000,
241
+ strategy: 'lru',
242
+ },
243
+ performance: {
244
+ maxConcurrentOperations: 5,
245
+ operationTimeout: 60000,
246
+ enableMetrics: true,
247
+ },
248
+ security: {
249
+ enableMacroSecurity: true,
250
+ macroSecurityLevel: 'medium',
251
+ trustedPaths: [],
252
+ enableAudit: false,
253
+ encryptSensitiveData: true,
254
+ },
255
+ templates: {
256
+ autoDetectTemplates: true,
257
+ },
258
+ database: {
259
+ enabled: false,
260
+ poolSize: 10,
261
+ connectionTimeout: 15000,
262
+ },
263
+ features: {
264
+ enableMacroRecording: true,
265
+ enablePDM: false,
266
+ enableDesignTables: true,
267
+ enableVBAGeneration: true,
268
+ enableAdvancedAnalysis: false,
269
+ enableExperimentalFeatures: false,
270
+ },
271
+ environment: 'production',
272
+ version: '2.0.0',
273
+ };
274
+ return ResultUtil.ok(defaults);
275
+ }
276
+ }
277
+ // ============================================
278
+ // CONFIGURATION MANAGER
279
+ // ============================================
280
+ /**
281
+ * Main configuration manager
282
+ */
283
+ export class ConfigurationManager {
284
+ config = null;
285
+ sources = [];
286
+ listeners = new Map();
287
+ constructor() {
288
+ // Add default sources
289
+ this.addSource(new DefaultConfigSource());
290
+ this.addSource(new EnvironmentConfigSource());
291
+ // Add JSON file sources
292
+ const configPaths = [
293
+ join(process.cwd(), 'solidworks-mcp.config.json'),
294
+ join(process.cwd(), '.solidworks-mcp', 'config.json'),
295
+ join(process.env.APPDATA || '', 'solidworks-mcp', 'config.json'),
296
+ ];
297
+ for (const path of configPaths) {
298
+ if (path && existsSync(path)) {
299
+ this.addSource(new JsonFileConfigSource(path));
300
+ break;
301
+ }
302
+ }
303
+ }
304
+ /**
305
+ * Add a configuration source
306
+ */
307
+ addSource(source) {
308
+ this.sources.push(source);
309
+ this.sources.sort((a, b) => a.priority - b.priority);
310
+ }
311
+ /**
312
+ * Load configuration from all sources
313
+ */
314
+ async reload() {
315
+ try {
316
+ let mergedConfig = {};
317
+ // Load from all sources in priority order
318
+ for (const source of this.sources) {
319
+ const result = await source.load();
320
+ if (ResultUtil.isSuccess(result)) {
321
+ mergedConfig = this.deepMerge(mergedConfig, result.data);
322
+ }
323
+ }
324
+ // Validate configuration
325
+ const validationResult = ConfigurationSchema.safeParse(mergedConfig);
326
+ if (!validationResult.success) {
327
+ return ResultUtil.fail(new ValidationError('Configuration validation failed', {
328
+ errors: validationResult.error.errors,
329
+ }));
330
+ }
331
+ const oldConfig = this.config;
332
+ this.config = validationResult.data;
333
+ // Notify listeners of changes
334
+ if (oldConfig) {
335
+ this.notifyChanges(oldConfig, this.config);
336
+ }
337
+ return ResultUtil.ok(undefined);
338
+ }
339
+ catch (error) {
340
+ return ResultUtil.fail(new ValidationError('Failed to reload configuration', { error }));
341
+ }
342
+ }
343
+ /**
344
+ * Get configuration value
345
+ */
346
+ get(key) {
347
+ if (!this.config) {
348
+ throw new Error('Configuration not loaded. Call reload() first.');
349
+ }
350
+ const keys = key.split('.');
351
+ let value = this.config;
352
+ for (const k of keys) {
353
+ if (value && typeof value === 'object' && k in value) {
354
+ value = value[k];
355
+ }
356
+ else {
357
+ return undefined;
358
+ }
359
+ }
360
+ return value;
361
+ }
362
+ /**
363
+ * Get required configuration value
364
+ */
365
+ getRequired(key) {
366
+ const value = this.get(key);
367
+ if (value === undefined) {
368
+ throw new Error(`Required configuration key not found: ${key}`);
369
+ }
370
+ return value;
371
+ }
372
+ /**
373
+ * Set configuration value
374
+ */
375
+ set(key, value) {
376
+ if (!this.config) {
377
+ throw new Error('Configuration not loaded. Call reload() first.');
378
+ }
379
+ const keys = key.split('.');
380
+ const last = keys[keys.length - 1];
381
+ const parent = keys.slice(0, -1).reduce((acc, k) => {
382
+ if (!acc[k])
383
+ acc[k] = {};
384
+ return acc[k];
385
+ }, this.config);
386
+ const oldValue = parent[last];
387
+ parent[last] = value;
388
+ // Validate after change
389
+ const validationResult = this.validate();
390
+ if (ResultUtil.isFailure(validationResult)) {
391
+ // Rollback change
392
+ parent[last] = oldValue;
393
+ throw new Error(`Invalid configuration value for ${key}`);
394
+ }
395
+ // Notify listeners
396
+ this.notifyKey(key, value);
397
+ }
398
+ /**
399
+ * Check if configuration has a key
400
+ */
401
+ has(key) {
402
+ return this.get(key) !== undefined;
403
+ }
404
+ /**
405
+ * Validate current configuration
406
+ */
407
+ validate() {
408
+ if (!this.config) {
409
+ return ResultUtil.fail(new ValidationError('No configuration loaded'));
410
+ }
411
+ const result = ConfigurationSchema.safeParse(this.config);
412
+ if (!result.success) {
413
+ return ResultUtil.fail(new ValidationError('Configuration validation failed', {
414
+ errors: result.error.errors,
415
+ }));
416
+ }
417
+ return ResultUtil.ok(undefined);
418
+ }
419
+ /**
420
+ * Get full configuration
421
+ */
422
+ getConfiguration() {
423
+ if (!this.config) {
424
+ throw new Error('Configuration not loaded. Call reload() first.');
425
+ }
426
+ return this.config;
427
+ }
428
+ /**
429
+ * Save configuration to file
430
+ */
431
+ async save(filePath) {
432
+ if (!this.config) {
433
+ return ResultUtil.fail(new ValidationError('No configuration to save'));
434
+ }
435
+ const path = filePath || join(process.cwd(), 'solidworks-mcp.config.json');
436
+ const source = new JsonFileConfigSource(path);
437
+ return source.save(this.config);
438
+ }
439
+ /**
440
+ * Watch for configuration changes
441
+ */
442
+ watch(key, callback) {
443
+ if (!this.listeners.has(key)) {
444
+ this.listeners.set(key, new Set());
445
+ }
446
+ this.listeners.get(key).add(callback);
447
+ // Return unsubscribe function
448
+ return () => {
449
+ const listeners = this.listeners.get(key);
450
+ if (listeners) {
451
+ listeners.delete(callback);
452
+ if (listeners.size === 0) {
453
+ this.listeners.delete(key);
454
+ }
455
+ }
456
+ };
457
+ }
458
+ // ============================================
459
+ // HELPER METHODS
460
+ // ============================================
461
+ /**
462
+ * Deep merge objects
463
+ */
464
+ deepMerge(target, source) {
465
+ const result = { ...target };
466
+ for (const key in source) {
467
+ if (source[key] && typeof source[key] === 'object' && !Array.isArray(source[key])) {
468
+ result[key] = this.deepMerge(result[key] || {}, source[key]);
469
+ }
470
+ else {
471
+ result[key] = source[key];
472
+ }
473
+ }
474
+ return result;
475
+ }
476
+ /**
477
+ * Notify listeners of changes
478
+ */
479
+ notifyChanges(oldConfig, newConfig) {
480
+ const changes = this.findChanges(oldConfig, newConfig);
481
+ for (const key of changes) {
482
+ this.notifyKey(key, this.get(key));
483
+ }
484
+ }
485
+ /**
486
+ * Notify listeners for a specific key
487
+ */
488
+ notifyKey(key, value) {
489
+ const listeners = this.listeners.get(key);
490
+ if (listeners) {
491
+ for (const callback of listeners) {
492
+ try {
493
+ callback(value);
494
+ }
495
+ catch (error) {
496
+ console.error(`Error in configuration listener for ${key}:`, error);
497
+ }
498
+ }
499
+ }
500
+ }
501
+ /**
502
+ * Find changed keys between configurations
503
+ */
504
+ findChanges(oldConfig, newConfig, prefix = '') {
505
+ const changes = [];
506
+ for (const key in newConfig) {
507
+ const fullKey = prefix ? `${prefix}.${key}` : key;
508
+ if (!(key in oldConfig)) {
509
+ changes.push(fullKey);
510
+ }
511
+ else if (typeof newConfig[key] === 'object' && !Array.isArray(newConfig[key])) {
512
+ changes.push(...this.findChanges(oldConfig[key], newConfig[key], fullKey));
513
+ }
514
+ else if (JSON.stringify(oldConfig[key]) !== JSON.stringify(newConfig[key])) {
515
+ changes.push(fullKey);
516
+ }
517
+ }
518
+ return changes;
519
+ }
520
+ }
521
+ // ============================================
522
+ // SINGLETON INSTANCE
523
+ // ============================================
524
+ export const configManager = new ConfigurationManager();
525
+ // ============================================
526
+ // CONFIGURATION HELPERS
527
+ // ============================================
528
+ /**
529
+ * Get typed configuration sections
530
+ */
531
+ export class ConfigHelper {
532
+ static getConnectionConfig() {
533
+ return configManager.getRequired('connection');
534
+ }
535
+ static getLoggingConfig() {
536
+ return configManager.getRequired('logging');
537
+ }
538
+ static getCacheConfig() {
539
+ return configManager.getRequired('cache');
540
+ }
541
+ static getPerformanceConfig() {
542
+ return configManager.getRequired('performance');
543
+ }
544
+ static getSecurityConfig() {
545
+ return configManager.getRequired('security');
546
+ }
547
+ static getTemplatesConfig() {
548
+ return configManager.getRequired('templates');
549
+ }
550
+ static getDatabaseConfig() {
551
+ return configManager.getRequired('database');
552
+ }
553
+ static getFeatureFlags() {
554
+ return configManager.getRequired('features');
555
+ }
556
+ static getEnvironment() {
557
+ return configManager.getRequired('environment');
558
+ }
559
+ static isDevelopment() {
560
+ return ConfigHelper.getEnvironment() === 'development';
561
+ }
562
+ static isProduction() {
563
+ return ConfigHelper.getEnvironment() === 'production';
564
+ }
565
+ }
566
+ //# sourceMappingURL=configuration-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configuration-manager.js","sourceRoot":"","sources":["../../../src/infrastructure/config/configuration-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Service Locator Implementation
3
+ * Simple dependency injection container
4
+ */
5
+ import { IServiceLocator } from '../../core/interfaces/core-abstractions.js';
6
+ export declare class ServiceLocator implements IServiceLocator {
7
+ private services;
8
+ private factories;
9
+ register<T>(token: symbol | string, instanceOrFactory: T | (() => T)): void;
10
+ resolve<T>(token: symbol | string): T;
11
+ has(token: symbol | string): boolean;
12
+ reset(): void;
13
+ }
14
+ //# sourceMappingURL=service-locator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-locator.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/container/service-locator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAE7E,qBAAa,cAAe,YAAW,eAAe;IACpD,OAAO,CAAC,QAAQ,CAAwC;IACxD,OAAO,CAAC,SAAS,CAA8C;IAE/D,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,iBAAiB,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI;IAQ3E,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC;IAiBrC,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO;IAIpC,KAAK,IAAI,IAAI;CAId"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Service Locator Implementation
3
+ * Simple dependency injection container
4
+ */
5
+ export class ServiceLocator {
6
+ services = new Map();
7
+ factories = new Map();
8
+ register(token, instanceOrFactory) {
9
+ if (typeof instanceOrFactory === 'function') {
10
+ this.factories.set(token, instanceOrFactory);
11
+ }
12
+ else {
13
+ this.services.set(token, instanceOrFactory);
14
+ }
15
+ }
16
+ resolve(token) {
17
+ // Check if we have a direct instance
18
+ if (this.services.has(token)) {
19
+ return this.services.get(token);
20
+ }
21
+ // Check if we have a factory
22
+ if (this.factories.has(token)) {
23
+ const factory = this.factories.get(token);
24
+ const instance = factory();
25
+ this.services.set(token, instance);
26
+ return instance;
27
+ }
28
+ throw new Error(`Service not found: ${String(token)}`);
29
+ }
30
+ has(token) {
31
+ return this.services.has(token) || this.factories.has(token);
32
+ }
33
+ reset() {
34
+ this.services.clear();
35
+ this.factories.clear();
36
+ }
37
+ }
38
+ //# sourceMappingURL=service-locator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-locator.js","sourceRoot":"","sources":["../../../src/infrastructure/container/service-locator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,OAAO,cAAc;IACjB,QAAQ,GAA8B,IAAI,GAAG,EAAE,CAAC;IAChD,SAAS,GAAoC,IAAI,GAAG,EAAE,CAAC;IAE/D,QAAQ,CAAI,KAAsB,EAAE,iBAAgC;QAClE,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE,CAAC;YAC5C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,iBAA4B,CAAC,CAAC;QAC1D,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAED,OAAO,CAAI,KAAsB;QAC/B,qCAAqC;QACrC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAM,CAAC;QACvC,CAAC;QAED,6BAA6B;QAC7B,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC;YAC3C,MAAM,QAAQ,GAAG,OAAO,EAAE,CAAC;YAC3B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACnC,OAAO,QAAa,CAAC;QACvB,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,sBAAsB,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,GAAG,CAAC,KAAsB;QACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK;QACH,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;CACF"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Logger Implementation
3
+ * Production-ready logging with multiple transports
4
+ */
5
+ import { ILogger } from '../../core/interfaces/core-abstractions.js';
6
+ export interface LoggerConfig {
7
+ level?: string;
8
+ console?: boolean;
9
+ file?: boolean;
10
+ filePath?: string;
11
+ format?: 'json' | 'text';
12
+ maxFileSize?: number;
13
+ maxFiles?: number;
14
+ }
15
+ export declare class Logger implements ILogger {
16
+ private winston;
17
+ constructor(config?: LoggerConfig);
18
+ debug(message: string, context?: Record<string, unknown>): void;
19
+ info(message: string, context?: Record<string, unknown>): void;
20
+ warn(message: string, context?: Record<string, unknown>): void;
21
+ error(message: string, error?: Error, context?: Record<string, unknown>): void;
22
+ fatal(message: string, error?: Error, context?: Record<string, unknown>): void;
23
+ }
24
+ //# sourceMappingURL=logger.d.ts.map