solidworks-mcp-server 2.2.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/README.md +33 -10
  2. package/dist/application/services/command-bus.d.ts +39 -0
  3. package/dist/application/services/command-bus.d.ts.map +1 -0
  4. package/dist/application/services/command-bus.js +88 -0
  5. package/dist/application/services/command-bus.js.map +1 -0
  6. package/dist/application/services/event-bus.d.ts +31 -0
  7. package/dist/application/services/event-bus.d.ts.map +1 -0
  8. package/dist/application/services/event-bus.js +83 -0
  9. package/dist/application/services/event-bus.js.map +1 -0
  10. package/dist/application/services/query-bus.d.ts +30 -0
  11. package/dist/application/services/query-bus.d.ts.map +1 -0
  12. package/dist/application/services/query-bus.js +59 -0
  13. package/dist/application/services/query-bus.js.map +1 -0
  14. package/dist/application/services/tool-registry.d.ts +53 -0
  15. package/dist/application/services/tool-registry.d.ts.map +1 -0
  16. package/dist/application/services/tool-registry.js +81 -0
  17. package/dist/application/services/tool-registry.js.map +1 -0
  18. package/dist/application/use-cases/analysis/index.d.ts +13 -0
  19. package/dist/application/use-cases/analysis/index.d.ts.map +1 -0
  20. package/dist/application/use-cases/analysis/index.js +17 -0
  21. package/dist/application/use-cases/analysis/index.js.map +1 -0
  22. package/dist/application/use-cases/drawing/index.d.ts +13 -0
  23. package/dist/application/use-cases/drawing/index.d.ts.map +1 -0
  24. package/dist/application/use-cases/drawing/index.js +17 -0
  25. package/dist/application/use-cases/drawing/index.js.map +1 -0
  26. package/dist/application/use-cases/export/index.d.ts +13 -0
  27. package/dist/application/use-cases/export/index.d.ts.map +1 -0
  28. package/dist/application/use-cases/export/index.js +17 -0
  29. package/dist/application/use-cases/export/index.js.map +1 -0
  30. package/dist/application/use-cases/macro/index.d.ts +13 -0
  31. package/dist/application/use-cases/macro/index.d.ts.map +1 -0
  32. package/dist/application/use-cases/macro/index.js +17 -0
  33. package/dist/application/use-cases/macro/index.js.map +1 -0
  34. package/dist/application/use-cases/modeling/index.d.ts +56 -0
  35. package/dist/application/use-cases/modeling/index.d.ts.map +1 -0
  36. package/dist/application/use-cases/modeling/index.js +385 -0
  37. package/dist/application/use-cases/modeling/index.js.map +1 -0
  38. package/dist/core/interfaces/core-abstractions.d.ts +289 -0
  39. package/dist/core/interfaces/core-abstractions.d.ts.map +1 -0
  40. package/dist/core/interfaces/core-abstractions.js +121 -0
  41. package/dist/core/interfaces/core-abstractions.js.map +1 -0
  42. package/dist/index.refactored.d.ts +7 -0
  43. package/dist/index.refactored.d.ts.map +1 -0
  44. package/dist/index.refactored.js +254 -0
  45. package/dist/index.refactored.js.map +1 -0
  46. package/dist/infrastructure/config/configuration-manager.d.ts +381 -0
  47. package/dist/infrastructure/config/configuration-manager.d.ts.map +1 -0
  48. package/dist/infrastructure/config/configuration-manager.js +566 -0
  49. package/dist/infrastructure/config/configuration-manager.js.map +1 -0
  50. package/dist/infrastructure/container/service-locator.d.ts +14 -0
  51. package/dist/infrastructure/container/service-locator.d.ts.map +1 -0
  52. package/dist/infrastructure/container/service-locator.js +38 -0
  53. package/dist/infrastructure/container/service-locator.js.map +1 -0
  54. package/dist/infrastructure/logging/logger.d.ts +24 -0
  55. package/dist/infrastructure/logging/logger.d.ts.map +1 -0
  56. package/dist/infrastructure/logging/logger.js +65 -0
  57. package/dist/infrastructure/logging/logger.js.map +1 -0
  58. package/dist/infrastructure/solidworks/solidworks-adapter.d.ts +43 -0
  59. package/dist/infrastructure/solidworks/solidworks-adapter.d.ts.map +1 -0
  60. package/dist/infrastructure/solidworks/solidworks-adapter.js +527 -0
  61. package/dist/infrastructure/solidworks/solidworks-adapter.js.map +1 -0
  62. package/dist/presentation/mcp/request-handler.d.ts +41 -0
  63. package/dist/presentation/mcp/request-handler.d.ts.map +1 -0
  64. package/dist/presentation/mcp/request-handler.js +100 -0
  65. package/dist/presentation/mcp/request-handler.js.map +1 -0
  66. package/dist/presentation/transformers/error-transformer.d.ts +16 -0
  67. package/dist/presentation/transformers/error-transformer.d.ts.map +1 -0
  68. package/dist/presentation/transformers/error-transformer.js +44 -0
  69. package/dist/presentation/transformers/error-transformer.js.map +1 -0
  70. package/dist/presentation/transformers/response-transformer.d.ts +24 -0
  71. package/dist/presentation/transformers/response-transformer.d.ts.map +1 -0
  72. package/dist/presentation/transformers/response-transformer.js +102 -0
  73. package/dist/presentation/transformers/response-transformer.js.map +1 -0
  74. package/dist/resources/design-table.d.ts +28 -28
  75. package/dist/resources/pdm.d.ts +70 -70
  76. package/dist/shared/constants/solidworks-constants.d.ts +302 -0
  77. package/dist/shared/constants/solidworks-constants.d.ts.map +1 -0
  78. package/dist/shared/constants/solidworks-constants.js +471 -0
  79. package/dist/shared/constants/solidworks-constants.js.map +1 -0
  80. package/dist/tools/diagnostics.d.ts +21 -0
  81. package/dist/tools/diagnostics.d.ts.map +1 -0
  82. package/dist/tools/diagnostics.js +120 -0
  83. package/dist/tools/diagnostics.js.map +1 -0
  84. package/dist/tools/drawing-analysis.d.ts +9 -0
  85. package/dist/tools/drawing-analysis.d.ts.map +1 -0
  86. package/dist/tools/drawing-analysis.js +239 -0
  87. package/dist/tools/drawing-analysis.js.map +1 -0
  88. package/dist/tools/drawing.d.ts +4 -4
  89. package/dist/tools/enhanced-drawing.d.ts +51 -0
  90. package/dist/tools/enhanced-drawing.d.ts.map +1 -0
  91. package/dist/tools/enhanced-drawing.js +193 -0
  92. package/dist/tools/enhanced-drawing.js.map +1 -0
  93. package/dist/tools/export.d.ts +6 -6
  94. package/dist/tools/macro-security.d.ts +9 -0
  95. package/dist/tools/macro-security.d.ts.map +1 -0
  96. package/dist/tools/macro-security.js +86 -0
  97. package/dist/tools/macro-security.js.map +1 -0
  98. package/dist/tools/vba-advanced.d.ts +12 -12
  99. package/dist/tools/vba-assembly.d.ts +8 -8
  100. package/dist/tools/vba-drawing.d.ts +14 -14
  101. package/dist/tools/vba-file-management.d.ts +16 -16
  102. package/dist/tools/vba-part.d.ts +10 -10
  103. package/dist/tools/vba.d.ts +67 -67
  104. package/package.json +12 -7
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solidworks-adapter.js","sourceRoot":"","sources":["../../../src/infrastructure/solidworks/solidworks-adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * MCP Request Handler
3
+ * Handles incoming MCP requests and routes them appropriately
4
+ */
5
+ import { CallToolRequest, ListToolsResult, CallToolResult } from '@modelcontextprotocol/sdk/types.js';
6
+ import { ILogger } from '../../core/interfaces/core-abstractions.js';
7
+ import { ToolRegistry } from '../../application/services/tool-registry.js';
8
+ import { CommandBus } from '../../application/services/command-bus.js';
9
+ import { QueryBus } from '../../application/services/query-bus.js';
10
+ import { ErrorTransformer } from '../transformers/error-transformer.js';
11
+ import { ResponseTransformer } from '../transformers/response-transformer.js';
12
+ export interface MCPRequestHandlerConfig {
13
+ logger: ILogger;
14
+ toolRegistry: ToolRegistry;
15
+ commandBus: CommandBus;
16
+ queryBus: QueryBus;
17
+ errorTransformer: ErrorTransformer;
18
+ responseTransformer: ResponseTransformer;
19
+ }
20
+ export declare class MCPRequestHandler {
21
+ private logger;
22
+ private toolRegistry;
23
+ private commandBus;
24
+ private queryBus;
25
+ private errorTransformer;
26
+ private responseTransformer;
27
+ constructor(config: MCPRequestHandlerConfig);
28
+ /**
29
+ * Handle list tools request
30
+ */
31
+ handleListTools(): Promise<ListToolsResult>;
32
+ /**
33
+ * Handle call tool request
34
+ */
35
+ handleCallTool(request: CallToolRequest): Promise<CallToolResult>;
36
+ /**
37
+ * Validate tool request
38
+ */
39
+ private validateToolRequest;
40
+ }
41
+ //# sourceMappingURL=request-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request-handler.d.ts","sourceRoot":"","sources":["../../../src/presentation/mcp/request-handler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,eAAe,EACf,eAAe,EACf,cAAc,EACf,MAAM,oCAAoC,CAAC;AAG5C,OAAO,EACL,OAAO,EAGR,MAAM,4CAA4C,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,6CAA6C,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,MAAM,2CAA2C,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,yCAAyC,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAE9E,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,EAAE,YAAY,CAAC;IAC3B,UAAU,EAAE,UAAU,CAAC;IACvB,QAAQ,EAAE,QAAQ,CAAC;IACnB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,mBAAmB,EAAE,mBAAmB,CAAC;CAC1C;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,mBAAmB,CAAsB;gBAErC,MAAM,EAAE,uBAAuB;IAS3C;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,eAAe,CAAC;IAqBjD;;OAEG;IACG,cAAc,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;IAqDvE;;OAEG;IACH,OAAO,CAAC,mBAAmB;CAS5B"}
@@ -0,0 +1,100 @@
1
+ /**
2
+ * MCP Request Handler
3
+ * Handles incoming MCP requests and routes them appropriately
4
+ */
5
+ import { zodToJsonSchema } from 'zod-to-json-schema';
6
+ export class MCPRequestHandler {
7
+ logger;
8
+ toolRegistry;
9
+ commandBus;
10
+ queryBus;
11
+ errorTransformer;
12
+ responseTransformer;
13
+ constructor(config) {
14
+ this.logger = config.logger;
15
+ this.toolRegistry = config.toolRegistry;
16
+ this.commandBus = config.commandBus;
17
+ this.queryBus = config.queryBus;
18
+ this.errorTransformer = config.errorTransformer;
19
+ this.responseTransformer = config.responseTransformer;
20
+ }
21
+ /**
22
+ * Handle list tools request
23
+ */
24
+ async handleListTools() {
25
+ try {
26
+ const tools = this.toolRegistry.getAll();
27
+ const toolDescriptions = tools.map(tool => ({
28
+ name: tool.name,
29
+ description: tool.description,
30
+ inputSchema: zodToJsonSchema(tool.inputSchema)
31
+ }));
32
+ this.logger.debug(`Listed ${tools.length} tools`);
33
+ return {
34
+ tools: toolDescriptions
35
+ };
36
+ }
37
+ catch (error) {
38
+ this.logger.error('Failed to list tools', error);
39
+ throw this.errorTransformer.transform(error);
40
+ }
41
+ }
42
+ /**
43
+ * Handle call tool request
44
+ */
45
+ async handleCallTool(request) {
46
+ const startTime = Date.now();
47
+ const { name, arguments: args } = request;
48
+ try {
49
+ this.logger.info(`Executing tool: ${name}`, { args });
50
+ // Get the tool
51
+ const tool = this.toolRegistry.get(name);
52
+ if (!tool) {
53
+ throw new Error(`Tool not found: ${name}`);
54
+ }
55
+ // Validate input
56
+ const validationResult = tool.inputSchema.safeParse(args);
57
+ if (!validationResult.success) {
58
+ throw new Error(`Invalid input: ${validationResult.error.message}`);
59
+ }
60
+ // Execute the tool
61
+ const result = await tool.handler(validationResult.data);
62
+ // Transform the response
63
+ const transformedResult = this.responseTransformer.transform(result);
64
+ const duration = Date.now() - startTime;
65
+ this.logger.info(`Tool executed successfully: ${name}`, {
66
+ duration,
67
+ hasContent: !!transformedResult.content,
68
+ isError: !!transformedResult.isError
69
+ });
70
+ return transformedResult;
71
+ }
72
+ catch (error) {
73
+ const duration = Date.now() - startTime;
74
+ this.logger.error(`Tool execution failed: ${name}`, error, { duration });
75
+ // Transform error to MCP format
76
+ const mcpError = this.errorTransformer.transform(error);
77
+ return {
78
+ content: [
79
+ {
80
+ type: 'text',
81
+ text: mcpError.message
82
+ }
83
+ ],
84
+ isError: true
85
+ };
86
+ }
87
+ }
88
+ /**
89
+ * Validate tool request
90
+ */
91
+ validateToolRequest(request) {
92
+ if (!request.name) {
93
+ throw new Error('Tool name is required');
94
+ }
95
+ if (!this.toolRegistry.has(request.name)) {
96
+ throw new Error(`Unknown tool: ${request.name}`);
97
+ }
98
+ }
99
+ }
100
+ //# sourceMappingURL=request-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request-handler.js","sourceRoot":"","sources":["../../../src/presentation/mcp/request-handler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Error Transformer
3
+ * Transforms errors to MCP-compatible format
4
+ */
5
+ import { McpError } from '@modelcontextprotocol/sdk/types.js';
6
+ export declare class ErrorTransformer {
7
+ /**
8
+ * Transform any error to MCP error
9
+ */
10
+ transform(error: unknown): McpError;
11
+ /**
12
+ * Map HTTP status code to MCP error code
13
+ */
14
+ private mapErrorCode;
15
+ }
16
+ //# sourceMappingURL=error-transformer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-transformer.d.ts","sourceRoot":"","sources":["../../../src/presentation/transformers/error-transformer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAa,MAAM,oCAAoC,CAAC;AAGzE,qBAAa,gBAAgB;IAC3B;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ;IA+BnC;;OAEG;IACH,OAAO,CAAC,YAAY;CAcrB"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Error Transformer
3
+ * Transforms errors to MCP-compatible format
4
+ */
5
+ import { McpError, ErrorCode } from '@modelcontextprotocol/sdk/types.js';
6
+ import { DomainError } from '../../core/interfaces/core-abstractions.js';
7
+ export class ErrorTransformer {
8
+ /**
9
+ * Transform any error to MCP error
10
+ */
11
+ transform(error) {
12
+ if (error instanceof McpError) {
13
+ return error;
14
+ }
15
+ if (error instanceof DomainError) {
16
+ return new McpError(this.mapErrorCode(error.statusCode), error.message, error.toJSON());
17
+ }
18
+ if (error instanceof Error) {
19
+ return new McpError(ErrorCode.InternalError, error.message, {
20
+ name: error.name,
21
+ stack: error.stack
22
+ });
23
+ }
24
+ return new McpError(ErrorCode.InternalError, 'An unexpected error occurred', { error: String(error) });
25
+ }
26
+ /**
27
+ * Map HTTP status code to MCP error code
28
+ */
29
+ mapErrorCode(statusCode) {
30
+ switch (statusCode) {
31
+ case 400:
32
+ return ErrorCode.InvalidRequest;
33
+ case 404:
34
+ return ErrorCode.MethodNotFound;
35
+ case 422:
36
+ return ErrorCode.InvalidParams;
37
+ case 503:
38
+ return ErrorCode.InternalError;
39
+ default:
40
+ return ErrorCode.InternalError;
41
+ }
42
+ }
43
+ }
44
+ //# sourceMappingURL=error-transformer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-transformer.js","sourceRoot":"","sources":["../../../src/presentation/transformers/error-transformer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,4CAA4C,CAAC;AAEzE,MAAM,OAAO,gBAAgB;IAC3B;;OAEG;IACH,SAAS,CAAC,KAAc;QACtB,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;YACjC,OAAO,IAAI,QAAQ,CACjB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,EACnC,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,MAAM,EAAE,CACf,CAAC;QACJ,CAAC;QAED,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,OAAO,IAAI,QAAQ,CACjB,SAAS,CAAC,aAAa,EACvB,KAAK,CAAC,OAAO,EACb;gBACE,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,KAAK,EAAE,KAAK,CAAC,KAAK;aACnB,CACF,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,QAAQ,CACjB,SAAS,CAAC,aAAa,EACvB,8BAA8B,EAC9B,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CACzB,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,UAAkB;QACrC,QAAQ,UAAU,EAAE,CAAC;YACnB,KAAK,GAAG;gBACN,OAAO,SAAS,CAAC,cAAc,CAAC;YAClC,KAAK,GAAG;gBACN,OAAO,SAAS,CAAC,cAAc,CAAC;YAClC,KAAK,GAAG;gBACN,OAAO,SAAS,CAAC,aAAa,CAAC;YACjC,KAAK,GAAG;gBACN,OAAO,SAAS,CAAC,aAAa,CAAC;YACjC;gBACE,OAAO,SAAS,CAAC,aAAa,CAAC;QACnC,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Response Transformer
3
+ * Transforms tool responses to MCP format
4
+ */
5
+ import { CallToolResult } from '@modelcontextprotocol/sdk/types.js';
6
+ export declare class ResponseTransformer {
7
+ /**
8
+ * Transform any response to MCP format
9
+ */
10
+ transform(response: any): CallToolResult;
11
+ /**
12
+ * Transform successful response
13
+ */
14
+ private transformSuccess;
15
+ /**
16
+ * Transform error response
17
+ */
18
+ private transformError;
19
+ /**
20
+ * Check if response is a Result type
21
+ */
22
+ private isResult;
23
+ }
24
+ //# sourceMappingURL=response-transformer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"response-transformer.d.ts","sourceRoot":"","sources":["../../../src/presentation/transformers/response-transformer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAGpE,qBAAa,mBAAmB;IAC9B;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,GAAG,GAAG,cAAc;IAkBxC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAkDxB;;OAEG;IACH,OAAO,CAAC,cAAc;IAgBtB;;OAEG;IACH,OAAO,CAAC,QAAQ;CAQjB"}
@@ -0,0 +1,102 @@
1
+ /**
2
+ * Response Transformer
3
+ * Transforms tool responses to MCP format
4
+ */
5
+ import { ResultUtil } from '../../core/interfaces/core-abstractions.js';
6
+ export class ResponseTransformer {
7
+ /**
8
+ * Transform any response to MCP format
9
+ */
10
+ transform(response) {
11
+ // Handle Result type
12
+ if (this.isResult(response)) {
13
+ if (ResultUtil.isSuccess(response)) {
14
+ return this.transformSuccess(response.data);
15
+ }
16
+ else {
17
+ return this.transformError(response.error);
18
+ }
19
+ }
20
+ // Handle direct responses
21
+ if (response instanceof Error) {
22
+ return this.transformError(response);
23
+ }
24
+ return this.transformSuccess(response);
25
+ }
26
+ /**
27
+ * Transform successful response
28
+ */
29
+ transformSuccess(data) {
30
+ // Handle null/undefined
31
+ if (data === null || data === undefined) {
32
+ return {
33
+ content: [
34
+ {
35
+ type: 'text',
36
+ text: 'Operation completed successfully'
37
+ }
38
+ ]
39
+ };
40
+ }
41
+ // Handle objects with special formatting
42
+ if (typeof data === 'object' && !Array.isArray(data)) {
43
+ if (data.message || data.result) {
44
+ return {
45
+ content: [
46
+ {
47
+ type: 'text',
48
+ text: data.message || JSON.stringify(data.result, null, 2)
49
+ }
50
+ ]
51
+ };
52
+ }
53
+ }
54
+ // Handle arrays
55
+ if (Array.isArray(data)) {
56
+ return {
57
+ content: [
58
+ {
59
+ type: 'text',
60
+ text: JSON.stringify(data, null, 2)
61
+ }
62
+ ]
63
+ };
64
+ }
65
+ // Handle primitives
66
+ return {
67
+ content: [
68
+ {
69
+ type: 'text',
70
+ text: String(data)
71
+ }
72
+ ]
73
+ };
74
+ }
75
+ /**
76
+ * Transform error response
77
+ */
78
+ transformError(error) {
79
+ const message = error instanceof Error
80
+ ? error.message
81
+ : String(error);
82
+ return {
83
+ content: [
84
+ {
85
+ type: 'text',
86
+ text: `Error: ${message}`
87
+ }
88
+ ],
89
+ isError: true
90
+ };
91
+ }
92
+ /**
93
+ * Check if response is a Result type
94
+ */
95
+ isResult(value) {
96
+ return (typeof value === 'object' &&
97
+ value !== null &&
98
+ 'success' in value &&
99
+ (value.success === true || value.success === false));
100
+ }
101
+ }
102
+ //# sourceMappingURL=response-transformer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"response-transformer.js","sourceRoot":"","sources":["../../../src/presentation/transformers/response-transformer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAU,UAAU,EAAE,MAAM,4CAA4C,CAAC;AAEhF,MAAM,OAAO,mBAAmB;IAC9B;;OAEG;IACH,SAAS,CAAC,QAAa;QACrB,qBAAqB;QACrB,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,IAAI,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACnC,OAAO,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC9C,CAAC;iBAAM,CAAC;gBACN,OAAO,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;QAED,0BAA0B;QAC1B,IAAI,QAAQ,YAAY,KAAK,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACvC,CAAC;QAED,OAAO,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,IAAS;QAChC,wBAAwB;QACxB,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACxC,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,kCAAkC;qBACzC;iBACF;aACF,CAAC;QACJ,CAAC;QAED,yCAAyC;QACzC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACrD,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChC,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;yBAC3D;qBACF;iBACF,CAAC;YACJ,CAAC;QACH,CAAC;QAED,gBAAgB;QAChB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;qBACpC;iBACF;aACF,CAAC;QACJ,CAAC;QAED,oBAAoB;QACpB,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC;iBACnB;aACF;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,KAAU;QAC/B,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK;YACpC,CAAC,CAAC,KAAK,CAAC,OAAO;YACf,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAElB,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,UAAU,OAAO,EAAE;iBAC1B;aACF;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,QAAQ,CAAC,KAAU;QACzB,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;YACzB,KAAK,KAAK,IAAI;YACd,SAAS,IAAI,KAAK;YAClB,CAAC,KAAK,CAAC,OAAO,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,CACpD,CAAC;IACJ,CAAC;CACF"}
@@ -16,15 +16,15 @@ declare const DesignTableSchema: z.ZodObject<{
16
16
  sqlColumn: z.ZodOptional<z.ZodString>;
17
17
  formula: z.ZodOptional<z.ZodString>;
18
18
  }, "strip", z.ZodTypeAny, {
19
- type: "custom" | "dimension" | "feature" | "configuration";
20
19
  name: string;
20
+ type: "custom" | "feature" | "dimension" | "configuration";
21
21
  dataType: "string" | "number" | "boolean";
22
22
  defaultValue?: any;
23
23
  sqlColumn?: string | undefined;
24
24
  formula?: string | undefined;
25
25
  }, {
26
- type: "custom" | "dimension" | "feature" | "configuration";
27
26
  name: string;
27
+ type: "custom" | "feature" | "dimension" | "configuration";
28
28
  dataType: "string" | "number" | "boolean";
29
29
  defaultValue?: any;
30
30
  sqlColumn?: string | undefined;
@@ -35,12 +35,12 @@ declare const DesignTableSchema: z.ZodObject<{
35
35
  values: z.ZodRecord<z.ZodString, z.ZodAny>;
36
36
  active: z.ZodDefault<z.ZodBoolean>;
37
37
  }, "strip", z.ZodTypeAny, {
38
- values: Record<string, any>;
39
38
  name: string;
39
+ values: Record<string, any>;
40
40
  active: boolean;
41
41
  }, {
42
- values: Record<string, any>;
43
42
  name: string;
43
+ values: Record<string, any>;
44
44
  active?: boolean | undefined;
45
45
  }>, "many">>;
46
46
  dataSource: z.ZodOptional<z.ZodObject<{
@@ -52,16 +52,16 @@ declare const DesignTableSchema: z.ZodObject<{
52
52
  refreshInterval: z.ZodOptional<z.ZodNumber>;
53
53
  }, "strip", z.ZodTypeAny, {
54
54
  type: "file" | "sql" | "api" | "manual";
55
+ filePath?: string | undefined;
55
56
  connectionString?: string | undefined;
56
57
  query?: string | undefined;
57
- filePath?: string | undefined;
58
58
  apiEndpoint?: string | undefined;
59
59
  refreshInterval?: number | undefined;
60
60
  }, {
61
61
  type: "file" | "sql" | "api" | "manual";
62
+ filePath?: string | undefined;
62
63
  connectionString?: string | undefined;
63
64
  query?: string | undefined;
64
- filePath?: string | undefined;
65
65
  apiEndpoint?: string | undefined;
66
66
  refreshInterval?: number | undefined;
67
67
  }>>;
@@ -99,15 +99,14 @@ declare const DesignTableSchema: z.ZodObject<{
99
99
  }, "strip", z.ZodTypeAny, {
100
100
  tableName: string;
101
101
  parameters: {
102
- type: "custom" | "dimension" | "feature" | "configuration";
103
102
  name: string;
103
+ type: "custom" | "feature" | "dimension" | "configuration";
104
104
  dataType: "string" | "number" | "boolean";
105
105
  defaultValue?: any;
106
106
  sqlColumn?: string | undefined;
107
107
  formula?: string | undefined;
108
108
  }[];
109
109
  autoUpdate: boolean;
110
- fileName?: string | undefined;
111
110
  validation?: {
112
111
  enabled: boolean;
113
112
  rules?: {
@@ -116,30 +115,30 @@ declare const DesignTableSchema: z.ZodObject<{
116
115
  rule: string;
117
116
  }[] | undefined;
118
117
  } | undefined;
118
+ fileName?: string | undefined;
119
119
  configurations?: {
120
- values: Record<string, any>;
121
120
  name: string;
121
+ values: Record<string, any>;
122
122
  active: boolean;
123
123
  }[] | undefined;
124
124
  dataSource?: {
125
125
  type: "file" | "sql" | "api" | "manual";
126
+ filePath?: string | undefined;
126
127
  connectionString?: string | undefined;
127
128
  query?: string | undefined;
128
- filePath?: string | undefined;
129
129
  apiEndpoint?: string | undefined;
130
130
  refreshInterval?: number | undefined;
131
131
  } | undefined;
132
132
  }, {
133
133
  tableName: string;
134
134
  parameters: {
135
- type: "custom" | "dimension" | "feature" | "configuration";
136
135
  name: string;
136
+ type: "custom" | "feature" | "dimension" | "configuration";
137
137
  dataType: "string" | "number" | "boolean";
138
138
  defaultValue?: any;
139
139
  sqlColumn?: string | undefined;
140
140
  formula?: string | undefined;
141
141
  }[];
142
- fileName?: string | undefined;
143
142
  validation?: {
144
143
  enabled?: boolean | undefined;
145
144
  rules?: {
@@ -148,16 +147,17 @@ declare const DesignTableSchema: z.ZodObject<{
148
147
  rule: string;
149
148
  }[] | undefined;
150
149
  } | undefined;
150
+ fileName?: string | undefined;
151
151
  configurations?: {
152
- values: Record<string, any>;
153
152
  name: string;
153
+ values: Record<string, any>;
154
154
  active?: boolean | undefined;
155
155
  }[] | undefined;
156
156
  dataSource?: {
157
157
  type: "file" | "sql" | "api" | "manual";
158
+ filePath?: string | undefined;
158
159
  connectionString?: string | undefined;
159
160
  query?: string | undefined;
160
- filePath?: string | undefined;
161
161
  apiEndpoint?: string | undefined;
162
162
  refreshInterval?: number | undefined;
163
163
  } | undefined;
@@ -177,15 +177,15 @@ export declare class DesignTableResource extends SolidWorksResource {
177
177
  sqlColumn: z.ZodOptional<z.ZodString>;
178
178
  formula: z.ZodOptional<z.ZodString>;
179
179
  }, "strip", z.ZodTypeAny, {
180
- type: "custom" | "dimension" | "feature" | "configuration";
181
180
  name: string;
181
+ type: "custom" | "feature" | "dimension" | "configuration";
182
182
  dataType: "string" | "number" | "boolean";
183
183
  defaultValue?: any;
184
184
  sqlColumn?: string | undefined;
185
185
  formula?: string | undefined;
186
186
  }, {
187
- type: "custom" | "dimension" | "feature" | "configuration";
188
187
  name: string;
188
+ type: "custom" | "feature" | "dimension" | "configuration";
189
189
  dataType: "string" | "number" | "boolean";
190
190
  defaultValue?: any;
191
191
  sqlColumn?: string | undefined;
@@ -196,12 +196,12 @@ export declare class DesignTableResource extends SolidWorksResource {
196
196
  values: z.ZodRecord<z.ZodString, z.ZodAny>;
197
197
  active: z.ZodDefault<z.ZodBoolean>;
198
198
  }, "strip", z.ZodTypeAny, {
199
- values: Record<string, any>;
200
199
  name: string;
200
+ values: Record<string, any>;
201
201
  active: boolean;
202
202
  }, {
203
- values: Record<string, any>;
204
203
  name: string;
204
+ values: Record<string, any>;
205
205
  active?: boolean | undefined;
206
206
  }>, "many">>;
207
207
  dataSource: z.ZodOptional<z.ZodObject<{
@@ -213,16 +213,16 @@ export declare class DesignTableResource extends SolidWorksResource {
213
213
  refreshInterval: z.ZodOptional<z.ZodNumber>;
214
214
  }, "strip", z.ZodTypeAny, {
215
215
  type: "file" | "sql" | "api" | "manual";
216
+ filePath?: string | undefined;
216
217
  connectionString?: string | undefined;
217
218
  query?: string | undefined;
218
- filePath?: string | undefined;
219
219
  apiEndpoint?: string | undefined;
220
220
  refreshInterval?: number | undefined;
221
221
  }, {
222
222
  type: "file" | "sql" | "api" | "manual";
223
+ filePath?: string | undefined;
223
224
  connectionString?: string | undefined;
224
225
  query?: string | undefined;
225
- filePath?: string | undefined;
226
226
  apiEndpoint?: string | undefined;
227
227
  refreshInterval?: number | undefined;
228
228
  }>>;
@@ -260,15 +260,14 @@ export declare class DesignTableResource extends SolidWorksResource {
260
260
  }, "strip", z.ZodTypeAny, {
261
261
  tableName: string;
262
262
  parameters: {
263
- type: "custom" | "dimension" | "feature" | "configuration";
264
263
  name: string;
264
+ type: "custom" | "feature" | "dimension" | "configuration";
265
265
  dataType: "string" | "number" | "boolean";
266
266
  defaultValue?: any;
267
267
  sqlColumn?: string | undefined;
268
268
  formula?: string | undefined;
269
269
  }[];
270
270
  autoUpdate: boolean;
271
- fileName?: string | undefined;
272
271
  validation?: {
273
272
  enabled: boolean;
274
273
  rules?: {
@@ -277,30 +276,30 @@ export declare class DesignTableResource extends SolidWorksResource {
277
276
  rule: string;
278
277
  }[] | undefined;
279
278
  } | undefined;
279
+ fileName?: string | undefined;
280
280
  configurations?: {
281
- values: Record<string, any>;
282
281
  name: string;
282
+ values: Record<string, any>;
283
283
  active: boolean;
284
284
  }[] | undefined;
285
285
  dataSource?: {
286
286
  type: "file" | "sql" | "api" | "manual";
287
+ filePath?: string | undefined;
287
288
  connectionString?: string | undefined;
288
289
  query?: string | undefined;
289
- filePath?: string | undefined;
290
290
  apiEndpoint?: string | undefined;
291
291
  refreshInterval?: number | undefined;
292
292
  } | undefined;
293
293
  }, {
294
294
  tableName: string;
295
295
  parameters: {
296
- type: "custom" | "dimension" | "feature" | "configuration";
297
296
  name: string;
297
+ type: "custom" | "feature" | "dimension" | "configuration";
298
298
  dataType: "string" | "number" | "boolean";
299
299
  defaultValue?: any;
300
300
  sqlColumn?: string | undefined;
301
301
  formula?: string | undefined;
302
302
  }[];
303
- fileName?: string | undefined;
304
303
  validation?: {
305
304
  enabled?: boolean | undefined;
306
305
  rules?: {
@@ -309,16 +308,17 @@ export declare class DesignTableResource extends SolidWorksResource {
309
308
  rule: string;
310
309
  }[] | undefined;
311
310
  } | undefined;
311
+ fileName?: string | undefined;
312
312
  configurations?: {
313
- values: Record<string, any>;
314
313
  name: string;
314
+ values: Record<string, any>;
315
315
  active?: boolean | undefined;
316
316
  }[] | undefined;
317
317
  dataSource?: {
318
318
  type: "file" | "sql" | "api" | "manual";
319
+ filePath?: string | undefined;
319
320
  connectionString?: string | undefined;
320
321
  query?: string | undefined;
321
- filePath?: string | undefined;
322
322
  apiEndpoint?: string | undefined;
323
323
  refreshInterval?: number | undefined;
324
324
  } | undefined;