motionmcp 1.0.2 → 2.1.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 (159) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +241 -450
  3. package/dist/handlers/CommentHandler.d.ts +9 -0
  4. package/dist/handlers/CommentHandler.d.ts.map +1 -0
  5. package/dist/handlers/CommentHandler.js +66 -0
  6. package/dist/handlers/CommentHandler.js.map +1 -0
  7. package/dist/handlers/CustomFieldHandler.d.ts +14 -0
  8. package/dist/handlers/CustomFieldHandler.d.ts.map +1 -0
  9. package/dist/handlers/CustomFieldHandler.js +95 -0
  10. package/dist/handlers/CustomFieldHandler.js.map +1 -0
  11. package/dist/handlers/HandlerFactory.d.ts +15 -0
  12. package/dist/handlers/HandlerFactory.d.ts.map +1 -0
  13. package/dist/handlers/HandlerFactory.js +58 -0
  14. package/dist/handlers/HandlerFactory.js.map +1 -0
  15. package/dist/handlers/ProjectHandler.d.ts +10 -0
  16. package/dist/handlers/ProjectHandler.d.ts.map +1 -0
  17. package/dist/handlers/ProjectHandler.js +63 -0
  18. package/dist/handlers/ProjectHandler.js.map +1 -0
  19. package/dist/handlers/RecurringTaskHandler.d.ts +10 -0
  20. package/dist/handlers/RecurringTaskHandler.d.ts.map +1 -0
  21. package/dist/handlers/RecurringTaskHandler.js +68 -0
  22. package/dist/handlers/RecurringTaskHandler.js.map +1 -0
  23. package/dist/handlers/ScheduleHandler.d.ts +8 -0
  24. package/dist/handlers/ScheduleHandler.d.ts.map +1 -0
  25. package/dist/handlers/ScheduleHandler.js +43 -0
  26. package/dist/handlers/ScheduleHandler.js.map +1 -0
  27. package/dist/handlers/SearchHandler.d.ts +10 -0
  28. package/dist/handlers/SearchHandler.d.ts.map +1 -0
  29. package/dist/handlers/SearchHandler.js +116 -0
  30. package/dist/handlers/SearchHandler.js.map +1 -0
  31. package/dist/handlers/StatusHandler.d.ts +8 -0
  32. package/dist/handlers/StatusHandler.d.ts.map +1 -0
  33. package/dist/handlers/StatusHandler.js +22 -0
  34. package/dist/handlers/StatusHandler.js.map +1 -0
  35. package/dist/handlers/TaskHandler.d.ts +22 -0
  36. package/dist/handlers/TaskHandler.d.ts.map +1 -0
  37. package/dist/handlers/TaskHandler.js +324 -0
  38. package/dist/handlers/TaskHandler.js.map +1 -0
  39. package/dist/handlers/UserHandler.d.ts +9 -0
  40. package/dist/handlers/UserHandler.d.ts.map +1 -0
  41. package/dist/handlers/UserHandler.js +36 -0
  42. package/dist/handlers/UserHandler.js.map +1 -0
  43. package/dist/handlers/WorkspaceHandler.d.ts +10 -0
  44. package/dist/handlers/WorkspaceHandler.d.ts.map +1 -0
  45. package/dist/handlers/WorkspaceHandler.js +49 -0
  46. package/dist/handlers/WorkspaceHandler.js.map +1 -0
  47. package/dist/handlers/base/BaseHandler.d.ts +16 -0
  48. package/dist/handlers/base/BaseHandler.d.ts.map +1 -0
  49. package/dist/handlers/base/BaseHandler.js +31 -0
  50. package/dist/handlers/base/BaseHandler.js.map +1 -0
  51. package/dist/handlers/base/HandlerInterface.d.ts +18 -0
  52. package/dist/handlers/base/HandlerInterface.d.ts.map +1 -0
  53. package/dist/handlers/base/HandlerInterface.js +3 -0
  54. package/dist/handlers/base/HandlerInterface.js.map +1 -0
  55. package/dist/handlers/index.d.ts +14 -0
  56. package/dist/handlers/index.d.ts.map +1 -0
  57. package/dist/handlers/index.js +31 -0
  58. package/dist/handlers/index.js.map +1 -0
  59. package/dist/mcp-server.d.ts +15 -0
  60. package/dist/mcp-server.d.ts.map +1 -0
  61. package/dist/mcp-server.js +145 -0
  62. package/dist/mcp-server.js.map +1 -0
  63. package/dist/schemas/motion.d.ts +4971 -0
  64. package/dist/schemas/motion.d.ts.map +1 -0
  65. package/dist/schemas/motion.js +328 -0
  66. package/dist/schemas/motion.js.map +1 -0
  67. package/dist/services/motionApi.d.ts +199 -0
  68. package/dist/services/motionApi.d.ts.map +1 -0
  69. package/dist/services/motionApi.js +1950 -0
  70. package/dist/services/motionApi.js.map +1 -0
  71. package/dist/tools/ToolConfigurator.d.ts +19 -0
  72. package/dist/tools/ToolConfigurator.d.ts.map +1 -0
  73. package/dist/tools/ToolConfigurator.js +89 -0
  74. package/dist/tools/ToolConfigurator.js.map +1 -0
  75. package/dist/tools/ToolDefinitions.d.ts +25 -0
  76. package/dist/tools/ToolDefinitions.d.ts.map +1 -0
  77. package/dist/tools/ToolDefinitions.js +508 -0
  78. package/dist/tools/ToolDefinitions.js.map +1 -0
  79. package/dist/tools/ToolRegistry.d.ts +16 -0
  80. package/dist/tools/ToolRegistry.d.ts.map +1 -0
  81. package/dist/tools/ToolRegistry.js +89 -0
  82. package/dist/tools/ToolRegistry.js.map +1 -0
  83. package/dist/tools/index.d.ts +4 -0
  84. package/dist/tools/index.d.ts.map +1 -0
  85. package/dist/tools/index.js +21 -0
  86. package/dist/tools/index.js.map +1 -0
  87. package/dist/types/mcp-tool-args.d.ts +123 -0
  88. package/dist/types/mcp-tool-args.d.ts.map +1 -0
  89. package/dist/types/mcp-tool-args.js +7 -0
  90. package/dist/types/mcp-tool-args.js.map +1 -0
  91. package/dist/types/mcp.d.ts +32 -0
  92. package/dist/types/mcp.d.ts.map +1 -0
  93. package/dist/types/mcp.js +3 -0
  94. package/dist/types/mcp.js.map +1 -0
  95. package/dist/types/motion.d.ts +304 -0
  96. package/dist/types/motion.d.ts.map +1 -0
  97. package/dist/types/motion.js +3 -0
  98. package/dist/types/motion.js.map +1 -0
  99. package/dist/utils/cache.d.ts +25 -0
  100. package/dist/utils/cache.d.ts.map +1 -0
  101. package/dist/utils/cache.js +135 -0
  102. package/dist/utils/cache.js.map +1 -0
  103. package/dist/utils/constants.d.ts +88 -0
  104. package/dist/utils/constants.d.ts.map +1 -0
  105. package/dist/utils/constants.js +188 -0
  106. package/dist/utils/constants.js.map +1 -0
  107. package/dist/utils/errorHandling.d.ts +50 -0
  108. package/dist/utils/errorHandling.d.ts.map +1 -0
  109. package/dist/utils/errorHandling.js +86 -0
  110. package/dist/utils/errorHandling.js.map +1 -0
  111. package/dist/utils/index.d.ts +13 -0
  112. package/dist/utils/index.d.ts.map +1 -0
  113. package/dist/utils/index.js +38 -0
  114. package/dist/utils/index.js.map +1 -0
  115. package/dist/utils/logger.d.ts +13 -0
  116. package/dist/utils/logger.d.ts.map +1 -0
  117. package/dist/utils/logger.js +47 -0
  118. package/dist/utils/logger.js.map +1 -0
  119. package/dist/utils/pagination.d.ts +61 -0
  120. package/dist/utils/pagination.d.ts.map +1 -0
  121. package/dist/utils/pagination.js +168 -0
  122. package/dist/utils/pagination.js.map +1 -0
  123. package/dist/utils/paginationNew.d.ts +44 -0
  124. package/dist/utils/paginationNew.d.ts.map +1 -0
  125. package/dist/utils/paginationNew.js +149 -0
  126. package/dist/utils/paginationNew.js.map +1 -0
  127. package/dist/utils/parameterUtils.d.ts +79 -0
  128. package/dist/utils/parameterUtils.d.ts.map +1 -0
  129. package/dist/utils/parameterUtils.js +189 -0
  130. package/dist/utils/parameterUtils.js.map +1 -0
  131. package/dist/utils/responseFormatters.d.ts +95 -0
  132. package/dist/utils/responseFormatters.d.ts.map +1 -0
  133. package/dist/utils/responseFormatters.js +342 -0
  134. package/dist/utils/responseFormatters.js.map +1 -0
  135. package/dist/utils/responseWrapper.d.ts +38 -0
  136. package/dist/utils/responseWrapper.d.ts.map +1 -0
  137. package/dist/utils/responseWrapper.js +201 -0
  138. package/dist/utils/responseWrapper.js.map +1 -0
  139. package/dist/utils/sanitize.d.ts +51 -0
  140. package/dist/utils/sanitize.d.ts.map +1 -0
  141. package/dist/utils/sanitize.js +138 -0
  142. package/dist/utils/sanitize.js.map +1 -0
  143. package/dist/utils/validator.d.ts +37 -0
  144. package/dist/utils/validator.d.ts.map +1 -0
  145. package/dist/utils/validator.js +74 -0
  146. package/dist/utils/validator.js.map +1 -0
  147. package/dist/utils/workspaceResolver.d.ts +40 -0
  148. package/dist/utils/workspaceResolver.d.ts.map +1 -0
  149. package/dist/utils/workspaceResolver.js +207 -0
  150. package/dist/utils/workspaceResolver.js.map +1 -0
  151. package/package.json +41 -17
  152. package/.claude/settings.local.json +0 -15
  153. package/.env.example +0 -3
  154. package/sample.png +0 -0
  155. package/src/index.js +0 -179
  156. package/src/mcp-server.js +0 -1137
  157. package/src/routes/motion.js +0 -152
  158. package/src/services/motionApi.js +0 -1177
  159. package/src/worker.js +0 -248
@@ -0,0 +1 @@
1
+ {"version":3,"file":"motion.d.ts","sourceRoot":"","sources":["../../src/schemas/motion.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,328 @@
1
+ "use strict";
2
+ /**
3
+ * Runtime validation schemas for Motion API responses using Zod
4
+ * These schemas ensure API responses match expected TypeScript types
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.VALIDATION_CONFIG = exports.StatusesListResponseSchema = exports.SchedulesListResponseSchema = exports.UsersListResponseSchema = exports.WorkspacesListResponseSchema = exports.TasksListResponseSchema = exports.ProjectsListResponseSchema = exports.UsersResponseSchema = exports.StatusesResponseSchema = exports.SchedulesResponseSchema = exports.CustomFieldsResponseSchema = exports.RecurringTasksResponseSchema = exports.WorkspacesResponseSchema = exports.CommentsResponseSchema = exports.ProjectsResponseSchema = exports.TasksResponseSchema = exports.MotionPaginationMetaSchema = exports.MotionScheduleSchema = exports.MotionScheduleDetailsSchema = exports.MotionTimeSlotSchema = exports.MotionStatusSchema = exports.MotionRecurringTaskSchema = exports.MotionCustomFieldSchema = exports.MotionCommentSchema = exports.MotionUserSchema = exports.MotionTaskSchema = exports.MotionProjectSchema = exports.MotionWorkspaceSchema = void 0;
8
+ const zod_1 = require("zod");
9
+ // Base Motion Workspace schema - Updated to match API documentation
10
+ exports.MotionWorkspaceSchema = zod_1.z.object({
11
+ id: zod_1.z.string(),
12
+ name: zod_1.z.string(),
13
+ teamId: zod_1.z.string().nullable(),
14
+ type: zod_1.z.string(),
15
+ labels: zod_1.z.array(zod_1.z.union([
16
+ zod_1.z.string(),
17
+ zod_1.z.object({ name: zod_1.z.string() })
18
+ ])),
19
+ statuses: zod_1.z.array(zod_1.z.object({
20
+ name: zod_1.z.string(),
21
+ isDefaultStatus: zod_1.z.boolean(),
22
+ isResolvedStatus: zod_1.z.boolean()
23
+ })).optional()
24
+ });
25
+ // Base Motion Project schema - Updated to match API documentation
26
+ exports.MotionProjectSchema = zod_1.z.object({
27
+ id: zod_1.z.string(),
28
+ name: zod_1.z.string(),
29
+ description: zod_1.z.string(), // Required according to API docs
30
+ workspaceId: zod_1.z.string(),
31
+ status: zod_1.z.union([
32
+ zod_1.z.string(),
33
+ zod_1.z.object({
34
+ name: zod_1.z.string(),
35
+ isDefaultStatus: zod_1.z.boolean(),
36
+ isResolvedStatus: zod_1.z.boolean()
37
+ })
38
+ ]).optional(),
39
+ createdTime: zod_1.z.string().optional(),
40
+ updatedTime: zod_1.z.string().optional(),
41
+ customFieldValues: zod_1.z.record(zod_1.z.object({
42
+ type: zod_1.z.string(),
43
+ value: zod_1.z.unknown()
44
+ })).optional()
45
+ });
46
+ // Base Motion Task schema - Updated to match API documentation and interface changes
47
+ exports.MotionTaskSchema = zod_1.z.object({
48
+ id: zod_1.z.string(),
49
+ name: zod_1.z.string(),
50
+ description: zod_1.z.string(),
51
+ workspaceId: zod_1.z.string(),
52
+ projectId: zod_1.z.string().optional(),
53
+ status: zod_1.z.union([
54
+ zod_1.z.string(),
55
+ zod_1.z.object({
56
+ name: zod_1.z.string(),
57
+ isDefaultStatus: zod_1.z.boolean(),
58
+ isResolvedStatus: zod_1.z.boolean()
59
+ })
60
+ ]).optional(),
61
+ priority: zod_1.z.enum(['ASAP', 'HIGH', 'MEDIUM', 'LOW']).optional(),
62
+ dueDate: zod_1.z.string().optional(),
63
+ duration: zod_1.z.union([
64
+ zod_1.z.number(),
65
+ zod_1.z.literal('NONE'),
66
+ zod_1.z.literal('REMINDER')
67
+ ]).optional(),
68
+ deadlineType: zod_1.z.enum(['HARD', 'SOFT', 'NONE']),
69
+ parentRecurringTaskId: zod_1.z.string(),
70
+ completed: zod_1.z.boolean(),
71
+ assigneeId: zod_1.z.string().optional(),
72
+ labels: zod_1.z.array(zod_1.z.object({
73
+ name: zod_1.z.string()
74
+ })).optional(),
75
+ autoScheduled: zod_1.z.record(zod_1.z.unknown()).nullable().optional(),
76
+ completedTime: zod_1.z.string().optional(),
77
+ createdTime: zod_1.z.string(),
78
+ updatedTime: zod_1.z.string().optional(),
79
+ startOn: zod_1.z.string().optional(),
80
+ scheduledStart: zod_1.z.string().optional(),
81
+ scheduledEnd: zod_1.z.string().optional(),
82
+ schedulingIssue: zod_1.z.boolean(),
83
+ lastInteractedTime: zod_1.z.string().optional(),
84
+ // Nested objects
85
+ creator: zod_1.z.object({
86
+ id: zod_1.z.string(),
87
+ name: zod_1.z.string(),
88
+ email: zod_1.z.string()
89
+ }).optional(),
90
+ workspace: zod_1.z.object({
91
+ id: zod_1.z.string(),
92
+ name: zod_1.z.string(),
93
+ teamId: zod_1.z.string().nullable(),
94
+ type: zod_1.z.string(),
95
+ labels: zod_1.z.array(zod_1.z.union([
96
+ zod_1.z.string(),
97
+ zod_1.z.object({ name: zod_1.z.string() })
98
+ ])),
99
+ statuses: zod_1.z.array(zod_1.z.object({
100
+ name: zod_1.z.string(),
101
+ isDefaultStatus: zod_1.z.boolean(),
102
+ isResolvedStatus: zod_1.z.boolean()
103
+ })).optional()
104
+ }),
105
+ project: zod_1.z.object({
106
+ id: zod_1.z.string(),
107
+ name: zod_1.z.string(),
108
+ description: zod_1.z.string().optional(),
109
+ workspaceId: zod_1.z.string(),
110
+ status: zod_1.z.object({
111
+ name: zod_1.z.string(),
112
+ isDefaultStatus: zod_1.z.boolean(),
113
+ isResolvedStatus: zod_1.z.boolean()
114
+ }).optional()
115
+ }).optional(),
116
+ assignees: zod_1.z.array(zod_1.z.object({
117
+ id: zod_1.z.string(),
118
+ name: zod_1.z.string(),
119
+ email: zod_1.z.string()
120
+ })),
121
+ customFieldValues: zod_1.z.record(zod_1.z.object({
122
+ type: zod_1.z.string(),
123
+ value: zod_1.z.unknown()
124
+ })).optional(),
125
+ chunks: zod_1.z.array(zod_1.z.object({
126
+ id: zod_1.z.string(),
127
+ duration: zod_1.z.number(),
128
+ scheduledStart: zod_1.z.string(),
129
+ scheduledEnd: zod_1.z.string(),
130
+ completedTime: zod_1.z.string().optional(),
131
+ isFixed: zod_1.z.boolean()
132
+ })).optional()
133
+ });
134
+ // Motion User schema
135
+ exports.MotionUserSchema = zod_1.z.object({
136
+ id: zod_1.z.string(),
137
+ name: zod_1.z.string(),
138
+ email: zod_1.z.string().optional()
139
+ });
140
+ // Motion Comment schema - Updated to match API documentation
141
+ exports.MotionCommentSchema = zod_1.z.object({
142
+ id: zod_1.z.string(),
143
+ taskId: zod_1.z.string(),
144
+ content: zod_1.z.string(),
145
+ createdAt: zod_1.z.string(),
146
+ creator: zod_1.z.object({
147
+ id: zod_1.z.string(),
148
+ name: zod_1.z.string().optional(),
149
+ email: zod_1.z.string().optional()
150
+ })
151
+ });
152
+ // Motion Custom Field schema - New schema for Custom Fields API
153
+ exports.MotionCustomFieldSchema = zod_1.z.object({
154
+ id: zod_1.z.string(),
155
+ field: zod_1.z.enum([
156
+ 'text', 'url', 'date', 'person', 'multiPerson',
157
+ 'phone', 'select', 'multiSelect', 'number',
158
+ 'email', 'checkbox', 'relatedTo'
159
+ ])
160
+ });
161
+ // Motion Recurring Task schema - Updated to match API structure (returns task instances)
162
+ exports.MotionRecurringTaskSchema = zod_1.z.object({
163
+ id: zod_1.z.string(),
164
+ name: zod_1.z.string(),
165
+ creator: zod_1.z.object({
166
+ id: zod_1.z.string(),
167
+ name: zod_1.z.string(),
168
+ email: zod_1.z.string()
169
+ }),
170
+ assignee: zod_1.z.object({
171
+ id: zod_1.z.string(),
172
+ name: zod_1.z.string(),
173
+ email: zod_1.z.string()
174
+ }).optional(),
175
+ project: zod_1.z.object({
176
+ id: zod_1.z.string(),
177
+ name: zod_1.z.string(),
178
+ description: zod_1.z.string(),
179
+ workspaceId: zod_1.z.string(),
180
+ status: zod_1.z.object({
181
+ name: zod_1.z.string(),
182
+ isDefaultStatus: zod_1.z.boolean(),
183
+ isResolvedStatus: zod_1.z.boolean()
184
+ }),
185
+ customFieldValues: zod_1.z.record(zod_1.z.object({
186
+ type: zod_1.z.string(),
187
+ value: zod_1.z.unknown()
188
+ })).optional()
189
+ }),
190
+ workspace: zod_1.z.object({
191
+ id: zod_1.z.string(),
192
+ name: zod_1.z.string(),
193
+ teamId: zod_1.z.string().nullable(),
194
+ type: zod_1.z.string(),
195
+ labels: zod_1.z.array(zod_1.z.union([
196
+ zod_1.z.string(),
197
+ zod_1.z.object({ name: zod_1.z.string() })
198
+ ])),
199
+ statuses: zod_1.z.array(zod_1.z.object({
200
+ name: zod_1.z.string(),
201
+ isDefaultStatus: zod_1.z.boolean(),
202
+ isResolvedStatus: zod_1.z.boolean()
203
+ })).optional()
204
+ }),
205
+ status: zod_1.z.object({
206
+ name: zod_1.z.string(),
207
+ isDefaultStatus: zod_1.z.boolean(),
208
+ isResolvedStatus: zod_1.z.boolean()
209
+ }),
210
+ priority: zod_1.z.enum(['ASAP', 'HIGH', 'MEDIUM', 'LOW']),
211
+ labels: zod_1.z.array(zod_1.z.object({
212
+ name: zod_1.z.string()
213
+ }))
214
+ });
215
+ // Motion Status schema
216
+ exports.MotionStatusSchema = zod_1.z.object({
217
+ name: zod_1.z.string(),
218
+ isDefaultStatus: zod_1.z.boolean(),
219
+ isResolvedStatus: zod_1.z.boolean()
220
+ });
221
+ // Time slot schema
222
+ exports.MotionTimeSlotSchema = zod_1.z.object({
223
+ start: zod_1.z.string(), // "HH:MM" format
224
+ end: zod_1.z.string() // "HH:MM" format
225
+ });
226
+ // Schedule details schema
227
+ exports.MotionScheduleDetailsSchema = zod_1.z.object({
228
+ monday: zod_1.z.array(exports.MotionTimeSlotSchema).optional(),
229
+ tuesday: zod_1.z.array(exports.MotionTimeSlotSchema).optional(),
230
+ wednesday: zod_1.z.array(exports.MotionTimeSlotSchema).optional(),
231
+ thursday: zod_1.z.array(exports.MotionTimeSlotSchema).optional(),
232
+ friday: zod_1.z.array(exports.MotionTimeSlotSchema).optional(),
233
+ saturday: zod_1.z.array(exports.MotionTimeSlotSchema).optional(),
234
+ sunday: zod_1.z.array(exports.MotionTimeSlotSchema).optional()
235
+ });
236
+ // Motion Schedule schema
237
+ exports.MotionScheduleSchema = zod_1.z.object({
238
+ name: zod_1.z.string(),
239
+ isDefaultTimezone: zod_1.z.boolean(),
240
+ timezone: zod_1.z.string(),
241
+ schedule: exports.MotionScheduleDetailsSchema
242
+ });
243
+ // Pagination metadata schema
244
+ exports.MotionPaginationMetaSchema = zod_1.z.object({
245
+ nextCursor: zod_1.z.string().optional(),
246
+ pageSize: zod_1.z.number()
247
+ });
248
+ // Wrapped response schemas (with pagination)
249
+ exports.TasksResponseSchema = zod_1.z.object({
250
+ meta: exports.MotionPaginationMetaSchema,
251
+ tasks: zod_1.z.array(exports.MotionTaskSchema)
252
+ });
253
+ exports.ProjectsResponseSchema = zod_1.z.object({
254
+ meta: exports.MotionPaginationMetaSchema,
255
+ projects: zod_1.z.array(exports.MotionProjectSchema)
256
+ });
257
+ exports.CommentsResponseSchema = zod_1.z.object({
258
+ meta: exports.MotionPaginationMetaSchema,
259
+ comments: zod_1.z.array(exports.MotionCommentSchema)
260
+ });
261
+ exports.WorkspacesResponseSchema = zod_1.z.object({
262
+ meta: exports.MotionPaginationMetaSchema.optional(),
263
+ workspaces: zod_1.z.array(exports.MotionWorkspaceSchema)
264
+ });
265
+ exports.RecurringTasksResponseSchema = zod_1.z.object({
266
+ meta: exports.MotionPaginationMetaSchema,
267
+ tasks: zod_1.z.array(exports.MotionRecurringTaskSchema) // API returns "tasks" key for recurring tasks
268
+ });
269
+ exports.CustomFieldsResponseSchema = zod_1.z.object({
270
+ meta: exports.MotionPaginationMetaSchema,
271
+ customFields: zod_1.z.array(exports.MotionCustomFieldSchema)
272
+ });
273
+ // Direct array response schemas (no pagination wrapper) - union for backward compatibility
274
+ exports.SchedulesResponseSchema = zod_1.z.union([
275
+ zod_1.z.array(exports.MotionScheduleSchema),
276
+ zod_1.z.object({
277
+ schedules: zod_1.z.array(exports.MotionScheduleSchema)
278
+ })
279
+ ]);
280
+ exports.StatusesResponseSchema = zod_1.z.union([
281
+ zod_1.z.array(exports.MotionStatusSchema),
282
+ zod_1.z.object({
283
+ statuses: zod_1.z.array(exports.MotionStatusSchema)
284
+ })
285
+ ]);
286
+ exports.UsersResponseSchema = zod_1.z.union([
287
+ zod_1.z.array(exports.MotionUserSchema),
288
+ zod_1.z.object({
289
+ users: zod_1.z.array(exports.MotionUserSchema)
290
+ })
291
+ ]);
292
+ // Legacy schemas for backward compatibility
293
+ exports.ProjectsListResponseSchema = zod_1.z.union([
294
+ exports.ProjectsResponseSchema,
295
+ zod_1.z.array(exports.MotionProjectSchema)
296
+ ]);
297
+ exports.TasksListResponseSchema = zod_1.z.union([
298
+ exports.TasksResponseSchema,
299
+ zod_1.z.array(exports.MotionTaskSchema)
300
+ ]);
301
+ exports.WorkspacesListResponseSchema = zod_1.z.union([
302
+ exports.WorkspacesResponseSchema,
303
+ zod_1.z.array(exports.MotionWorkspaceSchema)
304
+ ]);
305
+ exports.UsersListResponseSchema = zod_1.z.union([
306
+ exports.UsersResponseSchema,
307
+ zod_1.z.array(exports.MotionUserSchema)
308
+ ]);
309
+ exports.SchedulesListResponseSchema = zod_1.z.union([
310
+ exports.SchedulesResponseSchema,
311
+ zod_1.z.array(exports.MotionScheduleSchema)
312
+ ]);
313
+ exports.StatusesListResponseSchema = zod_1.z.union([
314
+ exports.StatusesResponseSchema,
315
+ zod_1.z.array(exports.MotionStatusSchema)
316
+ ]);
317
+ // Validation configuration
318
+ exports.VALIDATION_CONFIG = {
319
+ // Strict mode: throw on validation errors
320
+ // Lenient mode: log warnings and filter invalid items
321
+ // Off: no runtime validation
322
+ mode: process.env.VALIDATION_MODE || 'lenient',
323
+ // Log validation errors even in lenient mode
324
+ logErrors: true,
325
+ // Include raw data in error logs (be careful with sensitive data)
326
+ includeDataInLogs: process.env.NODE_ENV === 'development'
327
+ };
328
+ //# sourceMappingURL=motion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"motion.js","sourceRoot":"","sources":["../../src/schemas/motion.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,199 @@
1
+ import { MotionWorkspace, MotionProject, MotionTask, MotionUser, MotionComment, CreateCommentData, MotionCustomField, CreateCustomFieldData, MotionRecurringTask, CreateRecurringTaskData, MotionSchedule, MotionStatus, MotionPaginatedResponse } from '../types/motion';
2
+ import { ValidPriority } from '../utils/constants';
3
+ interface GetTasksOptions {
4
+ workspaceId: string;
5
+ projectId?: string;
6
+ status?: string;
7
+ assigneeId?: string;
8
+ priority?: ValidPriority;
9
+ dueDate?: string;
10
+ labels?: string[];
11
+ limit?: number;
12
+ maxPages?: number;
13
+ }
14
+ export declare class MotionApiService {
15
+ private apiKey;
16
+ private baseUrl;
17
+ private client;
18
+ private workspaceCache;
19
+ private userCache;
20
+ private projectCache;
21
+ private singleProjectCache;
22
+ private commentCache;
23
+ private customFieldCache;
24
+ private recurringTaskCache;
25
+ private scheduleCache;
26
+ private statusCache;
27
+ /**
28
+ * Validate API response against schema
29
+ * Handles strict/lenient/off modes based on configuration
30
+ */
31
+ private validateResponse;
32
+ constructor();
33
+ /**
34
+ * Formats API errors consistently across all methods
35
+ * @param error - The error that occurred
36
+ * @param action - Description of the action that failed (e.g., 'fetch projects')
37
+ * @returns Formatted Error object
38
+ */
39
+ private formatApiError;
40
+ /**
41
+ * Wraps an axios request with a retry mechanism featuring exponential backoff.
42
+ * Only retries on 5xx server errors or 429 rate-limiting errors.
43
+ */
44
+ private requestWithRetry;
45
+ getProjects(workspaceId: string, maxPages?: number): Promise<MotionProject[]>;
46
+ getAllProjects(): Promise<MotionProject[]>;
47
+ getProject(projectId: string): Promise<MotionProject>;
48
+ createProject(projectData: Partial<MotionProject>): Promise<MotionProject>;
49
+ updateProject(projectId: string, updates: Partial<MotionProject>): Promise<MotionProject>;
50
+ deleteProject(projectId: string): Promise<void>;
51
+ getTasks(options: GetTasksOptions): Promise<MotionTask[]>;
52
+ getTask(taskId: string): Promise<MotionTask>;
53
+ createTask(taskData: Partial<MotionTask>): Promise<MotionTask>;
54
+ updateTask(taskId: string, updates: Partial<MotionTask>): Promise<MotionTask>;
55
+ deleteTask(taskId: string): Promise<void>;
56
+ moveTask(taskId: string, targetProjectId?: string | null, targetWorkspaceId?: string | null): Promise<MotionTask>;
57
+ unassignTask(taskId: string): Promise<MotionTask>;
58
+ getWorkspaces(): Promise<MotionWorkspace[]>;
59
+ getUsers(workspaceId?: string): Promise<MotionUser[]>;
60
+ getCurrentUser(): Promise<MotionUser>;
61
+ /**
62
+ * Resolves a project identifier (either projectId or projectName) to a MotionProject
63
+ * Searches across all workspaces if not found in the specified workspace
64
+ * @param identifier Object containing either projectId or projectName
65
+ * @param workspaceId Workspace to start searching in
66
+ * @returns Resolved MotionProject with workspace info, or undefined if not found
67
+ */
68
+ resolveProjectIdentifier(identifier: {
69
+ projectId?: string;
70
+ projectName?: string;
71
+ }, workspaceId: string): Promise<MotionProject | undefined>;
72
+ /**
73
+ * Resolves a user identifier (either userId or userName/email) to a MotionUser
74
+ * Searches across all workspaces if not found in the specified workspace
75
+ * @param identifier Object containing either userId or userName
76
+ * @param workspaceId Workspace to start searching in (optional)
77
+ * @returns Resolved MotionUser with workspace info, or undefined if not found
78
+ */
79
+ resolveUserIdentifier(identifier: {
80
+ userId?: string;
81
+ userName?: string;
82
+ }, workspaceId?: string): Promise<MotionUser | undefined>;
83
+ getProjectByName(projectName: string, workspaceId: string): Promise<MotionProject | undefined>;
84
+ searchTasks(query: string, workspaceId: string, limit?: number): Promise<MotionTask[]>;
85
+ searchProjects(query: string, workspaceId: string, limit?: number): Promise<MotionProject[]>;
86
+ /**
87
+ * Get comments for a task with proper pagination support
88
+ * @param taskId Task ID to get comments for
89
+ * @param cursor Optional cursor for pagination
90
+ * @returns Paginated response with comments and metadata
91
+ */
92
+ getComments(taskId: string, cursor?: string): Promise<MotionPaginatedResponse<MotionComment>>;
93
+ createComment(commentData: CreateCommentData): Promise<MotionComment>;
94
+ /**
95
+ * Fetch custom fields from Motion API
96
+ * @param workspaceId - Required workspace ID to get custom fields for
97
+ * @returns Array of custom fields
98
+ */
99
+ getCustomFields(workspaceId: string): Promise<MotionCustomField[]>;
100
+ /**
101
+ * Create a new custom field
102
+ * @param workspaceId - Required workspace ID to create custom field in
103
+ * @param fieldData - Data for creating the custom field
104
+ * @returns The created custom field
105
+ */
106
+ createCustomField(workspaceId: string, fieldData: CreateCustomFieldData): Promise<MotionCustomField>;
107
+ /**
108
+ * Delete a custom field
109
+ * @param workspaceId - Required workspace ID containing the custom field
110
+ * @param fieldId - ID of the custom field to delete
111
+ * @returns Success indicator
112
+ */
113
+ deleteCustomField(workspaceId: string, fieldId: string): Promise<{
114
+ success: boolean;
115
+ }>;
116
+ /**
117
+ * Add a custom field to a project
118
+ * @param projectId - ID of the project
119
+ * @param fieldId - ID of the custom field
120
+ * @param value - Optional value for the field
121
+ * @returns Updated project data
122
+ */
123
+ addCustomFieldToProject(projectId: string, fieldId: string, value?: string | number | boolean | string[] | null): Promise<MotionProject>;
124
+ /**
125
+ * Remove a custom field from a project
126
+ * @param projectId - ID of the project
127
+ * @param fieldId - ID of the custom field
128
+ * @returns Success indicator
129
+ */
130
+ removeCustomFieldFromProject(projectId: string, fieldId: string): Promise<{
131
+ success: boolean;
132
+ }>;
133
+ /**
134
+ * Add a custom field to a task
135
+ * @param taskId - ID of the task
136
+ * @param fieldId - ID of the custom field
137
+ * @param value - Optional value for the field
138
+ * @returns Updated task data
139
+ */
140
+ addCustomFieldToTask(taskId: string, fieldId: string, value?: string | number | boolean | string[] | null): Promise<MotionTask>;
141
+ /**
142
+ * Remove a custom field from a task
143
+ * @param taskId - ID of the task
144
+ * @param fieldId - ID of the custom field
145
+ * @returns Success indicator
146
+ */
147
+ removeCustomFieldFromTask(taskId: string, fieldId: string): Promise<{
148
+ success: boolean;
149
+ }>;
150
+ /**
151
+ * Fetch recurring tasks from Motion API with automatic pagination
152
+ * @param workspaceId - Optional workspace ID to filter recurring tasks
153
+ * @param maxPages - Maximum number of pages to fetch (default: 10)
154
+ * @returns Array of recurring tasks from all pages
155
+ */
156
+ getRecurringTasks(workspaceId?: string, maxPages?: number): Promise<MotionRecurringTask[]>;
157
+ /**
158
+ * Create a new recurring task
159
+ * @param taskData - Data for creating the recurring task
160
+ * @returns The created recurring task
161
+ */
162
+ createRecurringTask(taskData: CreateRecurringTaskData): Promise<MotionRecurringTask>;
163
+ /**
164
+ * Delete a recurring task
165
+ * @param recurringTaskId - ID of the recurring task to delete
166
+ * @returns Success indicator
167
+ */
168
+ deleteRecurringTask(recurringTaskId: string): Promise<{
169
+ success: boolean;
170
+ }>;
171
+ /**
172
+ * Get available schedule names for auto-scheduling
173
+ * @param workspaceId - Optional workspace ID to filter schedules (currently unused by Motion API)
174
+ * @returns Array of schedule names
175
+ */
176
+ getAvailableScheduleNames(workspaceId?: string): Promise<string[]>;
177
+ /**
178
+ * Fetch schedules from Motion API
179
+ * @param userId - Optional user ID to filter schedules
180
+ * @param startDate - Optional start date (ISO 8601) to filter schedules
181
+ * @param endDate - Optional end date (ISO 8601) to filter schedules
182
+ * @returns Array of schedules
183
+ */
184
+ getSchedules(userId?: string, startDate?: string, endDate?: string): Promise<MotionSchedule[]>;
185
+ /**
186
+ * Retrieves available workflow statuses from Motion
187
+ * @param workspaceId - Optional workspace ID to filter statuses
188
+ * @returns Promise resolving to array of Motion statuses
189
+ * @throws {Error} If the API request fails
190
+ */
191
+ getStatuses(workspaceId?: string): Promise<MotionStatus[]>;
192
+ /**
193
+ * Get all uncompleted tasks across all workspaces and projects
194
+ * Filters tasks where status.isResolvedStatus is false or undefined
195
+ */
196
+ getAllUncompletedTasks(limit?: number): Promise<MotionTask[]>;
197
+ }
198
+ export {};
199
+ //# sourceMappingURL=motionApi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"motionApi.d.ts","sourceRoot":"","sources":["../../src/services/motionApi.ts"],"names":[],"mappings":"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"}