solidworks-mcp-server 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/LICENSE +21 -0
  3. package/README.md +333 -0
  4. package/dist/cache/manager.d.ts +50 -0
  5. package/dist/cache/manager.d.ts.map +1 -0
  6. package/dist/cache/manager.js +127 -0
  7. package/dist/cache/manager.js.map +1 -0
  8. package/dist/db/connection.d.ts +48 -0
  9. package/dist/db/connection.d.ts.map +1 -0
  10. package/dist/db/connection.js +132 -0
  11. package/dist/db/connection.js.map +1 -0
  12. package/dist/index.d.ts +37 -0
  13. package/dist/index.d.ts.map +1 -0
  14. package/dist/index.js +402 -0
  15. package/dist/index.js.map +1 -0
  16. package/dist/knowledge/chromadb.d.ts +16 -0
  17. package/dist/knowledge/chromadb.d.ts.map +1 -0
  18. package/dist/knowledge/chromadb.js +80 -0
  19. package/dist/knowledge/chromadb.js.map +1 -0
  20. package/dist/macro/index.d.ts +6 -0
  21. package/dist/macro/index.d.ts.map +1 -0
  22. package/dist/macro/index.js +6 -0
  23. package/dist/macro/index.js.map +1 -0
  24. package/dist/macro/recorder.d.ts +72 -0
  25. package/dist/macro/recorder.d.ts.map +1 -0
  26. package/dist/macro/recorder.js +228 -0
  27. package/dist/macro/recorder.js.map +1 -0
  28. package/dist/macro/types.d.ts +77 -0
  29. package/dist/macro/types.d.ts.map +1 -0
  30. package/dist/macro/types.js +5 -0
  31. package/dist/macro/types.js.map +1 -0
  32. package/dist/resources/base.d.ts +116 -0
  33. package/dist/resources/base.d.ts.map +1 -0
  34. package/dist/resources/base.js +161 -0
  35. package/dist/resources/base.js.map +1 -0
  36. package/dist/resources/design-table.d.ts +384 -0
  37. package/dist/resources/design-table.d.ts.map +1 -0
  38. package/dist/resources/design-table.js +337 -0
  39. package/dist/resources/design-table.js.map +1 -0
  40. package/dist/resources/pdm.d.ts +1277 -0
  41. package/dist/resources/pdm.d.ts.map +1 -0
  42. package/dist/resources/pdm.js +358 -0
  43. package/dist/resources/pdm.js.map +1 -0
  44. package/dist/resources/registry.d.ts +59 -0
  45. package/dist/resources/registry.d.ts.map +1 -0
  46. package/dist/resources/registry.js +88 -0
  47. package/dist/resources/registry.js.map +1 -0
  48. package/dist/solidworks/api.d.ts +24 -0
  49. package/dist/solidworks/api.d.ts.map +1 -0
  50. package/dist/solidworks/api.js +226 -0
  51. package/dist/solidworks/api.js.map +1 -0
  52. package/dist/solidworks/types.d.ts +55 -0
  53. package/dist/solidworks/types.d.ts.map +1 -0
  54. package/dist/solidworks/types.js +2 -0
  55. package/dist/solidworks/types.js.map +1 -0
  56. package/dist/state/store.d.ts +101 -0
  57. package/dist/state/store.d.ts.map +1 -0
  58. package/dist/state/store.js +262 -0
  59. package/dist/state/store.js.map +1 -0
  60. package/dist/tools/analysis.d.ts +37 -0
  61. package/dist/tools/analysis.d.ts.map +1 -0
  62. package/dist/tools/analysis.js +169 -0
  63. package/dist/tools/analysis.js.map +1 -0
  64. package/dist/tools/drawing.d.ts +151 -0
  65. package/dist/tools/drawing.d.ts.map +1 -0
  66. package/dist/tools/drawing.js +171 -0
  67. package/dist/tools/drawing.js.map +1 -0
  68. package/dist/tools/export.d.ts +97 -0
  69. package/dist/tools/export.d.ts.map +1 -0
  70. package/dist/tools/export.js +128 -0
  71. package/dist/tools/export.js.map +1 -0
  72. package/dist/tools/modeling.d.ts +9 -0
  73. package/dist/tools/modeling.d.ts.map +1 -0
  74. package/dist/tools/modeling.js +120 -0
  75. package/dist/tools/modeling.js.map +1 -0
  76. package/dist/tools/vba.d.ts +123 -0
  77. package/dist/tools/vba.d.ts.map +1 -0
  78. package/dist/tools/vba.js +158 -0
  79. package/dist/tools/vba.js.map +1 -0
  80. package/dist/utils/config.d.ts +18 -0
  81. package/dist/utils/config.d.ts.map +1 -0
  82. package/dist/utils/config.js +26 -0
  83. package/dist/utils/config.js.map +1 -0
  84. package/dist/utils/logger.d.ts +14 -0
  85. package/dist/utils/logger.d.ts.map +1 -0
  86. package/dist/utils/logger.js +84 -0
  87. package/dist/utils/logger.js.map +1 -0
  88. package/package.json +76 -0
@@ -0,0 +1,161 @@
1
+ /**
2
+ * Base Resource Class for SolidWorks MCP Implementation
3
+ * Provides foundation for all SolidWorks resources with state management
4
+ */
5
+ import { z } from 'zod';
6
+ export var ResourceStatus;
7
+ (function (ResourceStatus) {
8
+ ResourceStatus["PENDING"] = "pending";
9
+ ResourceStatus["CREATING"] = "creating";
10
+ ResourceStatus["CREATED"] = "created";
11
+ ResourceStatus["UPDATING"] = "updating";
12
+ ResourceStatus["DELETING"] = "deleting";
13
+ ResourceStatus["DELETED"] = "deleted";
14
+ ResourceStatus["FAILED"] = "failed";
15
+ ResourceStatus["EXECUTING"] = "executing";
16
+ ResourceStatus["COMPLETED"] = "completed";
17
+ ResourceStatus["UNKNOWN"] = "unknown";
18
+ })(ResourceStatus || (ResourceStatus = {}));
19
+ export class SolidWorksResource {
20
+ id;
21
+ name;
22
+ _properties;
23
+ _outputs = {};
24
+ _dependencies = [];
25
+ _status = ResourceStatus.PENDING;
26
+ _metadata;
27
+ constructor(id, name, properties) {
28
+ this.id = id;
29
+ this.name = name;
30
+ this._properties = properties;
31
+ this._metadata = {
32
+ createdAt: new Date().toISOString(),
33
+ updatedAt: new Date().toISOString(),
34
+ createdBy: 'solidworks-mcp',
35
+ version: 1,
36
+ tags: {},
37
+ annotations: {}
38
+ };
39
+ }
40
+ /**
41
+ * Validate the resource properties against schema
42
+ */
43
+ validate() {
44
+ try {
45
+ this.schema.parse(this._properties);
46
+ return { valid: true };
47
+ }
48
+ catch (error) {
49
+ if (error instanceof z.ZodError) {
50
+ return {
51
+ valid: false,
52
+ errors: error.errors.map(e => ({
53
+ path: e.path.join('.'),
54
+ message: e.message
55
+ }))
56
+ };
57
+ }
58
+ return {
59
+ valid: false,
60
+ errors: [{ path: '', message: 'Unknown validation error' }]
61
+ };
62
+ }
63
+ }
64
+ /**
65
+ * Convert resource to state representation
66
+ */
67
+ toState() {
68
+ return {
69
+ id: this.id,
70
+ type: this.type,
71
+ name: this.name,
72
+ properties: this._properties,
73
+ outputs: this._outputs,
74
+ metadata: this._metadata,
75
+ status: this._status
76
+ };
77
+ }
78
+ /**
79
+ * Restore resource from state
80
+ */
81
+ fromState(state) {
82
+ this._properties = state.properties;
83
+ this._outputs = state.outputs;
84
+ this._metadata = state.metadata;
85
+ this._status = state.status;
86
+ }
87
+ /**
88
+ * Get resource dependencies
89
+ */
90
+ getDependencies() {
91
+ return this._dependencies;
92
+ }
93
+ /**
94
+ * Add a dependency to this resource
95
+ */
96
+ addDependency(dependency) {
97
+ this._dependencies.push(dependency);
98
+ }
99
+ /**
100
+ * Get resource outputs
101
+ */
102
+ getOutputs() {
103
+ return this._outputs;
104
+ }
105
+ /**
106
+ * Set resource outputs
107
+ */
108
+ setOutputs(outputs) {
109
+ this._outputs = outputs;
110
+ this._metadata.updatedAt = new Date().toISOString();
111
+ }
112
+ /**
113
+ * Get resource status
114
+ */
115
+ getStatus() {
116
+ return this._status;
117
+ }
118
+ /**
119
+ * Update resource status
120
+ */
121
+ setStatus(status) {
122
+ this._status = status;
123
+ this._metadata.updatedAt = new Date().toISOString();
124
+ }
125
+ /**
126
+ * Get resource properties
127
+ */
128
+ getProperties() {
129
+ return this._properties;
130
+ }
131
+ /**
132
+ * Update resource properties
133
+ */
134
+ updateProperties(properties) {
135
+ const newProperties = { ...this._properties, ...properties };
136
+ // Validate before updating
137
+ try {
138
+ this.schema.parse(newProperties);
139
+ this._properties = newProperties;
140
+ this._metadata.updatedAt = new Date().toISOString();
141
+ this._metadata.version++;
142
+ return { valid: true };
143
+ }
144
+ catch (error) {
145
+ if (error instanceof z.ZodError) {
146
+ return {
147
+ valid: false,
148
+ errors: error.errors.map(e => ({
149
+ path: e.path.join('.'),
150
+ message: e.message
151
+ }))
152
+ };
153
+ }
154
+ return {
155
+ valid: false,
156
+ errors: [{ path: '', message: 'Unknown validation error' }]
157
+ };
158
+ }
159
+ }
160
+ }
161
+ //# sourceMappingURL=base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/resources/base.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAmCxB,MAAM,CAAN,IAAY,cAWX;AAXD,WAAY,cAAc;IACxB,qCAAmB,CAAA;IACnB,uCAAqB,CAAA;IACrB,qCAAmB,CAAA;IACnB,uCAAqB,CAAA;IACrB,uCAAqB,CAAA;IACrB,qCAAmB,CAAA;IACnB,mCAAiB,CAAA;IACjB,yCAAuB,CAAA;IACvB,yCAAuB,CAAA;IACvB,qCAAmB,CAAA;AACrB,CAAC,EAXW,cAAc,KAAd,cAAc,QAWzB;AAQD,MAAM,OAAgB,kBAAkB;IACtB,EAAE,CAAS;IACX,IAAI,CAAS;IACnB,WAAW,CAAsB;IACjC,QAAQ,GAAwB,EAAE,CAAC;IACnC,aAAa,GAAyB,EAAE,CAAC;IACzC,OAAO,GAAmB,cAAc,CAAC,OAAO,CAAC;IACjD,SAAS,CAAmB;IAKtC,YAAY,EAAU,EAAE,IAAY,EAAE,UAA+B;QACnE,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,SAAS,GAAG;YACf,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,SAAS,EAAE,gBAAgB;YAC3B,OAAO,EAAE,CAAC;YACV,IAAI,EAAE,EAAE;YACR,WAAW,EAAE,EAAE;SAChB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACpC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACzB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAChC,OAAO;oBACL,KAAK,EAAE,KAAK;oBACZ,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;wBAC7B,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;wBACtB,OAAO,EAAE,CAAC,CAAC,OAAO;qBACnB,CAAC,CAAC;iBACJ,CAAC;YACJ,CAAC;YACD,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,0BAA0B,EAAE,CAAC;aAC5D,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,OAAO;QACL,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,UAAU,EAAE,IAAI,CAAC,WAAW;YAC5B,OAAO,EAAE,IAAI,CAAC,QAAQ;YACtB,QAAQ,EAAE,IAAI,CAAC,SAAS;YACxB,MAAM,EAAE,IAAI,CAAC,OAAO;SACrB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,KAAoB;QAC5B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,UAAU,CAAC;QACpC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,eAAe;QACb,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,UAA8B;QAC1C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,UAAU;QACR,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,OAA4B;QACrC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACtD,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,MAAsB;QAC9B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACtD,CAAC;IAED;;OAEG;IACH,aAAa;QACX,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,UAAwC;QACvD,MAAM,aAAa,GAAG,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,GAAG,UAAU,EAAE,CAAC;QAE7D,2BAA2B;QAC3B,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YACjC,IAAI,CAAC,WAAW,GAAG,aAAa,CAAC;YACjC,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YACpD,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;YACzB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACzB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAChC,OAAO;oBACL,KAAK,EAAE,KAAK;oBACZ,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;wBAC7B,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;wBACtB,OAAO,EAAE,CAAC,CAAC,OAAO;qBACnB,CAAC,CAAC;iBACJ,CAAC;YACJ,CAAC;YACD,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,0BAA0B,EAAE,CAAC;aAC5D,CAAC;QACJ,CAAC;IACH,CAAC;CASF"}
@@ -0,0 +1,384 @@
1
+ /**
2
+ * Design Table Resource for SolidWorks MCP
3
+ * Manages design tables with SQL database integration
4
+ */
5
+ import { z } from 'zod';
6
+ import { SolidWorksResource, ValidationResult } from './base.js';
7
+ import { SolidWorksAPI } from '../solidworks/api.js';
8
+ declare const DesignTableSchema: z.ZodObject<{
9
+ tableName: z.ZodString;
10
+ fileName: z.ZodOptional<z.ZodString>;
11
+ parameters: z.ZodArray<z.ZodObject<{
12
+ name: z.ZodString;
13
+ type: z.ZodEnum<["dimension", "feature", "configuration", "custom"]>;
14
+ dataType: z.ZodEnum<["number", "string", "boolean"]>;
15
+ defaultValue: z.ZodOptional<z.ZodAny>;
16
+ sqlColumn: z.ZodOptional<z.ZodString>;
17
+ formula: z.ZodOptional<z.ZodString>;
18
+ }, "strip", z.ZodTypeAny, {
19
+ name: string;
20
+ type: "custom" | "dimension" | "feature" | "configuration";
21
+ dataType: "string" | "number" | "boolean";
22
+ defaultValue?: any;
23
+ sqlColumn?: string | undefined;
24
+ formula?: string | undefined;
25
+ }, {
26
+ name: string;
27
+ type: "custom" | "dimension" | "feature" | "configuration";
28
+ dataType: "string" | "number" | "boolean";
29
+ defaultValue?: any;
30
+ sqlColumn?: string | undefined;
31
+ formula?: string | undefined;
32
+ }>, "many">;
33
+ configurations: z.ZodOptional<z.ZodArray<z.ZodObject<{
34
+ name: z.ZodString;
35
+ values: z.ZodRecord<z.ZodString, z.ZodAny>;
36
+ active: z.ZodDefault<z.ZodBoolean>;
37
+ }, "strip", z.ZodTypeAny, {
38
+ name: string;
39
+ values: Record<string, any>;
40
+ active: boolean;
41
+ }, {
42
+ name: string;
43
+ values: Record<string, any>;
44
+ active?: boolean | undefined;
45
+ }>, "many">>;
46
+ dataSource: z.ZodOptional<z.ZodObject<{
47
+ type: z.ZodEnum<["file", "sql", "api", "manual"]>;
48
+ connectionString: z.ZodOptional<z.ZodString>;
49
+ query: z.ZodOptional<z.ZodString>;
50
+ filePath: z.ZodOptional<z.ZodString>;
51
+ apiEndpoint: z.ZodOptional<z.ZodString>;
52
+ refreshInterval: z.ZodOptional<z.ZodNumber>;
53
+ }, "strip", z.ZodTypeAny, {
54
+ type: "file" | "sql" | "api" | "manual";
55
+ connectionString?: string | undefined;
56
+ query?: string | undefined;
57
+ filePath?: string | undefined;
58
+ apiEndpoint?: string | undefined;
59
+ refreshInterval?: number | undefined;
60
+ }, {
61
+ type: "file" | "sql" | "api" | "manual";
62
+ connectionString?: string | undefined;
63
+ query?: string | undefined;
64
+ filePath?: string | undefined;
65
+ apiEndpoint?: string | undefined;
66
+ refreshInterval?: number | undefined;
67
+ }>>;
68
+ autoUpdate: z.ZodDefault<z.ZodBoolean>;
69
+ validation: z.ZodOptional<z.ZodObject<{
70
+ enabled: z.ZodDefault<z.ZodBoolean>;
71
+ rules: z.ZodOptional<z.ZodArray<z.ZodObject<{
72
+ parameter: z.ZodString;
73
+ rule: z.ZodString;
74
+ message: z.ZodString;
75
+ }, "strip", z.ZodTypeAny, {
76
+ message: string;
77
+ parameter: string;
78
+ rule: string;
79
+ }, {
80
+ message: string;
81
+ parameter: string;
82
+ rule: string;
83
+ }>, "many">>;
84
+ }, "strip", z.ZodTypeAny, {
85
+ enabled: boolean;
86
+ rules?: {
87
+ message: string;
88
+ parameter: string;
89
+ rule: string;
90
+ }[] | undefined;
91
+ }, {
92
+ enabled?: boolean | undefined;
93
+ rules?: {
94
+ message: string;
95
+ parameter: string;
96
+ rule: string;
97
+ }[] | undefined;
98
+ }>>;
99
+ }, "strip", z.ZodTypeAny, {
100
+ tableName: string;
101
+ parameters: {
102
+ name: string;
103
+ type: "custom" | "dimension" | "feature" | "configuration";
104
+ dataType: "string" | "number" | "boolean";
105
+ defaultValue?: any;
106
+ sqlColumn?: string | undefined;
107
+ formula?: string | undefined;
108
+ }[];
109
+ autoUpdate: boolean;
110
+ fileName?: string | undefined;
111
+ validation?: {
112
+ enabled: boolean;
113
+ rules?: {
114
+ message: string;
115
+ parameter: string;
116
+ rule: string;
117
+ }[] | undefined;
118
+ } | undefined;
119
+ configurations?: {
120
+ name: string;
121
+ values: Record<string, any>;
122
+ active: boolean;
123
+ }[] | undefined;
124
+ dataSource?: {
125
+ type: "file" | "sql" | "api" | "manual";
126
+ connectionString?: string | undefined;
127
+ query?: string | undefined;
128
+ filePath?: string | undefined;
129
+ apiEndpoint?: string | undefined;
130
+ refreshInterval?: number | undefined;
131
+ } | undefined;
132
+ }, {
133
+ tableName: string;
134
+ parameters: {
135
+ name: string;
136
+ type: "custom" | "dimension" | "feature" | "configuration";
137
+ dataType: "string" | "number" | "boolean";
138
+ defaultValue?: any;
139
+ sqlColumn?: string | undefined;
140
+ formula?: string | undefined;
141
+ }[];
142
+ fileName?: string | undefined;
143
+ validation?: {
144
+ enabled?: boolean | undefined;
145
+ rules?: {
146
+ message: string;
147
+ parameter: string;
148
+ rule: string;
149
+ }[] | undefined;
150
+ } | undefined;
151
+ configurations?: {
152
+ name: string;
153
+ values: Record<string, any>;
154
+ active?: boolean | undefined;
155
+ }[] | undefined;
156
+ dataSource?: {
157
+ type: "file" | "sql" | "api" | "manual";
158
+ connectionString?: string | undefined;
159
+ query?: string | undefined;
160
+ filePath?: string | undefined;
161
+ apiEndpoint?: string | undefined;
162
+ refreshInterval?: number | undefined;
163
+ } | undefined;
164
+ autoUpdate?: boolean | undefined;
165
+ }>;
166
+ export type DesignTableConfig = z.infer<typeof DesignTableSchema>;
167
+ export declare class DesignTableResource extends SolidWorksResource {
168
+ readonly type = "design-table";
169
+ readonly schema: z.ZodObject<{
170
+ tableName: z.ZodString;
171
+ fileName: z.ZodOptional<z.ZodString>;
172
+ parameters: z.ZodArray<z.ZodObject<{
173
+ name: z.ZodString;
174
+ type: z.ZodEnum<["dimension", "feature", "configuration", "custom"]>;
175
+ dataType: z.ZodEnum<["number", "string", "boolean"]>;
176
+ defaultValue: z.ZodOptional<z.ZodAny>;
177
+ sqlColumn: z.ZodOptional<z.ZodString>;
178
+ formula: z.ZodOptional<z.ZodString>;
179
+ }, "strip", z.ZodTypeAny, {
180
+ name: string;
181
+ type: "custom" | "dimension" | "feature" | "configuration";
182
+ dataType: "string" | "number" | "boolean";
183
+ defaultValue?: any;
184
+ sqlColumn?: string | undefined;
185
+ formula?: string | undefined;
186
+ }, {
187
+ name: string;
188
+ type: "custom" | "dimension" | "feature" | "configuration";
189
+ dataType: "string" | "number" | "boolean";
190
+ defaultValue?: any;
191
+ sqlColumn?: string | undefined;
192
+ formula?: string | undefined;
193
+ }>, "many">;
194
+ configurations: z.ZodOptional<z.ZodArray<z.ZodObject<{
195
+ name: z.ZodString;
196
+ values: z.ZodRecord<z.ZodString, z.ZodAny>;
197
+ active: z.ZodDefault<z.ZodBoolean>;
198
+ }, "strip", z.ZodTypeAny, {
199
+ name: string;
200
+ values: Record<string, any>;
201
+ active: boolean;
202
+ }, {
203
+ name: string;
204
+ values: Record<string, any>;
205
+ active?: boolean | undefined;
206
+ }>, "many">>;
207
+ dataSource: z.ZodOptional<z.ZodObject<{
208
+ type: z.ZodEnum<["file", "sql", "api", "manual"]>;
209
+ connectionString: z.ZodOptional<z.ZodString>;
210
+ query: z.ZodOptional<z.ZodString>;
211
+ filePath: z.ZodOptional<z.ZodString>;
212
+ apiEndpoint: z.ZodOptional<z.ZodString>;
213
+ refreshInterval: z.ZodOptional<z.ZodNumber>;
214
+ }, "strip", z.ZodTypeAny, {
215
+ type: "file" | "sql" | "api" | "manual";
216
+ connectionString?: string | undefined;
217
+ query?: string | undefined;
218
+ filePath?: string | undefined;
219
+ apiEndpoint?: string | undefined;
220
+ refreshInterval?: number | undefined;
221
+ }, {
222
+ type: "file" | "sql" | "api" | "manual";
223
+ connectionString?: string | undefined;
224
+ query?: string | undefined;
225
+ filePath?: string | undefined;
226
+ apiEndpoint?: string | undefined;
227
+ refreshInterval?: number | undefined;
228
+ }>>;
229
+ autoUpdate: z.ZodDefault<z.ZodBoolean>;
230
+ validation: z.ZodOptional<z.ZodObject<{
231
+ enabled: z.ZodDefault<z.ZodBoolean>;
232
+ rules: z.ZodOptional<z.ZodArray<z.ZodObject<{
233
+ parameter: z.ZodString;
234
+ rule: z.ZodString;
235
+ message: z.ZodString;
236
+ }, "strip", z.ZodTypeAny, {
237
+ message: string;
238
+ parameter: string;
239
+ rule: string;
240
+ }, {
241
+ message: string;
242
+ parameter: string;
243
+ rule: string;
244
+ }>, "many">>;
245
+ }, "strip", z.ZodTypeAny, {
246
+ enabled: boolean;
247
+ rules?: {
248
+ message: string;
249
+ parameter: string;
250
+ rule: string;
251
+ }[] | undefined;
252
+ }, {
253
+ enabled?: boolean | undefined;
254
+ rules?: {
255
+ message: string;
256
+ parameter: string;
257
+ rule: string;
258
+ }[] | undefined;
259
+ }>>;
260
+ }, "strip", z.ZodTypeAny, {
261
+ tableName: string;
262
+ parameters: {
263
+ name: string;
264
+ type: "custom" | "dimension" | "feature" | "configuration";
265
+ dataType: "string" | "number" | "boolean";
266
+ defaultValue?: any;
267
+ sqlColumn?: string | undefined;
268
+ formula?: string | undefined;
269
+ }[];
270
+ autoUpdate: boolean;
271
+ fileName?: string | undefined;
272
+ validation?: {
273
+ enabled: boolean;
274
+ rules?: {
275
+ message: string;
276
+ parameter: string;
277
+ rule: string;
278
+ }[] | undefined;
279
+ } | undefined;
280
+ configurations?: {
281
+ name: string;
282
+ values: Record<string, any>;
283
+ active: boolean;
284
+ }[] | undefined;
285
+ dataSource?: {
286
+ type: "file" | "sql" | "api" | "manual";
287
+ connectionString?: string | undefined;
288
+ query?: string | undefined;
289
+ filePath?: string | undefined;
290
+ apiEndpoint?: string | undefined;
291
+ refreshInterval?: number | undefined;
292
+ } | undefined;
293
+ }, {
294
+ tableName: string;
295
+ parameters: {
296
+ name: string;
297
+ type: "custom" | "dimension" | "feature" | "configuration";
298
+ dataType: "string" | "number" | "boolean";
299
+ defaultValue?: any;
300
+ sqlColumn?: string | undefined;
301
+ formula?: string | undefined;
302
+ }[];
303
+ fileName?: string | undefined;
304
+ validation?: {
305
+ enabled?: boolean | undefined;
306
+ rules?: {
307
+ message: string;
308
+ parameter: string;
309
+ rule: string;
310
+ }[] | undefined;
311
+ } | undefined;
312
+ configurations?: {
313
+ name: string;
314
+ values: Record<string, any>;
315
+ active?: boolean | undefined;
316
+ }[] | undefined;
317
+ dataSource?: {
318
+ type: "file" | "sql" | "api" | "manual";
319
+ connectionString?: string | undefined;
320
+ query?: string | undefined;
321
+ filePath?: string | undefined;
322
+ apiEndpoint?: string | undefined;
323
+ refreshInterval?: number | undefined;
324
+ } | undefined;
325
+ autoUpdate?: boolean | undefined;
326
+ }>;
327
+ private sqlConnection;
328
+ constructor(id: string, name: string, properties: DesignTableConfig);
329
+ /**
330
+ * Execute design table operations
331
+ */
332
+ execute(api: SolidWorksAPI): Promise<any>;
333
+ /**
334
+ * Load data from SQL database
335
+ */
336
+ private loadFromSQL;
337
+ /**
338
+ * Get simulated data for testing
339
+ */
340
+ private getSimulatedData;
341
+ /**
342
+ * Map SQL row data to design table parameters
343
+ */
344
+ private mapSQLToParameters;
345
+ /**
346
+ * Convert value to appropriate data type
347
+ */
348
+ private convertValue;
349
+ /**
350
+ * Evaluate formula with row data
351
+ */
352
+ private evaluateFormula;
353
+ /**
354
+ * Update design table in SolidWorks
355
+ */
356
+ private updateDesignTable;
357
+ /**
358
+ * Convert to VBA code
359
+ */
360
+ toVBACode(): string;
361
+ /**
362
+ * Convert to macro code
363
+ */
364
+ toMacroCode(): string;
365
+ /**
366
+ * Get required capabilities
367
+ */
368
+ getRequiredCapabilities(): string[];
369
+ /**
370
+ * Sanitize name for VBA
371
+ */
372
+ private sanitizeName;
373
+ /**
374
+ * Refresh data from source
375
+ */
376
+ refresh(api: SolidWorksAPI): Promise<void>;
377
+ /**
378
+ * Validate design table configuration
379
+ */
380
+ validateConfiguration(): ValidationResult;
381
+ }
382
+ export declare function isDesignTableResource(resource: any): resource is DesignTableResource;
383
+ export {};
384
+ //# sourceMappingURL=design-table.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"design-table.d.ts","sourceRoot":"","sources":["../../src/resources/design-table.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAkB,gBAAgB,EAAE,MAAM,WAAW,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAKrD,QAAA,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiCrB,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAElE,qBAAa,mBAAoB,SAAQ,kBAAkB;IACzD,QAAQ,CAAC,IAAI,kBAAkB;IAC/B,QAAQ,CAAC,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAAqB;IACpC,OAAO,CAAC,aAAa,CAAa;gBAEtB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,iBAAiB;IAInE;;OAEG;IACG,OAAO,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC;IA6B/C;;OAEG;YACW,WAAW;IA0CzB;;OAEG;YACW,gBAAgB;IA8B9B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAiB1B;;OAEG;IACH,OAAO,CAAC,YAAY;IAYpB;;OAEG;IACH,OAAO,CAAC,eAAe;IASvB;;OAEG;YACW,iBAAiB;IAS/B;;OAEG;IACH,SAAS,IAAI,MAAM;IA2CnB;;OAEG;IACH,WAAW,IAAI,MAAM;IAmBrB;;OAEG;IACH,uBAAuB,IAAI,MAAM,EAAE;IAenC;;OAEG;IACH,OAAO,CAAC,YAAY;IAIpB;;OAEG;IACG,OAAO,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAShD;;OAEG;IACH,qBAAqB,IAAI,gBAAgB;CA2C1C;AAGD,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,GAAG,GAAG,QAAQ,IAAI,mBAAmB,CAEpF"}