motionmcp 2.5.0 → 2.6.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 (104) hide show
  1. package/dist/handlers/CommentHandler.d.ts.map +1 -1
  2. package/dist/handlers/CommentHandler.js +4 -3
  3. package/dist/handlers/CommentHandler.js.map +1 -1
  4. package/dist/handlers/CustomFieldHandler.d.ts.map +1 -1
  5. package/dist/handlers/CustomFieldHandler.js +44 -21
  6. package/dist/handlers/CustomFieldHandler.js.map +1 -1
  7. package/dist/handlers/ProjectHandler.d.ts.map +1 -1
  8. package/dist/handlers/ProjectHandler.js +2 -1
  9. package/dist/handlers/ProjectHandler.js.map +1 -1
  10. package/dist/handlers/RecurringTaskHandler.d.ts.map +1 -1
  11. package/dist/handlers/RecurringTaskHandler.js +16 -10
  12. package/dist/handlers/RecurringTaskHandler.js.map +1 -1
  13. package/dist/handlers/ScheduleHandler.d.ts +1 -1
  14. package/dist/handlers/ScheduleHandler.d.ts.map +1 -1
  15. package/dist/handlers/ScheduleHandler.js +4 -26
  16. package/dist/handlers/ScheduleHandler.js.map +1 -1
  17. package/dist/handlers/SearchHandler.d.ts +1 -2
  18. package/dist/handlers/SearchHandler.d.ts.map +1 -1
  19. package/dist/handlers/SearchHandler.js +24 -70
  20. package/dist/handlers/SearchHandler.js.map +1 -1
  21. package/dist/handlers/TaskHandler.d.ts +11 -5
  22. package/dist/handlers/TaskHandler.d.ts.map +1 -1
  23. package/dist/handlers/TaskHandler.js +101 -63
  24. package/dist/handlers/TaskHandler.js.map +1 -1
  25. package/dist/handlers/UserHandler.js +6 -6
  26. package/dist/handlers/UserHandler.js.map +1 -1
  27. package/dist/handlers/WorkspaceHandler.d.ts +0 -1
  28. package/dist/handlers/WorkspaceHandler.d.ts.map +1 -1
  29. package/dist/handlers/WorkspaceHandler.js +0 -9
  30. package/dist/handlers/WorkspaceHandler.js.map +1 -1
  31. package/dist/handlers/base/BaseHandler.d.ts +4 -5
  32. package/dist/handlers/base/BaseHandler.d.ts.map +1 -1
  33. package/dist/handlers/base/BaseHandler.js +0 -12
  34. package/dist/handlers/base/BaseHandler.js.map +1 -1
  35. package/dist/handlers/base/HandlerInterface.d.ts +0 -5
  36. package/dist/handlers/base/HandlerInterface.d.ts.map +1 -1
  37. package/dist/handlers/index.d.ts +1 -1
  38. package/dist/handlers/index.d.ts.map +1 -1
  39. package/dist/mcp-server.js +1 -1
  40. package/dist/schemas/motion.d.ts +12 -255
  41. package/dist/schemas/motion.d.ts.map +1 -1
  42. package/dist/schemas/motion.js +4 -17
  43. package/dist/schemas/motion.js.map +1 -1
  44. package/dist/services/motionApi.d.ts +38 -26
  45. package/dist/services/motionApi.d.ts.map +1 -1
  46. package/dist/services/motionApi.js +381 -227
  47. package/dist/services/motionApi.js.map +1 -1
  48. package/dist/tools/ToolDefinitions.d.ts.map +1 -1
  49. package/dist/tools/ToolDefinitions.js +60 -82
  50. package/dist/tools/ToolDefinitions.js.map +1 -1
  51. package/dist/types/mcp-tool-args.d.ts +46 -61
  52. package/dist/types/mcp-tool-args.d.ts.map +1 -1
  53. package/dist/types/mcp-tool-args.js +2 -4
  54. package/dist/types/mcp-tool-args.js.map +1 -1
  55. package/dist/types/mcp.d.ts +5 -1
  56. package/dist/types/mcp.d.ts.map +1 -1
  57. package/dist/types/motion.d.ts +40 -13
  58. package/dist/types/motion.d.ts.map +1 -1
  59. package/dist/utils/constants.d.ts +0 -11
  60. package/dist/utils/constants.d.ts.map +1 -1
  61. package/dist/utils/constants.js +6 -52
  62. package/dist/utils/constants.js.map +1 -1
  63. package/dist/utils/frequencyTransform.d.ts +0 -5
  64. package/dist/utils/frequencyTransform.d.ts.map +1 -1
  65. package/dist/utils/frequencyTransform.js +1 -9
  66. package/dist/utils/frequencyTransform.js.map +1 -1
  67. package/dist/utils/pagination.d.ts +61 -0
  68. package/dist/utils/pagination.d.ts.map +1 -0
  69. package/dist/utils/pagination.js +168 -0
  70. package/dist/utils/pagination.js.map +1 -0
  71. package/dist/utils/paginationNew.d.ts +0 -5
  72. package/dist/utils/paginationNew.d.ts.map +1 -1
  73. package/dist/utils/paginationNew.js +5 -9
  74. package/dist/utils/paginationNew.js.map +1 -1
  75. package/dist/utils/parameterUtils.d.ts +15 -10
  76. package/dist/utils/parameterUtils.d.ts.map +1 -1
  77. package/dist/utils/parameterUtils.js +4 -18
  78. package/dist/utils/parameterUtils.js.map +1 -1
  79. package/dist/utils/responseFormatters.d.ts +3 -2
  80. package/dist/utils/responseFormatters.d.ts.map +1 -1
  81. package/dist/utils/responseFormatters.js +51 -8
  82. package/dist/utils/responseFormatters.js.map +1 -1
  83. package/dist/utils/responseWrapper.js +1 -1
  84. package/dist/utils/responseWrapper.js.map +1 -1
  85. package/dist/utils/sanitize.d.ts.map +1 -1
  86. package/dist/utils/sanitize.js +2 -5
  87. package/dist/utils/sanitize.js.map +1 -1
  88. package/dist/utils/workspaceResolver.d.ts +5 -1
  89. package/dist/utils/workspaceResolver.d.ts.map +1 -1
  90. package/dist/utils/workspaceResolver.js +35 -14
  91. package/dist/utils/workspaceResolver.js.map +1 -1
  92. package/package.json +5 -2
  93. package/dist/mcp-server-old.d.ts +0 -29
  94. package/dist/mcp-server-old.d.ts.map +0 -1
  95. package/dist/mcp-server-old.js +0 -1304
  96. package/dist/mcp-server-old.js.map +0 -1
  97. package/dist/utils/jsonSchemaToZod.d.ts +0 -33
  98. package/dist/utils/jsonSchemaToZod.d.ts.map +0 -1
  99. package/dist/utils/jsonSchemaToZod.js +0 -110
  100. package/dist/utils/jsonSchemaToZod.js.map +0 -1
  101. package/dist/worker.d.ts +0 -17
  102. package/dist/worker.d.ts.map +0 -1
  103. package/dist/worker.js +0 -61
  104. package/dist/worker.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"CommentHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/CommentHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAK5D,qBAAa,cAAe,SAAQ,WAAW;IACvC,MAAM,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,eAAe,CAAC;YAiBlD,UAAU;YAmBV,YAAY;CA2B3B"}
1
+ {"version":3,"file":"CommentHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/CommentHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAK5D,qBAAa,cAAe,SAAQ,WAAW;IACvC,MAAM,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,eAAe,CAAC;YAiBlD,UAAU;YAmBV,YAAY;CA6B3B"}
@@ -43,15 +43,16 @@ class CommentHandler extends BaseHandler_1.BaseHandler {
43
43
  if (!content) {
44
44
  return this.handleError(new Error('content is required for create operation'));
45
45
  }
46
+ // Reject oversized content before sanitization so the check is never dead code
47
+ if (content.length > utils_1.LIMITS.COMMENT_MAX_LENGTH) {
48
+ return this.handleError(new Error(`Comment content exceeds maximum length of ${utils_1.LIMITS.COMMENT_MAX_LENGTH} characters`));
49
+ }
46
50
  // Sanitize and validate comment content
47
51
  const sanitizationResult = (0, sanitize_1.sanitizeCommentContent)(content);
48
52
  if (!sanitizationResult.isValid) {
49
53
  return this.handleError(new Error(sanitizationResult.error || 'Invalid comment content'));
50
54
  }
51
55
  const sanitizedContent = sanitizationResult.sanitized;
52
- if (sanitizedContent.length > utils_1.LIMITS.COMMENT_MAX_LENGTH) {
53
- return this.handleError(new Error(`Comment content exceeds maximum length of ${utils_1.LIMITS.COMMENT_MAX_LENGTH} characters`));
54
- }
55
56
  const commentData = {
56
57
  taskId,
57
58
  content: sanitizedContent
@@ -1 +1 @@
1
- {"version":3,"file":"CommentHandler.js","sourceRoot":"","sources":["../../src/handlers/CommentHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CommentHandler.js","sourceRoot":"","sources":["../../src/handlers/CommentHandler.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"CustomFieldHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/CustomFieldHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAIhE,qBAAa,kBAAmB,SAAQ,WAAW;IAC3C,MAAM,CAAC,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,eAAe,CAAC;YA2BtD,UAAU;YAQV,YAAY;YAuBZ,YAAY;YASZ,kBAAkB;YASlB,uBAAuB;YASvB,eAAe;YASf,oBAAoB;CAQnC"}
1
+ {"version":3,"file":"CustomFieldHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/CustomFieldHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAIhE,qBAAa,kBAAmB,SAAQ,WAAW;IAC3C,MAAM,CAAC,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,eAAe,CAAC;YA2BtD,UAAU;YAYV,YAAY;YAiCZ,YAAY;YAcZ,kBAAkB;YAYlB,uBAAuB;YASvB,eAAe;YAYf,oBAAoB;CAQnC"}
@@ -31,63 +31,86 @@ class CustomFieldHandler extends BaseHandler_1.BaseHandler {
31
31
  }
32
32
  }
33
33
  async handleList(args) {
34
- if (!args.workspaceId) {
35
- return this.handleError(new Error('Workspace ID is required for list operation'));
34
+ if (!args.workspaceId && !args.workspaceName) {
35
+ return this.handleError(new Error('Workspace ID or workspace name is required for list operation'));
36
36
  }
37
- const fields = await this.motionService.getCustomFields(args.workspaceId);
37
+ const workspace = await this.workspaceResolver.resolveWorkspace({
38
+ workspaceId: args.workspaceId,
39
+ workspaceName: args.workspaceName
40
+ });
41
+ const fields = await this.motionService.getCustomFields(workspace.id);
38
42
  return (0, utils_1.formatCustomFieldList)(fields);
39
43
  }
40
44
  async handleCreate(args) {
41
- if (!args.workspaceId || !args.name || !args.field) {
42
- return this.handleError(new Error('Workspace ID, name, and field are required for create operation'));
45
+ if ((!args.workspaceId && !args.workspaceName) || !args.name || !args.field) {
46
+ return this.handleError(new Error('Workspace ID/name, name, and field are required for create operation'));
43
47
  }
44
48
  if (args.name.length > utils_1.LIMITS.CUSTOM_FIELD_NAME_MAX_LENGTH) {
45
49
  return this.handleError(new Error(`Field name exceeds ${utils_1.LIMITS.CUSTOM_FIELD_NAME_MAX_LENGTH} characters`));
46
50
  }
47
- if (['select', 'multiSelect'].includes(args.field) !== Boolean(args.options)) {
48
- return this.handleError(new Error('Options parameter only allowed for select/multiSelect field types'));
51
+ const isSelectType = ['select', 'multiSelect'].includes(args.field);
52
+ if (!isSelectType && args.options) {
53
+ return this.handleError(new Error('Options parameter is only allowed for select/multiSelect field types'));
49
54
  }
55
+ if (isSelectType && !args.options) {
56
+ return this.handleError(new Error('Options parameter is required for select/multiSelect field types'));
57
+ }
58
+ const workspace = await this.workspaceResolver.resolveWorkspace({
59
+ workspaceId: args.workspaceId,
60
+ workspaceName: args.workspaceName
61
+ });
50
62
  const fieldData = {
51
63
  name: args.name,
52
64
  field: args.field,
65
+ ...(args.required !== undefined && { required: args.required }),
53
66
  ...(args.options && { metadata: { options: args.options } })
54
67
  };
55
- const newField = await this.motionService.createCustomField(args.workspaceId, fieldData);
68
+ const newField = await this.motionService.createCustomField(workspace.id, fieldData);
56
69
  return (0, utils_1.formatCustomFieldDetail)(newField);
57
70
  }
58
71
  async handleDelete(args) {
59
- if (!args.workspaceId || !args.fieldId) {
60
- return this.handleError(new Error('Workspace ID and field ID are required for delete operation'));
72
+ if ((!args.workspaceId && !args.workspaceName) || !args.fieldId) {
73
+ return this.handleError(new Error('Workspace ID/name and field ID are required for delete operation'));
61
74
  }
62
- await this.motionService.deleteCustomField(args.workspaceId, args.fieldId);
75
+ const workspace = await this.workspaceResolver.resolveWorkspace({
76
+ workspaceId: args.workspaceId,
77
+ workspaceName: args.workspaceName
78
+ });
79
+ await this.motionService.deleteCustomField(workspace.id, args.fieldId);
63
80
  return (0, utils_1.formatCustomFieldSuccess)('deleted');
64
81
  }
65
82
  async handleAddToProject(args) {
66
83
  if (!args.projectId || !args.fieldId) {
67
84
  return this.handleError(new Error('Project ID and field ID are required for add_to_project operation'));
68
85
  }
69
- await this.motionService.addCustomFieldToProject(args.projectId, args.fieldId, args.value);
70
- return (0, utils_1.formatCustomFieldSuccess)('added', 'project', args.projectId);
86
+ if (args.value !== undefined && args.value !== null && !args.field) {
87
+ return this.handleError(new Error('Field type (field) is required when providing a value. Use "text", "number", "multiSelect", etc.'));
88
+ }
89
+ const result = await this.motionService.addCustomFieldToProject(args.projectId, args.fieldId, args.value, args.field);
90
+ return (0, utils_1.formatCustomFieldSuccess)('added', 'project', args.projectId, result);
71
91
  }
72
92
  async handleRemoveFromProject(args) {
73
- if (!args.projectId || !args.fieldId) {
74
- return this.handleError(new Error('Project ID and field ID are required for remove_from_project operation'));
93
+ if (!args.projectId || !args.valueId) {
94
+ return this.handleError(new Error('Project ID and valueId (custom field value ID) are required for remove_from_project operation'));
75
95
  }
76
- await this.motionService.removeCustomFieldFromProject(args.projectId, args.fieldId);
96
+ await this.motionService.removeCustomFieldFromProject(args.projectId, args.valueId);
77
97
  return (0, utils_1.formatCustomFieldSuccess)('removed', 'project', args.projectId);
78
98
  }
79
99
  async handleAddToTask(args) {
80
100
  if (!args.taskId || !args.fieldId) {
81
101
  return this.handleError(new Error('Task ID and field ID are required for add_to_task operation'));
82
102
  }
83
- await this.motionService.addCustomFieldToTask(args.taskId, args.fieldId, args.value);
84
- return (0, utils_1.formatCustomFieldSuccess)('added', 'task', args.taskId);
103
+ if (args.value !== undefined && args.value !== null && !args.field) {
104
+ return this.handleError(new Error('Field type (field) is required when providing a value. Use "text", "number", "multiSelect", etc.'));
105
+ }
106
+ const result = await this.motionService.addCustomFieldToTask(args.taskId, args.fieldId, args.value, args.field);
107
+ return (0, utils_1.formatCustomFieldSuccess)('added', 'task', args.taskId, result);
85
108
  }
86
109
  async handleRemoveFromTask(args) {
87
- if (!args.taskId || !args.fieldId) {
88
- return this.handleError(new Error('Task ID and field ID are required for remove_from_task operation'));
110
+ if (!args.taskId || !args.valueId) {
111
+ return this.handleError(new Error('Task ID and valueId (custom field value ID) are required for remove_from_task operation'));
89
112
  }
90
- await this.motionService.removeCustomFieldFromTask(args.taskId, args.fieldId);
113
+ await this.motionService.removeCustomFieldFromTask(args.taskId, args.valueId);
91
114
  return (0, utils_1.formatCustomFieldSuccess)('removed', 'task', args.taskId);
92
115
  }
93
116
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CustomFieldHandler.js","sourceRoot":"","sources":["../../src/handlers/CustomFieldHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CustomFieldHandler.js","sourceRoot":"","sources":["../../src/handlers/CustomFieldHandler.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ProjectHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/ProjectHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AA2B5D,qBAAa,cAAe,SAAQ,WAAW;IACvC,MAAM,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,eAAe,CAAC;YAmBlD,YAAY;YAmBZ,UAAU;YAiBV,SAAS;CAQxB"}
1
+ {"version":3,"file":"ProjectHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/ProjectHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAyB5D,qBAAa,cAAe,SAAQ,WAAW;IACvC,MAAM,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,eAAe,CAAC;YAmBlD,YAAY;YAoBZ,UAAU;YAiBV,SAAS;CAQxB"}
@@ -32,7 +32,8 @@ class ProjectHandler extends BaseHandler_1.BaseHandler {
32
32
  workspaceName: projectData.workspaceName
33
33
  });
34
34
  const project = await this.motionService.createProject({
35
- ...projectData,
35
+ name: projectData.name,
36
+ description: projectData.description,
36
37
  workspaceId: workspace.id
37
38
  });
38
39
  return (0, utils_1.formatMcpSuccess)(`Successfully created project "${project.name}" (ID: ${project.id})`);
@@ -1 +1 @@
1
- {"version":3,"file":"ProjectHandler.js","sourceRoot":"","sources":["../../src/handlers/ProjectHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ProjectHandler.js","sourceRoot":"","sources":["../../src/handlers/ProjectHandler.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"RecurringTaskHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/RecurringTaskHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAIlE,qBAAa,oBAAqB,SAAQ,WAAW;IAC7C,MAAM,CAAC,IAAI,EAAE,wBAAwB,GAAG,OAAO,CAAC,eAAe,CAAC;YAmBxD,UAAU;YAQV,YAAY;YAiCZ,YAAY;CAQ3B"}
1
+ {"version":3,"file":"RecurringTaskHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/RecurringTaskHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAIlE,qBAAa,oBAAqB,SAAQ,WAAW;IAC7C,MAAM,CAAC,IAAI,EAAE,wBAAwB,GAAG,OAAO,CAAC,eAAe,CAAC;YAmBxD,UAAU;YAYV,YAAY;YAkCZ,YAAY;CAQ3B"}
@@ -23,22 +23,28 @@ class RecurringTaskHandler extends BaseHandler_1.BaseHandler {
23
23
  }
24
24
  }
25
25
  async handleList(args) {
26
- if (!args.workspaceId) {
27
- return this.handleError(new Error('Workspace ID is required for list operation'));
26
+ if (!args.workspaceId && !args.workspaceName) {
27
+ return this.handleError(new Error('Workspace ID or workspace name is required for list operation'));
28
28
  }
29
- const { items: recurringTasks, truncation } = await this.motionService.getRecurringTasks(args.workspaceId);
29
+ const workspace = await this.workspaceResolver.resolveWorkspace({
30
+ workspaceId: args.workspaceId,
31
+ workspaceName: args.workspaceName
32
+ });
33
+ const { items: recurringTasks, truncation } = await this.motionService.getRecurringTasks(workspace.id);
30
34
  return (0, utils_1.formatRecurringTaskList)(recurringTasks, truncation);
31
35
  }
32
36
  async handleCreate(args) {
33
- if (!args.name || !args.workspaceId || !args.assigneeId || !args.frequency) {
34
- return this.handleError(new Error('Name, workspace ID, assignee ID, and frequency are required for create operation'));
37
+ if (!args.name || (!args.workspaceId && !args.workspaceName) || !args.assigneeId || !args.frequency) {
38
+ return this.handleError(new Error('Name, workspace ID/workspace name, assignee ID, and frequency are required for create operation'));
35
39
  }
36
40
  // Validate frequency
37
- if (!args.frequency.type || !['daily', 'weekly', 'monthly', 'yearly'].includes(args.frequency.type)) {
38
- return this.handleError(new Error('Frequency type must be one of: daily, weekly, monthly, yearly'));
41
+ if (!args.frequency.type || !['daily', 'weekly', 'biweekly', 'monthly', 'quarterly', 'yearly', 'custom'].includes(args.frequency.type)) {
42
+ return this.handleError(new Error('Frequency type must be one of: daily, weekly, biweekly, monthly, quarterly, yearly, custom'));
39
43
  }
40
- // Additional validations would go here...
41
- const workspace = await this.workspaceResolver.resolveWorkspace({ workspaceId: args.workspaceId });
44
+ const workspace = await this.workspaceResolver.resolveWorkspace({
45
+ workspaceId: args.workspaceId,
46
+ workspaceName: args.workspaceName
47
+ });
42
48
  const taskData = {
43
49
  name: args.name,
44
50
  workspaceId: workspace.id,
@@ -47,7 +53,7 @@ class RecurringTaskHandler extends BaseHandler_1.BaseHandler {
47
53
  ...(args.description && { description: args.description }),
48
54
  ...(args.projectId && { projectId: args.projectId }),
49
55
  ...(args.deadlineType && { deadlineType: args.deadlineType }),
50
- ...(args.duration && { duration: args.duration }),
56
+ ...(args.duration !== undefined && args.duration !== null && { duration: args.duration }),
51
57
  ...(args.startingOn && { startingOn: args.startingOn }),
52
58
  ...(args.idealTime && { idealTime: args.idealTime }),
53
59
  ...(args.schedule && { schedule: args.schedule }),
@@ -1 +1 @@
1
- {"version":3,"file":"RecurringTaskHandler.js","sourceRoot":"","sources":["../../src/handlers/RecurringTaskHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RecurringTaskHandler.js","sourceRoot":"","sources":["../../src/handlers/RecurringTaskHandler.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { BaseHandler } from './base/BaseHandler';
2
2
  import { McpToolResponse } from '../types/mcp';
3
3
  import { MotionSchedulesArgs } from '../types/mcp-tool-args';
4
4
  export declare class ScheduleHandler extends BaseHandler {
5
- handle(args: MotionSchedulesArgs): Promise<McpToolResponse>;
5
+ handle(_args: MotionSchedulesArgs): Promise<McpToolResponse>;
6
6
  private handleList;
7
7
  }
8
8
  //# sourceMappingURL=ScheduleHandler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ScheduleHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/ScheduleHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAG7D,qBAAa,eAAgB,SAAQ,WAAW;IACxC,MAAM,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,eAAe,CAAC;YASnD,UAAU;CA4BzB"}
1
+ {"version":3,"file":"ScheduleHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/ScheduleHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAG7D,qBAAa,eAAgB,SAAQ,WAAW;IACxC,MAAM,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,eAAe,CAAC;YAQpD,UAAU;CAIzB"}
@@ -4,38 +4,16 @@ exports.ScheduleHandler = void 0;
4
4
  const BaseHandler_1 = require("./base/BaseHandler");
5
5
  const utils_1 = require("../utils");
6
6
  class ScheduleHandler extends BaseHandler_1.BaseHandler {
7
- async handle(args) {
7
+ async handle(_args) {
8
8
  try {
9
- const { userId, startDate, endDate } = args;
10
- return await this.handleList(userId, startDate, endDate);
9
+ return await this.handleList();
11
10
  }
12
11
  catch (error) {
13
12
  return this.handleError(error);
14
13
  }
15
14
  }
16
- async handleList(userId, startDate, endDate) {
17
- // Validate date formats if provided
18
- const isValidDate = (dateStr) => {
19
- if (!dateStr)
20
- return true; // Optional fields are valid when not provided
21
- const date = new Date(dateStr);
22
- return !isNaN(date.getTime());
23
- };
24
- if (!isValidDate(startDate)) {
25
- return this.handleError(new Error('startDate must be a valid date string (e.g., "2024-01-15" or "2024-01-15T10:30:00Z")'));
26
- }
27
- if (!isValidDate(endDate)) {
28
- return this.handleError(new Error('endDate must be a valid date string (e.g., "2024-01-15" or "2024-01-15T10:30:00Z")'));
29
- }
30
- // Validate date range logic if both dates are provided
31
- if (startDate && endDate) {
32
- const start = new Date(startDate);
33
- const end = new Date(endDate);
34
- if (start > end) {
35
- return this.handleError(new Error('startDate must be before or equal to endDate'));
36
- }
37
- }
38
- const schedules = await this.motionService.getSchedules(userId, startDate, endDate);
15
+ async handleList() {
16
+ const schedules = await this.motionService.getSchedules();
39
17
  return (0, utils_1.formatScheduleList)(schedules);
40
18
  }
41
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ScheduleHandler.js","sourceRoot":"","sources":["../../src/handlers/ScheduleHandler.ts"],"names":[],"mappings":";;;AAAA,oDAAiD;AAGjD,oCAA8C;AAE9C,MAAa,eAAgB,SAAQ,yBAAW;IAC9C,KAAK,CAAC,MAAM,CAAC,IAAyB;QACpC,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;YAC5C,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAC3D,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,MAAe,EAAE,SAAkB,EAAE,OAAgB;QAC5E,oCAAoC;QACpC,MAAM,WAAW,GAAG,CAAC,OAA2B,EAAW,EAAE;YAC3D,IAAI,CAAC,OAAO;gBAAE,OAAO,IAAI,CAAC,CAAC,8CAA8C;YACzE,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;YAC/B,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAChC,CAAC,CAAC;QAEF,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,sFAAsF,CAAC,CAAC,CAAC;QAC7H,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,oFAAoF,CAAC,CAAC,CAAC;QAC3H,CAAC;QAED,uDAAuD;QACvD,IAAI,SAAS,IAAI,OAAO,EAAE,CAAC;YACzB,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;YAClC,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;YAC9B,IAAI,KAAK,GAAG,GAAG,EAAE,CAAC;gBAChB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC,CAAC;YACrF,CAAC;QACH,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QACpF,OAAO,IAAA,0BAAkB,EAAC,SAAS,CAAC,CAAC;IACvC,CAAC;CACF;AAtCD,0CAsCC"}
1
+ {"version":3,"file":"ScheduleHandler.js","sourceRoot":"","sources":["../../src/handlers/ScheduleHandler.ts"],"names":[],"mappings":";;;AAAA,oDAAiD;AAGjD,oCAA8C;AAE9C,MAAa,eAAgB,SAAQ,yBAAW;IAC9C,KAAK,CAAC,MAAM,CAAC,KAA0B;QACrC,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACjC,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,UAAU;QACtB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;QAC1D,OAAO,IAAA,0BAAkB,EAAC,SAAS,CAAC,CAAC;IACvC,CAAC;CACF;AAbD,0CAaC"}
@@ -4,7 +4,6 @@ import { MotionSearchArgs } from '../types/mcp-tool-args';
4
4
  export declare class SearchHandler extends BaseHandler {
5
5
  handle(args: MotionSearchArgs): Promise<McpToolResponse>;
6
6
  private handleContentSearch;
7
- private handleContextSearch;
8
- private handleSmartSearch;
7
+ private resolveEntityTypes;
9
8
  }
10
9
  //# sourceMappingURL=SearchHandler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SearchHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/SearchHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAkB,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAqB1D,qBAAa,aAAc,SAAQ,WAAW;IACtC,MAAM,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC;YAmBhD,mBAAmB;YAmDnB,mBAAmB;YAyBnB,iBAAiB;CA8ChC"}
1
+ {"version":3,"file":"SearchHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/SearchHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAkB,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAY1D,qBAAa,aAAc,SAAQ,WAAW;IACtC,MAAM,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC;YAehD,mBAAmB;IA2DjC,OAAO,CAAC,kBAAkB;CAgB3B"}
@@ -10,10 +10,6 @@ class SearchHandler extends BaseHandler_1.BaseHandler {
10
10
  switch (operation) {
11
11
  case 'content':
12
12
  return await this.handleContentSearch(args);
13
- case 'context':
14
- return await this.handleContextSearch(args);
15
- case 'smart':
16
- return await this.handleSmartSearch(args);
17
13
  default:
18
14
  return this.handleUnknownOperation(operation);
19
15
  }
@@ -26,29 +22,35 @@ class SearchHandler extends BaseHandler_1.BaseHandler {
26
22
  if (!args.query) {
27
23
  return this.handleError(new Error("Query is required for content search"));
28
24
  }
29
- const entityTypes = args.searchScope === 'tasks' ? ['tasks'] :
30
- args.searchScope === 'projects' ? ['projects'] :
31
- ['tasks', 'projects'];
25
+ const entityTypes = this.resolveEntityTypes(args);
32
26
  // Use configurable limit to prevent resource exhaustion
33
27
  const limit = args.limit || utils_1.LIMITS.MAX_SEARCH_RESULTS;
34
28
  const workspace = await this.workspaceResolver.resolveWorkspace({
35
29
  workspaceId: args.workspaceId,
36
30
  workspaceName: args.workspaceName
37
31
  });
38
- let results = [];
32
+ const results = [];
39
33
  let mergedTruncation;
40
34
  if (entityTypes.includes('tasks')) {
41
35
  const { items: tasks, truncation } = await this.motionService.searchTasks(args.query, workspace.id, limit);
42
- results.push(...tasks);
36
+ results.push(...tasks.map(task => ({
37
+ id: task.id,
38
+ name: task.name,
39
+ entityType: 'task'
40
+ })));
43
41
  if (truncation?.wasTruncated && !mergedTruncation) {
44
- mergedTruncation = truncation;
42
+ mergedTruncation = { ...truncation };
45
43
  }
46
44
  }
47
45
  if (entityTypes.includes('projects')) {
48
46
  const { items: projects, truncation } = await this.motionService.searchProjects(args.query, workspace.id, limit);
49
- results.push(...projects);
47
+ results.push(...projects.map(project => ({
48
+ id: project.id,
49
+ name: project.name,
50
+ entityType: 'project'
51
+ })));
50
52
  if (truncation?.wasTruncated && !mergedTruncation) {
51
- mergedTruncation = truncation;
53
+ mergedTruncation = { ...truncation };
52
54
  }
53
55
  }
54
56
  const slicedResults = results.slice(0, limit);
@@ -57,6 +59,8 @@ class SearchHandler extends BaseHandler_1.BaseHandler {
57
59
  mergedTruncation = { wasTruncated: true, returnedCount: slicedResults.length, reason: 'max_items', limit };
58
60
  }
59
61
  else if (mergedTruncation) {
62
+ // A source was truncated but combined results fit within the limit —
63
+ // update returnedCount to reflect the actual number of results returned
60
64
  mergedTruncation.returnedCount = slicedResults.length;
61
65
  }
62
66
  return (0, utils_1.formatSearchResults)(slicedResults, args.query, {
@@ -65,67 +69,17 @@ class SearchHandler extends BaseHandler_1.BaseHandler {
65
69
  truncation: mergedTruncation
66
70
  });
67
71
  }
68
- async handleContextSearch(args) {
69
- if (!args.entityType || !args.entityId) {
70
- return this.handleError(new Error("EntityType and entityId are required for context operation"));
72
+ resolveEntityTypes(args) {
73
+ if (args.entityTypes && args.entityTypes.length > 0) {
74
+ return Array.from(new Set(args.entityTypes));
71
75
  }
72
- const { entityType, entityId, includeRelated = false } = args;
73
- let contextText = `Context for ${entityType} ${entityId}:\n\n`;
74
- // For now, return a simple context message as Motion API doesn't have specific context endpoints
75
- if (entityType === 'project') {
76
- contextText += `Project ID: ${entityId}\n`;
77
- if (includeRelated) {
78
- contextText += `Related tasks would be listed here (when available)\n`;
79
- }
80
- }
81
- else if (entityType === 'task') {
82
- contextText += `Task ID: ${entityId}\n`;
83
- if (includeRelated) {
84
- contextText += `Related project and subtasks would be listed here (when available)\n`;
85
- }
76
+ if (args.searchScope === 'tasks') {
77
+ return ['tasks'];
86
78
  }
87
- return (0, utils_1.formatMcpSuccess)(contextText);
88
- }
89
- async handleSmartSearch(args) {
90
- if (!args.query) {
91
- return this.handleError(new Error("Query is required for smart search"));
92
- }
93
- const { query, entityType, entityId, includeRelated = false } = args;
94
- let contextText = `Smart search results for "${query}":\n\n`;
95
- // Perform content search
96
- const searchResults = await this.handleContentSearch({
97
- query,
98
- entityTypes: args.searchScope === 'tasks' ? ['tasks'] :
99
- args.searchScope === 'projects' ? ['projects'] :
100
- ['tasks', 'projects'],
101
- workspaceId: args.workspaceId,
102
- workspaceName: args.workspaceName
103
- });
104
- contextText += "Content Results:\n";
105
- // Extract text from search results
106
- if ('content' in searchResults && searchResults.content && Array.isArray(searchResults.content)) {
107
- const textContent = searchResults.content.find(item => item.type === 'text');
108
- if (textContent && 'text' in textContent) {
109
- contextText += textContent.text + "\n\n";
110
- }
111
- }
112
- // Add contextual information if entity is specified
113
- if (entityType && entityId) {
114
- contextText += `Context for ${entityType} ${entityId}:\n`;
115
- if (entityType === 'project') {
116
- contextText += `Project ID: ${entityId}\n`;
117
- if (includeRelated) {
118
- contextText += `Related tasks would be listed here (when available)\n`;
119
- }
120
- }
121
- else if (entityType === 'task') {
122
- contextText += `Task ID: ${entityId}\n`;
123
- if (includeRelated) {
124
- contextText += `Related project and subtasks would be listed here (when available)\n`;
125
- }
126
- }
79
+ if (args.searchScope === 'projects') {
80
+ return ['projects'];
127
81
  }
128
- return (0, utils_1.formatMcpSuccess)(contextText);
82
+ return ['tasks', 'projects'];
129
83
  }
130
84
  }
131
85
  exports.SearchHandler = SearchHandler;
@@ -1 +1 @@
1
- {"version":3,"file":"SearchHandler.js","sourceRoot":"","sources":["../../src/handlers/SearchHandler.ts"],"names":[],"mappings":";;;AAAA,oDAAiD;AAGjD,oCAAyE;AAoBzE,MAAa,aAAc,SAAQ,yBAAW;IAC5C,KAAK,CAAC,MAAM,CAAC,IAAsB;QACjC,IAAI,CAAC;YACH,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;YAE3B,QAAO,SAAS,EAAE,CAAC;gBACjB,KAAK,SAAS;oBACZ,OAAO,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAyB,CAAC,CAAC;gBACnE,KAAK,SAAS;oBACZ,OAAO,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAyB,CAAC,CAAC;gBACnE,KAAK,OAAO;oBACV,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAuB,CAAC,CAAC;gBAC/D;oBACE,OAAO,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,IAAuB;QACvD,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC,CAAC;QAC7E,CAAC;QAED,MAAM,WAAW,GAAI,IAAY,CAAC,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACnD,IAAY,CAAC,WAAW,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;gBACzD,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAEzC,wDAAwD;QACxD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,cAAM,CAAC,kBAAkB,CAAC;QAEtD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC;YAC9D,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,aAAa,EAAE,IAAI,CAAC,aAAa;SAClC,CAAC,CAAC;QAEH,IAAI,OAAO,GAAe,EAAE,CAAC;QAC7B,IAAI,gBAA4C,CAAC;QAEjD,IAAI,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAClC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YAC3G,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;YACvB,IAAI,UAAU,EAAE,YAAY,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAClD,gBAAgB,GAAG,UAAU,CAAC;YAChC,CAAC;QACH,CAAC;QAED,IAAI,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YACrC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YACjH,OAAO,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;YAC1B,IAAI,UAAU,EAAE,YAAY,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAClD,gBAAgB,GAAG,UAAU,CAAC;YAChC,CAAC;QACH,CAAC;QAED,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC9C,IAAI,OAAO,CAAC,MAAM,GAAG,KAAK,EAAE,CAAC;YAC3B,8EAA8E;YAC9E,gBAAgB,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;QAC7G,CAAC;aAAM,IAAI,gBAAgB,EAAE,CAAC;YAC5B,gBAAgB,CAAC,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC;QACxD,CAAC;QAED,OAAO,IAAA,2BAAmB,EAAC,aAAa,EAAE,IAAI,CAAC,KAAK,EAAE;YACpD,KAAK;YACL,WAAW,EAAE,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM;YAC5C,UAAU,EAAE,gBAAgB;SAC7B,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,IAAuB;QACvD,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACvC,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC,CAAC;QACnG,CAAC;QAED,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC;QAE9D,IAAI,WAAW,GAAG,eAAe,UAAU,IAAI,QAAQ,OAAO,CAAC;QAE/D,iGAAiG;QACjG,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,WAAW,IAAI,eAAe,QAAQ,IAAI,CAAC;YAC3C,IAAI,cAAc,EAAE,CAAC;gBACnB,WAAW,IAAI,uDAAuD,CAAC;YACzE,CAAC;QACH,CAAC;aAAM,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;YACjC,WAAW,IAAI,YAAY,QAAQ,IAAI,CAAC;YACxC,IAAI,cAAc,EAAE,CAAC;gBACnB,WAAW,IAAI,sEAAsE,CAAC;YACxF,CAAC;QACH,CAAC;QAED,OAAO,IAAA,wBAAgB,EAAC,WAAW,CAAC,CAAC;IACvC,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,IAAqB;QACnD,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC,CAAC;QAC3E,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC;QAErE,IAAI,WAAW,GAAG,6BAA6B,KAAK,QAAQ,CAAC;QAE7D,yBAAyB;QACzB,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC;YACnD,KAAK;YACL,WAAW,EAAE,IAAI,CAAC,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC3C,IAAI,CAAC,WAAW,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;oBAChD,CAAC,OAAO,EAAE,UAAU,CAAC;YACjC,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,aAAa,EAAE,IAAI,CAAC,aAAa;SAClC,CAAC,CAAC;QAEH,WAAW,IAAI,oBAAoB,CAAC;QACpC,mCAAmC;QACnC,IAAI,SAAS,IAAI,aAAa,IAAI,aAAa,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;YAChG,MAAM,WAAW,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;YAC7E,IAAI,WAAW,IAAI,MAAM,IAAI,WAAW,EAAE,CAAC;gBACzC,WAAW,IAAI,WAAW,CAAC,IAAI,GAAG,MAAM,CAAC;YAC3C,CAAC;QACH,CAAC;QAED,oDAAoD;QACpD,IAAI,UAAU,IAAI,QAAQ,EAAE,CAAC;YAC3B,WAAW,IAAI,eAAe,UAAU,IAAI,QAAQ,KAAK,CAAC;YAC1D,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC7B,WAAW,IAAI,eAAe,QAAQ,IAAI,CAAC;gBAC3C,IAAI,cAAc,EAAE,CAAC;oBACnB,WAAW,IAAI,uDAAuD,CAAC;gBACzE,CAAC;YACH,CAAC;iBAAM,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;gBACjC,WAAW,IAAI,YAAY,QAAQ,IAAI,CAAC;gBACxC,IAAI,cAAc,EAAE,CAAC;oBACnB,WAAW,IAAI,sEAAsE,CAAC;gBACxF,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,IAAA,wBAAgB,EAAC,WAAW,CAAC,CAAC;IACvC,CAAC;CACF;AA9ID,sCA8IC"}
1
+ {"version":3,"file":"SearchHandler.js","sourceRoot":"","sources":["../../src/handlers/SearchHandler.ts"],"names":[],"mappings":"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"}
@@ -64,9 +64,9 @@ export declare class TaskHandler extends BaseHandler {
64
64
  */
65
65
  private handleDelete;
66
66
  /**
67
- * Moves a task to a different project and/or workspace.
68
- * Requires either a target project ID or workspace ID (or both).
69
- * @param params - Parameters with taskId and target location
67
+ * Moves a task to a different workspace.
68
+ * Requires a target workspace ID. Optionally reassigns the task.
69
+ * @param params - Parameters with taskId, target workspace, and optional assignee
70
70
  * @returns Success response with moved task info
71
71
  */
72
72
  private handleMove;
@@ -96,11 +96,17 @@ export declare class TaskHandler extends BaseHandler {
96
96
  */
97
97
  private resolveAssignee;
98
98
  /**
99
- * Validate auto-scheduling configuration and provide helpful error messages
99
+ * Parse and validate task duration from user input.
100
+ * Accepts non-negative integer minutes or special values NONE/REMINDER.
101
+ */
102
+ private parseDurationValue;
103
+ /**
104
+ * Validate and normalize auto-scheduling configuration and provide helpful error messages
100
105
  * @param autoScheduled - The autoScheduled configuration
101
106
  * @param workspaceId - The workspace ID for context
107
+ * @returns Normalized autoScheduled object (with canonical schedule casing), or original null/undefined
102
108
  * @throws Error if validation fails with helpful guidance
103
109
  */
104
- private validateAutoScheduling;
110
+ private validateAndNormalizeAutoScheduling;
105
111
  }
106
112
  //# sourceMappingURL=TaskHandler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TaskHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/TaskHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAqFzD;;;;;;;;GAQG;AACH,qBAAa,WAAY,SAAQ,WAAW;IAC1C;;;;OAIG;IACG,MAAM,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;IA6B7D;;;;;;;;;;OAUG;YACW,YAAY;IAqE1B;;;;;;;;;OASG;YACW,UAAU;IAiGxB;;;;OAIG;YACW,SAAS;IASvB;;;;;;;;;OASG;YACW,YAAY;IA8C1B;;;;OAIG;YACW,YAAY;IAS1B;;;;;OAKG;YACW,UAAU;IAYxB;;;;OAIG;YACW,cAAc;IAS5B;;;;;OAKG;YACW,wBAAwB;IAetC;;;;;;;;;;OAUG;YACW,eAAe;IA6C7B;;;;;OAKG;YACW,sBAAsB;CAsFrC"}
1
+ {"version":3,"file":"TaskHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/TaskHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAgGzD;;;;;;;;GAQG;AACH,qBAAa,WAAY,SAAQ,WAAW;IAC1C;;;;OAIG;IACG,MAAM,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;IA6B7D;;;;;;;;;;OAUG;YACW,YAAY;IAiE1B;;;;;;;;;OASG;YACW,UAAU;IA0GxB;;;;OAIG;YACW,SAAS;IASvB;;;;;;;;;OASG;YACW,YAAY;IAqD1B;;;;OAIG;YACW,YAAY;IAS1B;;;;;OAKG;YACW,UAAU;IAexB;;;;OAIG;YACW,cAAc;IAY5B;;;;;OAKG;YACW,wBAAwB;IAetC;;;;;;;;;;OAUG;YACW,eAAe;IAqD7B;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAoB1B;;;;;;OAMG;YACW,kCAAkC;CA4FjD"}