solidworks-mcp-server 3.0.8 → 3.1.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 (243) hide show
  1. package/CHANGELOG.md +175 -98
  2. package/LICENSE +20 -20
  3. package/README.md +195 -423
  4. package/dist/adapters/circuit-breaker.d.ts +84 -0
  5. package/dist/adapters/circuit-breaker.d.ts.map +1 -0
  6. package/dist/adapters/circuit-breaker.js +228 -0
  7. package/dist/adapters/circuit-breaker.js.map +1 -0
  8. package/dist/adapters/connection-pool.d.ts +83 -0
  9. package/dist/adapters/connection-pool.d.ts.map +1 -0
  10. package/dist/adapters/connection-pool.js +282 -0
  11. package/dist/adapters/connection-pool.js.map +1 -0
  12. package/dist/adapters/edge-adapter.d.ts +43 -0
  13. package/dist/adapters/edge-adapter.d.ts.map +1 -0
  14. package/dist/adapters/edge-adapter.js +417 -0
  15. package/dist/adapters/edge-adapter.js.map +1 -0
  16. package/dist/adapters/factory.d.ts +60 -0
  17. package/dist/adapters/factory.d.ts.map +1 -0
  18. package/dist/adapters/factory.js +212 -0
  19. package/dist/adapters/factory.js.map +1 -0
  20. package/dist/adapters/feature-complexity-analyzer.d.ts +102 -0
  21. package/dist/adapters/feature-complexity-analyzer.d.ts.map +1 -0
  22. package/dist/adapters/feature-complexity-analyzer.js +322 -0
  23. package/dist/adapters/feature-complexity-analyzer.js.map +1 -0
  24. package/dist/adapters/macro-generator.d.ts +30 -0
  25. package/dist/adapters/macro-generator.d.ts.map +1 -0
  26. package/dist/adapters/macro-generator.js +524 -0
  27. package/dist/adapters/macro-generator.js.map +1 -0
  28. package/dist/adapters/mock-solidworks-adapter.d.ts +92 -0
  29. package/dist/adapters/mock-solidworks-adapter.d.ts.map +1 -0
  30. package/dist/adapters/mock-solidworks-adapter.js +367 -0
  31. package/dist/adapters/mock-solidworks-adapter.js.map +1 -0
  32. package/dist/adapters/types.d.ts +376 -0
  33. package/dist/adapters/types.d.ts.map +1 -0
  34. package/dist/adapters/types.js +261 -0
  35. package/dist/adapters/types.js.map +1 -0
  36. package/dist/adapters/winax-adapter-enhanced.d.ts +55 -0
  37. package/dist/adapters/winax-adapter-enhanced.d.ts.map +1 -0
  38. package/dist/adapters/winax-adapter-enhanced.js +601 -0
  39. package/dist/adapters/winax-adapter-enhanced.js.map +1 -0
  40. package/dist/adapters/winax-adapter.d.ts +55 -0
  41. package/dist/adapters/winax-adapter.d.ts.map +1 -0
  42. package/dist/adapters/winax-adapter.js +667 -0
  43. package/dist/adapters/winax-adapter.js.map +1 -0
  44. package/dist/api/stainless-api.d.ts +29 -0
  45. package/dist/api/stainless-api.d.ts.map +1 -0
  46. package/dist/api/stainless-api.js +408 -0
  47. package/dist/api/stainless-api.js.map +1 -0
  48. package/dist/cache/manager.d.ts.map +1 -1
  49. package/dist/cache/manager.js +4 -3
  50. package/dist/cache/manager.js.map +1 -1
  51. package/dist/core/interfaces/core-abstractions.d.ts.map +1 -1
  52. package/dist/core/interfaces/core-abstractions.js.map +1 -1
  53. package/dist/db/connection.js +4 -4
  54. package/dist/db/connection.js.map +1 -1
  55. package/dist/index.d.ts.map +1 -1
  56. package/dist/index.js +86 -79
  57. package/dist/index.js.map +1 -1
  58. package/dist/knowledge/chromadb.d.ts.map +1 -1
  59. package/dist/knowledge/chromadb.js +5 -3
  60. package/dist/knowledge/chromadb.js.map +1 -1
  61. package/dist/macro/recorder.d.ts +1 -1
  62. package/dist/macro/recorder.d.ts.map +1 -1
  63. package/dist/macro/recorder.js +10 -10
  64. package/dist/macro/recorder.js.map +1 -1
  65. package/dist/resources/base.js +10 -10
  66. package/dist/resources/base.js.map +1 -1
  67. package/dist/resources/design-table.d.ts +10 -12
  68. package/dist/resources/design-table.d.ts.map +1 -1
  69. package/dist/resources/design-table.js +42 -39
  70. package/dist/resources/design-table.js.map +1 -1
  71. package/dist/resources/pdm.d.ts +44 -45
  72. package/dist/resources/pdm.d.ts.map +1 -1
  73. package/dist/resources/pdm.js +118 -79
  74. package/dist/resources/pdm.js.map +1 -1
  75. package/dist/resources/registry.d.ts +1 -1
  76. package/dist/resources/registry.d.ts.map +1 -1
  77. package/dist/resources/registry.js +1 -1
  78. package/dist/shared/constants/solidworks-constants.d.ts.map +1 -1
  79. package/dist/shared/constants/solidworks-constants.js +9 -9
  80. package/dist/shared/constants/solidworks-constants.js.map +1 -1
  81. package/dist/solidworks/api.d.ts +8 -6
  82. package/dist/solidworks/api.d.ts.map +1 -1
  83. package/dist/solidworks/api.js +614 -188
  84. package/dist/solidworks/api.js.map +1 -1
  85. package/dist/state/store.d.ts +1 -1
  86. package/dist/state/store.d.ts.map +1 -1
  87. package/dist/state/store.js +14 -14
  88. package/dist/state/store.js.map +1 -1
  89. package/dist/tools/analysis.d.ts +12 -2
  90. package/dist/tools/analysis.d.ts.map +1 -1
  91. package/dist/tools/analysis.js +141 -31
  92. package/dist/tools/analysis.js.map +1 -1
  93. package/dist/tools/diagnostics.d.ts +1 -1
  94. package/dist/tools/diagnostics.d.ts.map +1 -1
  95. package/dist/tools/diagnostics.js +2 -2
  96. package/dist/tools/diagnostics.js.map +1 -1
  97. package/dist/tools/drawing.d.ts +2 -2
  98. package/dist/tools/drawing.d.ts.map +1 -1
  99. package/dist/tools/drawing.js +94 -10
  100. package/dist/tools/drawing.js.map +1 -1
  101. package/dist/tools/enhanced-drawing.d.ts +1 -1
  102. package/dist/tools/enhanced-drawing.d.ts.map +1 -1
  103. package/dist/tools/enhanced-drawing.js +10 -13
  104. package/dist/tools/enhanced-drawing.js.map +1 -1
  105. package/dist/tools/export.d.ts +1 -1
  106. package/dist/tools/export.d.ts.map +1 -1
  107. package/dist/tools/export.js +88 -14
  108. package/dist/tools/export.js.map +1 -1
  109. package/dist/tools/extrusion-helper.d.ts +15 -0
  110. package/dist/tools/extrusion-helper.d.ts.map +1 -0
  111. package/dist/tools/extrusion-helper.js +61 -0
  112. package/dist/tools/extrusion-helper.js.map +1 -0
  113. package/dist/tools/macro-security.d.ts +2 -2
  114. package/dist/tools/macro-security.d.ts.map +1 -1
  115. package/dist/tools/macro-security.js +2 -2
  116. package/dist/tools/macro-security.js.map +1 -1
  117. package/dist/tools/modeling.d.ts +2 -2
  118. package/dist/tools/modeling.d.ts.map +1 -1
  119. package/dist/tools/modeling.js +6 -6
  120. package/dist/tools/modeling.js.map +1 -1
  121. package/dist/tools/native-macro.d.ts +1 -1
  122. package/dist/tools/native-macro.d.ts.map +1 -1
  123. package/dist/tools/native-macro.js +246 -239
  124. package/dist/tools/native-macro.js.map +1 -1
  125. package/dist/tools/sketch.d.ts +28 -28
  126. package/dist/tools/sketch.d.ts.map +1 -1
  127. package/dist/tools/sketch.js +202 -136
  128. package/dist/tools/sketch.js.map +1 -1
  129. package/dist/tools/template-manager.d.ts +5 -5
  130. package/dist/tools/template-manager.d.ts.map +1 -1
  131. package/dist/tools/template-manager.js +66 -65
  132. package/dist/tools/template-manager.js.map +1 -1
  133. package/dist/tools/vba-advanced.d.ts +10 -10
  134. package/dist/tools/vba-advanced.d.ts.map +1 -1
  135. package/dist/tools/vba-advanced.js +791 -708
  136. package/dist/tools/vba-advanced.js.map +1 -1
  137. package/dist/tools/vba-assembly.d.ts +10 -10
  138. package/dist/tools/vba-assembly.d.ts.map +1 -1
  139. package/dist/tools/vba-assembly.js +562 -500
  140. package/dist/tools/vba-assembly.js.map +1 -1
  141. package/dist/tools/vba-drawing.d.ts +12 -12
  142. package/dist/tools/vba-drawing.d.ts.map +1 -1
  143. package/dist/tools/vba-drawing.js +681 -572
  144. package/dist/tools/vba-drawing.js.map +1 -1
  145. package/dist/tools/vba-file-management.d.ts +12 -12
  146. package/dist/tools/vba-file-management.d.ts.map +1 -1
  147. package/dist/tools/vba-file-management.js +662 -589
  148. package/dist/tools/vba-file-management.js.map +1 -1
  149. package/dist/tools/vba-part.d.ts +10 -10
  150. package/dist/tools/vba-part.d.ts.map +1 -1
  151. package/dist/tools/vba-part.js +484 -426
  152. package/dist/tools/vba-part.js.map +1 -1
  153. package/dist/tools/vba.d.ts +361 -361
  154. package/dist/tools/vba.d.ts.map +1 -1
  155. package/dist/tools/vba.js +67 -81
  156. package/dist/tools/vba.js.map +1 -1
  157. package/dist/utils/config.js +2 -2
  158. package/dist/utils/config.js.map +1 -1
  159. package/dist/utils/environment.d.ts +243 -0
  160. package/dist/utils/environment.d.ts.map +1 -0
  161. package/dist/utils/environment.js +207 -0
  162. package/dist/utils/environment.js.map +1 -0
  163. package/dist/utils/logger.d.ts.map +1 -1
  164. package/dist/utils/logger.js +6 -6
  165. package/dist/utils/logger.js.map +1 -1
  166. package/dist/utils/solidworks-config.d.ts +39 -0
  167. package/dist/utils/solidworks-config.d.ts.map +1 -0
  168. package/dist/utils/solidworks-config.js +156 -0
  169. package/dist/utils/solidworks-config.js.map +1 -0
  170. package/package.json +84 -84
  171. package/scripts/setup.js +70 -70
  172. package/dist/application/services/command-bus.d.ts +0 -39
  173. package/dist/application/services/command-bus.d.ts.map +0 -1
  174. package/dist/application/services/command-bus.js +0 -88
  175. package/dist/application/services/command-bus.js.map +0 -1
  176. package/dist/application/services/event-bus.d.ts +0 -31
  177. package/dist/application/services/event-bus.d.ts.map +0 -1
  178. package/dist/application/services/event-bus.js +0 -83
  179. package/dist/application/services/event-bus.js.map +0 -1
  180. package/dist/application/services/query-bus.d.ts +0 -30
  181. package/dist/application/services/query-bus.d.ts.map +0 -1
  182. package/dist/application/services/query-bus.js +0 -59
  183. package/dist/application/services/query-bus.js.map +0 -1
  184. package/dist/application/services/tool-registry.d.ts +0 -53
  185. package/dist/application/services/tool-registry.d.ts.map +0 -1
  186. package/dist/application/services/tool-registry.js +0 -81
  187. package/dist/application/services/tool-registry.js.map +0 -1
  188. package/dist/application/use-cases/analysis/index.d.ts +0 -13
  189. package/dist/application/use-cases/analysis/index.d.ts.map +0 -1
  190. package/dist/application/use-cases/analysis/index.js +0 -17
  191. package/dist/application/use-cases/analysis/index.js.map +0 -1
  192. package/dist/application/use-cases/drawing/index.d.ts +0 -13
  193. package/dist/application/use-cases/drawing/index.d.ts.map +0 -1
  194. package/dist/application/use-cases/drawing/index.js +0 -17
  195. package/dist/application/use-cases/drawing/index.js.map +0 -1
  196. package/dist/application/use-cases/export/index.d.ts +0 -13
  197. package/dist/application/use-cases/export/index.d.ts.map +0 -1
  198. package/dist/application/use-cases/export/index.js +0 -17
  199. package/dist/application/use-cases/export/index.js.map +0 -1
  200. package/dist/application/use-cases/macro/index.d.ts +0 -13
  201. package/dist/application/use-cases/macro/index.d.ts.map +0 -1
  202. package/dist/application/use-cases/macro/index.js +0 -17
  203. package/dist/application/use-cases/macro/index.js.map +0 -1
  204. package/dist/application/use-cases/modeling/index.d.ts +0 -56
  205. package/dist/application/use-cases/modeling/index.d.ts.map +0 -1
  206. package/dist/application/use-cases/modeling/index.js +0 -385
  207. package/dist/application/use-cases/modeling/index.js.map +0 -1
  208. package/dist/index.refactored.d.ts +0 -7
  209. package/dist/index.refactored.d.ts.map +0 -1
  210. package/dist/index.refactored.js +0 -254
  211. package/dist/index.refactored.js.map +0 -1
  212. package/dist/infrastructure/config/configuration-manager.d.ts +0 -381
  213. package/dist/infrastructure/config/configuration-manager.d.ts.map +0 -1
  214. package/dist/infrastructure/config/configuration-manager.js +0 -566
  215. package/dist/infrastructure/config/configuration-manager.js.map +0 -1
  216. package/dist/infrastructure/container/service-locator.d.ts +0 -14
  217. package/dist/infrastructure/container/service-locator.d.ts.map +0 -1
  218. package/dist/infrastructure/container/service-locator.js +0 -38
  219. package/dist/infrastructure/container/service-locator.js.map +0 -1
  220. package/dist/infrastructure/logging/logger.d.ts +0 -24
  221. package/dist/infrastructure/logging/logger.d.ts.map +0 -1
  222. package/dist/infrastructure/logging/logger.js +0 -65
  223. package/dist/infrastructure/logging/logger.js.map +0 -1
  224. package/dist/infrastructure/solidworks/solidworks-adapter.d.ts +0 -43
  225. package/dist/infrastructure/solidworks/solidworks-adapter.d.ts.map +0 -1
  226. package/dist/infrastructure/solidworks/solidworks-adapter.js +0 -527
  227. package/dist/infrastructure/solidworks/solidworks-adapter.js.map +0 -1
  228. package/dist/presentation/mcp/request-handler.d.ts +0 -41
  229. package/dist/presentation/mcp/request-handler.d.ts.map +0 -1
  230. package/dist/presentation/mcp/request-handler.js +0 -100
  231. package/dist/presentation/mcp/request-handler.js.map +0 -1
  232. package/dist/presentation/transformers/error-transformer.d.ts +0 -16
  233. package/dist/presentation/transformers/error-transformer.d.ts.map +0 -1
  234. package/dist/presentation/transformers/error-transformer.js +0 -44
  235. package/dist/presentation/transformers/error-transformer.js.map +0 -1
  236. package/dist/presentation/transformers/response-transformer.d.ts +0 -24
  237. package/dist/presentation/transformers/response-transformer.d.ts.map +0 -1
  238. package/dist/presentation/transformers/response-transformer.js +0 -102
  239. package/dist/presentation/transformers/response-transformer.js.map +0 -1
  240. package/dist/tools/drawing-analysis.d.ts +0 -9
  241. package/dist/tools/drawing-analysis.d.ts.map +0 -1
  242. package/dist/tools/drawing-analysis.js +0 -239
  243. package/dist/tools/drawing-analysis.js.map +0 -1
@@ -1,254 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * SolidWorks MCP Server - Clean Architecture Implementation
4
- * Production-ready, maintainable, and scalable MCP server
5
- */
6
- import { Server } from '@modelcontextprotocol/sdk/server/index.js';
7
- import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
8
- import { CallToolRequestSchema, ListToolsRequestSchema, ErrorCode, McpError } from '@modelcontextprotocol/sdk/types.js';
9
- // Core imports
10
- import { ResultUtil, DomainError } from './core/interfaces/core-abstractions.js';
11
- // Infrastructure imports
12
- import { ConfigurationManager } from './infrastructure/config/configuration-manager.js';
13
- import { SolidWorksAdapter } from './infrastructure/solidworks/solidworks-adapter.js';
14
- import { Logger } from './infrastructure/logging/logger.js';
15
- import { ServiceLocator } from './infrastructure/container/service-locator.js';
16
- // Application imports
17
- import { ToolRegistry } from './application/services/tool-registry.js';
18
- import { CommandBus } from './application/services/command-bus.js';
19
- import { QueryBus } from './application/services/query-bus.js';
20
- import { EventBus } from './application/services/event-bus.js';
21
- // Presentation imports
22
- import { MCPRequestHandler } from './presentation/mcp/request-handler.js';
23
- import { ErrorTransformer } from './presentation/transformers/error-transformer.js';
24
- import { ResponseTransformer } from './presentation/transformers/response-transformer.js';
25
- // Use cases
26
- import { ModelingUseCases } from './application/use-cases/modeling/index.js';
27
- import { DrawingUseCases } from './application/use-cases/drawing/index.js';
28
- import { ExportUseCases } from './application/use-cases/export/index.js';
29
- import { AnalysisUseCases } from './application/use-cases/analysis/index.js';
30
- import { MacroUseCases } from './application/use-cases/macro/index.js';
31
- /**
32
- * Main application class implementing clean architecture
33
- */
34
- class SolidWorksMCPApplication {
35
- server;
36
- logger;
37
- config;
38
- serviceLocator;
39
- swAdapter;
40
- toolRegistry;
41
- commandBus;
42
- queryBus;
43
- eventBus;
44
- requestHandler;
45
- isInitialized = false;
46
- constructor() {
47
- // Initialize core services
48
- this.initializeCore();
49
- }
50
- /**
51
- * Initialize core services and dependencies
52
- */
53
- initializeCore() {
54
- try {
55
- // 1. Setup configuration
56
- this.config = new ConfigurationManager();
57
- const configResult = this.config.load();
58
- if (!ResultUtil.isSuccess(configResult)) {
59
- throw configResult.error;
60
- }
61
- // 2. Setup logging
62
- this.logger = new Logger(this.config.get('logging'));
63
- this.logger.info('Initializing SolidWorks MCP Server', {
64
- version: this.config.get('version'),
65
- environment: this.config.get('environment')
66
- });
67
- // 3. Setup dependency injection container
68
- this.serviceLocator = new ServiceLocator();
69
- this.registerServices();
70
- // 4. Setup infrastructure
71
- this.swAdapter = new SolidWorksAdapter({
72
- logger: this.logger,
73
- ...this.config.get('connection')
74
- });
75
- // 5. Setup application services
76
- this.commandBus = new CommandBus(this.logger);
77
- this.queryBus = new QueryBus(this.logger);
78
- this.eventBus = new EventBus(this.logger);
79
- this.toolRegistry = new ToolRegistry(this.logger);
80
- // 6. Setup presentation layer
81
- this.requestHandler = new MCPRequestHandler({
82
- logger: this.logger,
83
- toolRegistry: this.toolRegistry,
84
- commandBus: this.commandBus,
85
- queryBus: this.queryBus,
86
- errorTransformer: new ErrorTransformer(),
87
- responseTransformer: new ResponseTransformer()
88
- });
89
- // 7. Create MCP server
90
- this.server = new Server({
91
- name: 'solidworks-mcp-server',
92
- version: this.config.get('version') || '3.0.0',
93
- description: 'Clean Architecture SolidWorks MCP Server'
94
- }, {
95
- capabilities: {
96
- tools: {},
97
- resources: {}
98
- }
99
- });
100
- // 8. Register use cases
101
- this.registerUseCases();
102
- // 9. Setup request handlers
103
- this.setupHandlers();
104
- this.isInitialized = true;
105
- this.logger.info('SolidWorks MCP Server initialized successfully');
106
- }
107
- catch (error) {
108
- const message = error instanceof Error ? error.message : 'Unknown error';
109
- console.error(`Failed to initialize server: ${message}`);
110
- process.exit(1);
111
- }
112
- }
113
- /**
114
- * Register services in the dependency injection container
115
- */
116
- registerServices() {
117
- this.serviceLocator.register('logger', this.logger);
118
- this.serviceLocator.register('config', this.config);
119
- this.serviceLocator.register('swAdapter', () => this.swAdapter);
120
- this.serviceLocator.register('eventBus', () => this.eventBus);
121
- }
122
- /**
123
- * Register all use cases
124
- */
125
- registerUseCases() {
126
- const useCaseGroups = [
127
- { name: 'modeling', useCases: new ModelingUseCases(this.swAdapter, this.logger) },
128
- { name: 'drawing', useCases: new DrawingUseCases(this.swAdapter, this.logger) },
129
- { name: 'export', useCases: new ExportUseCases(this.swAdapter, this.logger) },
130
- { name: 'analysis', useCases: new AnalysisUseCases(this.swAdapter, this.logger) },
131
- { name: 'macro', useCases: new MacroUseCases(this.swAdapter, this.logger) }
132
- ];
133
- for (const group of useCaseGroups) {
134
- const tools = group.useCases.getTools();
135
- for (const tool of tools) {
136
- this.toolRegistry.register(tool);
137
- this.logger.debug(`Registered tool: ${tool.name}`, { group: group.name });
138
- }
139
- }
140
- this.logger.info(`Registered ${this.toolRegistry.count()} tools`);
141
- }
142
- /**
143
- * Setup MCP request handlers
144
- */
145
- setupHandlers() {
146
- // Handle tool listing
147
- this.server.setRequestHandler(ListToolsRequestSchema, async () => {
148
- return this.requestHandler.handleListTools();
149
- });
150
- // Handle tool execution
151
- this.server.setRequestHandler(CallToolRequestSchema, async (request) => {
152
- return this.requestHandler.handleCallTool(request);
153
- });
154
- // Setup error handling
155
- this.server.onerror = (error) => {
156
- this.logger.error('Server error', error);
157
- return this.handleError(error);
158
- };
159
- // Setup connection lifecycle
160
- this.server.onconnect = async () => {
161
- this.logger.info('Client connected');
162
- if (this.config.get('connection.autoConnect')) {
163
- const connectResult = await this.swAdapter.connect();
164
- if (!ResultUtil.isSuccess(connectResult)) {
165
- this.logger.warn('Failed to auto-connect to SolidWorks', connectResult.error);
166
- }
167
- }
168
- };
169
- this.server.ondisconnect = async () => {
170
- this.logger.info('Client disconnected');
171
- const disconnectResult = await this.swAdapter.disconnect();
172
- if (!ResultUtil.isSuccess(disconnectResult)) {
173
- this.logger.warn('Failed to disconnect from SolidWorks', disconnectResult.error);
174
- }
175
- };
176
- }
177
- /**
178
- * Handle errors with proper transformation
179
- */
180
- handleError(error) {
181
- if (error instanceof DomainError) {
182
- return new McpError(ErrorCode.InternalError, error.message, error.toJSON());
183
- }
184
- if (error instanceof Error) {
185
- return new McpError(ErrorCode.InternalError, error.message);
186
- }
187
- return new McpError(ErrorCode.InternalError, 'An unexpected error occurred');
188
- }
189
- /**
190
- * Start the server
191
- */
192
- async start() {
193
- if (!this.isInitialized) {
194
- throw new Error('Server not initialized');
195
- }
196
- try {
197
- const transport = new StdioServerTransport();
198
- await this.server.connect(transport);
199
- this.logger.info('Server started successfully');
200
- // Setup graceful shutdown
201
- this.setupGracefulShutdown();
202
- }
203
- catch (error) {
204
- this.logger.fatal('Failed to start server', error);
205
- throw error;
206
- }
207
- }
208
- /**
209
- * Setup graceful shutdown handlers
210
- */
211
- setupGracefulShutdown() {
212
- const shutdown = async (signal) => {
213
- this.logger.info(`Received ${signal}, shutting down gracefully...`);
214
- try {
215
- // Disconnect from SolidWorks
216
- await this.swAdapter.disconnect();
217
- // Close server
218
- await this.server.close();
219
- this.logger.info('Server shut down successfully');
220
- process.exit(0);
221
- }
222
- catch (error) {
223
- this.logger.error('Error during shutdown', error);
224
- process.exit(1);
225
- }
226
- };
227
- process.on('SIGINT', () => shutdown('SIGINT'));
228
- process.on('SIGTERM', () => shutdown('SIGTERM'));
229
- process.on('uncaughtException', (error) => {
230
- this.logger.fatal('Uncaught exception', error);
231
- shutdown('uncaughtException');
232
- });
233
- process.on('unhandledRejection', (reason) => {
234
- this.logger.fatal('Unhandled rejection', new Error(String(reason)));
235
- shutdown('unhandledRejection');
236
- });
237
- }
238
- }
239
- // ============================================
240
- // APPLICATION ENTRY POINT
241
- // ============================================
242
- async function main() {
243
- try {
244
- const app = new SolidWorksMCPApplication();
245
- await app.start();
246
- }
247
- catch (error) {
248
- console.error('Failed to start application:', error);
249
- process.exit(1);
250
- }
251
- }
252
- // Start the application
253
- main().catch(console.error);
254
- //# sourceMappingURL=index.refactored.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.refactored.js","sourceRoot":"","sources":["../src/index.refactored.ts"],"names":[],"mappings":"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"}
@@ -1,381 +0,0 @@
1
- /**
2
- * Configuration Management System
3
- * Centralized, type-safe configuration with validation
4
- */
5
- import { z } from 'zod';
6
- import { Result, IConfigurationProvider } from './core-abstractions';
7
- /**
8
- * Complete configuration schema
9
- */
10
- declare const ConfigurationSchema: z.ZodObject<{
11
- connection: z.ZodObject<{
12
- solidworksPath: z.ZodOptional<z.ZodString>;
13
- retryAttempts: z.ZodDefault<z.ZodNumber>;
14
- retryDelay: z.ZodDefault<z.ZodNumber>;
15
- timeout: z.ZodDefault<z.ZodNumber>;
16
- autoConnect: z.ZodDefault<z.ZodBoolean>;
17
- }, "strip", z.ZodTypeAny, {
18
- retryAttempts: number;
19
- retryDelay: number;
20
- timeout: number;
21
- autoConnect: boolean;
22
- solidworksPath?: string | undefined;
23
- }, {
24
- solidworksPath?: string | undefined;
25
- retryAttempts?: number | undefined;
26
- retryDelay?: number | undefined;
27
- timeout?: number | undefined;
28
- autoConnect?: boolean | undefined;
29
- }>;
30
- logging: z.ZodObject<{
31
- level: z.ZodDefault<z.ZodEnum<["debug", "info", "warn", "error", "fatal"]>>;
32
- console: z.ZodDefault<z.ZodBoolean>;
33
- file: z.ZodDefault<z.ZodBoolean>;
34
- filePath: z.ZodOptional<z.ZodString>;
35
- maxFileSize: z.ZodDefault<z.ZodNumber>;
36
- maxFiles: z.ZodDefault<z.ZodNumber>;
37
- format: z.ZodDefault<z.ZodEnum<["json", "text"]>>;
38
- }, "strip", z.ZodTypeAny, {
39
- level: "error" | "debug" | "info" | "warn" | "fatal";
40
- console: boolean;
41
- file: boolean;
42
- maxFileSize: number;
43
- maxFiles: number;
44
- format: "json" | "text";
45
- filePath?: string | undefined;
46
- }, {
47
- level?: "error" | "debug" | "info" | "warn" | "fatal" | undefined;
48
- console?: boolean | undefined;
49
- file?: boolean | undefined;
50
- filePath?: string | undefined;
51
- maxFileSize?: number | undefined;
52
- maxFiles?: number | undefined;
53
- format?: "json" | "text" | undefined;
54
- }>;
55
- cache: z.ZodObject<{
56
- enabled: z.ZodDefault<z.ZodBoolean>;
57
- maxEntries: z.ZodDefault<z.ZodNumber>;
58
- ttl: z.ZodDefault<z.ZodNumber>;
59
- strategy: z.ZodDefault<z.ZodEnum<["lru", "lfu", "fifo"]>>;
60
- }, "strip", z.ZodTypeAny, {
61
- enabled: boolean;
62
- maxEntries: number;
63
- ttl: number;
64
- strategy: "lru" | "lfu" | "fifo";
65
- }, {
66
- enabled?: boolean | undefined;
67
- maxEntries?: number | undefined;
68
- ttl?: number | undefined;
69
- strategy?: "lru" | "lfu" | "fifo" | undefined;
70
- }>;
71
- performance: z.ZodObject<{
72
- maxConcurrentOperations: z.ZodDefault<z.ZodNumber>;
73
- operationTimeout: z.ZodDefault<z.ZodNumber>;
74
- memoryLimit: z.ZodOptional<z.ZodNumber>;
75
- enableMetrics: z.ZodDefault<z.ZodBoolean>;
76
- }, "strip", z.ZodTypeAny, {
77
- maxConcurrentOperations: number;
78
- operationTimeout: number;
79
- enableMetrics: boolean;
80
- memoryLimit?: number | undefined;
81
- }, {
82
- maxConcurrentOperations?: number | undefined;
83
- operationTimeout?: number | undefined;
84
- memoryLimit?: number | undefined;
85
- enableMetrics?: boolean | undefined;
86
- }>;
87
- security: z.ZodObject<{
88
- enableMacroSecurity: z.ZodDefault<z.ZodBoolean>;
89
- macroSecurityLevel: z.ZodDefault<z.ZodEnum<["low", "medium", "high"]>>;
90
- trustedPaths: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
91
- enableAudit: z.ZodDefault<z.ZodBoolean>;
92
- encryptSensitiveData: z.ZodDefault<z.ZodBoolean>;
93
- }, "strip", z.ZodTypeAny, {
94
- enableMacroSecurity: boolean;
95
- macroSecurityLevel: "low" | "medium" | "high";
96
- trustedPaths: string[];
97
- enableAudit: boolean;
98
- encryptSensitiveData: boolean;
99
- }, {
100
- enableMacroSecurity?: boolean | undefined;
101
- macroSecurityLevel?: "low" | "medium" | "high" | undefined;
102
- trustedPaths?: string[] | undefined;
103
- enableAudit?: boolean | undefined;
104
- encryptSensitiveData?: boolean | undefined;
105
- }>;
106
- templates: z.ZodObject<{
107
- partTemplate: z.ZodOptional<z.ZodString>;
108
- assemblyTemplate: z.ZodOptional<z.ZodString>;
109
- drawingTemplate: z.ZodOptional<z.ZodString>;
110
- customTemplatesPath: z.ZodOptional<z.ZodString>;
111
- autoDetectTemplates: z.ZodDefault<z.ZodBoolean>;
112
- }, "strip", z.ZodTypeAny, {
113
- autoDetectTemplates: boolean;
114
- partTemplate?: string | undefined;
115
- assemblyTemplate?: string | undefined;
116
- drawingTemplate?: string | undefined;
117
- customTemplatesPath?: string | undefined;
118
- }, {
119
- partTemplate?: string | undefined;
120
- assemblyTemplate?: string | undefined;
121
- drawingTemplate?: string | undefined;
122
- customTemplatesPath?: string | undefined;
123
- autoDetectTemplates?: boolean | undefined;
124
- }>;
125
- database: z.ZodObject<{
126
- enabled: z.ZodDefault<z.ZodBoolean>;
127
- type: z.ZodOptional<z.ZodEnum<["mssql", "postgresql", "sqlite"]>>;
128
- connectionString: z.ZodOptional<z.ZodString>;
129
- poolSize: z.ZodDefault<z.ZodNumber>;
130
- connectionTimeout: z.ZodDefault<z.ZodNumber>;
131
- }, "strip", z.ZodTypeAny, {
132
- enabled: boolean;
133
- poolSize: number;
134
- connectionTimeout: number;
135
- type?: "mssql" | "postgresql" | "sqlite" | undefined;
136
- connectionString?: string | undefined;
137
- }, {
138
- type?: "mssql" | "postgresql" | "sqlite" | undefined;
139
- enabled?: boolean | undefined;
140
- connectionString?: string | undefined;
141
- poolSize?: number | undefined;
142
- connectionTimeout?: number | undefined;
143
- }>;
144
- features: z.ZodObject<{
145
- enableMacroRecording: z.ZodDefault<z.ZodBoolean>;
146
- enablePDM: z.ZodDefault<z.ZodBoolean>;
147
- enableDesignTables: z.ZodDefault<z.ZodBoolean>;
148
- enableVBAGeneration: z.ZodDefault<z.ZodBoolean>;
149
- enableAdvancedAnalysis: z.ZodDefault<z.ZodBoolean>;
150
- enableExperimentalFeatures: z.ZodDefault<z.ZodBoolean>;
151
- }, "strip", z.ZodTypeAny, {
152
- enableMacroRecording: boolean;
153
- enablePDM: boolean;
154
- enableDesignTables: boolean;
155
- enableVBAGeneration: boolean;
156
- enableAdvancedAnalysis: boolean;
157
- enableExperimentalFeatures: boolean;
158
- }, {
159
- enableMacroRecording?: boolean | undefined;
160
- enablePDM?: boolean | undefined;
161
- enableDesignTables?: boolean | undefined;
162
- enableVBAGeneration?: boolean | undefined;
163
- enableAdvancedAnalysis?: boolean | undefined;
164
- enableExperimentalFeatures?: boolean | undefined;
165
- }>;
166
- environment: z.ZodDefault<z.ZodEnum<["development", "staging", "production"]>>;
167
- version: z.ZodDefault<z.ZodString>;
168
- }, "strip", z.ZodTypeAny, {
169
- connection: {
170
- retryAttempts: number;
171
- retryDelay: number;
172
- timeout: number;
173
- autoConnect: boolean;
174
- solidworksPath?: string | undefined;
175
- };
176
- logging: {
177
- level: "error" | "debug" | "info" | "warn" | "fatal";
178
- console: boolean;
179
- file: boolean;
180
- maxFileSize: number;
181
- maxFiles: number;
182
- format: "json" | "text";
183
- filePath?: string | undefined;
184
- };
185
- cache: {
186
- enabled: boolean;
187
- maxEntries: number;
188
- ttl: number;
189
- strategy: "lru" | "lfu" | "fifo";
190
- };
191
- performance: {
192
- maxConcurrentOperations: number;
193
- operationTimeout: number;
194
- enableMetrics: boolean;
195
- memoryLimit?: number | undefined;
196
- };
197
- security: {
198
- enableMacroSecurity: boolean;
199
- macroSecurityLevel: "low" | "medium" | "high";
200
- trustedPaths: string[];
201
- enableAudit: boolean;
202
- encryptSensitiveData: boolean;
203
- };
204
- templates: {
205
- autoDetectTemplates: boolean;
206
- partTemplate?: string | undefined;
207
- assemblyTemplate?: string | undefined;
208
- drawingTemplate?: string | undefined;
209
- customTemplatesPath?: string | undefined;
210
- };
211
- database: {
212
- enabled: boolean;
213
- poolSize: number;
214
- connectionTimeout: number;
215
- type?: "mssql" | "postgresql" | "sqlite" | undefined;
216
- connectionString?: string | undefined;
217
- };
218
- features: {
219
- enableMacroRecording: boolean;
220
- enablePDM: boolean;
221
- enableDesignTables: boolean;
222
- enableVBAGeneration: boolean;
223
- enableAdvancedAnalysis: boolean;
224
- enableExperimentalFeatures: boolean;
225
- };
226
- environment: "development" | "staging" | "production";
227
- version: string;
228
- }, {
229
- connection: {
230
- solidworksPath?: string | undefined;
231
- retryAttempts?: number | undefined;
232
- retryDelay?: number | undefined;
233
- timeout?: number | undefined;
234
- autoConnect?: boolean | undefined;
235
- };
236
- logging: {
237
- level?: "error" | "debug" | "info" | "warn" | "fatal" | undefined;
238
- console?: boolean | undefined;
239
- file?: boolean | undefined;
240
- filePath?: string | undefined;
241
- maxFileSize?: number | undefined;
242
- maxFiles?: number | undefined;
243
- format?: "json" | "text" | undefined;
244
- };
245
- cache: {
246
- enabled?: boolean | undefined;
247
- maxEntries?: number | undefined;
248
- ttl?: number | undefined;
249
- strategy?: "lru" | "lfu" | "fifo" | undefined;
250
- };
251
- performance: {
252
- maxConcurrentOperations?: number | undefined;
253
- operationTimeout?: number | undefined;
254
- memoryLimit?: number | undefined;
255
- enableMetrics?: boolean | undefined;
256
- };
257
- security: {
258
- enableMacroSecurity?: boolean | undefined;
259
- macroSecurityLevel?: "low" | "medium" | "high" | undefined;
260
- trustedPaths?: string[] | undefined;
261
- enableAudit?: boolean | undefined;
262
- encryptSensitiveData?: boolean | undefined;
263
- };
264
- templates: {
265
- partTemplate?: string | undefined;
266
- assemblyTemplate?: string | undefined;
267
- drawingTemplate?: string | undefined;
268
- customTemplatesPath?: string | undefined;
269
- autoDetectTemplates?: boolean | undefined;
270
- };
271
- database: {
272
- type?: "mssql" | "postgresql" | "sqlite" | undefined;
273
- enabled?: boolean | undefined;
274
- connectionString?: string | undefined;
275
- poolSize?: number | undefined;
276
- connectionTimeout?: number | undefined;
277
- };
278
- features: {
279
- enableMacroRecording?: boolean | undefined;
280
- enablePDM?: boolean | undefined;
281
- enableDesignTables?: boolean | undefined;
282
- enableVBAGeneration?: boolean | undefined;
283
- enableAdvancedAnalysis?: boolean | undefined;
284
- enableExperimentalFeatures?: boolean | undefined;
285
- };
286
- environment?: "development" | "staging" | "production" | undefined;
287
- version?: string | undefined;
288
- }>;
289
- export type Configuration = z.infer<typeof ConfigurationSchema>;
290
- /**
291
- * Configuration source interface
292
- */
293
- interface IConfigurationSource {
294
- load(): Promise<Result<Record<string, unknown>>>;
295
- save?(config: Record<string, unknown>): Promise<Result<void>>;
296
- priority: number;
297
- }
298
- /**
299
- * Main configuration manager
300
- */
301
- export declare class ConfigurationManager implements IConfigurationProvider {
302
- private config;
303
- private readonly sources;
304
- private readonly listeners;
305
- constructor();
306
- /**
307
- * Add a configuration source
308
- */
309
- addSource(source: IConfigurationSource): void;
310
- /**
311
- * Load configuration from all sources
312
- */
313
- reload(): Promise<Result<void>>;
314
- /**
315
- * Get configuration value
316
- */
317
- get<T = unknown>(key: string): T | undefined;
318
- /**
319
- * Get required configuration value
320
- */
321
- getRequired<T = unknown>(key: string): T;
322
- /**
323
- * Set configuration value
324
- */
325
- set(key: string, value: unknown): void;
326
- /**
327
- * Check if configuration has a key
328
- */
329
- has(key: string): boolean;
330
- /**
331
- * Validate current configuration
332
- */
333
- validate(): Result<void>;
334
- /**
335
- * Get full configuration
336
- */
337
- getConfiguration(): Configuration;
338
- /**
339
- * Save configuration to file
340
- */
341
- save(filePath?: string): Promise<Result<void>>;
342
- /**
343
- * Watch for configuration changes
344
- */
345
- watch(key: string, callback: (value: unknown) => void): () => void;
346
- /**
347
- * Deep merge objects
348
- */
349
- private deepMerge;
350
- /**
351
- * Notify listeners of changes
352
- */
353
- private notifyChanges;
354
- /**
355
- * Notify listeners for a specific key
356
- */
357
- private notifyKey;
358
- /**
359
- * Find changed keys between configurations
360
- */
361
- private findChanges;
362
- }
363
- export declare const configManager: ConfigurationManager;
364
- /**
365
- * Get typed configuration sections
366
- */
367
- export declare class ConfigHelper {
368
- static getConnectionConfig(): Configuration['connection'];
369
- static getLoggingConfig(): Configuration['logging'];
370
- static getCacheConfig(): Configuration['cache'];
371
- static getPerformanceConfig(): Configuration['performance'];
372
- static getSecurityConfig(): Configuration['security'];
373
- static getTemplatesConfig(): Configuration['templates'];
374
- static getDatabaseConfig(): Configuration['database'];
375
- static getFeatureFlags(): Configuration['features'];
376
- static getEnvironment(): Configuration['environment'];
377
- static isDevelopment(): boolean;
378
- static isProduction(): boolean;
379
- }
380
- export {};
381
- //# sourceMappingURL=configuration-manager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"configuration-manager.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/config/configuration-manager.ts"],"names":[],"mappings":"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"}