motionmcp 2.5.0 → 2.7.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.
- package/dist/handlers/CommentHandler.d.ts.map +1 -1
- package/dist/handlers/CommentHandler.js +4 -3
- package/dist/handlers/CommentHandler.js.map +1 -1
- package/dist/handlers/CustomFieldHandler.d.ts.map +1 -1
- package/dist/handlers/CustomFieldHandler.js +44 -21
- package/dist/handlers/CustomFieldHandler.js.map +1 -1
- package/dist/handlers/HandlerFactory.d.ts +0 -5
- package/dist/handlers/HandlerFactory.d.ts.map +1 -1
- package/dist/handlers/HandlerFactory.js +0 -15
- package/dist/handlers/HandlerFactory.js.map +1 -1
- package/dist/handlers/ProjectHandler.d.ts.map +1 -1
- package/dist/handlers/ProjectHandler.js +2 -1
- package/dist/handlers/ProjectHandler.js.map +1 -1
- package/dist/handlers/RecurringTaskHandler.d.ts.map +1 -1
- package/dist/handlers/RecurringTaskHandler.js +16 -10
- package/dist/handlers/RecurringTaskHandler.js.map +1 -1
- package/dist/handlers/ScheduleHandler.d.ts +1 -1
- package/dist/handlers/ScheduleHandler.d.ts.map +1 -1
- package/dist/handlers/ScheduleHandler.js +4 -26
- package/dist/handlers/ScheduleHandler.js.map +1 -1
- package/dist/handlers/SearchHandler.d.ts +1 -2
- package/dist/handlers/SearchHandler.d.ts.map +1 -1
- package/dist/handlers/SearchHandler.js +24 -70
- package/dist/handlers/SearchHandler.js.map +1 -1
- package/dist/handlers/TaskHandler.d.ts +11 -5
- package/dist/handlers/TaskHandler.d.ts.map +1 -1
- package/dist/handlers/TaskHandler.js +101 -63
- package/dist/handlers/TaskHandler.js.map +1 -1
- package/dist/handlers/UserHandler.js +6 -6
- package/dist/handlers/UserHandler.js.map +1 -1
- package/dist/handlers/WorkspaceHandler.d.ts +0 -1
- package/dist/handlers/WorkspaceHandler.d.ts.map +1 -1
- package/dist/handlers/WorkspaceHandler.js +0 -9
- package/dist/handlers/WorkspaceHandler.js.map +1 -1
- package/dist/handlers/base/BaseHandler.d.ts +4 -5
- package/dist/handlers/base/BaseHandler.d.ts.map +1 -1
- package/dist/handlers/base/BaseHandler.js +0 -12
- package/dist/handlers/base/BaseHandler.js.map +1 -1
- package/dist/handlers/base/HandlerInterface.d.ts +0 -5
- package/dist/handlers/base/HandlerInterface.d.ts.map +1 -1
- package/dist/handlers/index.d.ts +1 -1
- package/dist/handlers/index.d.ts.map +1 -1
- package/dist/mcp-server.js +3 -3
- package/dist/mcp-server.js.map +1 -1
- package/dist/schemas/motion.d.ts +12 -255
- package/dist/schemas/motion.d.ts.map +1 -1
- package/dist/schemas/motion.js +4 -17
- package/dist/schemas/motion.js.map +1 -1
- package/dist/services/api/ApiClient.d.ts +22 -0
- package/dist/services/api/ApiClient.d.ts.map +1 -0
- package/dist/services/api/ApiClient.js +198 -0
- package/dist/services/api/ApiClient.js.map +1 -0
- package/dist/services/api/CacheManager.d.ts +21 -0
- package/dist/services/api/CacheManager.d.ts.map +1 -0
- package/dist/services/api/CacheManager.js +25 -0
- package/dist/services/api/CacheManager.js.map +1 -0
- package/dist/services/api/comments.d.ts +8 -0
- package/dist/services/api/comments.d.ts.map +1 -0
- package/dist/services/api/comments.js +86 -0
- package/dist/services/api/comments.js.map +1 -0
- package/dist/services/api/customFields.d.ts +21 -0
- package/dist/services/api/customFields.d.ts.map +1 -0
- package/dist/services/api/customFields.js +277 -0
- package/dist/services/api/customFields.js.map +1 -0
- package/dist/services/api/index.d.ts +22 -0
- package/dist/services/api/index.d.ts.map +1 -0
- package/dist/services/api/index.js +64 -0
- package/dist/services/api/index.js.map +1 -0
- package/dist/services/api/projects.d.ts +18 -0
- package/dist/services/api/projects.d.ts.map +1 -0
- package/dist/services/api/projects.js +346 -0
- package/dist/services/api/projects.js.map +1 -0
- package/dist/services/api/recurringTasks.d.ts +15 -0
- package/dist/services/api/recurringTasks.d.ts.map +1 -0
- package/dist/services/api/recurringTasks.js +143 -0
- package/dist/services/api/recurringTasks.js.map +1 -0
- package/dist/services/api/schedules.d.ts +8 -0
- package/dist/services/api/schedules.d.ts.map +1 -0
- package/dist/services/api/schedules.js +70 -0
- package/dist/services/api/schedules.js.map +1 -0
- package/dist/services/api/search.d.ts +29 -0
- package/dist/services/api/search.d.ts.map +1 -0
- package/dist/services/api/search.js +415 -0
- package/dist/services/api/search.js.map +1 -0
- package/dist/services/api/statuses.d.ts +7 -0
- package/dist/services/api/statuses.d.ts.map +1 -0
- package/dist/services/api/statuses.js +67 -0
- package/dist/services/api/statuses.js.map +1 -0
- package/dist/services/api/tasks.d.ts +34 -0
- package/dist/services/api/tasks.d.ts.map +1 -0
- package/dist/services/api/tasks.js +474 -0
- package/dist/services/api/tasks.js.map +1 -0
- package/dist/services/api/types.d.ts +54 -0
- package/dist/services/api/types.d.ts.map +1 -0
- package/dist/services/api/types.js +9 -0
- package/dist/services/api/types.js.map +1 -0
- package/dist/services/api/users.d.ts +8 -0
- package/dist/services/api/users.d.ts.map +1 -0
- package/dist/services/api/users.js +93 -0
- package/dist/services/api/users.js.map +1 -0
- package/dist/services/api/workspaces.d.ts +7 -0
- package/dist/services/api/workspaces.d.ts.map +1 -0
- package/dist/services/api/workspaces.js +59 -0
- package/dist/services/api/workspaces.js.map +1 -0
- package/dist/services/motionApi.d.ts +41 -175
- package/dist/services/motionApi.d.ts.map +1 -1
- package/dist/services/motionApi.js +90 -2015
- package/dist/services/motionApi.js.map +1 -1
- package/dist/tools/ToolConfigurator.d.ts +1 -7
- package/dist/tools/ToolConfigurator.d.ts.map +1 -1
- package/dist/tools/ToolConfigurator.js +0 -31
- package/dist/tools/ToolConfigurator.js.map +1 -1
- package/dist/tools/ToolDefinitions.d.ts.map +1 -1
- package/dist/tools/ToolDefinitions.js +60 -82
- package/dist/tools/ToolDefinitions.js.map +1 -1
- package/dist/tools/ToolRegistry.d.ts +1 -22
- package/dist/tools/ToolRegistry.d.ts.map +1 -1
- package/dist/tools/ToolRegistry.js +0 -31
- package/dist/tools/ToolRegistry.js.map +1 -1
- package/dist/types/mcp-tool-args.d.ts +46 -61
- package/dist/types/mcp-tool-args.d.ts.map +1 -1
- package/dist/types/mcp-tool-args.js +2 -4
- package/dist/types/mcp-tool-args.js.map +1 -1
- package/dist/types/mcp.d.ts +5 -1
- package/dist/types/mcp.d.ts.map +1 -1
- package/dist/types/motion.d.ts +40 -20
- package/dist/types/motion.d.ts.map +1 -1
- package/dist/utils/cache.d.ts +0 -5
- package/dist/utils/cache.d.ts.map +1 -1
- package/dist/utils/cache.js +0 -8
- package/dist/utils/cache.js.map +1 -1
- package/dist/utils/constants.d.ts +4 -11
- package/dist/utils/constants.d.ts.map +1 -1
- package/dist/utils/constants.js +13 -53
- package/dist/utils/constants.js.map +1 -1
- package/dist/utils/errorHandling.d.ts +0 -12
- package/dist/utils/errorHandling.d.ts.map +1 -1
- package/dist/utils/errorHandling.js +2 -23
- package/dist/utils/errorHandling.js.map +1 -1
- package/dist/utils/errors.d.ts +89 -0
- package/dist/utils/errors.d.ts.map +1 -0
- package/dist/utils/errors.js +276 -0
- package/dist/utils/errors.js.map +1 -0
- package/dist/utils/frequencyTransform.d.ts +0 -5
- package/dist/utils/frequencyTransform.d.ts.map +1 -1
- package/dist/utils/frequencyTransform.js +1 -9
- package/dist/utils/frequencyTransform.js.map +1 -1
- package/dist/utils/index.d.ts +2 -2
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +6 -5
- 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 +0 -5
- package/dist/utils/paginationNew.d.ts.map +1 -1
- package/dist/utils/paginationNew.js +5 -9
- package/dist/utils/paginationNew.js.map +1 -1
- package/dist/utils/parameterUtils.d.ts +15 -10
- package/dist/utils/parameterUtils.d.ts.map +1 -1
- package/dist/utils/parameterUtils.js +8 -22
- package/dist/utils/parameterUtils.js.map +1 -1
- package/dist/utils/responseFormatters.d.ts +3 -2
- package/dist/utils/responseFormatters.d.ts.map +1 -1
- package/dist/utils/responseFormatters.js +67 -24
- package/dist/utils/responseFormatters.js.map +1 -1
- package/dist/utils/responseWrapper.js +1 -1
- package/dist/utils/responseWrapper.js.map +1 -1
- package/dist/utils/sanitize.d.ts.map +1 -1
- package/dist/utils/sanitize.js +2 -5
- package/dist/utils/sanitize.js.map +1 -1
- package/dist/utils/serverInstructions.d.ts +2 -0
- package/dist/utils/serverInstructions.d.ts.map +1 -0
- package/dist/utils/serverInstructions.js +21 -0
- package/dist/utils/serverInstructions.js.map +1 -0
- package/dist/utils/userFacingErrors.d.ts +0 -8
- package/dist/utils/userFacingErrors.d.ts.map +1 -1
- package/dist/utils/userFacingErrors.js +0 -19
- package/dist/utils/userFacingErrors.js.map +1 -1
- package/dist/utils/workspaceResolver.d.ts +5 -1
- package/dist/utils/workspaceResolver.d.ts.map +1 -1
- package/dist/utils/workspaceResolver.js +46 -25
- package/dist/utils/workspaceResolver.js.map +1 -1
- package/package.json +6 -2
- 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
- package/dist/utils/jsonSchemaToZod.d.ts +0 -33
- package/dist/utils/jsonSchemaToZod.d.ts.map +0 -1
- package/dist/utils/jsonSchemaToZod.js +0 -110
- package/dist/utils/jsonSchemaToZod.js.map +0 -1
- package/dist/worker.d.ts +0 -17
- package/dist/worker.d.ts.map +0 -1
- package/dist/worker.js +0 -61
- package/dist/worker.js.map +0 -1
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
10
|
exports.WorkspaceResolver = void 0;
|
|
11
11
|
const constants_1 = require("./constants");
|
|
12
|
-
const
|
|
12
|
+
const errors_1 = require("./errors");
|
|
13
13
|
const logger_1 = require("./logger");
|
|
14
14
|
class WorkspaceResolver {
|
|
15
15
|
constructor(motionApiService) {
|
|
@@ -23,9 +23,7 @@ class WorkspaceResolver {
|
|
|
23
23
|
*/
|
|
24
24
|
async resolveWorkspace(args = {}, options = {}) {
|
|
25
25
|
const { workspaceId, workspaceName } = args;
|
|
26
|
-
const { fallbackToDefault = constants_1.DEFAULTS.WORKSPACE_FALLBACK_TO_DEFAULT, validateAccess = constants_1.DEFAULTS.WORKSPACE_VALIDATE_ACCESS
|
|
27
|
-
// useCache = DEFAULTS.WORKSPACE_USE_CACHE // Will be used in future caching implementation
|
|
28
|
-
} = options;
|
|
26
|
+
const { fallbackToDefault = constants_1.DEFAULTS.WORKSPACE_FALLBACK_TO_DEFAULT, validateAccess = constants_1.DEFAULTS.WORKSPACE_VALIDATE_ACCESS } = options;
|
|
29
27
|
(0, logger_1.mcpLog)(constants_1.LOG_LEVELS.DEBUG, 'Starting workspace resolution', {
|
|
30
28
|
method: 'resolveWorkspace',
|
|
31
29
|
workspaceId,
|
|
@@ -45,20 +43,22 @@ class WorkspaceResolver {
|
|
|
45
43
|
resolvedWorkspace = await this.resolveByWorkspaceId(workspaceId);
|
|
46
44
|
}
|
|
47
45
|
else {
|
|
48
|
-
// Skip validation -
|
|
49
|
-
|
|
50
|
-
(0, logger_1.mcpLog)(constants_1.LOG_LEVELS.DEBUG, 'Skipping workspace validation, using ID directly', {
|
|
46
|
+
// Skip strict validation; still attempt best-effort name lookup for better UX.
|
|
47
|
+
(0, logger_1.mcpLog)(constants_1.LOG_LEVELS.DEBUG, 'Skipping strict workspace validation, attempting best-effort lookup', {
|
|
51
48
|
method: 'resolveWorkspace',
|
|
52
49
|
workspaceId
|
|
53
50
|
});
|
|
54
|
-
resolvedWorkspace =
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
51
|
+
resolvedWorkspace = await this.tryResolveByWorkspaceId(workspaceId);
|
|
52
|
+
if (!resolvedWorkspace) {
|
|
53
|
+
resolvedWorkspace = {
|
|
54
|
+
id: workspaceId,
|
|
55
|
+
name: workspaceId,
|
|
56
|
+
teamId: null,
|
|
57
|
+
type: constants_1.WORKSPACE_TYPES.UNKNOWN,
|
|
58
|
+
labels: [],
|
|
59
|
+
statuses: []
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
64
|
// Case 2: Workspace name provided
|
|
@@ -78,7 +78,7 @@ class WorkspaceResolver {
|
|
|
78
78
|
}
|
|
79
79
|
// Case 4: No workspace could be resolved
|
|
80
80
|
if (!resolvedWorkspace) {
|
|
81
|
-
throw new
|
|
81
|
+
throw new errors_1.WorkspaceError('No workspace specified and no default workspace available', constants_1.ERROR_CODES.NO_DEFAULT_WORKSPACE, { fallbackToDefault });
|
|
82
82
|
}
|
|
83
83
|
(0, logger_1.mcpLog)(constants_1.LOG_LEVELS.INFO, 'Workspace resolved successfully', {
|
|
84
84
|
method: 'resolveWorkspace',
|
|
@@ -109,7 +109,7 @@ class WorkspaceResolver {
|
|
|
109
109
|
const workspaces = await this.motionService.getWorkspaces();
|
|
110
110
|
const workspace = workspaces.find((w) => w.id === workspaceId);
|
|
111
111
|
if (!workspace) {
|
|
112
|
-
throw new
|
|
112
|
+
throw new errors_1.WorkspaceError(`Workspace with ID "${workspaceId}" not found`, constants_1.ERROR_CODES.WORKSPACE_NOT_FOUND, { workspaceId, availableCount: workspaces.length });
|
|
113
113
|
}
|
|
114
114
|
(0, logger_1.mcpLog)(constants_1.LOG_LEVELS.INFO, 'Workspace found by ID', {
|
|
115
115
|
method: 'resolveByWorkspaceId',
|
|
@@ -119,14 +119,32 @@ class WorkspaceResolver {
|
|
|
119
119
|
return workspace;
|
|
120
120
|
}
|
|
121
121
|
catch (error) {
|
|
122
|
-
if (error instanceof
|
|
122
|
+
if (error instanceof errors_1.WorkspaceError) {
|
|
123
123
|
throw error;
|
|
124
124
|
}
|
|
125
125
|
(0, logger_1.mcpLog)(constants_1.LOG_LEVELS.ERROR, 'Failed to fetch workspace by ID', {
|
|
126
126
|
method: 'resolveByWorkspaceId',
|
|
127
127
|
error: error instanceof Error ? error.message : 'Unknown error'
|
|
128
128
|
});
|
|
129
|
-
throw new
|
|
129
|
+
throw new errors_1.WorkspaceError(`Failed to validate workspace ID "${workspaceId}"`, constants_1.ERROR_CODES.WORKSPACE_ACCESS_DENIED, { workspaceId });
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Resolve workspace by ID without throwing if not found.
|
|
134
|
+
* Used for best-effort name resolution when strict validation is disabled.
|
|
135
|
+
*/
|
|
136
|
+
async tryResolveByWorkspaceId(workspaceId) {
|
|
137
|
+
try {
|
|
138
|
+
const workspaces = await this.motionService.getWorkspaces();
|
|
139
|
+
return workspaces.find((w) => w.id === workspaceId) || null;
|
|
140
|
+
}
|
|
141
|
+
catch (error) {
|
|
142
|
+
(0, logger_1.mcpLog)(constants_1.LOG_LEVELS.WARN, 'Best-effort workspace lookup failed', {
|
|
143
|
+
method: 'tryResolveByWorkspaceId',
|
|
144
|
+
workspaceId,
|
|
145
|
+
error: error instanceof Error ? error.message : 'Unknown error'
|
|
146
|
+
});
|
|
147
|
+
return null;
|
|
130
148
|
}
|
|
131
149
|
}
|
|
132
150
|
/**
|
|
@@ -149,7 +167,7 @@ class WorkspaceResolver {
|
|
|
149
167
|
if (!workspace) {
|
|
150
168
|
// Provide helpful error with available workspace names
|
|
151
169
|
const availableNames = workspaces.map((w) => w.name).join(', ');
|
|
152
|
-
throw new
|
|
170
|
+
throw new errors_1.WorkspaceError(`Workspace "${workspaceName}" not found. Available workspaces: ${availableNames}`, constants_1.ERROR_CODES.WORKSPACE_NOT_FOUND, {
|
|
153
171
|
requestedName: workspaceName,
|
|
154
172
|
availableWorkspaces: workspaces.map((w) => ({
|
|
155
173
|
id: w.id,
|
|
@@ -165,14 +183,14 @@ class WorkspaceResolver {
|
|
|
165
183
|
return workspace;
|
|
166
184
|
}
|
|
167
185
|
catch (error) {
|
|
168
|
-
if (error instanceof
|
|
186
|
+
if (error instanceof errors_1.WorkspaceError) {
|
|
169
187
|
throw error;
|
|
170
188
|
}
|
|
171
189
|
(0, logger_1.mcpLog)(constants_1.LOG_LEVELS.ERROR, 'Failed to fetch workspace by name', {
|
|
172
190
|
method: 'resolveByWorkspaceName',
|
|
173
191
|
error: error instanceof Error ? error.message : 'Unknown error'
|
|
174
192
|
});
|
|
175
|
-
throw new
|
|
193
|
+
throw new errors_1.WorkspaceError(`Failed to resolve workspace name "${workspaceName}"`, constants_1.ERROR_CODES.MOTION_API_ERROR, { workspaceName });
|
|
176
194
|
}
|
|
177
195
|
}
|
|
178
196
|
/**
|
|
@@ -185,10 +203,13 @@ class WorkspaceResolver {
|
|
|
185
203
|
try {
|
|
186
204
|
const workspaces = await this.motionService.getWorkspaces();
|
|
187
205
|
if (!workspaces || workspaces.length === 0) {
|
|
188
|
-
throw new
|
|
206
|
+
throw new errors_1.WorkspaceError('No workspaces available', constants_1.ERROR_CODES.NO_DEFAULT_WORKSPACE);
|
|
189
207
|
}
|
|
190
208
|
// Use the first workspace as default
|
|
191
209
|
const defaultWorkspace = workspaces[0];
|
|
210
|
+
if (!defaultWorkspace) {
|
|
211
|
+
throw new errors_1.WorkspaceError('No workspaces available', constants_1.ERROR_CODES.NO_DEFAULT_WORKSPACE);
|
|
212
|
+
}
|
|
192
213
|
(0, logger_1.mcpLog)(constants_1.LOG_LEVELS.INFO, 'Using default workspace', {
|
|
193
214
|
method: 'resolveDefaultWorkspace',
|
|
194
215
|
workspaceId: defaultWorkspace.id,
|
|
@@ -197,14 +218,14 @@ class WorkspaceResolver {
|
|
|
197
218
|
return defaultWorkspace;
|
|
198
219
|
}
|
|
199
220
|
catch (error) {
|
|
200
|
-
if (error instanceof
|
|
221
|
+
if (error instanceof errors_1.WorkspaceError) {
|
|
201
222
|
throw error;
|
|
202
223
|
}
|
|
203
224
|
(0, logger_1.mcpLog)(constants_1.LOG_LEVELS.ERROR, 'Failed to fetch default workspace', {
|
|
204
225
|
method: 'resolveDefaultWorkspace',
|
|
205
226
|
error: error instanceof Error ? error.message : 'Unknown error'
|
|
206
227
|
});
|
|
207
|
-
throw new
|
|
228
|
+
throw new errors_1.WorkspaceError('Failed to fetch default workspace', constants_1.ERROR_CODES.MOTION_API_ERROR);
|
|
208
229
|
}
|
|
209
230
|
}
|
|
210
231
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspaceResolver.js","sourceRoot":"","sources":["../../src/utils/workspaceResolver.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH,2CAAiF;AAEjF,
|
|
1
|
+
{"version":3,"file":"workspaceResolver.js","sourceRoot":"","sources":["../../src/utils/workspaceResolver.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "motionmcp",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.7.0",
|
|
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": {
|
|
@@ -52,12 +52,16 @@
|
|
|
52
52
|
"wrangler": "^4.0.0"
|
|
53
53
|
},
|
|
54
54
|
"scripts": {
|
|
55
|
-
"
|
|
55
|
+
"generate:types": "npx tsx scripts/generate-types.ts",
|
|
56
|
+
"build": "npm run generate:types && tsc",
|
|
56
57
|
"mcp": "node dist/mcp-server.js",
|
|
57
58
|
"mcp:dev": "ts-node src/mcp-server.ts",
|
|
58
59
|
"watch": "tsc --watch",
|
|
59
60
|
"type-check": "tsc --noEmit",
|
|
60
61
|
"test": "vitest run",
|
|
62
|
+
"test:types": "tsc --noEmit -p tsconfig.tests.json",
|
|
63
|
+
"test:integration": "vitest run --config vitest.integration.config.ts",
|
|
64
|
+
"test:integration:watch": "vitest --config vitest.integration.config.ts",
|
|
61
65
|
"worker:dev": "wrangler dev",
|
|
62
66
|
"worker:deploy": "wrangler deploy",
|
|
63
67
|
"worker:type-check": "tsc --noEmit -p tsconfig.worker.json",
|
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"}
|