solidworks-mcp-server 2.2.0 → 3.0.1

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 (109) 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.d.ts.map +1 -1
  43. package/dist/index.js +11 -4
  44. package/dist/index.js.map +1 -1
  45. package/dist/index.refactored.d.ts +7 -0
  46. package/dist/index.refactored.d.ts.map +1 -0
  47. package/dist/index.refactored.js +254 -0
  48. package/dist/index.refactored.js.map +1 -0
  49. package/dist/infrastructure/config/configuration-manager.d.ts +381 -0
  50. package/dist/infrastructure/config/configuration-manager.d.ts.map +1 -0
  51. package/dist/infrastructure/config/configuration-manager.js +566 -0
  52. package/dist/infrastructure/config/configuration-manager.js.map +1 -0
  53. package/dist/infrastructure/container/service-locator.d.ts +14 -0
  54. package/dist/infrastructure/container/service-locator.d.ts.map +1 -0
  55. package/dist/infrastructure/container/service-locator.js +38 -0
  56. package/dist/infrastructure/container/service-locator.js.map +1 -0
  57. package/dist/infrastructure/logging/logger.d.ts +24 -0
  58. package/dist/infrastructure/logging/logger.d.ts.map +1 -0
  59. package/dist/infrastructure/logging/logger.js +65 -0
  60. package/dist/infrastructure/logging/logger.js.map +1 -0
  61. package/dist/infrastructure/solidworks/solidworks-adapter.d.ts +43 -0
  62. package/dist/infrastructure/solidworks/solidworks-adapter.d.ts.map +1 -0
  63. package/dist/infrastructure/solidworks/solidworks-adapter.js +527 -0
  64. package/dist/infrastructure/solidworks/solidworks-adapter.js.map +1 -0
  65. package/dist/presentation/mcp/request-handler.d.ts +41 -0
  66. package/dist/presentation/mcp/request-handler.d.ts.map +1 -0
  67. package/dist/presentation/mcp/request-handler.js +100 -0
  68. package/dist/presentation/mcp/request-handler.js.map +1 -0
  69. package/dist/presentation/transformers/error-transformer.d.ts +16 -0
  70. package/dist/presentation/transformers/error-transformer.d.ts.map +1 -0
  71. package/dist/presentation/transformers/error-transformer.js +44 -0
  72. package/dist/presentation/transformers/error-transformer.js.map +1 -0
  73. package/dist/presentation/transformers/response-transformer.d.ts +24 -0
  74. package/dist/presentation/transformers/response-transformer.d.ts.map +1 -0
  75. package/dist/presentation/transformers/response-transformer.js +102 -0
  76. package/dist/presentation/transformers/response-transformer.js.map +1 -0
  77. package/dist/shared/constants/solidworks-constants.d.ts +302 -0
  78. package/dist/shared/constants/solidworks-constants.d.ts.map +1 -0
  79. package/dist/shared/constants/solidworks-constants.js +471 -0
  80. package/dist/shared/constants/solidworks-constants.js.map +1 -0
  81. package/dist/tools/diagnostics.d.ts +21 -0
  82. package/dist/tools/diagnostics.d.ts.map +1 -0
  83. package/dist/tools/diagnostics.js +120 -0
  84. package/dist/tools/diagnostics.js.map +1 -0
  85. package/dist/tools/drawing-analysis.d.ts +9 -0
  86. package/dist/tools/drawing-analysis.d.ts.map +1 -0
  87. package/dist/tools/drawing-analysis.js +239 -0
  88. package/dist/tools/drawing-analysis.js.map +1 -0
  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/macro-security.d.ts +9 -0
  94. package/dist/tools/macro-security.d.ts.map +1 -0
  95. package/dist/tools/macro-security.js +86 -0
  96. package/dist/tools/macro-security.js.map +1 -0
  97. package/dist/tools/native-macro.d.ts +149 -0
  98. package/dist/tools/native-macro.d.ts.map +1 -0
  99. package/dist/tools/native-macro.js +654 -0
  100. package/dist/tools/native-macro.js.map +1 -0
  101. package/dist/tools/sketch.d.ts +663 -0
  102. package/dist/tools/sketch.d.ts.map +1 -0
  103. package/dist/tools/sketch.js +815 -0
  104. package/dist/tools/sketch.js.map +1 -0
  105. package/dist/tools/template-manager.d.ts +231 -0
  106. package/dist/tools/template-manager.d.ts.map +1 -0
  107. package/dist/tools/template-manager.js +626 -0
  108. package/dist/tools/template-manager.js.map +1 -0
  109. 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"}