motionmcp 2.6.0 → 2.8.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 (125) hide show
  1. package/README.md +4 -4
  2. package/dist/handlers/CustomFieldHandler.d.ts.map +1 -1
  3. package/dist/handlers/CustomFieldHandler.js +18 -2
  4. package/dist/handlers/CustomFieldHandler.js.map +1 -1
  5. package/dist/handlers/HandlerFactory.d.ts +0 -5
  6. package/dist/handlers/HandlerFactory.d.ts.map +1 -1
  7. package/dist/handlers/HandlerFactory.js +0 -15
  8. package/dist/handlers/HandlerFactory.js.map +1 -1
  9. package/dist/handlers/RecurringTaskHandler.d.ts.map +1 -1
  10. package/dist/handlers/RecurringTaskHandler.js +7 -2
  11. package/dist/handlers/RecurringTaskHandler.js.map +1 -1
  12. package/dist/handlers/TaskHandler.d.ts.map +1 -1
  13. package/dist/handlers/TaskHandler.js +7 -0
  14. package/dist/handlers/TaskHandler.js.map +1 -1
  15. package/dist/mcp-server.js +3 -3
  16. package/dist/mcp-server.js.map +1 -1
  17. package/dist/services/api/ApiClient.d.ts +22 -0
  18. package/dist/services/api/ApiClient.d.ts.map +1 -0
  19. package/dist/services/api/ApiClient.js +198 -0
  20. package/dist/services/api/ApiClient.js.map +1 -0
  21. package/dist/services/api/CacheManager.d.ts +21 -0
  22. package/dist/services/api/CacheManager.d.ts.map +1 -0
  23. package/dist/services/api/CacheManager.js +25 -0
  24. package/dist/services/api/CacheManager.js.map +1 -0
  25. package/dist/services/api/comments.d.ts +8 -0
  26. package/dist/services/api/comments.d.ts.map +1 -0
  27. package/dist/services/api/comments.js +86 -0
  28. package/dist/services/api/comments.js.map +1 -0
  29. package/dist/services/api/customFields.d.ts +21 -0
  30. package/dist/services/api/customFields.d.ts.map +1 -0
  31. package/dist/services/api/customFields.js +277 -0
  32. package/dist/services/api/customFields.js.map +1 -0
  33. package/dist/services/api/index.d.ts +22 -0
  34. package/dist/services/api/index.d.ts.map +1 -0
  35. package/dist/services/api/index.js +64 -0
  36. package/dist/services/api/index.js.map +1 -0
  37. package/dist/services/api/projects.d.ts +18 -0
  38. package/dist/services/api/projects.d.ts.map +1 -0
  39. package/dist/services/api/projects.js +346 -0
  40. package/dist/services/api/projects.js.map +1 -0
  41. package/dist/services/api/recurringTasks.d.ts +15 -0
  42. package/dist/services/api/recurringTasks.d.ts.map +1 -0
  43. package/dist/services/api/recurringTasks.js +143 -0
  44. package/dist/services/api/recurringTasks.js.map +1 -0
  45. package/dist/services/api/schedules.d.ts +8 -0
  46. package/dist/services/api/schedules.d.ts.map +1 -0
  47. package/dist/services/api/schedules.js +70 -0
  48. package/dist/services/api/schedules.js.map +1 -0
  49. package/dist/services/api/search.d.ts +29 -0
  50. package/dist/services/api/search.d.ts.map +1 -0
  51. package/dist/services/api/search.js +415 -0
  52. package/dist/services/api/search.js.map +1 -0
  53. package/dist/services/api/statuses.d.ts +7 -0
  54. package/dist/services/api/statuses.d.ts.map +1 -0
  55. package/dist/services/api/statuses.js +67 -0
  56. package/dist/services/api/statuses.js.map +1 -0
  57. package/dist/services/api/tasks.d.ts +34 -0
  58. package/dist/services/api/tasks.d.ts.map +1 -0
  59. package/dist/services/api/tasks.js +474 -0
  60. package/dist/services/api/tasks.js.map +1 -0
  61. package/dist/services/api/types.d.ts +54 -0
  62. package/dist/services/api/types.d.ts.map +1 -0
  63. package/dist/services/api/types.js +9 -0
  64. package/dist/services/api/types.js.map +1 -0
  65. package/dist/services/api/users.d.ts +8 -0
  66. package/dist/services/api/users.d.ts.map +1 -0
  67. package/dist/services/api/users.js +93 -0
  68. package/dist/services/api/users.js.map +1 -0
  69. package/dist/services/api/workspaces.d.ts +7 -0
  70. package/dist/services/api/workspaces.d.ts.map +1 -0
  71. package/dist/services/api/workspaces.js +59 -0
  72. package/dist/services/api/workspaces.js.map +1 -0
  73. package/dist/services/motionApi.d.ts +34 -180
  74. package/dist/services/motionApi.d.ts.map +1 -1
  75. package/dist/services/motionApi.js +84 -2163
  76. package/dist/services/motionApi.js.map +1 -1
  77. package/dist/tools/ToolConfigurator.d.ts +1 -7
  78. package/dist/tools/ToolConfigurator.d.ts.map +1 -1
  79. package/dist/tools/ToolConfigurator.js +0 -31
  80. package/dist/tools/ToolConfigurator.js.map +1 -1
  81. package/dist/tools/ToolDefinitions.js +1 -1
  82. package/dist/tools/ToolDefinitions.js.map +1 -1
  83. package/dist/tools/ToolRegistry.d.ts +1 -22
  84. package/dist/tools/ToolRegistry.d.ts.map +1 -1
  85. package/dist/tools/ToolRegistry.js +0 -31
  86. package/dist/tools/ToolRegistry.js.map +1 -1
  87. package/dist/types/motion.d.ts +0 -7
  88. package/dist/types/motion.d.ts.map +1 -1
  89. package/dist/utils/cache.d.ts +0 -5
  90. package/dist/utils/cache.d.ts.map +1 -1
  91. package/dist/utils/cache.js +0 -8
  92. package/dist/utils/cache.js.map +1 -1
  93. package/dist/utils/constants.d.ts +4 -0
  94. package/dist/utils/constants.d.ts.map +1 -1
  95. package/dist/utils/constants.js +7 -1
  96. package/dist/utils/constants.js.map +1 -1
  97. package/dist/utils/errorHandling.d.ts +0 -12
  98. package/dist/utils/errorHandling.d.ts.map +1 -1
  99. package/dist/utils/errorHandling.js +2 -23
  100. package/dist/utils/errorHandling.js.map +1 -1
  101. package/dist/utils/errors.d.ts +89 -0
  102. package/dist/utils/errors.d.ts.map +1 -0
  103. package/dist/utils/errors.js +276 -0
  104. package/dist/utils/errors.js.map +1 -0
  105. package/dist/utils/index.d.ts +2 -2
  106. package/dist/utils/index.d.ts.map +1 -1
  107. package/dist/utils/index.js +6 -5
  108. package/dist/utils/index.js.map +1 -1
  109. package/dist/utils/parameterUtils.d.ts +10 -0
  110. package/dist/utils/parameterUtils.d.ts.map +1 -1
  111. package/dist/utils/parameterUtils.js +61 -5
  112. package/dist/utils/parameterUtils.js.map +1 -1
  113. package/dist/utils/responseFormatters.js +16 -16
  114. package/dist/utils/responseFormatters.js.map +1 -1
  115. package/dist/utils/serverInstructions.d.ts +2 -0
  116. package/dist/utils/serverInstructions.d.ts.map +1 -0
  117. package/dist/utils/serverInstructions.js +21 -0
  118. package/dist/utils/serverInstructions.js.map +1 -0
  119. package/dist/utils/userFacingErrors.d.ts +0 -8
  120. package/dist/utils/userFacingErrors.d.ts.map +1 -1
  121. package/dist/utils/userFacingErrors.js +0 -19
  122. package/dist/utils/userFacingErrors.js.map +1 -1
  123. package/dist/utils/workspaceResolver.js +12 -12
  124. package/dist/utils/workspaceResolver.js.map +1 -1
  125. package/package.json +2 -1
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"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"}
@@ -9,14 +9,6 @@ import { CallToolResult } from "@modelcontextprotocol/sdk/types.js";
9
9
  interface ErrorContext {
10
10
  [key: string]: any;
11
11
  }
12
- /**
13
- * Base error class for Motion API related errors
14
- */
15
- export declare class MotionApiError extends Error {
16
- readonly code: ErrorCode;
17
- readonly context: ErrorContext;
18
- constructor(message: string, code?: ErrorCode, context?: ErrorContext);
19
- }
20
12
  /**
21
13
  * Error class for parameter validation failures
22
14
  */
@@ -57,9 +49,5 @@ export declare function formatMcpError(error: Error | unknown, additionalContext
57
49
  * Format a success response for MCP protocol
58
50
  */
59
51
  export declare function formatMcpSuccess(text: string): CallToolResult;
60
- /**
61
- * Create a standardized error response with context
62
- */
63
- export declare function createErrorResponse(message: string, code?: ErrorCode, context?: ErrorContext): CallToolResult;
64
52
  export {};
65
53
  //# sourceMappingURL=errorHandling.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errorHandling.d.ts","sourceRoot":"","sources":["../../src/utils/errorHandling.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAmC,SAAS,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAEpE,UAAU,YAAY;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,KAAK;IACvC,SAAgB,IAAI,EAAE,SAAS,CAAC;IAChC,SAAgB,OAAO,EAAE,YAAY,CAAC;gBAE1B,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,SAAwC,EAAE,OAAO,GAAE,YAAiB;CAMxG;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,KAAK;IACxC,SAAgB,IAAI,EAAE,SAAS,CAAC;IAChC,SAAgB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,SAAgB,OAAO,EAAE,YAAY,CAAC;gBAE1B,OAAO,EAAE,MAAM,EAAE,SAAS,GAAE,MAAM,GAAG,IAAW,EAAE,OAAO,GAAE,YAAiB;CAOzF;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,KAAK;IACvC,SAAgB,IAAI,EAAE,SAAS,CAAC;IAChC,SAAgB,OAAO,EAAE,YAAY,CAAC;gBAE1B,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,SAA2C,EAAE,OAAO,GAAE,YAAiB;CAM3G;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,YAAY,CAAA;CAAE,CAMhG;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,YAAY,CAAA;CAAE,CAoB5G;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,EAAE,iBAAiB,GAAE,YAAiB,GAAG,cAAc,CAsB3G;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAS7D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,SAAsC,EAC5C,OAAO,GAAE,YAAiB,GACzB,cAAc,CAGhB"}
1
+ {"version":3,"file":"errorHandling.d.ts","sourceRoot":"","sources":["../../src/utils/errorHandling.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAmC,SAAS,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAEpE,UAAU,YAAY;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,KAAK;IACxC,SAAgB,IAAI,EAAE,SAAS,CAAC;IAChC,SAAgB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,SAAgB,OAAO,EAAE,YAAY,CAAC;gBAE1B,OAAO,EAAE,MAAM,EAAE,SAAS,GAAE,MAAM,GAAG,IAAW,EAAE,OAAO,GAAE,YAAiB;CAOzF;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,KAAK;IACvC,SAAgB,IAAI,EAAE,SAAS,CAAC;IAChC,SAAgB,OAAO,EAAE,YAAY,CAAC;gBAE1B,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,SAA2C,EAAE,OAAO,GAAE,YAAiB;CAM3G;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,YAAY,CAAA;CAAE,CAKhG;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,YAAY,CAAA;CAAE,CAoB5G;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,EAAE,iBAAiB,GAAE,YAAiB,GAAG,cAAc,CAsB3G;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAS7D"}
@@ -6,25 +6,12 @@
6
6
  * formatting to ensure consistent error handling across all handlers.
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.WorkspaceError = exports.ValidationError = exports.MotionApiError = void 0;
9
+ exports.WorkspaceError = exports.ValidationError = void 0;
10
10
  exports.isCodedError = isCodedError;
11
11
  exports.extractErrorInfo = extractErrorInfo;
12
12
  exports.formatMcpError = formatMcpError;
13
13
  exports.formatMcpSuccess = formatMcpSuccess;
14
- exports.createErrorResponse = createErrorResponse;
15
14
  const constants_1 = require("./constants");
16
- /**
17
- * Base error class for Motion API related errors
18
- */
19
- class MotionApiError extends Error {
20
- constructor(message, code = constants_1.ERROR_CODES.MOTION_API_ERROR, context = {}) {
21
- super(message);
22
- this.name = 'MotionApiError';
23
- this.code = code;
24
- this.context = context;
25
- }
26
- }
27
- exports.MotionApiError = MotionApiError;
28
15
  /**
29
16
  * Error class for parameter validation failures
30
17
  */
@@ -54,8 +41,7 @@ exports.WorkspaceError = WorkspaceError;
54
41
  * Type guard to check if an error has an error code
55
42
  */
56
43
  function isCodedError(error) {
57
- return (error instanceof MotionApiError ||
58
- error instanceof ValidationError ||
44
+ return (error instanceof ValidationError ||
59
45
  error instanceof WorkspaceError);
60
46
  }
61
47
  /**
@@ -118,11 +104,4 @@ function formatMcpSuccess(text) {
118
104
  ]
119
105
  };
120
106
  }
121
- /**
122
- * Create a standardized error response with context
123
- */
124
- function createErrorResponse(message, code = constants_1.ERROR_CODES.INTERNAL_ERROR, context = {}) {
125
- const error = new MotionApiError(message, code, context);
126
- return formatMcpError(error, context);
127
- }
128
107
  //# sourceMappingURL=errorHandling.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errorHandling.js","sourceRoot":"","sources":["../../src/utils/errorHandling.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errorHandling.js","sourceRoot":"","sources":["../../src/utils/errorHandling.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AA4CH,oCAKC;AAKD,4CAoBC;AAKD,wCAsBC;AAKD,4CASC;AAjHD,2CAAyE;AAOzE;;GAEG;AACH,MAAa,eAAgB,SAAQ,KAAK;IAKxC,YAAY,OAAe,EAAE,YAA2B,IAAI,EAAE,UAAwB,EAAE;QACtF,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAC9B,IAAI,CAAC,IAAI,GAAG,uBAAW,CAAC,kBAAkB,CAAC;QAC3C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF;AAZD,0CAYC;AAED;;GAEG;AACH,MAAa,cAAe,SAAQ,KAAK;IAIvC,YAAY,OAAe,EAAE,OAAkB,uBAAW,CAAC,mBAAmB,EAAE,UAAwB,EAAE;QACxG,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF;AAVD,wCAUC;AAED;;GAEG;AACH,SAAgB,YAAY,CAAC,KAAc;IACzC,OAAO,CACL,KAAK,YAAY,eAAe;QAChC,KAAK,YAAY,cAAc,CAChC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,gBAAgB,CAAC,KAAc;IAC7C,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO;gBACL,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC;QACJ,CAAC;QACD,OAAO;YACL,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,IAAI,EAAE,uBAAW,CAAC,cAAc;YAChC,OAAO,EAAE,EAAE;SACZ,CAAC;IACJ,CAAC;IACD,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC;QACtB,IAAI,EAAE,uBAAW,CAAC,cAAc;QAChC,OAAO,EAAE,EAAE;KACZ,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,cAAc,CAAC,KAAsB,EAAE,oBAAkC,EAAE;IACzF,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC3D,MAAM,YAAY,GAAG,OAAO,IAAI,2BAA2B,CAAC;IAC5D,MAAM,YAAY,GAAiB,EAAE,GAAG,OAAO,EAAE,GAAG,iBAAiB,EAAE,CAAC;IAExE,2CAA2C;IAC3C,IAAI,KAAK,YAAY,eAAe,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QACxD,YAAY,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;IAC3C,CAAC;IAED,sBAAsB;IACtB,MAAM,SAAS,GAAG,UAAU,IAAI,MAAM,YAAY,EAAE,CAAC;IAErD,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,8BAAkB,CAAC,IAAI;gBAC7B,IAAI,EAAE,SAAS;aAChB;SACF;QACD,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,gBAAgB,CAAC,IAAY;IAC3C,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,8BAAkB,CAAC,IAAI;gBAC7B,IAAI;aACL;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,89 @@
1
+ /**
2
+ * Error Utilities - Custom error classes, type guards, and MCP response formatters
3
+ *
4
+ * Consolidates the full error pipeline: error classes (ValidationError, WorkspaceError,
5
+ * UserFacingError), type guards, MCP response formatting, and user-facing error factories.
6
+ */
7
+ import { CallToolResult } from "@modelcontextprotocol/sdk/types.js";
8
+ import { ErrorCode, LogLevel } from './constants';
9
+ interface ErrorContext {
10
+ [key: string]: any;
11
+ }
12
+ /**
13
+ * Error class for parameter validation failures
14
+ */
15
+ export declare class ValidationError extends Error {
16
+ readonly code: ErrorCode;
17
+ readonly parameter: string | null;
18
+ readonly context: ErrorContext;
19
+ constructor(message: string, parameter?: string | null, context?: ErrorContext);
20
+ }
21
+ /**
22
+ * Error class for workspace-specific issues
23
+ */
24
+ export declare class WorkspaceError extends Error {
25
+ readonly code: ErrorCode;
26
+ readonly context: ErrorContext;
27
+ constructor(message: string, code?: ErrorCode, context?: ErrorContext);
28
+ }
29
+ /**
30
+ * Error context for categorizing API errors
31
+ */
32
+ interface ApiErrorContext {
33
+ action: string;
34
+ resourceType?: 'task' | 'project' | 'workspace' | 'user' | 'comment' | 'custom field' | 'recurring task' | 'schedule' | 'status';
35
+ resourceId?: string;
36
+ resourceName?: string;
37
+ }
38
+ /**
39
+ * Error class that contains both user-friendly and technical messages
40
+ */
41
+ export declare class UserFacingError extends Error {
42
+ readonly code: ErrorCode;
43
+ readonly userMessage: string;
44
+ readonly technicalMessage: string;
45
+ readonly originalError?: Error;
46
+ readonly statusCode?: number;
47
+ readonly context: Record<string, unknown>;
48
+ constructor(userMessage: string, technicalMessage: string, originalError?: Error, context?: Record<string, unknown>,
49
+ /**
50
+ * Optional HTTP status code. When provided, overrides any status code that
51
+ * would otherwise be extracted from originalError. Use only when the caller
52
+ * has already extracted and validated the status (e.g. createUserFacingError).
53
+ */
54
+ statusCode?: number);
55
+ /**
56
+ * Log this error with full details
57
+ */
58
+ log(level?: LogLevel): void;
59
+ }
60
+ /**
61
+ * Type guard to check if an error has an error code
62
+ */
63
+ export declare function isCodedError(error: unknown): error is ValidationError | WorkspaceError | UserFacingError;
64
+ /**
65
+ * Extract error information from any error type
66
+ */
67
+ export declare function extractErrorInfo(error: unknown): {
68
+ message: string;
69
+ code: ErrorCode;
70
+ context: ErrorContext;
71
+ };
72
+ /**
73
+ * Format an error for MCP protocol response
74
+ */
75
+ export declare function formatMcpError(error: Error | unknown): CallToolResult;
76
+ /**
77
+ * Format a success response for MCP protocol
78
+ */
79
+ export declare function formatMcpSuccess(text: string): CallToolResult;
80
+ /**
81
+ * Creates a user-facing error with both user-friendly and technical messages
82
+ */
83
+ export declare function createUserFacingError(error: unknown, context: ApiErrorContext): UserFacingError;
84
+ /**
85
+ * Helper to create error context
86
+ */
87
+ export declare function createErrorContext(action: string, resourceType?: ApiErrorContext['resourceType'], resourceId?: string, resourceName?: string): ApiErrorContext;
88
+ export {};
89
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAmC,SAAS,EAAc,QAAQ,EAAE,MAAM,aAAa,CAAC;AAO/F,UAAU,YAAY;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAID;;GAEG;AACH,qBAAa,eAAgB,SAAQ,KAAK;IACxC,SAAgB,IAAI,EAAE,SAAS,CAAC;IAChC,SAAgB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,SAAgB,OAAO,EAAE,YAAY,CAAC;gBAE1B,OAAO,EAAE,MAAM,EAAE,SAAS,GAAE,MAAM,GAAG,IAAW,EAAE,OAAO,GAAE,YAAiB;CAOzF;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,KAAK;IACvC,SAAgB,IAAI,EAAE,SAAS,CAAC;IAChC,SAAgB,OAAO,EAAE,YAAY,CAAC;gBAE1B,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,SAA2C,EAAE,OAAO,GAAE,YAAiB;CAM3G;AAED;;GAEG;AACH,UAAU,eAAe;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,MAAM,GAAG,SAAS,GAAG,cAAc,GAAG,gBAAgB,GAAG,UAAU,GAAG,QAAQ,CAAC;IACjI,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAgBD;;GAEG;AACH,qBAAa,eAAgB,SAAQ,KAAK;IACxC,SAAgB,IAAI,EAAE,SAAS,CAAC;IAChC,SAAgB,WAAW,EAAE,MAAM,CAAC;IACpC,SAAgB,gBAAgB,EAAE,MAAM,CAAC;IACzC,SAAgB,aAAa,CAAC,EAAE,KAAK,CAAC;IACtC,SAAgB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpC,SAAgB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAG/C,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,MAAM,EACxB,aAAa,CAAC,EAAE,KAAK,EACrB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACjC;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM;IAuBrB;;OAEG;IACH,GAAG,CAAC,KAAK,GAAE,QAA2B,GAAG,IAAI;CAQ9C;AAID;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,eAAe,GAAG,cAAc,GAAG,eAAe,CAMxG;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,YAAY,CAAA;CAAE,CAoB5G;AAID;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,GAAG,cAAc,CAerE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAS7D;AAgFD;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,eAAe,GACvB,eAAe,CAkCjB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EACd,YAAY,CAAC,EAAE,eAAe,CAAC,cAAc,CAAC,EAC9C,UAAU,CAAC,EAAE,MAAM,EACnB,YAAY,CAAC,EAAE,MAAM,GACpB,eAAe,CAOjB"}
@@ -0,0 +1,276 @@
1
+ "use strict";
2
+ /**
3
+ * Error Utilities - Custom error classes, type guards, and MCP response formatters
4
+ *
5
+ * Consolidates the full error pipeline: error classes (ValidationError, WorkspaceError,
6
+ * UserFacingError), type guards, MCP response formatting, and user-facing error factories.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.UserFacingError = exports.WorkspaceError = exports.ValidationError = void 0;
10
+ exports.isCodedError = isCodedError;
11
+ exports.extractErrorInfo = extractErrorInfo;
12
+ exports.formatMcpError = formatMcpError;
13
+ exports.formatMcpSuccess = formatMcpSuccess;
14
+ exports.createUserFacingError = createUserFacingError;
15
+ exports.createErrorContext = createErrorContext;
16
+ const axios_1 = require("axios");
17
+ const constants_1 = require("./constants");
18
+ const logger_1 = require("./logger");
19
+ // ─── Error Classes ──────────────────────────────────────────────────────────
20
+ /**
21
+ * Error class for parameter validation failures
22
+ */
23
+ class ValidationError extends Error {
24
+ constructor(message, parameter = null, context = {}) {
25
+ super(message);
26
+ this.name = 'ValidationError';
27
+ this.code = constants_1.ERROR_CODES.INVALID_PARAMETERS;
28
+ this.parameter = parameter;
29
+ this.context = context;
30
+ }
31
+ }
32
+ exports.ValidationError = ValidationError;
33
+ /**
34
+ * Error class for workspace-specific issues
35
+ */
36
+ class WorkspaceError extends Error {
37
+ constructor(message, code = constants_1.ERROR_CODES.WORKSPACE_NOT_FOUND, context = {}) {
38
+ super(message);
39
+ this.name = 'WorkspaceError';
40
+ this.code = code;
41
+ this.context = context;
42
+ }
43
+ }
44
+ exports.WorkspaceError = WorkspaceError;
45
+ /**
46
+ * Maps HTTP status codes to ErrorCode values
47
+ */
48
+ function httpStatusToErrorCode(statusCode) {
49
+ if (!statusCode)
50
+ return constants_1.ERROR_CODES.INTERNAL_ERROR;
51
+ if (statusCode === 401)
52
+ return constants_1.ERROR_CODES.AUTH_FAILED;
53
+ if (statusCode === 403)
54
+ return constants_1.ERROR_CODES.ACCESS_DENIED;
55
+ if (statusCode === 404)
56
+ return constants_1.ERROR_CODES.RESOURCE_NOT_FOUND;
57
+ if (statusCode === 400 || statusCode === 422)
58
+ return constants_1.ERROR_CODES.INVALID_PARAMETERS;
59
+ if (statusCode === 429)
60
+ return constants_1.ERROR_CODES.RATE_LIMIT_EXCEEDED;
61
+ if (statusCode >= 500)
62
+ return constants_1.ERROR_CODES.MOTION_API_ERROR;
63
+ return constants_1.ERROR_CODES.INTERNAL_ERROR;
64
+ }
65
+ /**
66
+ * Error class that contains both user-friendly and technical messages
67
+ */
68
+ class UserFacingError extends Error {
69
+ constructor(userMessage, technicalMessage, originalError, context,
70
+ /**
71
+ * Optional HTTP status code. When provided, overrides any status code that
72
+ * would otherwise be extracted from originalError. Use only when the caller
73
+ * has already extracted and validated the status (e.g. createUserFacingError).
74
+ */
75
+ statusCode) {
76
+ super(userMessage);
77
+ this.name = 'UserFacingError';
78
+ this.userMessage = userMessage;
79
+ this.technicalMessage = technicalMessage;
80
+ this.originalError = originalError;
81
+ this.context = context ?? {};
82
+ // Use explicit statusCode if provided, otherwise extract from axios errors
83
+ if (statusCode !== undefined) {
84
+ this.statusCode = statusCode;
85
+ }
86
+ else if (originalError && (0, axios_1.isAxiosError)(originalError)) {
87
+ this.statusCode = originalError.response?.status;
88
+ }
89
+ this.code = httpStatusToErrorCode(this.statusCode);
90
+ // Maintain proper stack trace
91
+ if (Error.captureStackTrace) {
92
+ Error.captureStackTrace(this, UserFacingError);
93
+ }
94
+ }
95
+ /**
96
+ * Log this error with full details
97
+ */
98
+ log(level = constants_1.LOG_LEVELS.ERROR) {
99
+ (0, logger_1.mcpLog)(level, this.userMessage, {
100
+ technicalMessage: this.technicalMessage,
101
+ statusCode: this.statusCode,
102
+ originalError: this.originalError?.message,
103
+ context: this.context
104
+ });
105
+ }
106
+ }
107
+ exports.UserFacingError = UserFacingError;
108
+ // ─── Type Guards and Extractors ─────────────────────────────────────────────
109
+ /**
110
+ * Type guard to check if an error has an error code
111
+ */
112
+ function isCodedError(error) {
113
+ return (error instanceof ValidationError ||
114
+ error instanceof WorkspaceError ||
115
+ error instanceof UserFacingError);
116
+ }
117
+ /**
118
+ * Extract error information from any error type
119
+ */
120
+ function extractErrorInfo(error) {
121
+ if (error instanceof Error) {
122
+ if (isCodedError(error)) {
123
+ return {
124
+ message: error.message,
125
+ code: error.code,
126
+ context: error.context
127
+ };
128
+ }
129
+ return {
130
+ message: error.message,
131
+ code: constants_1.ERROR_CODES.INTERNAL_ERROR,
132
+ context: {}
133
+ };
134
+ }
135
+ return {
136
+ message: String(error),
137
+ code: constants_1.ERROR_CODES.INTERNAL_ERROR,
138
+ context: {}
139
+ };
140
+ }
141
+ // ─── MCP Response Formatters ────────────────────────────────────────────────
142
+ /**
143
+ * Format an error for MCP protocol response
144
+ */
145
+ function formatMcpError(error) {
146
+ // For UserFacingError, message is the user-friendly text (not technicalMessage)
147
+ const { message, code } = extractErrorInfo(error);
148
+ const errorMessage = message || 'An unknown error occurred';
149
+ const errorText = `Error [${code}]: ${errorMessage}`;
150
+ return {
151
+ content: [
152
+ {
153
+ type: constants_1.MCP_RESPONSE_TYPES.TEXT,
154
+ text: errorText
155
+ }
156
+ ],
157
+ isError: true
158
+ };
159
+ }
160
+ /**
161
+ * Format a success response for MCP protocol
162
+ */
163
+ function formatMcpSuccess(text) {
164
+ return {
165
+ content: [
166
+ {
167
+ type: constants_1.MCP_RESPONSE_TYPES.TEXT,
168
+ text
169
+ }
170
+ ]
171
+ };
172
+ }
173
+ // ─── User-Facing Error Factories ────────────────────────────────────────────
174
+ /**
175
+ * Maps HTTP status codes to user-friendly messages
176
+ */
177
+ const STATUS_CODE_MESSAGES = {
178
+ 400: 'The request was invalid. Please check your input and try again.',
179
+ 401: 'Authentication failed. Please check your API key configuration.',
180
+ 403: 'You don\'t have permission to perform this action.',
181
+ 404: 'The requested resource was not found.',
182
+ 409: 'This action conflicts with the current state. The resource may have been modified.',
183
+ 422: 'The data provided cannot be processed. Please check the format and try again.',
184
+ 429: 'Too many requests. Please wait a moment and try again.',
185
+ 500: 'Motion server encountered an error. Please try again later.',
186
+ 502: 'Unable to connect to Motion servers. Please check your internet connection.',
187
+ 503: 'Motion service is temporarily unavailable. Please try again in a few moments.',
188
+ 504: 'Request timed out. Please try again.'
189
+ };
190
+ /**
191
+ * Maps action types to user-friendly action descriptions
192
+ */
193
+ const ACTION_DESCRIPTIONS = {
194
+ 'fetch': 'load',
195
+ 'create': 'create',
196
+ 'update': 'update',
197
+ 'delete': 'delete',
198
+ 'move': 'move',
199
+ 'unassign': 'unassign',
200
+ 'search': 'search for',
201
+ 'resolve': 'find',
202
+ 'list': 'retrieve'
203
+ };
204
+ /**
205
+ * Builds a user-friendly message based on context and status
206
+ */
207
+ function buildUserMessage(context, statusCode, apiMessage) {
208
+ const action = ACTION_DESCRIPTIONS[context.action] || context.action;
209
+ const resource = context.resourceType || 'resource';
210
+ const resourceInfo = context.resourceName
211
+ ? ` "${context.resourceName}"`
212
+ : context.resourceId
213
+ ? ` (ID: ${context.resourceId})`
214
+ : '';
215
+ // Check for specific status code messages
216
+ if (statusCode && STATUS_CODE_MESSAGES[statusCode]) {
217
+ // For auth errors, lead with permission context
218
+ if (statusCode === 401 || statusCode === 403) {
219
+ return `${STATUS_CODE_MESSAGES[statusCode]} Unable to ${action} ${resource}${resourceInfo}.`;
220
+ }
221
+ return `Unable to ${action} ${resource}${resourceInfo}. ${STATUS_CODE_MESSAGES[statusCode]}`;
222
+ }
223
+ // Check for common error patterns in API messages
224
+ if (apiMessage) {
225
+ // Network/connection errors
226
+ if (apiMessage.toLowerCase().includes('network') ||
227
+ apiMessage.toLowerCase().includes('connection')) {
228
+ return `Unable to ${action} ${resource}${resourceInfo}. Please check your internet connection and try again.`;
229
+ }
230
+ // Validation errors
231
+ if (apiMessage.toLowerCase().includes('validation') ||
232
+ apiMessage.toLowerCase().includes('invalid')) {
233
+ return `Unable to ${action} ${resource}${resourceInfo}. ${apiMessage}`;
234
+ }
235
+ }
236
+ // Generic message
237
+ return `Unable to ${action} ${resource}${resourceInfo}. Please try again or contact support if the problem persists.`;
238
+ }
239
+ /**
240
+ * Creates a user-facing error with both user-friendly and technical messages
241
+ */
242
+ function createUserFacingError(error, context) {
243
+ // Get technical message
244
+ const technicalMessage = error instanceof Error ? error.message : String(error);
245
+ // Extract status code
246
+ let statusCode;
247
+ let apiMessage;
248
+ if ((0, axios_1.isAxiosError)(error)) {
249
+ statusCode = error.response?.status;
250
+ apiMessage = error.response?.data?.message;
251
+ }
252
+ // Build user-friendly message
253
+ const userMessage = buildUserMessage(context, statusCode, apiMessage);
254
+ // Create the error
255
+ const userError = new UserFacingError(userMessage, technicalMessage, error instanceof Error ? error : undefined, {
256
+ action: context.action,
257
+ resourceType: context.resourceType,
258
+ resourceId: context.resourceId,
259
+ resourceName: context.resourceName
260
+ }, statusCode);
261
+ // Log the error
262
+ userError.log();
263
+ return userError;
264
+ }
265
+ /**
266
+ * Helper to create error context
267
+ */
268
+ function createErrorContext(action, resourceType, resourceId, resourceName) {
269
+ return {
270
+ action,
271
+ resourceType,
272
+ resourceId,
273
+ resourceName
274
+ };
275
+ }
276
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"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"}
@@ -5,8 +5,8 @@
5
5
  * classes, and constants used throughout the Motion MCP Server.
6
6
  */
7
7
  export * from './constants';
8
- export * from './errorHandling';
9
- export * from './userFacingErrors';
8
+ export { SERVER_INSTRUCTIONS } from './serverInstructions';
9
+ export * from './errors';
10
10
  export * from './responseFormatters';
11
11
  export * from './parameterUtils';
12
12
  export { WorkspaceResolver } from './workspaceResolver';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,cAAc,aAAa,CAAC;AAG5B,cAAc,iBAAiB,CAAC;AAGhC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,sBAAsB,CAAC;AAGrC,cAAc,kBAAkB,CAAC;AAGjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,cAAc,aAAa,CAAC;AAG5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAG3D,cAAc,UAAU,CAAC;AAGzB,cAAc,sBAAsB,CAAC;AAGrC,cAAc,kBAAkB,CAAC;AAGjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC"}
@@ -20,13 +20,14 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
20
20
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
21
21
  };
22
22
  Object.defineProperty(exports, "__esModule", { value: true });
23
- exports.mcpLog = exports.WorkspaceResolver = void 0;
23
+ exports.mcpLog = exports.WorkspaceResolver = exports.SERVER_INSTRUCTIONS = void 0;
24
24
  // Export all constants
25
25
  __exportStar(require("./constants"), exports);
26
- // Export error handling utilities
27
- __exportStar(require("./errorHandling"), exports);
28
- // Export user-facing error utilities
29
- __exportStar(require("./userFacingErrors"), exports);
26
+ // Export server instructions (kept separate to avoid loading in utility-only code paths)
27
+ var serverInstructions_1 = require("./serverInstructions");
28
+ Object.defineProperty(exports, "SERVER_INSTRUCTIONS", { enumerable: true, get: function () { return serverInstructions_1.SERVER_INSTRUCTIONS; } });
29
+ // Export error utilities
30
+ __exportStar(require("./errors"), exports);
30
31
  // Export response formatters
31
32
  __exportStar(require("./responseFormatters"), exports);
32
33
  // Export parameter utilities
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;AAEH,uBAAuB;AACvB,8CAA4B;AAE5B,kCAAkC;AAClC,kDAAgC;AAEhC,qCAAqC;AACrC,qDAAmC;AAEnC,6BAA6B;AAC7B,uDAAqC;AAErC,6BAA6B;AAC7B,mDAAiC;AAEjC,2BAA2B;AAC3B,yDAAwD;AAA/C,sHAAA,iBAAiB,OAAA;AAE1B,gBAAgB;AAChB,mCAAkC;AAAzB,gGAAA,MAAM,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;AAEH,uBAAuB;AACvB,8CAA4B;AAE5B,yFAAyF;AACzF,2DAA2D;AAAlD,yHAAA,mBAAmB,OAAA;AAE5B,yBAAyB;AACzB,2CAAyB;AAEzB,6BAA6B;AAC7B,uDAAqC;AAErC,6BAA6B;AAC7B,mDAAiC;AAEjC,2BAA2B;AAC3B,yDAAwD;AAA/C,sHAAA,iBAAiB,OAAA;AAE1B,gBAAgB;AAChB,mCAAkC;AAAzB,gGAAA,MAAM,OAAA"}
@@ -79,6 +79,16 @@ export declare function validateParameterTypes(args?: Record<string, unknown>, t
79
79
  * Empty strings become undefined (deleted)
80
80
  */
81
81
  export declare function sanitizeStringParams<T extends Record<string, any>>(args?: T, stringParams?: (keyof T)[]): T;
82
+ /**
83
+ * Defensively parse a value that should be an object but may have been
84
+ * JSON-stringified by an LLM transport layer.
85
+ */
86
+ export declare function parseObjectParam(value: unknown): Record<string, unknown> | undefined;
87
+ /**
88
+ * Defensively parse a value that should be an array but may have been
89
+ * JSON-stringified by an LLM transport layer.
90
+ */
91
+ export declare function parseArrayParam(value: unknown): unknown[] | undefined;
82
92
  interface ValidationOptions {
83
93
  requireWorkspace?: boolean;
84
94
  }
@@ -1 +1 @@
1
- {"version":3,"file":"parameterUtils.d.ts","sourceRoot":"","sources":["../../src/utils/parameterUtils.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,UAAU,aAAa;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,UAAU,QAAS,SAAQ,aAAa;IACtC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CAChD;AAED,UAAU,WAAY,SAAQ,aAAa;IACzC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,aAAa,CAKpF;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,CA2ClG;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,QAAQ,CAe1E;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,CA4BlF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,WAAW,CAMhF;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,OAAO,CAAC,CAAC,CAAC,EAChE,IAAI,GAAE,CAAW,EACjB,QAAQ,GAAE,CAAW,GACpB,CAAC,GAAG,CAAC,CAEP;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EAClC,QAAQ,GAAE,MAAM,EAAO,GACtB,IAAI,CAgBN;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EAClC,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GACjC,IAAI,CAmBN;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAChE,IAAI,GAAE,CAAW,EACjB,YAAY,GAAE,CAAC,MAAM,CAAC,CAAC,EAAO,GAC7B,CAAC,CAoBH;AAED,UAAU,iBAAiB;IACzB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EAClC,OAAO,GAAE,iBAAsB,GAC9B,aAAa,CAcf"}
1
+ {"version":3,"file":"parameterUtils.d.ts","sourceRoot":"","sources":["../../src/utils/parameterUtils.ts"],"names":[],"mappings":"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"}