vikunja-mcp-ng 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +123 -0
- package/dist/auth/AuthManager.d.ts +63 -0
- package/dist/auth/AuthManager.d.ts.map +1 -0
- package/dist/auth/AuthManager.js +137 -0
- package/dist/auth/AuthManager.js.map +1 -0
- package/dist/auth/index.d.ts +7 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +14 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/auth/permissions.d.ts +60 -0
- package/dist/auth/permissions.d.ts.map +1 -0
- package/dist/auth/permissions.js +173 -0
- package/dist/auth/permissions.js.map +1 -0
- package/dist/client/VikunjaClientFactory.d.ts +41 -0
- package/dist/client/VikunjaClientFactory.d.ts.map +1 -0
- package/dist/client/VikunjaClientFactory.js +58 -0
- package/dist/client/VikunjaClientFactory.js.map +1 -0
- package/dist/client.d.ts +70 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +136 -0
- package/dist/client.js.map +1 -0
- package/dist/config/ConfigurationManager.d.ts +106 -0
- package/dist/config/ConfigurationManager.d.ts.map +1 -0
- package/dist/config/ConfigurationManager.js +509 -0
- package/dist/config/ConfigurationManager.js.map +1 -0
- package/dist/config/index.d.ts +9 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +36 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/secrets.d.ts +33 -0
- package/dist/config/secrets.d.ts.map +1 -0
- package/dist/config/secrets.js +90 -0
- package/dist/config/secrets.js.map +1 -0
- package/dist/config/types.d.ts +1113 -0
- package/dist/config/types.d.ts.map +1 -0
- package/dist/config/types.js +189 -0
- package/dist/config/types.js.map +1 -0
- package/dist/formatters/BatchImportResponseFormatter.d.ts +89 -0
- package/dist/formatters/BatchImportResponseFormatter.d.ts.map +1 -0
- package/dist/formatters/BatchImportResponseFormatter.js +125 -0
- package/dist/formatters/BatchImportResponseFormatter.js.map +1 -0
- package/dist/index.d.ts +20 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +130 -0
- package/dist/index.js.map +1 -0
- package/dist/middleware/direct-middleware.d.ts +9 -0
- package/dist/middleware/direct-middleware.d.ts.map +1 -0
- package/dist/middleware/direct-middleware.js +49 -0
- package/dist/middleware/direct-middleware.js.map +1 -0
- package/dist/middleware/index.d.ts +8 -0
- package/dist/middleware/index.d.ts.map +1 -0
- package/dist/middleware/index.js +21 -0
- package/dist/middleware/index.js.map +1 -0
- package/dist/middleware/simplified-rate-limit.d.ts +147 -0
- package/dist/middleware/simplified-rate-limit.d.ts.map +1 -0
- package/dist/middleware/simplified-rate-limit.js +533 -0
- package/dist/middleware/simplified-rate-limit.js.map +1 -0
- package/dist/parsers/CSVParser.d.ts +36 -0
- package/dist/parsers/CSVParser.d.ts.map +1 -0
- package/dist/parsers/CSVParser.js +69 -0
- package/dist/parsers/CSVParser.js.map +1 -0
- package/dist/parsers/InputParserFactory.d.ts +17 -0
- package/dist/parsers/InputParserFactory.d.ts.map +1 -0
- package/dist/parsers/InputParserFactory.js +137 -0
- package/dist/parsers/InputParserFactory.js.map +1 -0
- package/dist/parsers/JSONParser.d.ts +74 -0
- package/dist/parsers/JSONParser.d.ts.map +1 -0
- package/dist/parsers/JSONParser.js +69 -0
- package/dist/parsers/JSONParser.js.map +1 -0
- package/dist/services/EntityResolver.d.ts +92 -0
- package/dist/services/EntityResolver.d.ts.map +1 -0
- package/dist/services/EntityResolver.js +201 -0
- package/dist/services/EntityResolver.js.map +1 -0
- package/dist/services/TaskCreationService.d.ts +99 -0
- package/dist/services/TaskCreationService.d.ts.map +1 -0
- package/dist/services/TaskCreationService.js +392 -0
- package/dist/services/TaskCreationService.js.map +1 -0
- package/dist/storage/SimpleFilterStorage.d.ts +103 -0
- package/dist/storage/SimpleFilterStorage.d.ts.map +1 -0
- package/dist/storage/SimpleFilterStorage.js +350 -0
- package/dist/storage/SimpleFilterStorage.js.map +1 -0
- package/dist/storage/filtering/FilterSerializer.d.ts +45 -0
- package/dist/storage/filtering/FilterSerializer.d.ts.map +1 -0
- package/dist/storage/filtering/FilterSerializer.js +171 -0
- package/dist/storage/filtering/FilterSerializer.js.map +1 -0
- package/dist/storage/filtering/FilterValidator.d.ts +59 -0
- package/dist/storage/filtering/FilterValidator.d.ts.map +1 -0
- package/dist/storage/filtering/FilterValidator.js +183 -0
- package/dist/storage/filtering/FilterValidator.js.map +1 -0
- package/dist/storage/index.d.ts +61 -0
- package/dist/storage/index.d.ts.map +1 -0
- package/dist/storage/index.js +125 -0
- package/dist/storage/index.js.map +1 -0
- package/dist/storage/templateFileStore.d.ts +62 -0
- package/dist/storage/templateFileStore.d.ts.map +1 -0
- package/dist/storage/templateFileStore.js +151 -0
- package/dist/storage/templateFileStore.js.map +1 -0
- package/dist/tools/admin.d.ts +51 -0
- package/dist/tools/admin.d.ts.map +1 -0
- package/dist/tools/admin.js +207 -0
- package/dist/tools/admin.js.map +1 -0
- package/dist/tools/auth.d.ts +9 -0
- package/dist/tools/auth.d.ts.map +1 -0
- package/dist/tools/auth.js +175 -0
- package/dist/tools/auth.js.map +1 -0
- package/dist/tools/batch-import.d.ts +5 -0
- package/dist/tools/batch-import.d.ts.map +1 -0
- package/dist/tools/batch-import.js +153 -0
- package/dist/tools/batch-import.js.map +1 -0
- package/dist/tools/caldav-tokens.d.ts +45 -0
- package/dist/tools/caldav-tokens.d.ts.map +1 -0
- package/dist/tools/caldav-tokens.js +93 -0
- package/dist/tools/caldav-tokens.js.map +1 -0
- package/dist/tools/export.d.ts +14 -0
- package/dist/tools/export.d.ts.map +1 -0
- package/dist/tools/export.js +252 -0
- package/dist/tools/export.js.map +1 -0
- package/dist/tools/filters.d.ts +50 -0
- package/dist/tools/filters.d.ts.map +1 -0
- package/dist/tools/filters.js +512 -0
- package/dist/tools/filters.js.map +1 -0
- package/dist/tools/index.d.ts +53 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +217 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/labels.d.ts +22 -0
- package/dist/tools/labels.d.ts.map +1 -0
- package/dist/tools/labels.js +206 -0
- package/dist/tools/labels.js.map +1 -0
- package/dist/tools/notifications.d.ts +17 -0
- package/dist/tools/notifications.d.ts.map +1 -0
- package/dist/tools/notifications.js +171 -0
- package/dist/tools/notifications.js.map +1 -0
- package/dist/tools/projects/backgrounds.d.ts +80 -0
- package/dist/tools/projects/backgrounds.d.ts.map +1 -0
- package/dist/tools/projects/backgrounds.js +154 -0
- package/dist/tools/projects/backgrounds.js.map +1 -0
- package/dist/tools/projects/buckets.d.ts +147 -0
- package/dist/tools/projects/buckets.d.ts.map +1 -0
- package/dist/tools/projects/buckets.js +291 -0
- package/dist/tools/projects/buckets.js.map +1 -0
- package/dist/tools/projects/crud.d.ts +145 -0
- package/dist/tools/projects/crud.d.ts.map +1 -0
- package/dist/tools/projects/crud.js +425 -0
- package/dist/tools/projects/crud.js.map +1 -0
- package/dist/tools/projects/duplicate.d.ts +41 -0
- package/dist/tools/projects/duplicate.d.ts.map +1 -0
- package/dist/tools/projects/duplicate.js +49 -0
- package/dist/tools/projects/duplicate.js.map +1 -0
- package/dist/tools/projects/hierarchy.d.ts +77 -0
- package/dist/tools/projects/hierarchy.d.ts.map +1 -0
- package/dist/tools/projects/hierarchy.js +300 -0
- package/dist/tools/projects/hierarchy.js.map +1 -0
- package/dist/tools/projects/index.d.ts +34 -0
- package/dist/tools/projects/index.d.ts.map +1 -0
- package/dist/tools/projects/index.js +522 -0
- package/dist/tools/projects/index.js.map +1 -0
- package/dist/tools/projects/permission.d.ts +26 -0
- package/dist/tools/projects/permission.d.ts.map +1 -0
- package/dist/tools/projects/permission.js +53 -0
- package/dist/tools/projects/permission.js.map +1 -0
- package/dist/tools/projects/response-formatter.d.ts +54 -0
- package/dist/tools/projects/response-formatter.d.ts.map +1 -0
- package/dist/tools/projects/response-formatter.js +139 -0
- package/dist/tools/projects/response-formatter.js.map +1 -0
- package/dist/tools/projects/sharing-access.d.ts +165 -0
- package/dist/tools/projects/sharing-access.d.ts.map +1 -0
- package/dist/tools/projects/sharing-access.js +450 -0
- package/dist/tools/projects/sharing-access.js.map +1 -0
- package/dist/tools/projects/sharing.d.ts +105 -0
- package/dist/tools/projects/sharing.d.ts.map +1 -0
- package/dist/tools/projects/sharing.js +258 -0
- package/dist/tools/projects/sharing.js.map +1 -0
- package/dist/tools/projects/validation.d.ts +51 -0
- package/dist/tools/projects/validation.d.ts.map +1 -0
- package/dist/tools/projects/validation.js +160 -0
- package/dist/tools/projects/validation.js.map +1 -0
- package/dist/tools/projects/views.d.ts +161 -0
- package/dist/tools/projects/views.d.ts.map +1 -0
- package/dist/tools/projects/views.js +234 -0
- package/dist/tools/projects/views.js.map +1 -0
- package/dist/tools/projects.d.ts +20 -0
- package/dist/tools/projects.d.ts.map +1 -0
- package/dist/tools/projects.js +66 -0
- package/dist/tools/projects.js.map +1 -0
- package/dist/tools/reactions.d.ts +25 -0
- package/dist/tools/reactions.d.ts.map +1 -0
- package/dist/tools/reactions.js +108 -0
- package/dist/tools/reactions.js.map +1 -0
- package/dist/tools/subscriptions.d.ts +23 -0
- package/dist/tools/subscriptions.d.ts.map +1 -0
- package/dist/tools/subscriptions.js +111 -0
- package/dist/tools/subscriptions.js.map +1 -0
- package/dist/tools/task-assignees.d.ts +13 -0
- package/dist/tools/task-assignees.d.ts.map +1 -0
- package/dist/tools/task-assignees.js +74 -0
- package/dist/tools/task-assignees.js.map +1 -0
- package/dist/tools/task-bulk.d.ts +13 -0
- package/dist/tools/task-bulk.d.ts.map +1 -0
- package/dist/tools/task-bulk.js +117 -0
- package/dist/tools/task-bulk.js.map +1 -0
- package/dist/tools/task-comments.d.ts +12 -0
- package/dist/tools/task-comments.d.ts.map +1 -0
- package/dist/tools/task-comments.js +65 -0
- package/dist/tools/task-comments.js.map +1 -0
- package/dist/tools/task-crud.d.ts +13 -0
- package/dist/tools/task-crud.d.ts.map +1 -0
- package/dist/tools/task-crud.js +168 -0
- package/dist/tools/task-crud.js.map +1 -0
- package/dist/tools/task-labels.d.ts +13 -0
- package/dist/tools/task-labels.d.ts.map +1 -0
- package/dist/tools/task-labels.js +64 -0
- package/dist/tools/task-labels.js.map +1 -0
- package/dist/tools/task-relations.d.ts +13 -0
- package/dist/tools/task-relations.d.ts.map +1 -0
- package/dist/tools/task-relations.js +74 -0
- package/dist/tools/task-relations.js.map +1 -0
- package/dist/tools/task-reminders.d.ts +13 -0
- package/dist/tools/task-reminders.d.ts.map +1 -0
- package/dist/tools/task-reminders.js +69 -0
- package/dist/tools/task-reminders.js.map +1 -0
- package/dist/tools/tasks/assignees/AssigneeOperationsService.d.ts +63 -0
- package/dist/tools/tasks/assignees/AssigneeOperationsService.d.ts.map +1 -0
- package/dist/tools/tasks/assignees/AssigneeOperationsService.js +152 -0
- package/dist/tools/tasks/assignees/AssigneeOperationsService.js.map +1 -0
- package/dist/tools/tasks/assignees/AssigneeResponseFormatter.d.ts +28 -0
- package/dist/tools/tasks/assignees/AssigneeResponseFormatter.d.ts.map +1 -0
- package/dist/tools/tasks/assignees/AssigneeResponseFormatter.js +73 -0
- package/dist/tools/tasks/assignees/AssigneeResponseFormatter.js.map +1 -0
- package/dist/tools/tasks/assignees/AssigneeValidationService.d.ts +46 -0
- package/dist/tools/tasks/assignees/AssigneeValidationService.d.ts.map +1 -0
- package/dist/tools/tasks/assignees/AssigneeValidationService.js +70 -0
- package/dist/tools/tasks/assignees/AssigneeValidationService.js.map +1 -0
- package/dist/tools/tasks/assignees/index.d.ts +52 -0
- package/dist/tools/tasks/assignees/index.d.ts.map +1 -0
- package/dist/tools/tasks/assignees/index.js +103 -0
- package/dist/tools/tasks/assignees/index.js.map +1 -0
- package/dist/tools/tasks/attach.d.ts +39 -0
- package/dist/tools/tasks/attach.d.ts.map +1 -0
- package/dist/tools/tasks/attach.js +90 -0
- package/dist/tools/tasks/attach.js.map +1 -0
- package/dist/tools/tasks/attachments.d.ts +67 -0
- package/dist/tools/tasks/attachments.d.ts.map +1 -0
- package/dist/tools/tasks/attachments.js +153 -0
- package/dist/tools/tasks/attachments.js.map +1 -0
- package/dist/tools/tasks/buckets.d.ts +41 -0
- package/dist/tools/tasks/buckets.d.ts.map +1 -0
- package/dist/tools/tasks/buckets.js +75 -0
- package/dist/tools/tasks/buckets.js.map +1 -0
- package/dist/tools/tasks/bulk/BatchProcessorFactory.d.ts +30 -0
- package/dist/tools/tasks/bulk/BatchProcessorFactory.d.ts.map +1 -0
- package/dist/tools/tasks/bulk/BatchProcessorFactory.js +69 -0
- package/dist/tools/tasks/bulk/BatchProcessorFactory.js.map +1 -0
- package/dist/tools/tasks/bulk/BulkOperationErrorHandler.d.ts +50 -0
- package/dist/tools/tasks/bulk/BulkOperationErrorHandler.d.ts.map +1 -0
- package/dist/tools/tasks/bulk/BulkOperationErrorHandler.js +183 -0
- package/dist/tools/tasks/bulk/BulkOperationErrorHandler.js.map +1 -0
- package/dist/tools/tasks/bulk/BulkOperationProcessor.d.ts +101 -0
- package/dist/tools/tasks/bulk/BulkOperationProcessor.d.ts.map +1 -0
- package/dist/tools/tasks/bulk/BulkOperationProcessor.js +416 -0
- package/dist/tools/tasks/bulk/BulkOperationProcessor.js.map +1 -0
- package/dist/tools/tasks/bulk/BulkOperationTypes.d.ts +50 -0
- package/dist/tools/tasks/bulk/BulkOperationTypes.d.ts.map +1 -0
- package/dist/tools/tasks/bulk/BulkOperationTypes.js +6 -0
- package/dist/tools/tasks/bulk/BulkOperationTypes.js.map +1 -0
- package/dist/tools/tasks/bulk/BulkOperationValidator.d.ts +53 -0
- package/dist/tools/tasks/bulk/BulkOperationValidator.d.ts.map +1 -0
- package/dist/tools/tasks/bulk/BulkOperationValidator.js +216 -0
- package/dist/tools/tasks/bulk/BulkOperationValidator.js.map +1 -0
- package/dist/tools/tasks/bulk/index.d.ts +9 -0
- package/dist/tools/tasks/bulk/index.d.ts.map +1 -0
- package/dist/tools/tasks/bulk/index.js +15 -0
- package/dist/tools/tasks/bulk/index.js.map +1 -0
- package/dist/tools/tasks/bulk-operations-simplified.d.ts +62 -0
- package/dist/tools/tasks/bulk-operations-simplified.d.ts.map +1 -0
- package/dist/tools/tasks/bulk-operations-simplified.js +416 -0
- package/dist/tools/tasks/bulk-operations-simplified.js.map +1 -0
- package/dist/tools/tasks/bulk-operations.d.ts +8 -0
- package/dist/tools/tasks/bulk-operations.d.ts.map +1 -0
- package/dist/tools/tasks/bulk-operations.js +13 -0
- package/dist/tools/tasks/bulk-operations.js.map +1 -0
- package/dist/tools/tasks/by-index.d.ts +36 -0
- package/dist/tools/tasks/by-index.d.ts.map +1 -0
- package/dist/tools/tasks/by-index.js +52 -0
- package/dist/tools/tasks/by-index.js.map +1 -0
- package/dist/tools/tasks/comments/CommentOperationsService.d.ts +44 -0
- package/dist/tools/tasks/comments/CommentOperationsService.d.ts.map +1 -0
- package/dist/tools/tasks/comments/CommentOperationsService.js +86 -0
- package/dist/tools/tasks/comments/CommentOperationsService.js.map +1 -0
- package/dist/tools/tasks/comments/CommentResponseFormatter.d.ts +41 -0
- package/dist/tools/tasks/comments/CommentResponseFormatter.d.ts.map +1 -0
- package/dist/tools/tasks/comments/CommentResponseFormatter.js +114 -0
- package/dist/tools/tasks/comments/CommentResponseFormatter.js.map +1 -0
- package/dist/tools/tasks/comments/CommentValidationService.d.ts +62 -0
- package/dist/tools/tasks/comments/CommentValidationService.d.ts.map +1 -0
- package/dist/tools/tasks/comments/CommentValidationService.js +105 -0
- package/dist/tools/tasks/comments/CommentValidationService.js.map +1 -0
- package/dist/tools/tasks/comments/index.d.ts +66 -0
- package/dist/tools/tasks/comments/index.d.ts.map +1 -0
- package/dist/tools/tasks/comments/index.js +99 -0
- package/dist/tools/tasks/comments/index.js.map +1 -0
- package/dist/tools/tasks/constants.d.ts +19 -0
- package/dist/tools/tasks/constants.d.ts.map +1 -0
- package/dist/tools/tasks/constants.js +82 -0
- package/dist/tools/tasks/constants.js.map +1 -0
- package/dist/tools/tasks/crud/TaskCreationService.d.ts +29 -0
- package/dist/tools/tasks/crud/TaskCreationService.d.ts.map +1 -0
- package/dist/tools/tasks/crud/TaskCreationService.js +274 -0
- package/dist/tools/tasks/crud/TaskCreationService.js.map +1 -0
- package/dist/tools/tasks/crud/TaskDeletionService.d.ts +19 -0
- package/dist/tools/tasks/crud/TaskDeletionService.d.ts.map +1 -0
- package/dist/tools/tasks/crud/TaskDeletionService.js +96 -0
- package/dist/tools/tasks/crud/TaskDeletionService.js.map +1 -0
- package/dist/tools/tasks/crud/TaskReadService.d.ts +19 -0
- package/dist/tools/tasks/crud/TaskReadService.d.ts.map +1 -0
- package/dist/tools/tasks/crud/TaskReadService.js +66 -0
- package/dist/tools/tasks/crud/TaskReadService.js.map +1 -0
- package/dist/tools/tasks/crud/TaskResponseFormatter.d.ts +18 -0
- package/dist/tools/tasks/crud/TaskResponseFormatter.d.ts.map +1 -0
- package/dist/tools/tasks/crud/TaskResponseFormatter.js +248 -0
- package/dist/tools/tasks/crud/TaskResponseFormatter.js.map +1 -0
- package/dist/tools/tasks/crud/TaskUpdateService.d.ts +33 -0
- package/dist/tools/tasks/crud/TaskUpdateService.d.ts.map +1 -0
- package/dist/tools/tasks/crud/TaskUpdateService.js +294 -0
- package/dist/tools/tasks/crud/TaskUpdateService.js.map +1 -0
- package/dist/tools/tasks/crud/index.d.ts +17 -0
- package/dist/tools/tasks/crud/index.d.ts.map +1 -0
- package/dist/tools/tasks/crud/index.js +20 -0
- package/dist/tools/tasks/crud/index.js.map +1 -0
- package/dist/tools/tasks/duplicate.d.ts +28 -0
- package/dist/tools/tasks/duplicate.d.ts.map +1 -0
- package/dist/tools/tasks/duplicate.js +41 -0
- package/dist/tools/tasks/duplicate.js.map +1 -0
- package/dist/tools/tasks/filtering/FilterExecutor.d.ts +39 -0
- package/dist/tools/tasks/filtering/FilterExecutor.d.ts.map +1 -0
- package/dist/tools/tasks/filtering/FilterExecutor.js +214 -0
- package/dist/tools/tasks/filtering/FilterExecutor.js.map +1 -0
- package/dist/tools/tasks/filtering/FilterValidator.d.ts +59 -0
- package/dist/tools/tasks/filtering/FilterValidator.d.ts.map +1 -0
- package/dist/tools/tasks/filtering/FilterValidator.js +257 -0
- package/dist/tools/tasks/filtering/FilterValidator.js.map +1 -0
- package/dist/tools/tasks/filtering/TaskFilteringOrchestrator.d.ts +78 -0
- package/dist/tools/tasks/filtering/TaskFilteringOrchestrator.d.ts.map +1 -0
- package/dist/tools/tasks/filtering/TaskFilteringOrchestrator.js +195 -0
- package/dist/tools/tasks/filtering/TaskFilteringOrchestrator.js.map +1 -0
- package/dist/tools/tasks/filtering/evaluators.d.ts +41 -0
- package/dist/tools/tasks/filtering/evaluators.d.ts.map +1 -0
- package/dist/tools/tasks/filtering/evaluators.js +224 -0
- package/dist/tools/tasks/filtering/evaluators.js.map +1 -0
- package/dist/tools/tasks/filtering/index.d.ts +11 -0
- package/dist/tools/tasks/filtering/index.d.ts.map +1 -0
- package/dist/tools/tasks/filtering/index.js +26 -0
- package/dist/tools/tasks/filtering/index.js.map +1 -0
- package/dist/tools/tasks/index.d.ts +9 -0
- package/dist/tools/tasks/index.d.ts.map +1 -0
- package/dist/tools/tasks/index.js +337 -0
- package/dist/tools/tasks/index.js.map +1 -0
- package/dist/tools/tasks/labels.d.ts +49 -0
- package/dist/tools/tasks/labels.d.ts.map +1 -0
- package/dist/tools/tasks/labels.js +223 -0
- package/dist/tools/tasks/labels.js.map +1 -0
- package/dist/tools/tasks/mark-read.d.ts +27 -0
- package/dist/tools/tasks/mark-read.d.ts.map +1 -0
- package/dist/tools/tasks/mark-read.js +38 -0
- package/dist/tools/tasks/mark-read.js.map +1 -0
- package/dist/tools/tasks/position.d.ts +53 -0
- package/dist/tools/tasks/position.d.ts.map +1 -0
- package/dist/tools/tasks/position.js +83 -0
- package/dist/tools/tasks/position.js.map +1 -0
- package/dist/tools/tasks/reminders.d.ts +56 -0
- package/dist/tools/tasks/reminders.d.ts.map +1 -0
- package/dist/tools/tasks/reminders.js +213 -0
- package/dist/tools/tasks/reminders.js.map +1 -0
- package/dist/tools/tasks/subtasks.d.ts +85 -0
- package/dist/tools/tasks/subtasks.d.ts.map +1 -0
- package/dist/tools/tasks/subtasks.js +286 -0
- package/dist/tools/tasks/subtasks.js.map +1 -0
- package/dist/tools/tasks/types/filters.d.ts +136 -0
- package/dist/tools/tasks/types/filters.d.ts.map +1 -0
- package/dist/tools/tasks/types/filters.js +7 -0
- package/dist/tools/tasks/types/filters.js.map +1 -0
- package/dist/tools/tasks/validation.d.ts +47 -0
- package/dist/tools/tasks/validation.d.ts.map +1 -0
- package/dist/tools/tasks/validation.js +131 -0
- package/dist/tools/tasks/validation.js.map +1 -0
- package/dist/tools/tasks-relations.d.ts +25 -0
- package/dist/tools/tasks-relations.d.ts.map +1 -0
- package/dist/tools/tasks-relations.js +271 -0
- package/dist/tools/tasks-relations.js.map +1 -0
- package/dist/tools/tasks.d.ts +6 -0
- package/dist/tools/tasks.d.ts.map +1 -0
- package/dist/tools/tasks.js +10 -0
- package/dist/tools/tasks.js.map +1 -0
- package/dist/tools/teams.d.ts +9 -0
- package/dist/tools/teams.d.ts.map +1 -0
- package/dist/tools/teams.js +255 -0
- package/dist/tools/teams.js.map +1 -0
- package/dist/tools/templates.d.ts +9 -0
- package/dist/tools/templates.d.ts.map +1 -0
- package/dist/tools/templates.js +450 -0
- package/dist/tools/templates.js.map +1 -0
- package/dist/tools/tokens.d.ts +37 -0
- package/dist/tools/tokens.d.ts.map +1 -0
- package/dist/tools/tokens.js +122 -0
- package/dist/tools/tokens.js.map +1 -0
- package/dist/tools/user-deletion.d.ts +41 -0
- package/dist/tools/user-deletion.d.ts.map +1 -0
- package/dist/tools/user-deletion.js +126 -0
- package/dist/tools/user-deletion.js.map +1 -0
- package/dist/tools/users.d.ts +9 -0
- package/dist/tools/users.d.ts.map +1 -0
- package/dist/tools/users.js +418 -0
- package/dist/tools/users.js.map +1 -0
- package/dist/tools/webhooks.d.ts +31 -0
- package/dist/tools/webhooks.d.ts.map +1 -0
- package/dist/tools/webhooks.js +414 -0
- package/dist/tools/webhooks.js.map +1 -0
- package/dist/transforms/base.d.ts +204 -0
- package/dist/transforms/base.d.ts.map +1 -0
- package/dist/transforms/base.js +175 -0
- package/dist/transforms/base.js.map +1 -0
- package/dist/transforms/field-selector.d.ts +27 -0
- package/dist/transforms/field-selector.d.ts.map +1 -0
- package/dist/transforms/field-selector.js +91 -0
- package/dist/transforms/field-selector.js.map +1 -0
- package/dist/transforms/index.d.ts +15 -0
- package/dist/transforms/index.d.ts.map +1 -0
- package/dist/transforms/index.js +50 -0
- package/dist/transforms/index.js.map +1 -0
- package/dist/transforms/size-calculator.d.ts +131 -0
- package/dist/transforms/size-calculator.d.ts.map +1 -0
- package/dist/transforms/size-calculator.js +284 -0
- package/dist/transforms/size-calculator.js.map +1 -0
- package/dist/transforms/task.d.ts +207 -0
- package/dist/transforms/task.d.ts.map +1 -0
- package/dist/transforms/task.js +259 -0
- package/dist/transforms/task.js.map +1 -0
- package/dist/types/errors.d.ts +65 -0
- package/dist/types/errors.d.ts.map +1 -0
- package/dist/types/errors.js +44 -0
- package/dist/types/errors.js.map +1 -0
- package/dist/types/filters.d.ts +149 -0
- package/dist/types/filters.d.ts.map +1 -0
- package/dist/types/filters.js +26 -0
- package/dist/types/filters.js.map +1 -0
- package/dist/types/index.d.ts +147 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +24 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/node-vikunja-extended.d.ts +36 -0
- package/dist/types/node-vikunja-extended.d.ts.map +1 -0
- package/dist/types/node-vikunja-extended.js +25 -0
- package/dist/types/node-vikunja-extended.js.map +1 -0
- package/dist/types/responses.d.ts +121 -0
- package/dist/types/responses.d.ts.map +1 -0
- package/dist/types/responses.js +26 -0
- package/dist/types/responses.js.map +1 -0
- package/dist/types/vikunja.d.ts +319 -0
- package/dist/types/vikunja.d.ts.map +1 -0
- package/dist/types/vikunja.js +7 -0
- package/dist/types/vikunja.js.map +1 -0
- package/dist/utils/auth-error-handler.d.ts +23 -0
- package/dist/utils/auth-error-handler.d.ts.map +1 -0
- package/dist/utils/auth-error-handler.js +162 -0
- package/dist/utils/auth-error-handler.js.map +1 -0
- package/dist/utils/composite-operation.d.ts +184 -0
- package/dist/utils/composite-operation.d.ts.map +1 -0
- package/dist/utils/composite-operation.js +293 -0
- package/dist/utils/composite-operation.js.map +1 -0
- package/dist/utils/error-handler.d.ts +39 -0
- package/dist/utils/error-handler.d.ts.map +1 -0
- package/dist/utils/error-handler.js +336 -0
- package/dist/utils/error-handler.js.map +1 -0
- package/dist/utils/filtering/ClientSideFilteringStrategy.d.ts +13 -0
- package/dist/utils/filtering/ClientSideFilteringStrategy.d.ts.map +1 -0
- package/dist/utils/filtering/ClientSideFilteringStrategy.js +129 -0
- package/dist/utils/filtering/ClientSideFilteringStrategy.js.map +1 -0
- package/dist/utils/filtering/FilteringContext.d.ts +40 -0
- package/dist/utils/filtering/FilteringContext.d.ts.map +1 -0
- package/dist/utils/filtering/FilteringContext.js +58 -0
- package/dist/utils/filtering/FilteringContext.js.map +1 -0
- package/dist/utils/filtering/HybridFilteringStrategy.d.ts +15 -0
- package/dist/utils/filtering/HybridFilteringStrategy.d.ts.map +1 -0
- package/dist/utils/filtering/HybridFilteringStrategy.js +55 -0
- package/dist/utils/filtering/HybridFilteringStrategy.js.map +1 -0
- package/dist/utils/filtering/RestCrossProjectFilteringStrategy.d.ts +42 -0
- package/dist/utils/filtering/RestCrossProjectFilteringStrategy.d.ts.map +1 -0
- package/dist/utils/filtering/RestCrossProjectFilteringStrategy.js +120 -0
- package/dist/utils/filtering/RestCrossProjectFilteringStrategy.js.map +1 -0
- package/dist/utils/filtering/ServerSideFilteringStrategy.d.ts +13 -0
- package/dist/utils/filtering/ServerSideFilteringStrategy.d.ts.map +1 -0
- package/dist/utils/filtering/ServerSideFilteringStrategy.js +88 -0
- package/dist/utils/filtering/ServerSideFilteringStrategy.js.map +1 -0
- package/dist/utils/filtering/TaskFilteringStrategy.d.ts +19 -0
- package/dist/utils/filtering/TaskFilteringStrategy.d.ts.map +1 -0
- package/dist/utils/filtering/TaskFilteringStrategy.js +10 -0
- package/dist/utils/filtering/TaskFilteringStrategy.js.map +1 -0
- package/dist/utils/filtering/index.d.ts +14 -0
- package/dist/utils/filtering/index.d.ts.map +1 -0
- package/dist/utils/filtering/index.js +22 -0
- package/dist/utils/filtering/index.js.map +1 -0
- package/dist/utils/filtering/types.d.ts +108 -0
- package/dist/utils/filtering/types.d.ts.map +1 -0
- package/dist/utils/filtering/types.js +6 -0
- package/dist/utils/filtering/types.js.map +1 -0
- package/dist/utils/filters.d.ts +70 -0
- package/dist/utils/filters.d.ts.map +1 -0
- package/dist/utils/filters.js +812 -0
- package/dist/utils/filters.js.map +1 -0
- package/dist/utils/http-error-detail.d.ts +28 -0
- package/dist/utils/http-error-detail.d.ts.map +1 -0
- package/dist/utils/http-error-detail.js +67 -0
- package/dist/utils/http-error-detail.js.map +1 -0
- package/dist/utils/label-bulk.d.ts +21 -0
- package/dist/utils/label-bulk.d.ts.map +1 -0
- package/dist/utils/label-bulk.js +51 -0
- package/dist/utils/label-bulk.js.map +1 -0
- package/dist/utils/logger.d.ts +20 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +66 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/memory.d.ts +73 -0
- package/dist/utils/memory.d.ts.map +1 -0
- package/dist/utils/memory.js +194 -0
- package/dist/utils/memory.js.map +1 -0
- package/dist/utils/performance/batch-processor.d.ts +77 -0
- package/dist/utils/performance/batch-processor.d.ts.map +1 -0
- package/dist/utils/performance/batch-processor.js +218 -0
- package/dist/utils/performance/batch-processor.js.map +1 -0
- package/dist/utils/performance/index.d.ts +42 -0
- package/dist/utils/performance/index.d.ts.map +1 -0
- package/dist/utils/performance/index.js +49 -0
- package/dist/utils/performance/index.js.map +1 -0
- package/dist/utils/performance/performance-monitor.d.ts +116 -0
- package/dist/utils/performance/performance-monitor.d.ts.map +1 -0
- package/dist/utils/performance/performance-monitor.js +307 -0
- package/dist/utils/performance/performance-monitor.js.map +1 -0
- package/dist/utils/read-only.d.ts +111 -0
- package/dist/utils/read-only.d.ts.map +1 -0
- package/dist/utils/read-only.js +503 -0
- package/dist/utils/read-only.js.map +1 -0
- package/dist/utils/response-factory.d.ts +81 -0
- package/dist/utils/response-factory.d.ts.map +1 -0
- package/dist/utils/response-factory.js +86 -0
- package/dist/utils/response-factory.js.map +1 -0
- package/dist/utils/retry.d.ts +160 -0
- package/dist/utils/retry.d.ts.map +1 -0
- package/dist/utils/retry.js +316 -0
- package/dist/utils/retry.js.map +1 -0
- package/dist/utils/security.d.ts +70 -0
- package/dist/utils/security.d.ts.map +1 -0
- package/dist/utils/security.js +358 -0
- package/dist/utils/security.js.map +1 -0
- package/dist/utils/simple-response.d.ts +75 -0
- package/dist/utils/simple-response.d.ts.map +1 -0
- package/dist/utils/simple-response.js +311 -0
- package/dist/utils/simple-response.js.map +1 -0
- package/dist/utils/storage-errors.d.ts +9 -0
- package/dist/utils/storage-errors.d.ts.map +1 -0
- package/dist/utils/storage-errors.js +20 -0
- package/dist/utils/storage-errors.js.map +1 -0
- package/dist/utils/task-rest-transport.d.ts +28 -0
- package/dist/utils/task-rest-transport.d.ts.map +1 -0
- package/dist/utils/task-rest-transport.js +33 -0
- package/dist/utils/task-rest-transport.js.map +1 -0
- package/dist/utils/unicode-fix.d.ts +19 -0
- package/dist/utils/unicode-fix.d.ts.map +1 -0
- package/dist/utils/unicode-fix.js +70 -0
- package/dist/utils/unicode-fix.js.map +1 -0
- package/dist/utils/validation.d.ts +75 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/dist/utils/validation.js +758 -0
- package/dist/utils/validation.js.map +1 -0
- package/dist/utils/vikunja-rest.d.ts +159 -0
- package/dist/utils/vikunja-rest.d.ts.map +1 -0
- package/dist/utils/vikunja-rest.js +378 -0
- package/dist/utils/vikunja-rest.js.map +1 -0
- package/docs/CONFIGURATION.md +957 -0
- package/docs/DOCKER-DESKTOP-MCP.md +207 -0
- package/docs/TOOLS.md +422 -0
- package/package.json +145 -0
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Task Response Formatter
|
|
3
|
+
* Centralizes AORP response formatting logic for task operations
|
|
4
|
+
*/
|
|
5
|
+
import { type TaskResponseData, type TaskResponseMetadata, type AorpBuilderConfig } from '../../../types';
|
|
6
|
+
import type { AorpFactoryResult } from '../../../types';
|
|
7
|
+
/**
|
|
8
|
+
* Creates an AORP response for task operations with optimized configuration
|
|
9
|
+
*/
|
|
10
|
+
export declare function createTaskResponse(operation: string, message: string, _data: TaskResponseData, _metadata?: TaskResponseMetadata, _verbosity?: string, // Explicit per-call override; falls back to VIKUNJA_RESPONSE_VERBOSITY (or 'standard') when not provided
|
|
11
|
+
_useOptimizedFormat?: boolean, // Parameter kept for backward compatibility but ignored
|
|
12
|
+
_useAorp?: boolean, // Parameter kept for backward compatibility but ignored
|
|
13
|
+
_aorpConfig?: AorpBuilderConfig, _sessionId?: string): AorpFactoryResult;
|
|
14
|
+
/**
|
|
15
|
+
* Creates an AORP error response for task operations
|
|
16
|
+
*/
|
|
17
|
+
export declare function createTaskErrorResponse(operation: string, error: Error | Record<string, unknown>, metadata?: TaskResponseMetadata): AorpFactoryResult;
|
|
18
|
+
//# sourceMappingURL=TaskResponseFormatter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TaskResponseFormatter.d.ts","sourceRoot":"","sources":["../../../../src/tools/tasks/crud/TaskResponseFormatter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,oBAAoB,EAAE,KAAK,iBAAiB,EAA2B,MAAM,gBAAgB,CAAC;AAGnI,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAoExD;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,gBAAgB,EACvB,SAAS,GAAE,oBAEV,EACD,UAAU,CAAC,EAAE,MAAM,EAAE,yGAAyG;AAC9H,mBAAmB,CAAC,EAAE,OAAO,EAAE,wDAAwD;AACvF,QAAQ,CAAC,EAAE,OAAO,EAAE,wDAAwD;AAC5E,WAAW,CAAC,EAAE,iBAAiB,EAC/B,UAAU,CAAC,EAAE,MAAM,GAClB,iBAAiB,CA8GnB;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACtC,QAAQ,GAAE,oBAET,GACA,iBAAiB,CAuEnB"}
|
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Task Response Formatter
|
|
4
|
+
* Centralizes AORP response formatting logic for task operations
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.createTaskResponse = createTaskResponse;
|
|
8
|
+
exports.createTaskErrorResponse = createTaskErrorResponse;
|
|
9
|
+
const response_factory_1 = require("../../../utils/response-factory");
|
|
10
|
+
const base_1 = require("../../../transforms/base");
|
|
11
|
+
/**
|
|
12
|
+
* AORP configuration generator for different operations
|
|
13
|
+
* Creates optimized AORP configurations based on operation type
|
|
14
|
+
*/
|
|
15
|
+
function generateAorpConfig(_operation, _data, _verbosity) {
|
|
16
|
+
// Base configuration
|
|
17
|
+
const baseConfig = {
|
|
18
|
+
confidenceMethod: 'adaptive',
|
|
19
|
+
// Next steps and quality indicators are always enabled
|
|
20
|
+
confidenceWeights: {
|
|
21
|
+
success: 0.4,
|
|
22
|
+
dataSize: 0.2,
|
|
23
|
+
responseTime: 0.2,
|
|
24
|
+
completeness: 0.2
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
// Operation-specific adjustments
|
|
28
|
+
switch (_operation) {
|
|
29
|
+
case 'create-task':
|
|
30
|
+
return {
|
|
31
|
+
...baseConfig,
|
|
32
|
+
confidenceWeights: {
|
|
33
|
+
success: 0.5,
|
|
34
|
+
dataSize: 0.1,
|
|
35
|
+
responseTime: 0.2,
|
|
36
|
+
completeness: 0.2
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
case 'bulk-create-tasks':
|
|
40
|
+
case 'bulk-update-tasks':
|
|
41
|
+
case 'bulk-delete-tasks':
|
|
42
|
+
return {
|
|
43
|
+
...baseConfig,
|
|
44
|
+
confidenceWeights: {
|
|
45
|
+
success: 0.6,
|
|
46
|
+
dataSize: 0.3,
|
|
47
|
+
responseTime: 0.1,
|
|
48
|
+
completeness: 0.0
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
case 'list-tasks':
|
|
52
|
+
return {
|
|
53
|
+
...baseConfig,
|
|
54
|
+
confidenceWeights: {
|
|
55
|
+
success: 0.3,
|
|
56
|
+
dataSize: 0.4,
|
|
57
|
+
responseTime: 0.2,
|
|
58
|
+
completeness: 0.1
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
default:
|
|
62
|
+
return baseConfig;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Creates an AORP response for task operations with optimized configuration
|
|
67
|
+
*/
|
|
68
|
+
function createTaskResponse(operation, message, _data, _metadata = {
|
|
69
|
+
timestamp: new Date().toISOString()
|
|
70
|
+
}, _verbosity, // Explicit per-call override; falls back to VIKUNJA_RESPONSE_VERBOSITY (or 'standard') when not provided
|
|
71
|
+
_useOptimizedFormat, // Parameter kept for backward compatibility but ignored
|
|
72
|
+
_useAorp, // Parameter kept for backward compatibility but ignored
|
|
73
|
+
_aorpConfig, _sessionId) {
|
|
74
|
+
// An explicit per-call verbosity always takes precedence over the
|
|
75
|
+
// VIKUNJA_RESPONSE_VERBOSITY environment default.
|
|
76
|
+
const effectiveVerbosity = _verbosity ?? (0, base_1.getDefaultVerbosity)();
|
|
77
|
+
// Use resolved AORP configuration
|
|
78
|
+
generateAorpConfig(operation, _data, effectiveVerbosity);
|
|
79
|
+
// For task operations, use specialized task AORP response
|
|
80
|
+
const taskData = _data.task || _data.tasks;
|
|
81
|
+
if (taskData) {
|
|
82
|
+
// Convert Task | Task[] to proper ResponseData format
|
|
83
|
+
const formattedTaskData = Array.isArray(taskData) ? { tasks: taskData } : taskData;
|
|
84
|
+
const taskResult = (0, response_factory_1.createTaskAorpResponse)(operation, message, formattedTaskData, _metadata);
|
|
85
|
+
// Add transformation property for compatibility
|
|
86
|
+
const mockOptimizedResponse = {
|
|
87
|
+
success: true,
|
|
88
|
+
operation,
|
|
89
|
+
message,
|
|
90
|
+
data: taskData,
|
|
91
|
+
metadata: {
|
|
92
|
+
timestamp: new Date().toISOString(),
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
return {
|
|
96
|
+
response: taskResult,
|
|
97
|
+
transformation: {
|
|
98
|
+
originalResponse: mockOptimizedResponse,
|
|
99
|
+
context: {
|
|
100
|
+
operation,
|
|
101
|
+
success: true,
|
|
102
|
+
dataSize: JSON.stringify(taskData).length,
|
|
103
|
+
processingTime: 0,
|
|
104
|
+
verbosity: effectiveVerbosity,
|
|
105
|
+
verbosityLevel: 'simple',
|
|
106
|
+
complexityFactors: {
|
|
107
|
+
dataSize: JSON.stringify(taskData).length >= 1024,
|
|
108
|
+
hasWarnings: false,
|
|
109
|
+
hasErrors: false,
|
|
110
|
+
isBulkOperation: false,
|
|
111
|
+
isPartialSuccess: false,
|
|
112
|
+
custom: {}
|
|
113
|
+
}
|
|
114
|
+
},
|
|
115
|
+
metrics: {
|
|
116
|
+
aorpProcessingTime: 0,
|
|
117
|
+
totalTime: 0
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
// Fallback for non-task data - convert TaskResponseData to ResponseData
|
|
123
|
+
const responseData = {};
|
|
124
|
+
// Copy task data if present
|
|
125
|
+
if (_data.task) {
|
|
126
|
+
responseData.tasks = [_data.task]; // Convert from legacy client Task to our Task interface (reminders shape drifted, cast via unknown)
|
|
127
|
+
}
|
|
128
|
+
else if (_data.tasks) {
|
|
129
|
+
responseData.tasks = _data.tasks; // Convert from legacy client Task[] to our Task[] interface (reminders shape drifted, cast via unknown)
|
|
130
|
+
}
|
|
131
|
+
// Copy other properties
|
|
132
|
+
Object.entries(_data).forEach(([key, value]) => {
|
|
133
|
+
if (key !== 'task' && key !== 'tasks') {
|
|
134
|
+
responseData[key] = value;
|
|
135
|
+
}
|
|
136
|
+
});
|
|
137
|
+
const fallbackResult = (0, response_factory_1.createAorpResponse)(operation, message, responseData, { success: true, metadata: _metadata });
|
|
138
|
+
// Add transformation property for compatibility
|
|
139
|
+
const mockOptimizedResponse = {
|
|
140
|
+
success: true,
|
|
141
|
+
operation,
|
|
142
|
+
message,
|
|
143
|
+
data: responseData,
|
|
144
|
+
metadata: {
|
|
145
|
+
timestamp: new Date().toISOString(),
|
|
146
|
+
}
|
|
147
|
+
};
|
|
148
|
+
return {
|
|
149
|
+
response: fallbackResult,
|
|
150
|
+
transformation: {
|
|
151
|
+
originalResponse: mockOptimizedResponse,
|
|
152
|
+
context: {
|
|
153
|
+
operation,
|
|
154
|
+
success: true,
|
|
155
|
+
dataSize: JSON.stringify(_data).length,
|
|
156
|
+
processingTime: 0,
|
|
157
|
+
verbosity: effectiveVerbosity,
|
|
158
|
+
verbosityLevel: 'simple',
|
|
159
|
+
complexityFactors: {
|
|
160
|
+
dataSize: JSON.stringify(_data).length >= 1024,
|
|
161
|
+
hasWarnings: false,
|
|
162
|
+
hasErrors: false,
|
|
163
|
+
isBulkOperation: false,
|
|
164
|
+
isPartialSuccess: false,
|
|
165
|
+
custom: {}
|
|
166
|
+
}
|
|
167
|
+
},
|
|
168
|
+
metrics: {
|
|
169
|
+
aorpProcessingTime: 0,
|
|
170
|
+
totalTime: 0
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
};
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Creates an AORP error response for task operations
|
|
177
|
+
*/
|
|
178
|
+
function createTaskErrorResponse(operation, error, metadata = {
|
|
179
|
+
timestamp: new Date().toISOString()
|
|
180
|
+
}) {
|
|
181
|
+
// Extract error message
|
|
182
|
+
const errorMessage = error instanceof Error ? error.message :
|
|
183
|
+
(error && typeof error === 'object' && 'message' in error && typeof error.message === 'string')
|
|
184
|
+
? error.message
|
|
185
|
+
: 'Unknown error occurred';
|
|
186
|
+
const errorCode = error && typeof error === 'object' && 'code' in error && typeof error.code === 'string'
|
|
187
|
+
? error.code
|
|
188
|
+
: 'UNKNOWN_ERROR';
|
|
189
|
+
// Create simple error response
|
|
190
|
+
const rawErrorResult = (0, response_factory_1.createAorpErrorResponse)(operation, errorMessage, errorCode, {
|
|
191
|
+
...(metadata.sessionId && { sessionId: metadata.sessionId }),
|
|
192
|
+
timestamp: metadata.timestamp,
|
|
193
|
+
});
|
|
194
|
+
// Convert to SimpleAorpResponse format
|
|
195
|
+
const errorResult = {
|
|
196
|
+
content: rawErrorResult.content,
|
|
197
|
+
immediate: {
|
|
198
|
+
status: 'error',
|
|
199
|
+
key_insight: errorMessage,
|
|
200
|
+
confidence: 0.0
|
|
201
|
+
},
|
|
202
|
+
summary: errorMessage,
|
|
203
|
+
metadata: {
|
|
204
|
+
timestamp: rawErrorResult.metadata?.timestamp || new Date().toISOString(),
|
|
205
|
+
operation,
|
|
206
|
+
success: false,
|
|
207
|
+
...(rawErrorResult.metadata || {})
|
|
208
|
+
}
|
|
209
|
+
};
|
|
210
|
+
// Add transformation property for compatibility
|
|
211
|
+
const mockOptimizedResponse = {
|
|
212
|
+
success: false,
|
|
213
|
+
operation,
|
|
214
|
+
message: errorMessage,
|
|
215
|
+
data: { error: errorMessage },
|
|
216
|
+
metadata: {
|
|
217
|
+
timestamp: new Date().toISOString(),
|
|
218
|
+
}
|
|
219
|
+
};
|
|
220
|
+
return {
|
|
221
|
+
response: errorResult,
|
|
222
|
+
transformation: {
|
|
223
|
+
originalResponse: mockOptimizedResponse,
|
|
224
|
+
context: {
|
|
225
|
+
operation,
|
|
226
|
+
success: false,
|
|
227
|
+
dataSize: errorMessage.length,
|
|
228
|
+
processingTime: 0,
|
|
229
|
+
verbosity: (0, base_1.getDefaultVerbosity)(),
|
|
230
|
+
verbosityLevel: 'simple',
|
|
231
|
+
complexityFactors: {
|
|
232
|
+
dataSize: errorMessage.length >= 1024,
|
|
233
|
+
hasWarnings: false,
|
|
234
|
+
hasErrors: true,
|
|
235
|
+
isBulkOperation: false,
|
|
236
|
+
isPartialSuccess: false,
|
|
237
|
+
custom: {}
|
|
238
|
+
},
|
|
239
|
+
error: errorMessage
|
|
240
|
+
},
|
|
241
|
+
metrics: {
|
|
242
|
+
aorpProcessingTime: 0,
|
|
243
|
+
totalTime: 0
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
};
|
|
247
|
+
}
|
|
248
|
+
//# sourceMappingURL=TaskResponseFormatter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TaskResponseFormatter.js","sourceRoot":"","sources":["../../../../src/tools/tasks/crud/TaskResponseFormatter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Task Update Service
|
|
3
|
+
* Handles task updates with field diffing and relationship management
|
|
4
|
+
*/
|
|
5
|
+
import type { AuthManager } from '../../../auth/AuthManager';
|
|
6
|
+
export interface UpdateTaskArgs {
|
|
7
|
+
id?: number;
|
|
8
|
+
title?: string;
|
|
9
|
+
description?: string;
|
|
10
|
+
dueDate?: string;
|
|
11
|
+
startDate?: string;
|
|
12
|
+
endDate?: string;
|
|
13
|
+
priority?: number;
|
|
14
|
+
percentDone?: number;
|
|
15
|
+
done?: boolean;
|
|
16
|
+
/** Move the task to another project (merged into full-model update). */
|
|
17
|
+
projectId?: number;
|
|
18
|
+
labels?: number[];
|
|
19
|
+
assignees?: number[];
|
|
20
|
+
repeatAfter?: number;
|
|
21
|
+
repeatMode?: 'day' | 'week' | 'month' | 'year';
|
|
22
|
+
sessionId?: string;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Updates a task with comprehensive field diffing and relationship management
|
|
26
|
+
*/
|
|
27
|
+
export declare function updateTask(args: UpdateTaskArgs, authManager: AuthManager): Promise<{
|
|
28
|
+
content: Array<{
|
|
29
|
+
type: 'text';
|
|
30
|
+
text: string;
|
|
31
|
+
}>;
|
|
32
|
+
}>;
|
|
33
|
+
//# sourceMappingURL=TaskUpdateService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TaskUpdateService.d.ts","sourceRoot":"","sources":["../../../../src/tools/tasks/crud/TaskUpdateService.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAsB7D,MAAM,WAAW,cAAc;IAC7B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,wEAAwE;IACxE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IAE/C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAWD;;GAEG;AACH,wBAAsB,UAAU,CAC9B,IAAI,EAAE,cAAc,EACpB,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAgH7D"}
|
|
@@ -0,0 +1,294 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Task Update Service
|
|
4
|
+
* Handles task updates with field diffing and relationship management
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.updateTask = updateTask;
|
|
8
|
+
const types_1 = require("../../../types");
|
|
9
|
+
const vikunja_rest_1 = require("../../../utils/vikunja-rest");
|
|
10
|
+
const task_rest_transport_1 = require("../../../utils/task-rest-transport");
|
|
11
|
+
const validation_1 = require("../validation");
|
|
12
|
+
const auth_error_handler_1 = require("../../../utils/auth-error-handler");
|
|
13
|
+
const retry_1 = require("../../../utils/retry");
|
|
14
|
+
const label_bulk_1 = require("../../../utils/label-bulk");
|
|
15
|
+
const error_handler_1 = require("../../../utils/error-handler");
|
|
16
|
+
const http_error_detail_1 = require("../../../utils/http-error-detail");
|
|
17
|
+
const constants_1 = require("../constants");
|
|
18
|
+
const TaskResponseFormatter_1 = require("./TaskResponseFormatter");
|
|
19
|
+
const response_factory_1 = require("../../../utils/response-factory");
|
|
20
|
+
/**
|
|
21
|
+
* Updates a task with comprehensive field diffing and relationship management
|
|
22
|
+
*/
|
|
23
|
+
async function updateTask(args, authManager) {
|
|
24
|
+
try {
|
|
25
|
+
if (!args.id) {
|
|
26
|
+
throw new types_1.MCPError(types_1.ErrorCode.VALIDATION_ERROR, 'Task id is required for update operation');
|
|
27
|
+
}
|
|
28
|
+
(0, validation_1.validateId)(args.id, 'id');
|
|
29
|
+
// Validate dates if provided
|
|
30
|
+
if (args.dueDate) {
|
|
31
|
+
(0, validation_1.validateDateString)(args.dueDate, 'dueDate');
|
|
32
|
+
}
|
|
33
|
+
if (args.startDate) {
|
|
34
|
+
(0, validation_1.validateDateString)(args.startDate, 'startDate');
|
|
35
|
+
}
|
|
36
|
+
if (args.endDate) {
|
|
37
|
+
(0, validation_1.validateDateString)(args.endDate, 'endDate');
|
|
38
|
+
}
|
|
39
|
+
// Validate project move target if provided
|
|
40
|
+
if (args.projectId !== undefined) {
|
|
41
|
+
(0, validation_1.validateId)(args.projectId, 'projectId');
|
|
42
|
+
}
|
|
43
|
+
// Analyze current state and track changes
|
|
44
|
+
const updateState = await analyzeUpdateState(authManager, args.id, args);
|
|
45
|
+
// Build and apply the update (full-model merge — Vikunja replaces the whole task)
|
|
46
|
+
const updateData = buildUpdateData(updateState.currentTask, args);
|
|
47
|
+
await (0, vikunja_rest_1.vikunjaRestRequest)(authManager, 'POST', `/tasks/${args.id}`, updateData);
|
|
48
|
+
// Update labels if provided
|
|
49
|
+
if (args.labels !== undefined) {
|
|
50
|
+
await updateTaskLabels(authManager, args.id, args.labels);
|
|
51
|
+
}
|
|
52
|
+
// Update assignees if provided
|
|
53
|
+
if (args.assignees !== undefined) {
|
|
54
|
+
await updateTaskAssignees(authManager, args.id, args.assignees);
|
|
55
|
+
}
|
|
56
|
+
// Fetch the complete updated task
|
|
57
|
+
const completeTask = await (0, vikunja_rest_1.vikunjaRestRequest)(authManager, 'GET', `/tasks/${args.id}`);
|
|
58
|
+
// Verify project move actually stuck — Vikunja can report success while leaving
|
|
59
|
+
// the task in the old project (silent failure → data loss if the old project is deleted)
|
|
60
|
+
if (args.projectId !== undefined && completeTask.project_id !== args.projectId) {
|
|
61
|
+
throw new types_1.MCPError(types_1.ErrorCode.API_ERROR, `Failed to move task ${args.id} to project ${args.projectId}: ` +
|
|
62
|
+
`task remains in project ${completeTask.project_id ?? 'unknown'}. ` +
|
|
63
|
+
`The move was not applied by Vikunja.`);
|
|
64
|
+
}
|
|
65
|
+
const response = (0, TaskResponseFormatter_1.createTaskResponse)('update-task', 'Task updated successfully', { task: completeTask }, {
|
|
66
|
+
timestamp: new Date().toISOString(),
|
|
67
|
+
affectedFields: updateState.affectedFields,
|
|
68
|
+
previousState: updateState.previousState,
|
|
69
|
+
taskId: args.id,
|
|
70
|
+
}, undefined, // verbosity (ignored - using standard AORP)
|
|
71
|
+
undefined, // useOptimizedFormat (ignored - using standard AORP)
|
|
72
|
+
undefined, // useAorp (ignored - always using AORP)
|
|
73
|
+
undefined, // aorpConfig (using auto-generated)
|
|
74
|
+
args.sessionId);
|
|
75
|
+
return {
|
|
76
|
+
content: [
|
|
77
|
+
{
|
|
78
|
+
type: 'text',
|
|
79
|
+
text: (0, response_factory_1.formatAorpAsMarkdown)(response.response),
|
|
80
|
+
},
|
|
81
|
+
],
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
catch (error) {
|
|
85
|
+
// A REST 404 is translated to the same friendly "not found" message the
|
|
86
|
+
// pre-migration legacy client error path produced via handleStatusCodeError
|
|
87
|
+
// (which keys off a bare `.statusCode` property, not the `.details`
|
|
88
|
+
// nesting vikunjaRestRequest's thrown MCPError uses). Any other
|
|
89
|
+
// REST-origin MCPError (label/assignee writes, the task-refresh GET —
|
|
90
|
+
// all now throw MCPError directly via vikunjaRestRequest, unlike the
|
|
91
|
+
// pre-migration legacy client) gets the conventional "Failed to update
|
|
92
|
+
// task: ..." wrapping restored via wrapIfRestOrigin, preserving the
|
|
93
|
+
// original code/details; this tool's own validation/internal MCPErrors
|
|
94
|
+
// (no REST statusCode) still pass through unmodified.
|
|
95
|
+
if (error instanceof types_1.MCPError) {
|
|
96
|
+
if (error.details?.statusCode === 404 && args.id) {
|
|
97
|
+
throw new types_1.MCPError(types_1.ErrorCode.NOT_FOUND, `Task with ID ${args.id} not found`);
|
|
98
|
+
}
|
|
99
|
+
throw (0, error_handler_1.wrapIfRestOrigin)(error, 'update task');
|
|
100
|
+
}
|
|
101
|
+
// Handle fetch/connection errors with helpful guidance
|
|
102
|
+
if (error instanceof Error && (error.message.includes('fetch failed') ||
|
|
103
|
+
error.message.includes('ECONNREFUSED') ||
|
|
104
|
+
error.message.includes('ENOTFOUND'))) {
|
|
105
|
+
throw (0, error_handler_1.handleFetchError)(error, 'update task');
|
|
106
|
+
}
|
|
107
|
+
// Use standardized error transformation for all other errors
|
|
108
|
+
if (args.id) {
|
|
109
|
+
throw (0, error_handler_1.handleStatusCodeError)(error, 'update task', args.id, `Task with ID ${args.id} not found`);
|
|
110
|
+
}
|
|
111
|
+
throw (0, error_handler_1.transformApiError)(error, 'Failed to update task');
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Analyzes the current task state and determines which fields are being updated
|
|
116
|
+
*/
|
|
117
|
+
async function analyzeUpdateState(authManager, taskId, args) {
|
|
118
|
+
// Fetch the current task to preserve all fields and track changes
|
|
119
|
+
const currentTask = await (0, vikunja_rest_1.vikunjaRestRequest)(authManager, 'GET', `/tasks/${taskId}`);
|
|
120
|
+
const previousState = {};
|
|
121
|
+
if (currentTask.title !== undefined)
|
|
122
|
+
previousState.title = currentTask.title;
|
|
123
|
+
if (currentTask.description !== undefined)
|
|
124
|
+
previousState.description = currentTask.description;
|
|
125
|
+
if (currentTask.due_date !== undefined)
|
|
126
|
+
previousState.due_date = currentTask.due_date;
|
|
127
|
+
if (currentTask.start_date !== undefined)
|
|
128
|
+
previousState.start_date = currentTask.start_date;
|
|
129
|
+
if (currentTask.end_date !== undefined)
|
|
130
|
+
previousState.end_date = currentTask.end_date;
|
|
131
|
+
if (currentTask.priority !== undefined)
|
|
132
|
+
previousState.priority = currentTask.priority;
|
|
133
|
+
if (currentTask.done !== undefined)
|
|
134
|
+
previousState.done = currentTask.done;
|
|
135
|
+
if (currentTask.percent_done !== undefined)
|
|
136
|
+
previousState.percent_done = currentTask.percent_done;
|
|
137
|
+
if (currentTask.project_id !== undefined)
|
|
138
|
+
previousState.project_id = currentTask.project_id;
|
|
139
|
+
if (currentTask.repeat_after !== undefined)
|
|
140
|
+
previousState.repeat_after = currentTask.repeat_after;
|
|
141
|
+
if (currentTask.repeat_mode !== undefined)
|
|
142
|
+
previousState.repeat_mode = currentTask.repeat_mode;
|
|
143
|
+
// Track which fields are being updated
|
|
144
|
+
const affectedFields = [];
|
|
145
|
+
if (args.title !== undefined && args.title !== currentTask.title)
|
|
146
|
+
affectedFields.push('title');
|
|
147
|
+
if (args.description !== undefined && args.description !== currentTask.description)
|
|
148
|
+
affectedFields.push('description');
|
|
149
|
+
if (args.dueDate !== undefined && args.dueDate !== currentTask.due_date)
|
|
150
|
+
affectedFields.push('dueDate');
|
|
151
|
+
if (args.startDate !== undefined && args.startDate !== currentTask.start_date)
|
|
152
|
+
affectedFields.push('start_date');
|
|
153
|
+
if (args.endDate !== undefined && args.endDate !== currentTask.end_date)
|
|
154
|
+
affectedFields.push('end_date');
|
|
155
|
+
if (args.priority !== undefined && args.priority !== currentTask.priority)
|
|
156
|
+
affectedFields.push('priority');
|
|
157
|
+
if (args.percentDone !== undefined && args.percentDone !== currentTask.percent_done)
|
|
158
|
+
affectedFields.push('percentDone');
|
|
159
|
+
if (args.done !== undefined && args.done !== currentTask.done)
|
|
160
|
+
affectedFields.push('done');
|
|
161
|
+
if (args.projectId !== undefined && args.projectId !== currentTask.project_id)
|
|
162
|
+
affectedFields.push('projectId');
|
|
163
|
+
if (args.repeatAfter !== undefined && args.repeatAfter !== currentTask.repeat_after)
|
|
164
|
+
affectedFields.push('repeatAfter');
|
|
165
|
+
// args.repeatMode is the user-facing string enum ('day'|'week'|...);
|
|
166
|
+
// currentTask.repeat_mode is the API's numeric enum (0|1|2) — these were
|
|
167
|
+
// never the same representation even before this migration (the legacy client's
|
|
168
|
+
// type incorrectly claimed both were the string enum), so this comparison
|
|
169
|
+
// is always true when repeatMode is supplied. Cast preserves that existing
|
|
170
|
+
// runtime behavior while satisfying the now-correctly-typed comparison.
|
|
171
|
+
if (args.repeatMode !== undefined && args.repeatMode !== currentTask.repeat_mode)
|
|
172
|
+
affectedFields.push('repeatMode');
|
|
173
|
+
if (args.labels !== undefined)
|
|
174
|
+
affectedFields.push('labels');
|
|
175
|
+
if (args.assignees !== undefined)
|
|
176
|
+
affectedFields.push('assignees');
|
|
177
|
+
return {
|
|
178
|
+
currentTask,
|
|
179
|
+
previousState,
|
|
180
|
+
affectedFields
|
|
181
|
+
};
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Builds the update data object by merging current task data with updates
|
|
185
|
+
* This prevents the API from clearing fields that aren't explicitly updated
|
|
186
|
+
*/
|
|
187
|
+
function buildUpdateData(currentTask, args) {
|
|
188
|
+
const updateData = {
|
|
189
|
+
...currentTask,
|
|
190
|
+
// Override with any provided updates
|
|
191
|
+
...(args.title !== undefined && { title: args.title }),
|
|
192
|
+
...(args.description !== undefined && { description: args.description }),
|
|
193
|
+
...(args.dueDate !== undefined && { due_date: args.dueDate }),
|
|
194
|
+
...(args.startDate !== undefined && { start_date: args.startDate }),
|
|
195
|
+
...(args.endDate !== undefined && { end_date: args.endDate }),
|
|
196
|
+
...(args.priority !== undefined && { priority: args.priority }),
|
|
197
|
+
...(args.percentDone !== undefined && { percent_done: args.percentDone }),
|
|
198
|
+
...(args.done !== undefined && { done: args.done }),
|
|
199
|
+
// Move between projects — must be part of the full-model payload or Vikunja ignores it
|
|
200
|
+
...(args.projectId !== undefined && { project_id: args.projectId }),
|
|
201
|
+
// Handle repeat configuration for updates. The generated
|
|
202
|
+
// `models.Task.repeat_mode` type (0 | 1 | 2) matches the real API, so no
|
|
203
|
+
// bypass cast is needed here (unlike the legacy client's incorrect string enum).
|
|
204
|
+
...(args.repeatAfter !== undefined || args.repeatMode !== undefined
|
|
205
|
+
? (() => {
|
|
206
|
+
const repeatConfig = (0, validation_1.convertRepeatConfiguration)(args.repeatAfter !== undefined ? args.repeatAfter : currentTask.repeat_after, args.repeatMode !== undefined ? args.repeatMode : undefined);
|
|
207
|
+
const updates = {};
|
|
208
|
+
if (repeatConfig.repeat_after !== undefined)
|
|
209
|
+
updates.repeat_after = repeatConfig.repeat_after;
|
|
210
|
+
if (repeatConfig.repeat_mode !== undefined)
|
|
211
|
+
updates.repeat_mode = repeatConfig.repeat_mode;
|
|
212
|
+
return updates;
|
|
213
|
+
})()
|
|
214
|
+
: {}),
|
|
215
|
+
};
|
|
216
|
+
return updateData;
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* Updates task labels with authentication error handling.
|
|
220
|
+
*
|
|
221
|
+
* The catch surfaces the HTTP status + body of the underlying Vikunja error
|
|
222
|
+
* in both branches. Previously the catch replaced any 403/422 from
|
|
223
|
+
* `POST /tasks/{id}/labels/bulk` with the generic LABEL_UPDATE "known
|
|
224
|
+
* limitation" message, which hid the real cause (e.g. a permission failure
|
|
225
|
+
* vs an invalid label id) from the MCP client and made the diagnostic
|
|
226
|
+
* round-trip much longer for the consumer.
|
|
227
|
+
*/
|
|
228
|
+
async function updateTaskLabels(authManager, taskId, labelIds) {
|
|
229
|
+
try {
|
|
230
|
+
await (0, label_bulk_1.setTaskLabels)(authManager, taskId, labelIds);
|
|
231
|
+
}
|
|
232
|
+
catch (labelError) {
|
|
233
|
+
const detail = (0, http_error_detail_1.extractHttpErrorDetail)(labelError);
|
|
234
|
+
if ((0, auth_error_handler_1.isAuthenticationError)(labelError)) {
|
|
235
|
+
throw new types_1.MCPError(types_1.ErrorCode.API_ERROR, detail
|
|
236
|
+
? `${constants_1.AUTH_ERROR_MESSAGES.LABEL_UPDATE} ${detail}`
|
|
237
|
+
: constants_1.AUTH_ERROR_MESSAGES.LABEL_UPDATE);
|
|
238
|
+
}
|
|
239
|
+
if (detail) {
|
|
240
|
+
throw new types_1.MCPError(types_1.ErrorCode.API_ERROR, `Failed to update task labels ${detail}`);
|
|
241
|
+
}
|
|
242
|
+
throw labelError;
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
/**
|
|
246
|
+
* Updates task assignees with diff calculation and authentication error
|
|
247
|
+
* handling, via the direct-REST assignee endpoints.
|
|
248
|
+
*/
|
|
249
|
+
async function updateTaskAssignees(authManager, taskId, newAssigneeIds) {
|
|
250
|
+
try {
|
|
251
|
+
// Get current assignees to calculate diff
|
|
252
|
+
const currentTask = await (0, task_rest_transport_1.getTaskViaRest)(authManager, taskId);
|
|
253
|
+
const currentAssigneeIds = (currentTask.assignees ?? [])
|
|
254
|
+
.map((a) => a.id)
|
|
255
|
+
.filter((id) => typeof id === 'number');
|
|
256
|
+
// Calculate which assignees to add and remove
|
|
257
|
+
const toAdd = newAssigneeIds.filter((id) => !currentAssigneeIds.includes(id));
|
|
258
|
+
const toRemove = currentAssigneeIds.filter((id) => !newAssigneeIds.includes(id));
|
|
259
|
+
// Add new assignees first to avoid leaving task unassigned if removal fails.
|
|
260
|
+
// Use the ADDITIVE single-assign endpoint per user (PUT
|
|
261
|
+
// /tasks/{taskID}/assignees, body { user_id }, models.TaskAssginee) rather
|
|
262
|
+
// than the bulk endpoint (POST .../assignees/bulk), which REPLACES the
|
|
263
|
+
// whole list and would silently unassign everyone
|
|
264
|
+
// (democratize-technology/vikunja-mcp#15).
|
|
265
|
+
// Sequential on purpose (post-#89 pattern sweep, mirrors the per-user
|
|
266
|
+
// removal loop directly below): concurrent per-user writes to the same
|
|
267
|
+
// task risk "database is locked" 500s on SQLite-backed instances.
|
|
268
|
+
for (const userId of toAdd) {
|
|
269
|
+
await (0, vikunja_rest_1.vikunjaRestRequest)(authManager, 'PUT', `/tasks/${taskId}/assignees`, { user_id: userId });
|
|
270
|
+
}
|
|
271
|
+
// Remove old assignees only after new ones are successfully added. DELETE
|
|
272
|
+
// /tasks/{taskID}/assignees/{userID} per the OpenAPI spec — no body.
|
|
273
|
+
for (const userId of toRemove) {
|
|
274
|
+
try {
|
|
275
|
+
await (0, vikunja_rest_1.vikunjaRestRequest)(authManager, 'DELETE', `/tasks/${taskId}/assignees/${userId}`);
|
|
276
|
+
}
|
|
277
|
+
catch (removeError) {
|
|
278
|
+
// Check if it's an auth error on remove
|
|
279
|
+
if ((0, auth_error_handler_1.isAuthenticationError)(removeError)) {
|
|
280
|
+
throw new types_1.MCPError(types_1.ErrorCode.API_ERROR, constants_1.AUTH_ERROR_MESSAGES.ASSIGNEE_REMOVE_PARTIAL);
|
|
281
|
+
}
|
|
282
|
+
throw removeError;
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
catch (assigneeError) {
|
|
287
|
+
// Check if it's an auth error after retries
|
|
288
|
+
if ((0, auth_error_handler_1.isAuthenticationError)(assigneeError)) {
|
|
289
|
+
throw new types_1.MCPError(types_1.ErrorCode.API_ERROR, `${constants_1.AUTH_ERROR_MESSAGES.ASSIGNEE_UPDATE} (Retried ${retry_1.RETRY_CONFIG.AUTH_ERRORS.maxRetries} times)`);
|
|
290
|
+
}
|
|
291
|
+
throw assigneeError;
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
//# sourceMappingURL=TaskUpdateService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TaskUpdateService.js","sourceRoot":"","sources":["../../../../src/tools/tasks/crud/TaskUpdateService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CRUD Operations for Tasks
|
|
3
|
+
* Centralized exports for all task CRUD operations with clean modular architecture
|
|
4
|
+
*/
|
|
5
|
+
export { createTask } from './TaskCreationService';
|
|
6
|
+
export { updateTask } from './TaskUpdateService';
|
|
7
|
+
export { deleteTask } from './TaskDeletionService';
|
|
8
|
+
export { getTask } from './TaskReadService';
|
|
9
|
+
export { createTaskResponse } from './TaskResponseFormatter';
|
|
10
|
+
export type { CreateTaskArgs } from './TaskCreationService';
|
|
11
|
+
export type { UpdateTaskArgs } from './TaskUpdateService';
|
|
12
|
+
export type { DeleteTaskArgs } from './TaskDeletionService';
|
|
13
|
+
export type { GetTaskArgs } from './TaskReadService';
|
|
14
|
+
import type { components } from '../../../types/generated/vikunja-openapi';
|
|
15
|
+
export type Task = components['schemas']['models.Task'];
|
|
16
|
+
export type { AorpBuilderConfig, } from '../../../utils/response-factory';
|
|
17
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/tools/tasks/crud/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAG5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAG7D,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAKrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0CAA0C,CAAC;AAC3E,MAAM,MAAM,IAAI,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,CAAC;AAExD,YAAY,EACV,iBAAiB,GAClB,MAAM,iCAAiC,CAAC"}
|