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
package/CHANGELOG.md CHANGED
@@ -1,99 +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
- ## [2.2.0] - 2025-01-19
9
-
10
- ### Fixed
11
- - **Critical: Handlebars Helper Registration** - Added all necessary Handlebars helpers (eq, ne, lt, gt, lte, gte, and, or, not) to fix VBA generation tools
12
- - **Template Name Mismatch** - Fixed batch_export template mapping and created proper batch_export.vba template
13
- - **Rebuild Model API** - Updated to use correct SolidWorks API methods (ForceRebuild3, EditRebuild, Rebuild) with fallback strategies
14
- - **Close Model Error Handling** - Added safe error handling for title retrieval preventing COM object access errors
15
- - **Export File Robustness** - Enhanced export functionality with format-specific handling and retry logic
16
- - **Mass Properties Extraction** - Improved getMassProperties with comprehensive error handling
17
-
18
- ### Added
19
- - batch_export.vba template for batch export operations
20
- - Debug scripts (debug-server.mjs, debug-wrapper.mjs, test-fixes.mjs) for troubleshooting
21
- - SWChecklist.md comprehensive testing checklist
22
- - zod-to-json-schema dependency for schema validation
23
- - ensureCurrentModel helper method in api.ts
24
-
25
- ### Improved
26
- - Enhanced error handling across all API methods with multiple fallback strategies
27
- - Better COM object access patterns for Windows SolidWorks compatibility
28
- - Template compilation with proper error recovery
29
- - API compatibility for different SolidWorks versions
30
-
31
- ## [2.1.0] - 2025-01-11
32
-
33
- ### Added
34
- - **Massive VBA Generation Expansion** - Added 5 new comprehensive VBA generation modules
35
- - **Part Modeling VBA Tools** - Reference geometry, advanced features (sweep, loft, boundary), patterns, sheet metal, surface modeling
36
- - **Assembly Automation VBA** - Complete mate types, component management, interference analysis, configuration management
37
- - **Drawing Automation VBA** - View creation, dimensioning, annotations, tables, sheet format management
38
- - **File Management & PDM VBA** - Batch operations, custom properties, PDM vault operations, design tables
39
- - **Advanced Features VBA** - Configurations, equations, simulation setup, API automation, error handling
40
-
41
- ### Improved
42
- - Fixed TypeScript compilation errors for better CI/CD stability
43
- - Added proper type definitions for dotenv
44
- - Corrected template string interpolation in VBA code generation
45
- - Enhanced error handling in VBA generation
46
-
47
- ### Technical
48
- - Added 3,300+ lines of sophisticated VBA generation code
49
- - Modular architecture with domain-specific modules
50
- - Full TypeScript support with Zod validation
51
- - Comprehensive error handling and logging capabilities
52
-
53
- ## [2.0.1] - 2025-01-11
54
-
55
- ### Fixed
56
- - Repository URLs corrected to GitHub repo
57
- - Package-lock.json added for CI/CD
58
- - ESLint errors resolved
59
-
60
- ## [2.0.0] - 2025-01-11
61
-
62
- ### Added
63
- - Complete architecture rewrite with enterprise features
64
- - Macro recording and playback system
65
- - SQL integration for design tables
66
- - PDM vault management
67
- - Knowledge base with ChromaDB integration
68
- - State management system
69
- - Cache management
70
- - Advanced resource registry
71
-
72
- ## [1.0.0] - 2025-01-08
73
-
74
- ### Added
75
- - Initial release of SolidWorks MCP Server
76
- - Full SolidWorks API integration via COM
77
- - VBA script generation from templates
78
- - Support for modeling operations (create, modify, dimension control)
79
- - Drawing automation tools
80
- - Multi-format export capabilities (STEP, IGES, STL, PDF, DXF, DWG)
81
- - Analysis tools (mass properties, interference, geometry checks)
82
- - Batch processing capabilities
83
- - Automatic Claude Desktop configuration
84
- - Comprehensive TypeScript implementation
85
- - Windows-native COM integration via winax
86
-
87
- ### Features
88
- - 25+ MCP tools for SolidWorks automation
89
- - Handlebars-based VBA template system
90
- - Support for SolidWorks 2021-2025
91
- - One-command npm installation
92
- - Auto-configuration of Claude Desktop
93
- - Type-safe TypeScript architecture
94
-
95
- ### Documentation
96
- - Comprehensive README with examples
97
- - Installation guide
98
- - 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
99
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.