motionmcp 2.1.1 → 2.2.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.
- package/README.md +1 -1
- package/dist/handlers/CommentHandler.d.ts.map +1 -1
- package/dist/handlers/CommentHandler.js +3 -5
- package/dist/handlers/CommentHandler.js.map +1 -1
- package/dist/handlers/TaskHandler.d.ts +72 -0
- package/dist/handlers/TaskHandler.d.ts.map +1 -1
- package/dist/handlers/TaskHandler.js +77 -1
- package/dist/handlers/TaskHandler.js.map +1 -1
- package/dist/schemas/motion.d.ts +313 -4259
- package/dist/schemas/motion.d.ts.map +1 -1
- package/dist/schemas/motion.js +4 -4
- package/dist/schemas/motion.js.map +1 -1
- package/dist/services/motionApi.d.ts +15 -6
- package/dist/services/motionApi.d.ts.map +1 -1
- package/dist/services/motionApi.js +195 -108
- package/dist/services/motionApi.js.map +1 -1
- package/dist/tools/ToolDefinitions.d.ts.map +1 -1
- package/dist/tools/ToolDefinitions.js +23 -9
- package/dist/tools/ToolDefinitions.js.map +1 -1
- package/dist/tools/ToolRegistry.d.ts +50 -0
- package/dist/tools/ToolRegistry.d.ts.map +1 -1
- package/dist/tools/ToolRegistry.js +51 -6
- package/dist/tools/ToolRegistry.js.map +1 -1
- package/dist/types/mcp-tool-args.d.ts +2 -7
- package/dist/types/mcp-tool-args.d.ts.map +1 -1
- package/dist/types/motion.d.ts +11 -7
- package/dist/types/motion.d.ts.map +1 -1
- package/dist/utils/constants.d.ts +4 -0
- package/dist/utils/constants.d.ts.map +1 -1
- package/dist/utils/constants.js +6 -1
- package/dist/utils/constants.js.map +1 -1
- package/dist/utils/errorHandling.d.ts +17 -2
- package/dist/utils/errorHandling.d.ts.map +1 -1
- package/dist/utils/errorHandling.js +46 -4
- package/dist/utils/errorHandling.js.map +1 -1
- package/dist/utils/frequencyTransform.d.ts +41 -0
- package/dist/utils/frequencyTransform.d.ts.map +1 -0
- package/dist/utils/frequencyTransform.js +326 -0
- package/dist/utils/frequencyTransform.js.map +1 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +2 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/pagination.d.ts +61 -0
- package/dist/utils/pagination.d.ts.map +1 -0
- package/dist/utils/pagination.js +168 -0
- package/dist/utils/pagination.js.map +1 -0
- package/dist/utils/paginationNew.d.ts +14 -0
- package/dist/utils/paginationNew.d.ts.map +1 -1
- package/dist/utils/paginationNew.js +26 -0
- package/dist/utils/paginationNew.js.map +1 -1
- package/dist/utils/parameterUtils.d.ts.map +1 -1
- package/dist/utils/parameterUtils.js +11 -1
- package/dist/utils/parameterUtils.js.map +1 -1
- package/dist/utils/userFacingErrors.d.ts +49 -0
- package/dist/utils/userFacingErrors.d.ts.map +1 -0
- package/dist/utils/userFacingErrors.js +174 -0
- package/dist/utils/userFacingErrors.js.map +1 -0
- package/dist/utils/workspaceResolver.d.ts.map +1 -1
- package/dist/utils/workspaceResolver.js +6 -1
- package/dist/utils/workspaceResolver.js.map +1 -1
- package/package.json +15 -6
- package/dist/mcp-server-old.d.ts +0 -29
- package/dist/mcp-server-old.d.ts.map +0 -1
- package/dist/mcp-server-old.js +0 -1304
- package/dist/mcp-server-old.js.map +0 -1
|
@@ -9,6 +9,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
9
9
|
exports.fetchAllPages = fetchAllPages;
|
|
10
10
|
exports.fetchSinglePage = fetchSinglePage;
|
|
11
11
|
exports.endpointSupportsPagination = endpointSupportsPagination;
|
|
12
|
+
exports.calculateAdaptiveFetchLimit = calculateAdaptiveFetchLimit;
|
|
12
13
|
const logger_1 = require("./logger");
|
|
13
14
|
const constants_1 = require("./constants");
|
|
14
15
|
const responseWrapper_1 = require("./responseWrapper");
|
|
@@ -29,6 +30,11 @@ async function fetchAllPages(fetchPage, apiEndpoint, options = {}) {
|
|
|
29
30
|
// Infinite loop protection - ensure we never fetch more than absolute max pages
|
|
30
31
|
const absoluteMaxPages = Math.min(maxPages, constants_1.LIMITS.ABSOLUTE_MAX_PAGES); // Hard limit to prevent infinite loops
|
|
31
32
|
while (hasMore && pageCount < absoluteMaxPages) {
|
|
33
|
+
// Pre-fetch early termination: skip fetch if we've already reached maxItems
|
|
34
|
+
if (allItems.length >= maxItems) {
|
|
35
|
+
hasMore = false;
|
|
36
|
+
break;
|
|
37
|
+
}
|
|
32
38
|
try {
|
|
33
39
|
if (logProgress && pageCount > 0) {
|
|
34
40
|
(0, logger_1.mcpLog)(constants_1.LOG_LEVELS.DEBUG, `Fetching page ${pageCount + 1} for ${apiEndpoint}`, {
|
|
@@ -146,4 +152,24 @@ async function fetchSinglePage(fetchPage, apiEndpoint, cursor) {
|
|
|
146
152
|
function endpointSupportsPagination(apiEndpoint) {
|
|
147
153
|
return (0, responseWrapper_1.supportsPagination)(apiEndpoint);
|
|
148
154
|
}
|
|
155
|
+
/**
|
|
156
|
+
* Calculate adaptive fetch limit for search operations with overfetching.
|
|
157
|
+
*
|
|
158
|
+
* Used when fetching items that will be filtered client-side. The overfetch
|
|
159
|
+
* multiplier (typically 3x) compensates for filtered results, reducing the
|
|
160
|
+
* number of API calls needed while avoiding excessive memory usage.
|
|
161
|
+
*
|
|
162
|
+
* @param currentCount - Number of items already collected
|
|
163
|
+
* @param targetLimit - Maximum items the caller wants
|
|
164
|
+
* @param overfetchMultiplier - How much to overfetch (default 3x based on typical filter ratios)
|
|
165
|
+
* @param maxFetchLimit - Absolute maximum for a single fetch (prevents resource exhaustion)
|
|
166
|
+
* @returns Number of items to request, or 0 if target already reached
|
|
167
|
+
*/
|
|
168
|
+
function calculateAdaptiveFetchLimit(currentCount, targetLimit, overfetchMultiplier = 3, maxFetchLimit = constants_1.LIMITS.MAX_SEARCH_RESULTS) {
|
|
169
|
+
// Use Math.max to ensure remaining is never negative (defense-in-depth)
|
|
170
|
+
const remaining = Math.max(0, targetLimit - currentCount);
|
|
171
|
+
if (remaining === 0)
|
|
172
|
+
return 0;
|
|
173
|
+
return Math.min(remaining * overfetchMultiplier, maxFetchLimit);
|
|
174
|
+
}
|
|
149
175
|
//# sourceMappingURL=paginationNew.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paginationNew.js","sourceRoot":"","sources":["../../src/utils/paginationNew.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AA8BH,
|
|
1
|
+
{"version":3,"file":"paginationNew.js","sourceRoot":"","sources":["../../src/utils/paginationNew.ts"],"names":[],"mappings":"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"}
|
|
@@ -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,UAAW,SAAQ,aAAa;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,UAAU,CAAC;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;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;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,aAAa,CAKpF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,UAAU,CAO9E;
|
|
1
|
+
{"version":3,"file":"parameterUtils.d.ts","sourceRoot":"","sources":["../../src/utils/parameterUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -42,8 +42,18 @@ function parseSearchArgs(args = {}) {
|
|
|
42
42
|
}
|
|
43
43
|
/**
|
|
44
44
|
* Parse autoScheduled parameter to handle various input formats
|
|
45
|
+
*
|
|
46
|
+
* Supported formats:
|
|
47
|
+
* - undefined → undefined (field not provided)
|
|
48
|
+
* - null → null (explicitly disable auto-scheduling)
|
|
49
|
+
* - true / 'true' → {} (enable but require schedule)
|
|
50
|
+
* - false / 'false' → null (disable auto-scheduling)
|
|
51
|
+
* - string (non-empty) → { schedule: string } (schedule name)
|
|
52
|
+
* - object → passed through as-is
|
|
53
|
+
* - numbers (0, 1, -1, etc.) → undefined (invalid type, field not provided)
|
|
54
|
+
*
|
|
45
55
|
* @param value - The autoScheduled value from MCP request
|
|
46
|
-
* @returns Proper autoScheduled value for Motion API
|
|
56
|
+
* @returns Proper autoScheduled value for Motion API, or undefined for invalid types
|
|
47
57
|
*/
|
|
48
58
|
function parseAutoScheduledParam(value) {
|
|
49
59
|
// If undefined, leave as undefined (field not provided)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parameterUtils.js","sourceRoot":"","sources":["../../src/utils/parameterUtils.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAyCH,gDAKC;AAKD,0CAOC;
|
|
1
|
+
{"version":3,"file":"parameterUtils.js","sourceRoot":"","sources":["../../src/utils/parameterUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* User-Friendly Error Handling
|
|
3
|
+
*
|
|
4
|
+
* This module provides user-friendly error messages while preserving
|
|
5
|
+
* technical details for logging and debugging.
|
|
6
|
+
*/
|
|
7
|
+
import { LogLevel } from './constants';
|
|
8
|
+
/**
|
|
9
|
+
* Error class that contains both user-friendly and technical messages
|
|
10
|
+
*/
|
|
11
|
+
export declare class UserFacingError extends Error {
|
|
12
|
+
readonly userMessage: string;
|
|
13
|
+
readonly technicalMessage: string;
|
|
14
|
+
readonly originalError?: Error;
|
|
15
|
+
readonly statusCode?: number;
|
|
16
|
+
readonly context?: Record<string, unknown>;
|
|
17
|
+
constructor(userMessage: string, technicalMessage: string, originalError?: Error, context?: Record<string, unknown>);
|
|
18
|
+
/**
|
|
19
|
+
* Get a comprehensive error message for logging
|
|
20
|
+
*/
|
|
21
|
+
getFullMessage(): string;
|
|
22
|
+
/**
|
|
23
|
+
* Log this error with full details
|
|
24
|
+
*/
|
|
25
|
+
log(level?: LogLevel): void;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Error context for categorizing errors
|
|
29
|
+
*/
|
|
30
|
+
interface ErrorContext {
|
|
31
|
+
action: string;
|
|
32
|
+
resourceType?: 'task' | 'project' | 'workspace' | 'user' | 'comment' | 'custom field' | 'recurring task' | 'schedule' | 'status';
|
|
33
|
+
resourceId?: string;
|
|
34
|
+
resourceName?: string;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Creates a user-friendly error message from an action and error
|
|
38
|
+
*/
|
|
39
|
+
export declare function createUserFacingError(error: unknown, context: ErrorContext): UserFacingError;
|
|
40
|
+
/**
|
|
41
|
+
* Formats an error for MCP response with user-friendly message
|
|
42
|
+
*/
|
|
43
|
+
export declare function formatUserFacingErrorForMcp(error: unknown): string;
|
|
44
|
+
/**
|
|
45
|
+
* Helper to create error context
|
|
46
|
+
*/
|
|
47
|
+
export declare function createErrorContext(action: string, resourceType?: ErrorContext['resourceType'], resourceId?: string, resourceName?: string): ErrorContext;
|
|
48
|
+
export {};
|
|
49
|
+
//# sourceMappingURL=userFacingErrors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"userFacingErrors.d.ts","sourceRoot":"","sources":["../../src/utils/userFacingErrors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAc,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEnD;;GAEG;AACH,qBAAa,eAAgB,SAAQ,KAAK;IACxC,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,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAGhD,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,MAAM,EACxB,aAAa,CAAC,EAAE,KAAK,EACrB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAoBnC;;OAEG;IACH,cAAc,IAAI,MAAM;IAIxB;;OAEG;IACH,GAAG,CAAC,KAAK,GAAE,QAA2B,GAAG,IAAI;CAQ9C;AAED;;GAEG;AACH,UAAU,YAAY;IACpB,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;AAkCD;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,YAAY,GACpB,eAAe,CAkCjB;AAkDD;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAUlE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EACd,YAAY,CAAC,EAAE,YAAY,CAAC,cAAc,CAAC,EAC3C,UAAU,CAAC,EAAE,MAAM,EACnB,YAAY,CAAC,EAAE,MAAM,GACpB,YAAY,CAOd"}
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* User-Friendly Error Handling
|
|
4
|
+
*
|
|
5
|
+
* This module provides user-friendly error messages while preserving
|
|
6
|
+
* technical details for logging and debugging.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.UserFacingError = void 0;
|
|
10
|
+
exports.createUserFacingError = createUserFacingError;
|
|
11
|
+
exports.formatUserFacingErrorForMcp = formatUserFacingErrorForMcp;
|
|
12
|
+
exports.createErrorContext = createErrorContext;
|
|
13
|
+
const axios_1 = require("axios");
|
|
14
|
+
const logger_1 = require("./logger");
|
|
15
|
+
const constants_1 = require("./constants");
|
|
16
|
+
/**
|
|
17
|
+
* Error class that contains both user-friendly and technical messages
|
|
18
|
+
*/
|
|
19
|
+
class UserFacingError extends Error {
|
|
20
|
+
constructor(userMessage, technicalMessage, originalError, context) {
|
|
21
|
+
super(userMessage);
|
|
22
|
+
this.name = 'UserFacingError';
|
|
23
|
+
this.userMessage = userMessage;
|
|
24
|
+
this.technicalMessage = technicalMessage;
|
|
25
|
+
this.originalError = originalError;
|
|
26
|
+
this.context = context;
|
|
27
|
+
// Extract status code from axios errors
|
|
28
|
+
if (originalError && (0, axios_1.isAxiosError)(originalError)) {
|
|
29
|
+
this.statusCode = originalError.response?.status;
|
|
30
|
+
}
|
|
31
|
+
// Maintain proper stack trace
|
|
32
|
+
if (Error.captureStackTrace) {
|
|
33
|
+
Error.captureStackTrace(this, UserFacingError);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Get a comprehensive error message for logging
|
|
38
|
+
*/
|
|
39
|
+
getFullMessage() {
|
|
40
|
+
return `${this.userMessage} (Technical: ${this.technicalMessage})`;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Log this error with full details
|
|
44
|
+
*/
|
|
45
|
+
log(level = constants_1.LOG_LEVELS.ERROR) {
|
|
46
|
+
(0, logger_1.mcpLog)(level, this.userMessage, {
|
|
47
|
+
technicalMessage: this.technicalMessage,
|
|
48
|
+
statusCode: this.statusCode,
|
|
49
|
+
originalError: this.originalError?.message,
|
|
50
|
+
context: this.context
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
exports.UserFacingError = UserFacingError;
|
|
55
|
+
/**
|
|
56
|
+
* Maps HTTP status codes to user-friendly messages
|
|
57
|
+
*/
|
|
58
|
+
const STATUS_CODE_MESSAGES = {
|
|
59
|
+
400: 'The request was invalid. Please check your input and try again.',
|
|
60
|
+
401: 'Authentication failed. Please check your API key configuration.',
|
|
61
|
+
403: 'You don\'t have permission to perform this action.',
|
|
62
|
+
404: 'The requested resource was not found.',
|
|
63
|
+
409: 'This action conflicts with the current state. The resource may have been modified.',
|
|
64
|
+
422: 'The data provided cannot be processed. Please check the format and try again.',
|
|
65
|
+
429: 'Too many requests. Please wait a moment and try again.',
|
|
66
|
+
500: 'Motion server encountered an error. Please try again later.',
|
|
67
|
+
502: 'Unable to connect to Motion servers. Please check your internet connection.',
|
|
68
|
+
503: 'Motion service is temporarily unavailable. Please try again in a few moments.',
|
|
69
|
+
504: 'Request timed out. Please try again.'
|
|
70
|
+
};
|
|
71
|
+
/**
|
|
72
|
+
* Maps action types to user-friendly action descriptions
|
|
73
|
+
*/
|
|
74
|
+
const ACTION_DESCRIPTIONS = {
|
|
75
|
+
'fetch': 'load',
|
|
76
|
+
'create': 'create',
|
|
77
|
+
'update': 'update',
|
|
78
|
+
'delete': 'delete',
|
|
79
|
+
'move': 'move',
|
|
80
|
+
'unassign': 'unassign',
|
|
81
|
+
'search': 'search for',
|
|
82
|
+
'resolve': 'find',
|
|
83
|
+
'list': 'retrieve'
|
|
84
|
+
};
|
|
85
|
+
/**
|
|
86
|
+
* Creates a user-friendly error message from an action and error
|
|
87
|
+
*/
|
|
88
|
+
function createUserFacingError(error, context) {
|
|
89
|
+
// Get technical message
|
|
90
|
+
const technicalMessage = error instanceof Error ? error.message : String(error);
|
|
91
|
+
// Extract status code
|
|
92
|
+
let statusCode;
|
|
93
|
+
let apiMessage;
|
|
94
|
+
if ((0, axios_1.isAxiosError)(error)) {
|
|
95
|
+
statusCode = error.response?.status;
|
|
96
|
+
apiMessage = error.response?.data?.message;
|
|
97
|
+
}
|
|
98
|
+
// Build user-friendly message
|
|
99
|
+
let userMessage = buildUserMessage(context, statusCode, apiMessage);
|
|
100
|
+
// Create the error
|
|
101
|
+
const userError = new UserFacingError(userMessage, technicalMessage, error instanceof Error ? error : undefined, {
|
|
102
|
+
action: context.action,
|
|
103
|
+
resourceType: context.resourceType,
|
|
104
|
+
resourceId: context.resourceId,
|
|
105
|
+
resourceName: context.resourceName,
|
|
106
|
+
statusCode
|
|
107
|
+
});
|
|
108
|
+
// Log the error
|
|
109
|
+
userError.log();
|
|
110
|
+
return userError;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Builds a user-friendly message based on context and status
|
|
114
|
+
*/
|
|
115
|
+
function buildUserMessage(context, statusCode, apiMessage) {
|
|
116
|
+
const action = ACTION_DESCRIPTIONS[context.action] || context.action;
|
|
117
|
+
const resource = context.resourceType || 'resource';
|
|
118
|
+
const resourceInfo = context.resourceName
|
|
119
|
+
? ` "${context.resourceName}"`
|
|
120
|
+
: context.resourceId
|
|
121
|
+
? ` (ID: ${context.resourceId})`
|
|
122
|
+
: '';
|
|
123
|
+
// Check for specific status code messages
|
|
124
|
+
if (statusCode && STATUS_CODE_MESSAGES[statusCode]) {
|
|
125
|
+
// For 404, provide more specific message
|
|
126
|
+
if (statusCode === 404) {
|
|
127
|
+
return `Unable to ${action} ${resource}${resourceInfo}. ${STATUS_CODE_MESSAGES[statusCode]}`;
|
|
128
|
+
}
|
|
129
|
+
// For auth errors, provide specific guidance
|
|
130
|
+
if (statusCode === 401 || statusCode === 403) {
|
|
131
|
+
return `${STATUS_CODE_MESSAGES[statusCode]} Unable to ${action} ${resource}${resourceInfo}.`;
|
|
132
|
+
}
|
|
133
|
+
return `Unable to ${action} ${resource}${resourceInfo}. ${STATUS_CODE_MESSAGES[statusCode]}`;
|
|
134
|
+
}
|
|
135
|
+
// Check for common error patterns in API messages
|
|
136
|
+
if (apiMessage) {
|
|
137
|
+
// Network/connection errors
|
|
138
|
+
if (apiMessage.toLowerCase().includes('network') ||
|
|
139
|
+
apiMessage.toLowerCase().includes('connection')) {
|
|
140
|
+
return `Unable to ${action} ${resource}${resourceInfo}. Please check your internet connection and try again.`;
|
|
141
|
+
}
|
|
142
|
+
// Validation errors
|
|
143
|
+
if (apiMessage.toLowerCase().includes('validation') ||
|
|
144
|
+
apiMessage.toLowerCase().includes('invalid')) {
|
|
145
|
+
return `Unable to ${action} ${resource}${resourceInfo}. ${apiMessage}`;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
// Generic message
|
|
149
|
+
return `Unable to ${action} ${resource}${resourceInfo}. Please try again or contact support if the problem persists.`;
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Formats an error for MCP response with user-friendly message
|
|
153
|
+
*/
|
|
154
|
+
function formatUserFacingErrorForMcp(error) {
|
|
155
|
+
if (error instanceof UserFacingError) {
|
|
156
|
+
return error.userMessage;
|
|
157
|
+
}
|
|
158
|
+
if (error instanceof Error) {
|
|
159
|
+
return error.message;
|
|
160
|
+
}
|
|
161
|
+
return String(error);
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Helper to create error context
|
|
165
|
+
*/
|
|
166
|
+
function createErrorContext(action, resourceType, resourceId, resourceName) {
|
|
167
|
+
return {
|
|
168
|
+
action,
|
|
169
|
+
resourceType,
|
|
170
|
+
resourceId,
|
|
171
|
+
resourceName
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
//# sourceMappingURL=userFacingErrors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"userFacingErrors.js","sourceRoot":"","sources":["../../src/utils/userFacingErrors.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspaceResolver.d.ts","sourceRoot":"","sources":["../../src/utils/workspaceResolver.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGzD,UAAU,wBAAwB;IAChC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,UAAU,aAAa;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,aAAa,CAAmB;gBAE5B,gBAAgB,EAAE,gBAAgB;IAO9C;;OAEG;IACG,gBAAgB,CACpB,IAAI,GAAE,aAAkB,EACxB,OAAO,GAAE,wBAA6B,GACrC,OAAO,CAAC,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"workspaceResolver.d.ts","sourceRoot":"","sources":["../../src/utils/workspaceResolver.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGzD,UAAU,wBAAwB;IAChC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,UAAU,aAAa;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,aAAa,CAAmB;gBAE5B,gBAAgB,EAAE,gBAAgB;IAO9C;;OAEG;IACG,gBAAgB,CACpB,IAAI,GAAE,aAAkB,EACxB,OAAO,GAAE,wBAA6B,GACrC,OAAO,CAAC,eAAe,CAAC;IA0F3B;;OAEG;YACW,oBAAoB;IA2ClC;;OAEG;YACW,sBAAsB;IA+DpC;;OAEG;YACW,uBAAuB;CAyCtC"}
|
|
@@ -45,7 +45,12 @@ class WorkspaceResolver {
|
|
|
45
45
|
resolvedWorkspace = await this.resolveByWorkspaceId(workspaceId);
|
|
46
46
|
}
|
|
47
47
|
else {
|
|
48
|
-
//
|
|
48
|
+
// Skip validation - return workspace stub with provided ID
|
|
49
|
+
// The Motion API will validate access when the ID is used
|
|
50
|
+
(0, logger_1.mcpLog)(constants_1.LOG_LEVELS.DEBUG, 'Skipping workspace validation, using ID directly', {
|
|
51
|
+
method: 'resolveWorkspace',
|
|
52
|
+
workspaceId
|
|
53
|
+
});
|
|
49
54
|
resolvedWorkspace = {
|
|
50
55
|
id: workspaceId,
|
|
51
56
|
name: 'Unknown Workspace',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspaceResolver.js","sourceRoot":"","sources":["../../src/utils/workspaceResolver.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH,2CAAiF;AAEjF,mDAAiD;AAEjD,qCAAkC;AAalC,MAAa,iBAAiB;IAG5B,YAAY,gBAAkC;QAC5C,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACxE,CAAC;QACD,IAAI,CAAC,aAAa,GAAG,gBAAgB,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CACpB,OAAsB,EAAE,EACxB,UAAoC,EAAE;QAEtC,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;QAC5C,MAAM,EACJ,iBAAiB,GAAG,oBAAQ,CAAC,6BAA6B,EAC1D,cAAc,GAAG,oBAAQ,CAAC,yBAAyB;QACnD,2FAA2F;UAC5F,GAAG,OAAO,CAAC;QAEZ,IAAA,eAAM,EAAC,sBAAU,CAAC,KAAK,EAAE,+BAA+B,EAAE;YACxD,MAAM,EAAE,kBAAkB;YAC1B,WAAW;YACX,aAAa;YACb,iBAAiB;YACjB,cAAc;SACf,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,IAAI,iBAAiB,GAA2B,IAAI,CAAC;YAErD,uCAAuC;YACvC,IAAI,WAAW,EAAE,CAAC;gBAChB,IAAA,eAAM,EAAC,sBAAU,CAAC,KAAK,EAAE,2BAA2B,EAAE;oBACpD,MAAM,EAAE,kBAAkB;oBAC1B,WAAW;iBACZ,CAAC,CAAC;gBAEH,IAAI,cAAc,EAAE,CAAC;oBACnB,iBAAiB,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;gBACnE,CAAC;qBAAM,CAAC;oBACN,
|
|
1
|
+
{"version":3,"file":"workspaceResolver.js","sourceRoot":"","sources":["../../src/utils/workspaceResolver.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,22 +1,31 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "motionmcp",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.2.1",
|
|
4
4
|
"description": "MCP server for Motion API integration - manage projects, tasks, and workspaces from LLMs",
|
|
5
5
|
"main": "dist/mcp-server.js",
|
|
6
6
|
"bin": {
|
|
7
|
-
"motionmcp": "
|
|
7
|
+
"motionmcp": "dist/mcp-server.js"
|
|
8
8
|
},
|
|
9
9
|
"files": [
|
|
10
10
|
"dist",
|
|
11
11
|
"README.md",
|
|
12
12
|
"LICENSE"
|
|
13
13
|
],
|
|
14
|
-
"keywords": [
|
|
14
|
+
"keywords": [
|
|
15
|
+
"mcp",
|
|
16
|
+
"model-context-protocol",
|
|
17
|
+
"motion",
|
|
18
|
+
"api",
|
|
19
|
+
"task-management",
|
|
20
|
+
"project-management",
|
|
21
|
+
"llm",
|
|
22
|
+
"ai"
|
|
23
|
+
],
|
|
15
24
|
"author": "Devon Hillard devon@digitalsanctuary.com",
|
|
16
25
|
"license": "Apache-2.0",
|
|
17
26
|
"repository": {
|
|
18
27
|
"type": "git",
|
|
19
|
-
"url": "https://github.com/devondragon/MotionMCP.git"
|
|
28
|
+
"url": "git+https://github.com/devondragon/MotionMCP.git"
|
|
20
29
|
},
|
|
21
30
|
"homepage": "https://github.com/devondragon/MotionMCP",
|
|
22
31
|
"bugs": {
|
|
@@ -31,13 +40,13 @@
|
|
|
31
40
|
"ajv": "^8.17.1",
|
|
32
41
|
"axios": "^1.9.0",
|
|
33
42
|
"dotenv": "^16.5.0",
|
|
34
|
-
"zod": "^3.
|
|
43
|
+
"zod": "^4.3.6"
|
|
35
44
|
},
|
|
36
45
|
"devDependencies": {
|
|
37
46
|
"@types/node": "^24.2.1",
|
|
38
47
|
"ts-node": "^10.9.2",
|
|
39
48
|
"typescript": "^5.9.2",
|
|
40
|
-
"vitest": "^
|
|
49
|
+
"vitest": "^4.0.18"
|
|
41
50
|
},
|
|
42
51
|
"scripts": {
|
|
43
52
|
"build": "tsc",
|
package/dist/mcp-server-old.d.ts
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
declare class MotionMCPServer {
|
|
3
|
-
private server;
|
|
4
|
-
private motionService;
|
|
5
|
-
private workspaceResolver;
|
|
6
|
-
private validator;
|
|
7
|
-
private toolsConfig;
|
|
8
|
-
constructor();
|
|
9
|
-
initialize(): Promise<void>;
|
|
10
|
-
private validateToolsConfig;
|
|
11
|
-
setupHandlers(): void;
|
|
12
|
-
private getAllToolDefinitions;
|
|
13
|
-
private getEnabledTools;
|
|
14
|
-
private handleMotionProjects;
|
|
15
|
-
private handleMotionTasks;
|
|
16
|
-
private handleSearchContent;
|
|
17
|
-
private handleGetContext;
|
|
18
|
-
private handleMotionUsers;
|
|
19
|
-
private handleMotionComments;
|
|
20
|
-
private handleMotionCustomFields;
|
|
21
|
-
private handleMotionRecurringTasks;
|
|
22
|
-
private handleMotionSchedules;
|
|
23
|
-
private handleMotionStatuses;
|
|
24
|
-
private handleMotionWorkspaces;
|
|
25
|
-
private handleMotionSearch;
|
|
26
|
-
run(): Promise<void>;
|
|
27
|
-
}
|
|
28
|
-
export default MotionMCPServer;
|
|
29
|
-
//# sourceMappingURL=mcp-server-old.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-server-old.d.ts","sourceRoot":"","sources":["../src/mcp-server-old.ts"],"names":[],"mappings":";AA2CA,cAAM,eAAe;IACnB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,aAAa,CAA0B;IAC/C,OAAO,CAAC,iBAAiB,CAA2B;IACpD,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,WAAW,CAAS;;IAsBtB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAiBjC,OAAO,CAAC,mBAAmB;IAqC3B,aAAa,IAAI,IAAI;IAsDrB,OAAO,CAAC,qBAAqB;IAyc7B,OAAO,CAAC,eAAe;YAyDT,oBAAoB;YAiDpB,iBAAiB;YA0GjB,mBAAmB;YA8BnB,gBAAgB;YAqBhB,iBAAiB;YAkCjB,oBAAoB;YAqEpB,wBAAwB;YA+FxB,0BAA0B;YAuH1B,qBAAqB;YAwCrB,oBAAoB;YAiBpB,sBAAsB;YAuCtB,kBAAkB;IAuF1B,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAQ3B;AAWD,eAAe,eAAe,CAAC"}
|