solidworks-mcp-server 3.0.9 → 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 -131
  2. package/LICENSE +20 -20
  3. package/README.md +195 -444
  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 -3
  82. package/dist/solidworks/api.d.ts.map +1 -1
  83. package/dist/solidworks/api.js +599 -134
  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
package/CHANGELOG.md CHANGED
@@ -1,132 +1,176 @@
1
- # Changelog
2
-
3
- All notable changes to this project will be documented in this file.
4
-
5
- The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
- and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
-
8
- ## [3.0.9] - 2025-09-10
9
-
10
- ### Fixed
11
- - **Critical: Winax Module Loading** - Reverted to simple ES module import pattern that matches working version
12
- - **COM Object Access** - Fixed GetTitle/GetType/GetPathName property access on Document objects
13
- - **Part Creation** - Use NewPart() method instead of NewDocument() with template
14
-
15
- ### Changed
16
- - **Installation Method** - Documented that local installation is required due to winax native module compilation
17
- - **README Documentation** - Added clear warnings and explanations about winax installation requirements
18
-
19
- ### Technical
20
- - Removed complex eval-based winax loading in favor of direct import
21
- - Cleaned up test files and debugging artifacts
22
- - Updated documentation to reflect installation limitations
23
-
24
- ### Known Issues
25
- - Global npm installation does not work due to winax native module requirements
26
- - Each Windows system must compile winax locally during npm install
27
-
28
- ## [3.0.8] - 2025-09-10
29
-
30
- ### Fixed
31
- - **COM Object Method Access** - GetTitle/GetType are properties on Document objects, not Application
32
- - **Part Creation** - Added fallback to NewDocument when NewPart fails
33
-
34
- ## [3.0.1 to 3.0.7] - 2025-09-10
35
-
36
- ### Fixed
37
- - Multiple attempts to fix winax module loading and COM object creation
38
- - Winston logger file-only output to prevent MCP protocol corruption
39
- - Zod schema to JSON schema conversion for Claude Desktop tool visibility
40
-
41
- ## [2.2.0] - 2025-08-19
42
-
43
- ### Fixed
44
- - **Critical: Handlebars Helper Registration** - Added all necessary Handlebars helpers (eq, ne, lt, gt, lte, gte, and, or, not) to fix VBA generation tools
45
- - **Template Name Mismatch** - Fixed batch_export template mapping and created proper batch_export.vba template
46
- - **Rebuild Model API** - Updated to use correct SolidWorks API methods (ForceRebuild3, EditRebuild, Rebuild) with fallback strategies
47
- - **Close Model Error Handling** - Added safe error handling for title retrieval preventing COM object access errors
48
- - **Export File Robustness** - Enhanced export functionality with format-specific handling and retry logic
49
- - **Mass Properties Extraction** - Improved getMassProperties with comprehensive error handling
50
-
51
- ### Added
52
- - batch_export.vba template for batch export operations
53
- - Debug scripts (debug-server.mjs, debug-wrapper.mjs, test-fixes.mjs) for troubleshooting
54
- - SWChecklist.md comprehensive testing checklist
55
- - zod-to-json-schema dependency for schema validation
56
- - ensureCurrentModel helper method in api.ts
57
-
58
- ### Improved
59
- - Enhanced error handling across all API methods with multiple fallback strategies
60
- - Better COM object access patterns for Windows SolidWorks compatibility
61
- - Template compilation with proper error recovery
62
- - API compatibility for different SolidWorks versions
63
-
64
- ## [2.1.0] - 2025-01-11
65
-
66
- ### Added
67
- - **Massive VBA Generation Expansion** - Added 5 new comprehensive VBA generation modules
68
- - **Part Modeling VBA Tools** - Reference geometry, advanced features (sweep, loft, boundary), patterns, sheet metal, surface modeling
69
- - **Assembly Automation VBA** - Complete mate types, component management, interference analysis, configuration management
70
- - **Drawing Automation VBA** - View creation, dimensioning, annotations, tables, sheet format management
71
- - **File Management & PDM VBA** - Batch operations, custom properties, PDM vault operations, design tables
72
- - **Advanced Features VBA** - Configurations, equations, simulation setup, API automation, error handling
73
-
74
- ### Improved
75
- - Fixed TypeScript compilation errors for better CI/CD stability
76
- - Added proper type definitions for dotenv
77
- - Corrected template string interpolation in VBA code generation
78
- - Enhanced error handling in VBA generation
79
-
80
- ### Technical
81
- - Added 3,300+ lines of sophisticated VBA generation code
82
- - Modular architecture with domain-specific modules
83
- - Full TypeScript support with Zod validation
84
- - Comprehensive error handling and logging capabilities
85
-
86
- ## [2.0.1] - 2025-01-11
87
-
88
- ### Fixed
89
- - Repository URLs corrected to GitHub repo
90
- - Package-lock.json added for CI/CD
91
- - ESLint errors resolved
92
-
93
- ## [2.0.0] - 2025-01-11
94
-
95
- ### Added
96
- - Complete architecture rewrite with enterprise features
97
- - Macro recording and playback system
98
- - SQL integration for design tables
99
- - PDM vault management
100
- - Knowledge base with ChromaDB integration
101
- - State management system
102
- - Cache management
103
- - Advanced resource registry
104
-
105
- ## [1.0.0] - 2025-01-08
106
-
107
- ### Added
108
- - Initial release of SolidWorks MCP Server
109
- - Full SolidWorks API integration via COM
110
- - VBA script generation from templates
111
- - Support for modeling operations (create, modify, dimension control)
112
- - Drawing automation tools
113
- - Multi-format export capabilities (STEP, IGES, STL, PDF, DXF, DWG)
114
- - Analysis tools (mass properties, interference, geometry checks)
115
- - Batch processing capabilities
116
- - Automatic Claude Desktop configuration
117
- - Comprehensive TypeScript implementation
118
- - Windows-native COM integration via winax
119
-
120
- ### Features
121
- - 25+ MCP tools for SolidWorks automation
122
- - Handlebars-based VBA template system
123
- - Support for SolidWorks 2021-2025
124
- - One-command npm installation
125
- - Auto-configuration of Claude Desktop
126
- - Type-safe TypeScript architecture
127
-
128
- ### Documentation
129
- - Comprehensive README with examples
130
- - Installation guide
131
- - Contributing guidelines
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [3.1.1] - 2026-03-23
9
+
10
+ ### Fixed
11
+ - Removed hardcoded user-specific file path from extrusion error message (Issue #14)
12
+ - Error now includes actual failure details instead of pointing to a non-existent local file
13
+
14
+ ### Changed
15
+ - Rewrote README.md to honestly reflect project status (alpha/experimental)
16
+ - Removed fabricated performance metrics and unverified success rate claims
17
+ - Added clear "What Has Worked" vs "Untested" status for all tool categories
18
+ - Rewrote TESTING.md with honest assessment of test coverage gaps and prioritized testing checklist
19
+ - Fixed stale repository URLs in CONTRIBUTING.md
20
+ - **Replaced ESLint + Prettier with Biome** for faster, unified lint + format
21
+ - Moved `winax` from dependencies to `optionalDependencies` (allows `npm install` on non-Windows)
22
+ - Removed eslint, prettier, and typescript-eslint devDependencies
23
+ - Cleaned up tsconfig.json exclude list (removed references to deleted files)
24
+ - Fixed all test failures (env var isolation, test expectations matching actual code behavior)
25
+ - Removed dead adapter test that imported modules deleted in v3.1.0
26
+ - Rewrote version test to not require full server initialization
27
+ - Applied Biome auto-fixes across 52 source files (import types, node: protocol, formatting)
28
+ - Fixed `console.error` in solidworks-config.ts (was polluting test output)
29
+ - Fixed Handlebars helpers to use rest params instead of `arguments`
30
+ - Added `npm run check` script (typecheck + lint in one command)
31
+
32
+ ## [3.1.0] - 2026-03-11
33
+
34
+ ### Fixed
35
+ - **Critical: SelectByID2 Type Mismatch** (Issue #8) - Replace `null` with `undefined` for COM optional parameters across all `SelectByID2` and `SaveAs` calls. COM interprets `null` as VT_NULL which causes DispInvoke type mismatch errors.
36
+ - **Sketch Selection Strategy** - Prioritize feature tree traversal (`FeatureByPositionReverse` + `GetTypeName2`) over `SelectByID2` for sketch selection. This approach is more reliable and avoids COM selection issues entirely.
37
+ - **Mass Properties Null Safety** - Add null coalescing guards in analysis tools to prevent `TypeError` when calling `.toFixed()` on sketch-only documents that return null for numeric properties.
38
+
39
+ ### Removed
40
+ - Dead refactored modules (`index.refactored.ts`, `modeling-refactored.ts`, `api-refactored.ts`, `tsconfig.refactored.json`) that were never integrated
41
+ - Incomplete clean architecture directories (`src/application/`, `src/commands/`, `src/infrastructure/`) that added complexity without being wired into the server
42
+ - Duplicate `.eslintrc.json` (project uses `eslint.config.js` flat config)
43
+ - Unused package.json scripts (`build:refactored`, `dev:refactored`, `start:refactored`, `migrate`)
44
+
45
+ ### Added
46
+ - `CLAUDE.md` project guide for AI contributors
47
+
48
+ ### Changed
49
+ - Moved 7 analysis/architecture docs from repo root to `docs/` directory
50
+ - Updated package.json description and keywords to reflect actual architecture
51
+
52
+ ## [3.0.9] - 2025-09-10
53
+
54
+ ### Fixed
55
+ - **Critical: Winax Module Loading** - Reverted to simple ES module import pattern that matches working version
56
+ - **COM Object Access** - Fixed GetTitle/GetType/GetPathName property access on Document objects
57
+ - **Part Creation** - Use NewPart() method instead of NewDocument() with template
58
+
59
+ ### Changed
60
+ - **Installation Method** - Documented that local installation is required due to winax native module compilation
61
+ - **README Documentation** - Added clear warnings and explanations about winax installation requirements
62
+
63
+ ### Technical
64
+ - Removed complex eval-based winax loading in favor of direct import
65
+ - Cleaned up test files and debugging artifacts
66
+ - Updated documentation to reflect installation limitations
67
+
68
+ ### Known Issues
69
+ - Global npm installation does not work due to winax native module requirements
70
+ - Each Windows system must compile winax locally during npm install
71
+
72
+ ## [3.0.8] - 2025-09-10
73
+
74
+ ### Fixed
75
+ - **COM Object Method Access** - GetTitle/GetType are properties on Document objects, not Application
76
+ - **Part Creation** - Added fallback to NewDocument when NewPart fails
77
+
78
+ ## [3.0.1 to 3.0.7] - 2025-09-10
79
+
80
+ ### Fixed
81
+ - Multiple attempts to fix winax module loading and COM object creation
82
+ - Winston logger file-only output to prevent MCP protocol corruption
83
+ - Zod schema to JSON schema conversion for Claude Desktop tool visibility
84
+
85
+ ## [2.2.0] - 2025-08-19
86
+
87
+ ### Fixed
88
+ - **Critical: Handlebars Helper Registration** - Added all necessary Handlebars helpers (eq, ne, lt, gt, lte, gte, and, or, not) to fix VBA generation tools
89
+ - **Template Name Mismatch** - Fixed batch_export template mapping and created proper batch_export.vba template
90
+ - **Rebuild Model API** - Updated to use correct SolidWorks API methods (ForceRebuild3, EditRebuild, Rebuild) with fallback strategies
91
+ - **Close Model Error Handling** - Added safe error handling for title retrieval preventing COM object access errors
92
+ - **Export File Robustness** - Enhanced export functionality with format-specific handling and retry logic
93
+ - **Mass Properties Extraction** - Improved getMassProperties with comprehensive error handling
94
+
95
+ ### Added
96
+ - batch_export.vba template for batch export operations
97
+ - Debug scripts (debug-server.mjs, debug-wrapper.mjs, test-fixes.mjs) for troubleshooting
98
+ - SWChecklist.md comprehensive testing checklist
99
+ - zod-to-json-schema dependency for schema validation
100
+ - ensureCurrentModel helper method in api.ts
101
+
102
+ ### Improved
103
+ - Enhanced error handling across all API methods with multiple fallback strategies
104
+ - Better COM object access patterns for Windows SolidWorks compatibility
105
+ - Template compilation with proper error recovery
106
+ - API compatibility for different SolidWorks versions
107
+
108
+ ## [2.1.0] - 2025-01-11
109
+
110
+ ### Added
111
+ - **Massive VBA Generation Expansion** - Added 5 new comprehensive VBA generation modules
112
+ - **Part Modeling VBA Tools** - Reference geometry, advanced features (sweep, loft, boundary), patterns, sheet metal, surface modeling
113
+ - **Assembly Automation VBA** - Complete mate types, component management, interference analysis, configuration management
114
+ - **Drawing Automation VBA** - View creation, dimensioning, annotations, tables, sheet format management
115
+ - **File Management & PDM VBA** - Batch operations, custom properties, PDM vault operations, design tables
116
+ - **Advanced Features VBA** - Configurations, equations, simulation setup, API automation, error handling
117
+
118
+ ### Improved
119
+ - Fixed TypeScript compilation errors for better CI/CD stability
120
+ - Added proper type definitions for dotenv
121
+ - Corrected template string interpolation in VBA code generation
122
+ - Enhanced error handling in VBA generation
123
+
124
+ ### Technical
125
+ - Added 3,300+ lines of sophisticated VBA generation code
126
+ - Modular architecture with domain-specific modules
127
+ - Full TypeScript support with Zod validation
128
+ - Comprehensive error handling and logging capabilities
129
+
130
+ ## [2.0.1] - 2025-01-11
131
+
132
+ ### Fixed
133
+ - Repository URLs corrected to GitHub repo
134
+ - Package-lock.json added for CI/CD
135
+ - ESLint errors resolved
136
+
137
+ ## [2.0.0] - 2025-01-11
138
+
139
+ ### Added
140
+ - Complete architecture rewrite with enterprise features
141
+ - Macro recording and playback system
142
+ - SQL integration for design tables
143
+ - PDM vault management
144
+ - Knowledge base with ChromaDB integration
145
+ - State management system
146
+ - Cache management
147
+ - Advanced resource registry
148
+
149
+ ## [1.0.0] - 2025-01-08
150
+
151
+ ### Added
152
+ - Initial release of SolidWorks MCP Server
153
+ - Full SolidWorks API integration via COM
154
+ - VBA script generation from templates
155
+ - Support for modeling operations (create, modify, dimension control)
156
+ - Drawing automation tools
157
+ - Multi-format export capabilities (STEP, IGES, STL, PDF, DXF, DWG)
158
+ - Analysis tools (mass properties, interference, geometry checks)
159
+ - Batch processing capabilities
160
+ - Automatic Claude Desktop configuration
161
+ - Comprehensive TypeScript implementation
162
+ - Windows-native COM integration via winax
163
+
164
+ ### Features
165
+ - 25+ MCP tools for SolidWorks automation
166
+ - Handlebars-based VBA template system
167
+ - Support for SolidWorks 2021-2025
168
+ - One-command npm installation
169
+ - Auto-configuration of Claude Desktop
170
+ - Type-safe TypeScript architecture
171
+
172
+ ### Documentation
173
+ - Comprehensive README with examples
174
+ - Installation guide
175
+ - Contributing guidelines
132
176
  - VBA template examples
package/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2025 ESPO Corporation
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
1
+ MIT License
2
+
3
+ Copyright (c) 2025 ESPO Corporation
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
21
  SOFTWARE.