motionmcp 1.0.1 → 2.0.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 +251 -417
  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 +266 -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-old.d.ts +29 -0
  60. package/dist/mcp-server-old.d.ts.map +1 -0
  61. package/dist/mcp-server-old.js +1304 -0
  62. package/dist/mcp-server-old.js.map +1 -0
  63. package/dist/mcp-server.d.ts +15 -0
  64. package/dist/mcp-server.d.ts.map +1 -0
  65. package/dist/mcp-server.js +145 -0
  66. package/dist/mcp-server.js.map +1 -0
  67. package/dist/schemas/motion.d.ts +4971 -0
  68. package/dist/schemas/motion.d.ts.map +1 -0
  69. package/dist/schemas/motion.js +328 -0
  70. package/dist/schemas/motion.js.map +1 -0
  71. package/dist/services/motionApi.d.ts +186 -0
  72. package/dist/services/motionApi.d.ts.map +1 -0
  73. package/dist/services/motionApi.js +1912 -0
  74. package/dist/services/motionApi.js.map +1 -0
  75. package/dist/tools/ToolConfigurator.d.ts +19 -0
  76. package/dist/tools/ToolConfigurator.d.ts.map +1 -0
  77. package/dist/tools/ToolConfigurator.js +89 -0
  78. package/dist/tools/ToolConfigurator.js.map +1 -0
  79. package/dist/tools/ToolDefinitions.d.ts +25 -0
  80. package/dist/tools/ToolDefinitions.d.ts.map +1 -0
  81. package/dist/tools/ToolDefinitions.js +502 -0
  82. package/dist/tools/ToolDefinitions.js.map +1 -0
  83. package/dist/tools/ToolRegistry.d.ts +16 -0
  84. package/dist/tools/ToolRegistry.d.ts.map +1 -0
  85. package/dist/tools/ToolRegistry.js +89 -0
  86. package/dist/tools/ToolRegistry.js.map +1 -0
  87. package/dist/tools/index.d.ts +4 -0
  88. package/dist/tools/index.d.ts.map +1 -0
  89. package/dist/tools/index.js +21 -0
  90. package/dist/tools/index.js.map +1 -0
  91. package/dist/types/mcp-tool-args.d.ts +122 -0
  92. package/dist/types/mcp-tool-args.d.ts.map +1 -0
  93. package/dist/types/mcp-tool-args.js +7 -0
  94. package/dist/types/mcp-tool-args.js.map +1 -0
  95. package/dist/types/mcp.d.ts +32 -0
  96. package/dist/types/mcp.d.ts.map +1 -0
  97. package/dist/types/mcp.js +3 -0
  98. package/dist/types/mcp.js.map +1 -0
  99. package/dist/types/motion.d.ts +304 -0
  100. package/dist/types/motion.d.ts.map +1 -0
  101. package/dist/types/motion.js +3 -0
  102. package/dist/types/motion.js.map +1 -0
  103. package/dist/utils/cache.d.ts +25 -0
  104. package/dist/utils/cache.d.ts.map +1 -0
  105. package/dist/utils/cache.js +135 -0
  106. package/dist/utils/cache.js.map +1 -0
  107. package/dist/utils/constants.d.ts +83 -0
  108. package/dist/utils/constants.d.ts.map +1 -0
  109. package/dist/utils/constants.js +151 -0
  110. package/dist/utils/constants.js.map +1 -0
  111. package/dist/utils/errorHandling.d.ts +50 -0
  112. package/dist/utils/errorHandling.d.ts.map +1 -0
  113. package/dist/utils/errorHandling.js +86 -0
  114. package/dist/utils/errorHandling.js.map +1 -0
  115. package/dist/utils/index.d.ts +13 -0
  116. package/dist/utils/index.d.ts.map +1 -0
  117. package/dist/utils/index.js +38 -0
  118. package/dist/utils/index.js.map +1 -0
  119. package/dist/utils/logger.d.ts +13 -0
  120. package/dist/utils/logger.d.ts.map +1 -0
  121. package/dist/utils/logger.js +47 -0
  122. package/dist/utils/logger.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 +92 -0
  132. package/dist/utils/responseFormatters.d.ts.map +1 -0
  133. package/dist/utils/responseFormatters.js +331 -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 +137 -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 -49
  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,186 @@
1
+ import { MotionWorkspace, MotionProject, MotionTask, MotionUser, MotionComment, CreateCommentData, MotionCustomField, CreateCustomFieldData, MotionRecurringTask, CreateRecurringTaskData, MotionSchedule, MotionStatus, MotionPaginatedResponse } from '../types/motion';
2
+ export declare class MotionApiService {
3
+ private apiKey;
4
+ private baseUrl;
5
+ private client;
6
+ private workspaceCache;
7
+ private userCache;
8
+ private projectCache;
9
+ private singleProjectCache;
10
+ private commentCache;
11
+ private customFieldCache;
12
+ private recurringTaskCache;
13
+ private scheduleCache;
14
+ private statusCache;
15
+ /**
16
+ * Validate API response against schema
17
+ * Handles strict/lenient/off modes based on configuration
18
+ */
19
+ private validateResponse;
20
+ constructor();
21
+ /**
22
+ * Formats API errors consistently across all methods
23
+ * @param error - The error that occurred
24
+ * @param action - Description of the action that failed (e.g., 'fetch projects')
25
+ * @returns Formatted Error object
26
+ */
27
+ private formatApiError;
28
+ /**
29
+ * Wraps an axios request with a retry mechanism featuring exponential backoff.
30
+ * Only retries on 5xx server errors or 429 rate-limiting errors.
31
+ */
32
+ private requestWithRetry;
33
+ getProjects(workspaceId: string, maxPages?: number): Promise<MotionProject[]>;
34
+ getAllProjects(): Promise<MotionProject[]>;
35
+ getProject(projectId: string): Promise<MotionProject>;
36
+ createProject(projectData: Partial<MotionProject>): Promise<MotionProject>;
37
+ updateProject(projectId: string, updates: Partial<MotionProject>): Promise<MotionProject>;
38
+ deleteProject(projectId: string): Promise<void>;
39
+ getTasks(workspaceId: string, projectId?: string, maxPages?: number, limit?: number): Promise<MotionTask[]>;
40
+ getTask(taskId: string): Promise<MotionTask>;
41
+ createTask(taskData: Partial<MotionTask>): Promise<MotionTask>;
42
+ updateTask(taskId: string, updates: Partial<MotionTask>): Promise<MotionTask>;
43
+ deleteTask(taskId: string): Promise<void>;
44
+ moveTask(taskId: string, targetProjectId?: string | null, targetWorkspaceId?: string | null): Promise<MotionTask>;
45
+ unassignTask(taskId: string): Promise<MotionTask>;
46
+ getWorkspaces(): Promise<MotionWorkspace[]>;
47
+ getUsers(workspaceId?: string): Promise<MotionUser[]>;
48
+ getCurrentUser(): Promise<MotionUser>;
49
+ /**
50
+ * Resolves a project identifier (either projectId or projectName) to a MotionProject
51
+ * Searches across all workspaces if not found in the specified workspace
52
+ * @param identifier Object containing either projectId or projectName
53
+ * @param workspaceId Workspace to start searching in
54
+ * @returns Resolved MotionProject with workspace info, or undefined if not found
55
+ */
56
+ resolveProjectIdentifier(identifier: {
57
+ projectId?: string;
58
+ projectName?: string;
59
+ }, workspaceId: string): Promise<MotionProject | undefined>;
60
+ /**
61
+ * Resolves a user identifier (either userId or userName/email) to a MotionUser
62
+ * Searches across all workspaces if not found in the specified workspace
63
+ * @param identifier Object containing either userId or userName
64
+ * @param workspaceId Workspace to start searching in (optional)
65
+ * @returns Resolved MotionUser with workspace info, or undefined if not found
66
+ */
67
+ resolveUserIdentifier(identifier: {
68
+ userId?: string;
69
+ userName?: string;
70
+ }, workspaceId?: string): Promise<MotionUser | undefined>;
71
+ getProjectByName(projectName: string, workspaceId: string): Promise<MotionProject | undefined>;
72
+ searchTasks(query: string, workspaceId: string, limit?: number): Promise<MotionTask[]>;
73
+ searchProjects(query: string, workspaceId: string, limit?: number): Promise<MotionProject[]>;
74
+ /**
75
+ * Get comments for a task with proper pagination support
76
+ * @param taskId Task ID to get comments for
77
+ * @param cursor Optional cursor for pagination
78
+ * @returns Paginated response with comments and metadata
79
+ */
80
+ getComments(taskId: string, cursor?: string): Promise<MotionPaginatedResponse<MotionComment>>;
81
+ createComment(commentData: CreateCommentData): Promise<MotionComment>;
82
+ /**
83
+ * Fetch custom fields from Motion API
84
+ * @param workspaceId - Required workspace ID to get custom fields for
85
+ * @returns Array of custom fields
86
+ */
87
+ getCustomFields(workspaceId: string): Promise<MotionCustomField[]>;
88
+ /**
89
+ * Create a new custom field
90
+ * @param workspaceId - Required workspace ID to create custom field in
91
+ * @param fieldData - Data for creating the custom field
92
+ * @returns The created custom field
93
+ */
94
+ createCustomField(workspaceId: string, fieldData: CreateCustomFieldData): Promise<MotionCustomField>;
95
+ /**
96
+ * Delete a custom field
97
+ * @param workspaceId - Required workspace ID containing the custom field
98
+ * @param fieldId - ID of the custom field to delete
99
+ * @returns Success indicator
100
+ */
101
+ deleteCustomField(workspaceId: string, fieldId: string): Promise<{
102
+ success: boolean;
103
+ }>;
104
+ /**
105
+ * Add a custom field to a project
106
+ * @param projectId - ID of the project
107
+ * @param fieldId - ID of the custom field
108
+ * @param value - Optional value for the field
109
+ * @returns Updated project data
110
+ */
111
+ addCustomFieldToProject(projectId: string, fieldId: string, value?: string | number | boolean | string[] | null): Promise<MotionProject>;
112
+ /**
113
+ * Remove a custom field from a project
114
+ * @param projectId - ID of the project
115
+ * @param fieldId - ID of the custom field
116
+ * @returns Success indicator
117
+ */
118
+ removeCustomFieldFromProject(projectId: string, fieldId: string): Promise<{
119
+ success: boolean;
120
+ }>;
121
+ /**
122
+ * Add a custom field to a task
123
+ * @param taskId - ID of the task
124
+ * @param fieldId - ID of the custom field
125
+ * @param value - Optional value for the field
126
+ * @returns Updated task data
127
+ */
128
+ addCustomFieldToTask(taskId: string, fieldId: string, value?: string | number | boolean | string[] | null): Promise<MotionTask>;
129
+ /**
130
+ * Remove a custom field from a task
131
+ * @param taskId - ID of the task
132
+ * @param fieldId - ID of the custom field
133
+ * @returns Success indicator
134
+ */
135
+ removeCustomFieldFromTask(taskId: string, fieldId: string): Promise<{
136
+ success: boolean;
137
+ }>;
138
+ /**
139
+ * Fetch recurring tasks from Motion API with automatic pagination
140
+ * @param workspaceId - Optional workspace ID to filter recurring tasks
141
+ * @param maxPages - Maximum number of pages to fetch (default: 10)
142
+ * @returns Array of recurring tasks from all pages
143
+ */
144
+ getRecurringTasks(workspaceId?: string, maxPages?: number): Promise<MotionRecurringTask[]>;
145
+ /**
146
+ * Create a new recurring task
147
+ * @param taskData - Data for creating the recurring task
148
+ * @returns The created recurring task
149
+ */
150
+ createRecurringTask(taskData: CreateRecurringTaskData): Promise<MotionRecurringTask>;
151
+ /**
152
+ * Delete a recurring task
153
+ * @param recurringTaskId - ID of the recurring task to delete
154
+ * @returns Success indicator
155
+ */
156
+ deleteRecurringTask(recurringTaskId: string): Promise<{
157
+ success: boolean;
158
+ }>;
159
+ /**
160
+ * Get available schedule names for auto-scheduling
161
+ * @param workspaceId - Optional workspace ID to filter schedules (currently unused by Motion API)
162
+ * @returns Array of schedule names
163
+ */
164
+ getAvailableScheduleNames(workspaceId?: string): Promise<string[]>;
165
+ /**
166
+ * Fetch schedules from Motion API
167
+ * @param userId - Optional user ID to filter schedules
168
+ * @param startDate - Optional start date (ISO 8601) to filter schedules
169
+ * @param endDate - Optional end date (ISO 8601) to filter schedules
170
+ * @returns Array of schedules
171
+ */
172
+ getSchedules(userId?: string, startDate?: string, endDate?: string): Promise<MotionSchedule[]>;
173
+ /**
174
+ * Retrieves available workflow statuses from Motion
175
+ * @param workspaceId - Optional workspace ID to filter statuses
176
+ * @returns Promise resolving to array of Motion statuses
177
+ * @throws {Error} If the API request fails
178
+ */
179
+ getStatuses(workspaceId?: string): Promise<MotionStatus[]>;
180
+ /**
181
+ * Get all uncompleted tasks across all workspaces and projects
182
+ * Filters tasks where status.isResolvedStatus is false or undefined
183
+ */
184
+ getAllUncompletedTasks(limit?: number): Promise<MotionTask[]>;
185
+ }
186
+ //# sourceMappingURL=motionApi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"motionApi.d.ts","sourceRoot":"","sources":["../../src/services/motionApi.ts"],"names":[],"mappings":"AACA,OAAO,EACL,eAAe,EACf,aAAa,EACb,UAAU,EACV,UAAU,EACV,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,EACnB,uBAAuB,EACvB,cAAc,EACd,YAAY,EAIZ,uBAAuB,EACxB,MAAM,iBAAiB,CAAC;AAwBzB,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,cAAc,CAAiC;IACvD,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,YAAY,CAA+B;IACnD,OAAO,CAAC,kBAAkB,CAA6B;IACvD,OAAO,CAAC,YAAY,CAAsD;IAC1E,OAAO,CAAC,gBAAgB,CAAmC;IAC3D,OAAO,CAAC,kBAAkB,CAAqC;IAC/D,OAAO,CAAC,aAAa,CAAgC;IACrD,OAAO,CAAC,WAAW,CAA8B;IAEjD;;;OAGG;IACH,OAAO,CAAC,gBAAgB;;IA4GxB;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAOtB;;;OAGG;YACW,gBAAgB;IA2DxB,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAU,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IA2EhF,cAAc,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAwC1C,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAgCrD,aAAa,CAAC,WAAW,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC;IA6C1E,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC;IAkCzF,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA4B/C,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAU,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IA0F9G,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IA4B5C,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;IA8C9D,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;IA+B7E,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBzC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC;IA6CjH,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IA+BjD,aAAa,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAwC3C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IA2CrD,cAAc,IAAI,OAAO,CAAC,UAAU,CAAC;IAqC3C;;;;;;OAMG;IACG,wBAAwB,CAC5B,UAAU,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,EACxD,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IA+DrC;;;;;;OAMG;IACG,qBAAqB,CACzB,UAAU,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,EAClD,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAwF5B,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAsF9F,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IA2GtF,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IA2GlG;;;;;OAKG;IACG,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC,aAAa,CAAC,CAAC;IAmD7F,aAAa,CAAC,WAAW,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;IAsC3E;;;;OAIG;IACG,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAqCxE;;;;;OAKG;IACG,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,qBAAqB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAgD1G;;;;;OAKG;IACG,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAmC5F;;;;;;OAMG;IACG,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,EAAE,GAAG,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC;IA8C9I;;;;;OAKG;IACG,4BAA4B,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAoCrG;;;;;;OAMG;IACG,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,EAAE,GAAG,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC;IA2CrI;;;;;OAKG;IACG,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAmC/F;;;;;OAKG;IACG,iBAAiB,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAW,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAmDpG;;;;OAIG;IACG,mBAAmB,CAAC,QAAQ,EAAE,uBAAuB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAsC1F;;;;OAIG;IACG,mBAAmB,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAgCjF;;;;OAIG;IACG,yBAAyB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IA4BxE;;;;;;OAMG;IACG,YAAY,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IA6DpG;;;;;OAKG;IACG,WAAW,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAqDhE;;;OAGG;IACG,sBAAsB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;CAsFpE"}