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 @@
|
|
|
1
|
+
{"version":3,"file":"task-crud.js","sourceRoot":"","sources":["../../src/tools/task-crud.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Task Labels Tool
|
|
3
|
+
* Handles task label operations: apply-label, remove-label, list-labels
|
|
4
|
+
* Replaces monolithic tasks tool with focused individual tool
|
|
5
|
+
*/
|
|
6
|
+
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
7
|
+
import type { AuthManager } from '../auth/AuthManager';
|
|
8
|
+
import type { VikunjaClientFactory } from '../client/VikunjaClientFactory';
|
|
9
|
+
/**
|
|
10
|
+
* Register task labels tool
|
|
11
|
+
*/
|
|
12
|
+
export declare function registerTaskLabelsTool(server: McpServer, authManager: AuthManager, clientFactory?: VikunjaClientFactory): void;
|
|
13
|
+
//# sourceMappingURL=task-labels.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-labels.d.ts","sourceRoot":"","sources":["../../src/tools/task-labels.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAQ3E;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,SAAS,EACjB,WAAW,EAAE,WAAW,EACxB,aAAa,CAAC,EAAE,oBAAoB,GACnC,IAAI,CAqEN"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Task Labels Tool
|
|
4
|
+
* Handles task label operations: apply-label, remove-label, list-labels
|
|
5
|
+
* Replaces monolithic tasks tool with focused individual tool
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.registerTaskLabelsTool = registerTaskLabelsTool;
|
|
9
|
+
const zod_1 = require("zod");
|
|
10
|
+
const types_1 = require("../types");
|
|
11
|
+
const client_1 = require("../client");
|
|
12
|
+
const logger_1 = require("../utils/logger");
|
|
13
|
+
const error_handler_1 = require("../utils/error-handler");
|
|
14
|
+
const labels_1 = require("../tools/tasks/labels");
|
|
15
|
+
const read_only_1 = require("../utils/read-only");
|
|
16
|
+
/**
|
|
17
|
+
* Register task labels tool
|
|
18
|
+
*/
|
|
19
|
+
function registerTaskLabelsTool(server, authManager, clientFactory) {
|
|
20
|
+
server.tool('vikunja_task_labels', (0, read_only_1.withReadOnlyNote)('vikunja_task_labels', 'Manage task labels: apply, remove, list labels'), {
|
|
21
|
+
operation: zod_1.z.enum(['apply-label', 'remove-label', 'list-labels']),
|
|
22
|
+
// Task and label identification
|
|
23
|
+
id: zod_1.z.number(),
|
|
24
|
+
labels: zod_1.z.array(zod_1.z.number()).optional(),
|
|
25
|
+
}, (0, read_only_1.getToolAnnotations)('vikunja_task_labels'), async (args) => {
|
|
26
|
+
try {
|
|
27
|
+
logger_1.logger.debug('Executing task labels tool', { operation: args.operation, taskId: args.id, labelCount: args.labels?.length });
|
|
28
|
+
// Check authentication
|
|
29
|
+
if (!authManager.isAuthenticated()) {
|
|
30
|
+
throw (0, error_handler_1.createAuthRequiredError)('access task label operations');
|
|
31
|
+
}
|
|
32
|
+
(0, read_only_1.assertWriteAllowed)('vikunja_task_labels', args.operation);
|
|
33
|
+
// Set the client factory for this request if provided
|
|
34
|
+
if (clientFactory) {
|
|
35
|
+
await (0, client_1.setGlobalClientFactory)(clientFactory);
|
|
36
|
+
}
|
|
37
|
+
// Test client connection
|
|
38
|
+
await (0, client_1.getAuthManagerFromContext)();
|
|
39
|
+
switch (args.operation) {
|
|
40
|
+
case 'apply-label':
|
|
41
|
+
return (0, labels_1.applyLabels)({
|
|
42
|
+
id: args.id,
|
|
43
|
+
labels: args.labels || []
|
|
44
|
+
}, authManager);
|
|
45
|
+
case 'remove-label':
|
|
46
|
+
return (0, labels_1.removeLabels)({
|
|
47
|
+
id: args.id,
|
|
48
|
+
labels: args.labels || []
|
|
49
|
+
}, authManager);
|
|
50
|
+
case 'list-labels':
|
|
51
|
+
return (0, labels_1.listTaskLabels)(args, authManager);
|
|
52
|
+
default:
|
|
53
|
+
throw new types_1.MCPError(types_1.ErrorCode.VALIDATION_ERROR, `Unknown operation: ${String(args.operation)}`);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
catch (error) {
|
|
57
|
+
if (error instanceof types_1.MCPError) {
|
|
58
|
+
throw error;
|
|
59
|
+
}
|
|
60
|
+
throw new types_1.MCPError(types_1.ErrorCode.INTERNAL_ERROR, `Task label operation error: ${error instanceof Error ? error.message : String(error)}`);
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=task-labels.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-labels.js","sourceRoot":"","sources":["../../src/tools/task-labels.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAgBH,wDAyEC;AAtFD,6BAAwB;AAGxB,oCAA+C;AAC/C,sCAA8E;AAC9E,4CAAyC;AACzC,0DAAiE;AACjE,kDAAkF;AAClF,kDAA8F;AAE9F;;GAEG;AACH,SAAgB,sBAAsB,CACpC,MAAiB,EACjB,WAAwB,EACxB,aAAoC;IAEpC,MAAM,CAAC,IAAI,CACT,qBAAqB,EACrB,IAAA,4BAAgB,EAAC,qBAAqB,EAAE,gDAAgD,CAAC,EACzF;QACE,SAAS,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC;QACjE,gCAAgC;QAChC,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE;QACd,MAAM,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;KACvC,EACD,IAAA,8BAAkB,EAAC,qBAAqB,CAAC,EACzC,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,eAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;YAE5H,uBAAuB;YACvB,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,EAAE,CAAC;gBACnC,MAAM,IAAA,uCAAuB,EAAC,8BAA8B,CAAC,CAAC;YAChE,CAAC;YAED,IAAA,8BAAkB,EAAC,qBAAqB,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAE1D,sDAAsD;YACtD,IAAI,aAAa,EAAE,CAAC;gBAClB,MAAM,IAAA,+BAAsB,EAAC,aAAa,CAAC,CAAC;YAC9C,CAAC;YAED,yBAAyB;YACzB,MAAM,IAAA,kCAAyB,GAAE,CAAC;YAElC,QAAQ,IAAI,CAAC,SAAS,EAAE,CAAC;gBACvB,KAAK,aAAa;oBAChB,OAAO,IAAA,oBAAW,EAChB;wBACE,EAAE,EAAE,IAAI,CAAC,EAAE;wBACX,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE;qBAC1B,EACD,WAAW,CACZ,CAAC;gBAEJ,KAAK,cAAc;oBACjB,OAAO,IAAA,qBAAY,EACjB;wBACE,EAAE,EAAE,IAAI,CAAC,EAAE;wBACX,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE;qBAC1B,EACD,WAAW,CACZ,CAAC;gBAEJ,KAAK,aAAa;oBAChB,OAAO,IAAA,uBAAc,EAAC,IAAI,EAAE,WAAW,CAAC,CAAC;gBAE3C;oBACE,MAAM,IAAI,gBAAQ,CAChB,iBAAS,CAAC,gBAAgB,EAC1B,sBAAsB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAC/C,CAAC;YACN,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,gBAAQ,EAAE,CAAC;gBAC9B,MAAM,KAAK,CAAC;YACd,CAAC;YACD,MAAM,IAAI,gBAAQ,CAChB,iBAAS,CAAC,cAAc,EACxB,+BAA+B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACxF,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Task Relations Tool
|
|
3
|
+
* Handles task relation operations: relate, unrelate, relations
|
|
4
|
+
* Replaces monolithic tasks tool with focused individual tool
|
|
5
|
+
*/
|
|
6
|
+
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
7
|
+
import type { AuthManager } from '../auth/AuthManager';
|
|
8
|
+
import type { VikunjaClientFactory } from '../client/VikunjaClientFactory';
|
|
9
|
+
/**
|
|
10
|
+
* Register task relations tool
|
|
11
|
+
*/
|
|
12
|
+
export declare function registerTaskRelationsTool(server: McpServer, authManager: AuthManager, clientFactory?: VikunjaClientFactory): void;
|
|
13
|
+
//# sourceMappingURL=task-relations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-relations.d.ts","sourceRoot":"","sources":["../../src/tools/task-relations.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAQ3E;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,SAAS,EACjB,WAAW,EAAE,WAAW,EACxB,aAAa,CAAC,EAAE,oBAAoB,GACnC,IAAI,CA0EN"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Task Relations Tool
|
|
4
|
+
* Handles task relation operations: relate, unrelate, relations
|
|
5
|
+
* Replaces monolithic tasks tool with focused individual tool
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.registerTaskRelationsTool = registerTaskRelationsTool;
|
|
9
|
+
const zod_1 = require("zod");
|
|
10
|
+
const types_1 = require("../types");
|
|
11
|
+
const client_1 = require("../client");
|
|
12
|
+
const logger_1 = require("../utils/logger");
|
|
13
|
+
const error_handler_1 = require("../utils/error-handler");
|
|
14
|
+
const tasks_relations_1 = require("../tools/tasks-relations");
|
|
15
|
+
const read_only_1 = require("../utils/read-only");
|
|
16
|
+
/**
|
|
17
|
+
* Register task relations tool
|
|
18
|
+
*/
|
|
19
|
+
function registerTaskRelationsTool(server, authManager, clientFactory) {
|
|
20
|
+
server.tool('vikunja_task_relations', (0, read_only_1.withReadOnlyNote)('vikunja_task_relations', 'Manage task relationships: relate tasks, unrelate tasks, list relations'), {
|
|
21
|
+
operation: zod_1.z.enum(['relate', 'unrelate', 'relations']),
|
|
22
|
+
// Task identification
|
|
23
|
+
id: zod_1.z.number(),
|
|
24
|
+
otherTaskId: zod_1.z.number().optional(),
|
|
25
|
+
relationKind: zod_1.z.enum([
|
|
26
|
+
'unknown',
|
|
27
|
+
'subtask',
|
|
28
|
+
'parenttask',
|
|
29
|
+
'related',
|
|
30
|
+
'duplicateof',
|
|
31
|
+
'duplicates',
|
|
32
|
+
'blocking',
|
|
33
|
+
'blocked',
|
|
34
|
+
'precedes',
|
|
35
|
+
'follows',
|
|
36
|
+
'copiedfrom',
|
|
37
|
+
'copiedto',
|
|
38
|
+
]).optional(),
|
|
39
|
+
}, (0, read_only_1.getToolAnnotations)('vikunja_task_relations'), async (args) => {
|
|
40
|
+
try {
|
|
41
|
+
logger_1.logger.debug('Executing task relations tool', {
|
|
42
|
+
operation: args.operation,
|
|
43
|
+
taskId: args.id,
|
|
44
|
+
otherTaskId: args.otherTaskId,
|
|
45
|
+
relationKind: args.relationKind
|
|
46
|
+
});
|
|
47
|
+
// Check authentication
|
|
48
|
+
if (!authManager.isAuthenticated()) {
|
|
49
|
+
throw (0, error_handler_1.createAuthRequiredError)('access task relation operations');
|
|
50
|
+
}
|
|
51
|
+
(0, read_only_1.assertWriteAllowed)('vikunja_task_relations', args.operation);
|
|
52
|
+
// Set the client factory for this request if provided
|
|
53
|
+
if (clientFactory) {
|
|
54
|
+
await (0, client_1.setGlobalClientFactory)(clientFactory);
|
|
55
|
+
}
|
|
56
|
+
// Test client connection
|
|
57
|
+
await (0, client_1.getAuthManagerFromContext)();
|
|
58
|
+
// Use the existing relation handler
|
|
59
|
+
return (0, tasks_relations_1.handleRelationSubcommands)({
|
|
60
|
+
subcommand: args.operation,
|
|
61
|
+
id: args.id,
|
|
62
|
+
otherTaskId: args.otherTaskId,
|
|
63
|
+
relationKind: args.relationKind,
|
|
64
|
+
}, authManager);
|
|
65
|
+
}
|
|
66
|
+
catch (error) {
|
|
67
|
+
if (error instanceof types_1.MCPError) {
|
|
68
|
+
throw error;
|
|
69
|
+
}
|
|
70
|
+
throw new types_1.MCPError(types_1.ErrorCode.INTERNAL_ERROR, `Task relation operation error: ${error instanceof Error ? error.message : String(error)}`);
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=task-relations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-relations.js","sourceRoot":"","sources":["../../src/tools/task-relations.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAgBH,8DA8EC;AA3FD,6BAAwB;AAGxB,oCAA+C;AAC/C,sCAA8E;AAC9E,4CAAyC;AACzC,0DAAiE;AACjE,8DAAqE;AACrE,kDAA8F;AAE9F;;GAEG;AACH,SAAgB,yBAAyB,CACvC,MAAiB,EACjB,WAAwB,EACxB,aAAoC;IAEpC,MAAM,CAAC,IAAI,CACT,wBAAwB,EACxB,IAAA,4BAAgB,EACd,wBAAwB,EACxB,yEAAyE,CAC1E,EACD;QACE,SAAS,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;QACtD,sBAAsB;QACtB,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE;QACd,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAClC,YAAY,EAAE,OAAC,CAAC,IAAI,CAAC;YACnB,SAAS;YACT,SAAS;YACT,YAAY;YACZ,SAAS;YACT,aAAa;YACb,YAAY;YACZ,UAAU;YACV,SAAS;YACT,UAAU;YACV,SAAS;YACT,YAAY;YACZ,UAAU;SACX,CAAC,CAAC,QAAQ,EAAE;KACd,EACD,IAAA,8BAAkB,EAAC,wBAAwB,CAAC,EAC5C,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,eAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE;gBAC5C,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,MAAM,EAAE,IAAI,CAAC,EAAE;gBACf,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,YAAY,EAAE,IAAI,CAAC,YAAY;aAChC,CAAC,CAAC;YAEH,uBAAuB;YACvB,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,EAAE,CAAC;gBACnC,MAAM,IAAA,uCAAuB,EAAC,iCAAiC,CAAC,CAAC;YACnE,CAAC;YAED,IAAA,8BAAkB,EAAC,wBAAwB,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAE7D,sDAAsD;YACtD,IAAI,aAAa,EAAE,CAAC;gBAClB,MAAM,IAAA,+BAAsB,EAAC,aAAa,CAAC,CAAC;YAC9C,CAAC;YAED,yBAAyB;YACzB,MAAM,IAAA,kCAAyB,GAAE,CAAC;YAElC,oCAAoC;YACpC,OAAO,IAAA,2CAAyB,EAC9B;gBACE,UAAU,EAAE,IAAI,CAAC,SAAS;gBAC1B,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,YAAY,EAAE,IAAI,CAAC,YAAY;aAChC,EACD,WAAW,CACZ,CAAC;QAEJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,gBAAQ,EAAE,CAAC;gBAC9B,MAAM,KAAK,CAAC;YACd,CAAC;YACD,MAAM,IAAI,gBAAQ,CAChB,iBAAS,CAAC,cAAc,EACxB,kCAAkC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAC3F,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Task Reminders Tool
|
|
3
|
+
* Handles task reminder operations: add-reminder, remove-reminder, list-reminders
|
|
4
|
+
* Replaces monolithic tasks tool with focused individual tool
|
|
5
|
+
*/
|
|
6
|
+
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
7
|
+
import type { AuthManager } from '../auth/AuthManager';
|
|
8
|
+
import type { VikunjaClientFactory } from '../client/VikunjaClientFactory';
|
|
9
|
+
/**
|
|
10
|
+
* Register task reminders tool
|
|
11
|
+
*/
|
|
12
|
+
export declare function registerTaskRemindersTool(server: McpServer, authManager: AuthManager, clientFactory?: VikunjaClientFactory): void;
|
|
13
|
+
//# sourceMappingURL=task-reminders.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-reminders.d.ts","sourceRoot":"","sources":["../../src/tools/task-reminders.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAQ3E;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,SAAS,EACjB,WAAW,EAAE,WAAW,EACxB,aAAa,CAAC,EAAE,oBAAoB,GACnC,IAAI,CA0EN"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Task Reminders Tool
|
|
4
|
+
* Handles task reminder operations: add-reminder, remove-reminder, list-reminders
|
|
5
|
+
* Replaces monolithic tasks tool with focused individual tool
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.registerTaskRemindersTool = registerTaskRemindersTool;
|
|
9
|
+
const zod_1 = require("zod");
|
|
10
|
+
const types_1 = require("../types");
|
|
11
|
+
const client_1 = require("../client");
|
|
12
|
+
const logger_1 = require("../utils/logger");
|
|
13
|
+
const error_handler_1 = require("../utils/error-handler");
|
|
14
|
+
const reminders_1 = require("../tools/tasks/reminders");
|
|
15
|
+
const read_only_1 = require("../utils/read-only");
|
|
16
|
+
/**
|
|
17
|
+
* Register task reminders tool
|
|
18
|
+
*/
|
|
19
|
+
function registerTaskRemindersTool(server, authManager, clientFactory) {
|
|
20
|
+
server.tool('vikunja_task_reminders', (0, read_only_1.withReadOnlyNote)('vikunja_task_reminders', 'Manage task reminders: add, remove, list reminders'), {
|
|
21
|
+
operation: zod_1.z.enum(['add-reminder', 'remove-reminder', 'list-reminders']),
|
|
22
|
+
// Task and reminder identification
|
|
23
|
+
id: zod_1.z.number(),
|
|
24
|
+
reminderDate: zod_1.z.string().optional(),
|
|
25
|
+
// Vikunja's API has no reminder id — remove-reminder identifies the
|
|
26
|
+
// reminder to remove by its reminderDate string and/or its zero-based
|
|
27
|
+
// reminderIndex, both shown by list-reminders.
|
|
28
|
+
reminderIndex: zod_1.z.number().optional(),
|
|
29
|
+
}, (0, read_only_1.getToolAnnotations)('vikunja_task_reminders'), async (args) => {
|
|
30
|
+
try {
|
|
31
|
+
logger_1.logger.debug('Executing task reminders tool', { operation: args.operation, taskId: args.id, reminderIndex: args.reminderIndex });
|
|
32
|
+
// Check authentication
|
|
33
|
+
if (!authManager.isAuthenticated()) {
|
|
34
|
+
throw (0, error_handler_1.createAuthRequiredError)('access task reminder operations');
|
|
35
|
+
}
|
|
36
|
+
(0, read_only_1.assertWriteAllowed)('vikunja_task_reminders', args.operation);
|
|
37
|
+
// Set the client factory for this request if provided
|
|
38
|
+
if (clientFactory) {
|
|
39
|
+
await (0, client_1.setGlobalClientFactory)(clientFactory);
|
|
40
|
+
}
|
|
41
|
+
// Test client connection
|
|
42
|
+
await (0, client_1.getAuthManagerFromContext)();
|
|
43
|
+
switch (args.operation) {
|
|
44
|
+
case 'add-reminder':
|
|
45
|
+
return (0, reminders_1.addReminder)({
|
|
46
|
+
id: args.id,
|
|
47
|
+
reminderDate: args.reminderDate || ''
|
|
48
|
+
}, authManager);
|
|
49
|
+
case 'remove-reminder':
|
|
50
|
+
return (0, reminders_1.removeReminder)({
|
|
51
|
+
id: args.id,
|
|
52
|
+
reminderDate: args.reminderDate,
|
|
53
|
+
reminderIndex: args.reminderIndex
|
|
54
|
+
}, authManager);
|
|
55
|
+
case 'list-reminders':
|
|
56
|
+
return (0, reminders_1.listReminders)(args, authManager);
|
|
57
|
+
default:
|
|
58
|
+
throw new types_1.MCPError(types_1.ErrorCode.VALIDATION_ERROR, `Unknown operation: ${String(args.operation)}`);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
catch (error) {
|
|
62
|
+
if (error instanceof types_1.MCPError) {
|
|
63
|
+
throw error;
|
|
64
|
+
}
|
|
65
|
+
throw new types_1.MCPError(types_1.ErrorCode.INTERNAL_ERROR, `Task reminder operation error: ${error instanceof Error ? error.message : String(error)}`);
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=task-reminders.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-reminders.js","sourceRoot":"","sources":["../../src/tools/task-reminders.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAgBH,8DA8EC;AA3FD,6BAAwB;AAGxB,oCAA+C;AAC/C,sCAA8E;AAC9E,4CAAyC;AACzC,0DAAiE;AACjE,wDAAsF;AACtF,kDAA8F;AAE9F;;GAEG;AACH,SAAgB,yBAAyB,CACvC,MAAiB,EACjB,WAAwB,EACxB,aAAoC;IAEpC,MAAM,CAAC,IAAI,CACT,wBAAwB,EACxB,IAAA,4BAAgB,EAAC,wBAAwB,EAAE,oDAAoD,CAAC,EAChG;QACE,SAAS,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,iBAAiB,EAAE,gBAAgB,CAAC,CAAC;QACxE,mCAAmC;QACnC,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE;QACd,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACnC,oEAAoE;QACpE,sEAAsE;QACtE,+CAA+C;QAC/C,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KACrC,EACD,IAAA,8BAAkB,EAAC,wBAAwB,CAAC,EAC5C,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,eAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;YAEjI,uBAAuB;YACvB,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,EAAE,CAAC;gBACnC,MAAM,IAAA,uCAAuB,EAAC,iCAAiC,CAAC,CAAC;YACnE,CAAC;YAED,IAAA,8BAAkB,EAAC,wBAAwB,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAE7D,sDAAsD;YACtD,IAAI,aAAa,EAAE,CAAC;gBAClB,MAAM,IAAA,+BAAsB,EAAC,aAAa,CAAC,CAAC;YAC9C,CAAC;YAED,yBAAyB;YACzB,MAAM,IAAA,kCAAyB,GAAE,CAAC;YAElC,QAAQ,IAAI,CAAC,SAAS,EAAE,CAAC;gBACvB,KAAK,cAAc;oBACjB,OAAO,IAAA,uBAAW,EAChB;wBACE,EAAE,EAAE,IAAI,CAAC,EAAE;wBACX,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,EAAE;qBACtC,EACD,WAAW,CACZ,CAAC;gBAEJ,KAAK,iBAAiB;oBACpB,OAAO,IAAA,0BAAc,EACnB;wBACE,EAAE,EAAE,IAAI,CAAC,EAAE;wBACX,YAAY,EAAE,IAAI,CAAC,YAAY;wBAC/B,aAAa,EAAE,IAAI,CAAC,aAAa;qBAClC,EACD,WAAW,CACZ,CAAC;gBAEJ,KAAK,gBAAgB;oBACnB,OAAO,IAAA,yBAAa,EAAC,IAAI,EAAE,WAAW,CAAC,CAAC;gBAE1C;oBACE,MAAM,IAAI,gBAAQ,CAChB,iBAAS,CAAC,gBAAgB,EAC1B,sBAAsB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAC/C,CAAC;YACN,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,gBAAQ,EAAE,CAAC;gBAC9B,MAAM,KAAK,CAAC;YACd,CAAC;YACD,MAAM,IAAI,gBAAQ,CAChB,iBAAS,CAAC,cAAc,EACxB,kCAAkC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAC3F,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Assignee operations service
|
|
3
|
+
* Handles core business logic for task assignee management
|
|
4
|
+
*/
|
|
5
|
+
import type { TaskWithAssignees, Assignee } from '../../../types';
|
|
6
|
+
import type { AuthManager } from '../../../auth/AuthManager';
|
|
7
|
+
import type { components } from '../../../types/generated/vikunja-openapi';
|
|
8
|
+
/**
|
|
9
|
+
* `user.User` shape as returned by `GET /tasks/{taskID}/assignees` per the
|
|
10
|
+
* OpenAPI spec's `models.User` -> `user.User` schema.
|
|
11
|
+
*/
|
|
12
|
+
export type VikunjaAssigneeUser = components['schemas']['user.User'];
|
|
13
|
+
/** Query params accepted by `GET /tasks/{taskID}/assignees` (page/per_page/s). */
|
|
14
|
+
export interface ListAssigneesRestParams {
|
|
15
|
+
page?: number;
|
|
16
|
+
perPage?: number;
|
|
17
|
+
search?: string;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Service for managing task assignee operations
|
|
21
|
+
*/
|
|
22
|
+
export declare const AssigneeOperationsService: {
|
|
23
|
+
/**
|
|
24
|
+
* Assign multiple users to a task
|
|
25
|
+
*/
|
|
26
|
+
assignUsersToTask(authManager: AuthManager, taskId: number, assigneeIds: number[]): Promise<void>;
|
|
27
|
+
/**
|
|
28
|
+
* Remove multiple users from a task
|
|
29
|
+
*/
|
|
30
|
+
removeUsersFromTask(authManager: AuthManager, taskId: number, userIds: number[]): Promise<void>;
|
|
31
|
+
/**
|
|
32
|
+
* Fetch task data to get current assignees via GET /tasks/{id} (direct-REST)
|
|
33
|
+
*/
|
|
34
|
+
fetchTaskWithAssignees(authManager: AuthManager, taskId: number): Promise<TaskWithAssignees>;
|
|
35
|
+
/**
|
|
36
|
+
* Extract assignee information from task
|
|
37
|
+
*/
|
|
38
|
+
extractAssignees(task: TaskWithAssignees): Assignee[];
|
|
39
|
+
/**
|
|
40
|
+
* Fetch a task's assignees via the dedicated endpoint
|
|
41
|
+
* (`GET /tasks/{taskID}/assignees`), rather than reading the `assignees`
|
|
42
|
+
* array embedded in `GET /tasks/{id}` (what `fetchTaskWithAssignees`
|
|
43
|
+
* above does). This is the only way to reach the endpoint's documented
|
|
44
|
+
* `page`/`per_page`/`s` (username search) query params — the embedded
|
|
45
|
+
* array on the task object has no pagination or search of its own.
|
|
46
|
+
*/
|
|
47
|
+
fetchAssigneesViaRest(authManager: AuthManager, taskId: number, params?: ListAssigneesRestParams): Promise<VikunjaAssigneeUser[]>;
|
|
48
|
+
/**
|
|
49
|
+
* Verify that requested assignees were actually persisted by re-fetching the task.
|
|
50
|
+
* Returns the IDs that were requested but are missing from the task.
|
|
51
|
+
*
|
|
52
|
+
* Defense-in-depth safety net (adapted from upstream PR #43 by @AriahPerson)
|
|
53
|
+
* layered on top of the per-user assign fix: even with the correct additive
|
|
54
|
+
* endpoint, certain Vikunja API/auth combinations can report success without
|
|
55
|
+
* persisting assignees. Re-checking the persisted list surfaces that silent
|
|
56
|
+
* failure to the caller.
|
|
57
|
+
*
|
|
58
|
+
* Fails open: if the verification re-fetch itself errors we return [] (assume
|
|
59
|
+
* OK) so a transient read failure never blocks the assign operation.
|
|
60
|
+
*/
|
|
61
|
+
verifyAssignees(authManager: AuthManager, taskId: number, requestedIds: number[]): Promise<number[]>;
|
|
62
|
+
};
|
|
63
|
+
//# sourceMappingURL=AssigneeOperationsService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AssigneeOperationsService.d.ts","sourceRoot":"","sources":["../../../../src/tools/tasks/assignees/AssigneeOperationsService.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAElE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAO7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0CAA0C,CAAC;AAE3E;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC;AAErE,kFAAkF;AAClF,MAAM,WAAW,uBAAuB;IACtC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,eAAO,MAAM,yBAAyB;IACpC;;OAEG;mCAEY,WAAW,UAChB,MAAM,eACD,MAAM,EAAE,GACpB,OAAO,CAAC,IAAI,CAAC;IAqChB;;OAEG;qCAEY,WAAW,UAChB,MAAM,WACL,MAAM,EAAE,GAChB,OAAO,CAAC,IAAI,CAAC;IAyBhB;;OAEG;wCAEY,WAAW,UAChB,MAAM,GACb,OAAO,CAAC,iBAAiB,CAAC;IAkB7B;;OAEG;2BACoB,iBAAiB,GAAG,QAAQ,EAAE;IAIrD;;;;;;;OAOG;uCAEY,WAAW,UAChB,MAAM,WACN,uBAAuB,GAC9B,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAkBjC;;;;;;;;;;;;OAYG;iCAEY,WAAW,UAChB,MAAM,gBACA,MAAM,EAAE,GACrB,OAAO,CAAC,MAAM,EAAE,CAAC;CAerB,CAAC"}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Assignee operations service
|
|
4
|
+
* Handles core business logic for task assignee management
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.AssigneeOperationsService = void 0;
|
|
8
|
+
const types_1 = require("../../../types");
|
|
9
|
+
const auth_error_handler_1 = require("../../../utils/auth-error-handler");
|
|
10
|
+
const retry_1 = require("../../../utils/retry");
|
|
11
|
+
const vikunja_rest_1 = require("../../../utils/vikunja-rest");
|
|
12
|
+
const task_rest_transport_1 = require("../../../utils/task-rest-transport");
|
|
13
|
+
const validation_1 = require("../../../utils/validation");
|
|
14
|
+
const constants_1 = require("../constants");
|
|
15
|
+
/**
|
|
16
|
+
* Service for managing task assignee operations
|
|
17
|
+
*/
|
|
18
|
+
exports.AssigneeOperationsService = {
|
|
19
|
+
/**
|
|
20
|
+
* Assign multiple users to a task
|
|
21
|
+
*/
|
|
22
|
+
async assignUsersToTask(authManager, taskId, assigneeIds) {
|
|
23
|
+
try {
|
|
24
|
+
// Assign users one-by-one via the ADDITIVE single-assign endpoint
|
|
25
|
+
// (PUT /tasks/{taskID}/assignees, body { user_id }, per the OpenAPI
|
|
26
|
+
// spec's models.TaskAssginee). We deliberately avoid the bulk endpoint
|
|
27
|
+
// (POST /tasks/{taskID}/assignees/bulk, models.BulkAssignees): it
|
|
28
|
+
// REPLACES the whole assignee list rather than adding to it, so a bulk
|
|
29
|
+
// call would silently unassign everyone instead of adding users
|
|
30
|
+
// (democratize-technology/vikunja-mcp#15). The per-user PUT matches
|
|
31
|
+
// Vikunja's real additive single-assign model. Sequential on purpose
|
|
32
|
+
// (post-#89 pattern sweep, mirrors removeUsersFromTask below):
|
|
33
|
+
// concurrent per-user writes to the same task risk "database is
|
|
34
|
+
// locked" 500s on SQLite-backed instances.
|
|
35
|
+
for (const userId of assigneeIds) {
|
|
36
|
+
await (0, retry_1.withRetry)(() => (0, vikunja_rest_1.vikunjaRestRequest)(authManager, 'PUT', `/tasks/${taskId}/assignees`, {
|
|
37
|
+
user_id: userId,
|
|
38
|
+
}), {
|
|
39
|
+
...retry_1.RETRY_CONFIG.AUTH_ERRORS,
|
|
40
|
+
shouldRetry: (error) => (0, auth_error_handler_1.isAuthenticationError)(error)
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
catch (assigneeError) {
|
|
45
|
+
// Check if it's an auth error after retries
|
|
46
|
+
if ((0, auth_error_handler_1.isAuthenticationError)(assigneeError)) {
|
|
47
|
+
throw new types_1.MCPError(types_1.ErrorCode.API_ERROR, `${constants_1.AUTH_ERROR_MESSAGES.ASSIGNEE_ASSIGN} (Retried ${retry_1.RETRY_CONFIG.AUTH_ERRORS.maxRetries} times)`);
|
|
48
|
+
}
|
|
49
|
+
throw assigneeError;
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
/**
|
|
53
|
+
* Remove multiple users from a task
|
|
54
|
+
*/
|
|
55
|
+
async removeUsersFromTask(authManager, taskId, userIds) {
|
|
56
|
+
// Remove users from the task with retry logic. DELETE
|
|
57
|
+
// /tasks/{taskID}/assignees/{userID} per the OpenAPI spec — no body.
|
|
58
|
+
for (const userId of userIds) {
|
|
59
|
+
try {
|
|
60
|
+
await (0, retry_1.withRetry)(() => (0, vikunja_rest_1.vikunjaRestRequest)(authManager, 'DELETE', `/tasks/${taskId}/assignees/${userId}`), {
|
|
61
|
+
...retry_1.RETRY_CONFIG.AUTH_ERRORS,
|
|
62
|
+
shouldRetry: (error) => (0, auth_error_handler_1.isAuthenticationError)(error)
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
catch (removeError) {
|
|
66
|
+
// Check if it's an auth error after retries
|
|
67
|
+
if ((0, auth_error_handler_1.isAuthenticationError)(removeError)) {
|
|
68
|
+
throw new types_1.MCPError(types_1.ErrorCode.API_ERROR, `${constants_1.AUTH_ERROR_MESSAGES.ASSIGNEE_REMOVE} (Retried ${retry_1.RETRY_CONFIG.AUTH_ERRORS.maxRetries} times)`);
|
|
69
|
+
}
|
|
70
|
+
throw removeError;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
/**
|
|
75
|
+
* Fetch task data to get current assignees via GET /tasks/{id} (direct-REST)
|
|
76
|
+
*/
|
|
77
|
+
async fetchTaskWithAssignees(authManager, taskId) {
|
|
78
|
+
const task = await (0, task_rest_transport_1.getTaskViaRest)(authManager, taskId);
|
|
79
|
+
// Ensure required properties exist for TaskWithAssignees
|
|
80
|
+
if (!task.id) {
|
|
81
|
+
throw new types_1.MCPError(types_1.ErrorCode.INTERNAL_ERROR, 'Task returned from API is missing required id field');
|
|
82
|
+
}
|
|
83
|
+
return {
|
|
84
|
+
...task,
|
|
85
|
+
id: task.id,
|
|
86
|
+
title: task.title || '',
|
|
87
|
+
// `models.Task.assignees` is `user.User[]` (all fields optional per Go
|
|
88
|
+
// `omitempty`); `Assignee` requires `id`/`username`. A persisted
|
|
89
|
+
// assignee always carries both, so this narrows the spec-optional shape
|
|
90
|
+
// to the response type the formatters consume.
|
|
91
|
+
assignees: (task.assignees ?? []),
|
|
92
|
+
};
|
|
93
|
+
},
|
|
94
|
+
/**
|
|
95
|
+
* Extract assignee information from task
|
|
96
|
+
*/
|
|
97
|
+
extractAssignees(task) {
|
|
98
|
+
return task.assignees || [];
|
|
99
|
+
},
|
|
100
|
+
/**
|
|
101
|
+
* Fetch a task's assignees via the dedicated endpoint
|
|
102
|
+
* (`GET /tasks/{taskID}/assignees`), rather than reading the `assignees`
|
|
103
|
+
* array embedded in `GET /tasks/{id}` (what `fetchTaskWithAssignees`
|
|
104
|
+
* above does). This is the only way to reach the endpoint's documented
|
|
105
|
+
* `page`/`per_page`/`s` (username search) query params — the embedded
|
|
106
|
+
* array on the task object has no pagination or search of its own.
|
|
107
|
+
*/
|
|
108
|
+
async fetchAssigneesViaRest(authManager, taskId, params = {}) {
|
|
109
|
+
if (params.page !== undefined)
|
|
110
|
+
(0, validation_1.validateId)(params.page, 'page');
|
|
111
|
+
if (params.perPage !== undefined)
|
|
112
|
+
(0, validation_1.validateId)(params.perPage, 'perPage');
|
|
113
|
+
const query = new URLSearchParams();
|
|
114
|
+
if (params.search)
|
|
115
|
+
query.set('s', params.search);
|
|
116
|
+
if (params.page !== undefined)
|
|
117
|
+
query.set('page', String(params.page));
|
|
118
|
+
if (params.perPage !== undefined)
|
|
119
|
+
query.set('per_page', String(params.perPage));
|
|
120
|
+
const qs = query.toString();
|
|
121
|
+
const result = await (0, vikunja_rest_1.vikunjaRestRequest)(authManager, 'GET', `/tasks/${taskId}/assignees${qs ? `?${qs}` : ''}`);
|
|
122
|
+
return Array.isArray(result) ? result : [];
|
|
123
|
+
},
|
|
124
|
+
/**
|
|
125
|
+
* Verify that requested assignees were actually persisted by re-fetching the task.
|
|
126
|
+
* Returns the IDs that were requested but are missing from the task.
|
|
127
|
+
*
|
|
128
|
+
* Defense-in-depth safety net (adapted from upstream PR #43 by @AriahPerson)
|
|
129
|
+
* layered on top of the per-user assign fix: even with the correct additive
|
|
130
|
+
* endpoint, certain Vikunja API/auth combinations can report success without
|
|
131
|
+
* persisting assignees. Re-checking the persisted list surfaces that silent
|
|
132
|
+
* failure to the caller.
|
|
133
|
+
*
|
|
134
|
+
* Fails open: if the verification re-fetch itself errors we return [] (assume
|
|
135
|
+
* OK) so a transient read failure never blocks the assign operation.
|
|
136
|
+
*/
|
|
137
|
+
async verifyAssignees(authManager, taskId, requestedIds) {
|
|
138
|
+
if (requestedIds.length === 0) {
|
|
139
|
+
return [];
|
|
140
|
+
}
|
|
141
|
+
try {
|
|
142
|
+
const task = await exports.AssigneeOperationsService.fetchTaskWithAssignees(authManager, taskId);
|
|
143
|
+
const persistedIds = new Set(exports.AssigneeOperationsService.extractAssignees(task).map((a) => a.id));
|
|
144
|
+
return requestedIds.filter((id) => !persistedIds.has(id));
|
|
145
|
+
}
|
|
146
|
+
catch {
|
|
147
|
+
// If we can't verify, don't block — assume the assignment is fine.
|
|
148
|
+
return [];
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
};
|
|
152
|
+
//# sourceMappingURL=AssigneeOperationsService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AssigneeOperationsService.js","sourceRoot":"","sources":["../../../../src/tools/tasks/assignees/AssigneeOperationsService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Assignee response formatter service
|
|
3
|
+
* Handles response formatting for assignee operations
|
|
4
|
+
*/
|
|
5
|
+
import type { StandardTaskResponse, TaskWithAssignees } from '../../../types';
|
|
6
|
+
/**
|
|
7
|
+
* Service for formatting assignee operation responses
|
|
8
|
+
*/
|
|
9
|
+
export declare const AssigneeResponseFormatter: {
|
|
10
|
+
/**
|
|
11
|
+
* Format successful assign operation response
|
|
12
|
+
*/
|
|
13
|
+
formatAssignResponse(task: TaskWithAssignees): StandardTaskResponse;
|
|
14
|
+
/**
|
|
15
|
+
* Format successful unassign operation response
|
|
16
|
+
*/
|
|
17
|
+
formatUnassignResponse(task: TaskWithAssignees): StandardTaskResponse;
|
|
18
|
+
/**
|
|
19
|
+
* Format MCP response wrapper
|
|
20
|
+
*/
|
|
21
|
+
formatMcpResponse(response: StandardTaskResponse): {
|
|
22
|
+
content: Array<{
|
|
23
|
+
type: "text";
|
|
24
|
+
text: string;
|
|
25
|
+
}>;
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=AssigneeResponseFormatter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AssigneeResponseFormatter.d.ts","sourceRoot":"","sources":["../../../../src/tools/tasks/assignees/AssigneeResponseFormatter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAoB,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAIhG;;GAEG;AACH,eAAO,MAAM,yBAAyB;IACpC;;OAEG;+BACwB,iBAAiB,GAAG,oBAAoB;IAanE;;OAEG;iCAC0B,iBAAiB,GAAG,oBAAoB;IAarE;;OAEG;gCACyB,oBAAoB,GAAG;QAAE,OAAO,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE;CA+BtG,CAAC"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Assignee response formatter service
|
|
4
|
+
* Handles response formatting for assignee operations
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.AssigneeResponseFormatter = void 0;
|
|
8
|
+
const types_1 = require("../../../types");
|
|
9
|
+
const response_factory_1 = require("../../../utils/response-factory");
|
|
10
|
+
/**
|
|
11
|
+
* Service for formatting assignee operation responses
|
|
12
|
+
*/
|
|
13
|
+
exports.AssigneeResponseFormatter = {
|
|
14
|
+
/**
|
|
15
|
+
* Format successful assign operation response
|
|
16
|
+
*/
|
|
17
|
+
formatAssignResponse(task) {
|
|
18
|
+
return {
|
|
19
|
+
success: true,
|
|
20
|
+
operation: 'assign',
|
|
21
|
+
message: 'Users assigned to task successfully',
|
|
22
|
+
task: task,
|
|
23
|
+
metadata: {
|
|
24
|
+
timestamp: new Date().toISOString(),
|
|
25
|
+
affectedFields: ['assignees'],
|
|
26
|
+
},
|
|
27
|
+
};
|
|
28
|
+
},
|
|
29
|
+
/**
|
|
30
|
+
* Format successful unassign operation response
|
|
31
|
+
*/
|
|
32
|
+
formatUnassignResponse(task) {
|
|
33
|
+
return {
|
|
34
|
+
success: true,
|
|
35
|
+
operation: 'unassign',
|
|
36
|
+
message: 'Users removed from task successfully',
|
|
37
|
+
task: task,
|
|
38
|
+
metadata: {
|
|
39
|
+
timestamp: new Date().toISOString(),
|
|
40
|
+
affectedFields: ['assignees'],
|
|
41
|
+
},
|
|
42
|
+
};
|
|
43
|
+
},
|
|
44
|
+
/**
|
|
45
|
+
* Format MCP response wrapper
|
|
46
|
+
*/
|
|
47
|
+
formatMcpResponse(response) {
|
|
48
|
+
// Create proper AORP response instead of casting StandardTaskResponse
|
|
49
|
+
const metadata = {
|
|
50
|
+
timestamp: response.metadata?.timestamp || new Date().toISOString(),
|
|
51
|
+
...(response.metadata?.count !== undefined ? { count: response.metadata.count } : {}),
|
|
52
|
+
...(response.metadata?.affectedFields ? { affectedFields: response.metadata.affectedFields } : {}),
|
|
53
|
+
// Convert previousState to proper Record<string, unknown> if it exists
|
|
54
|
+
...(response.metadata?.previousState && typeof response.metadata.previousState === 'object' && response.metadata.previousState !== null
|
|
55
|
+
? { previousState: response.metadata.previousState }
|
|
56
|
+
: {})
|
|
57
|
+
};
|
|
58
|
+
const aorpResponse = (0, types_1.createStandardResponse)(response.operation || 'unknown', response.message || 'Operation completed',
|
|
59
|
+
// StandardTaskResponse carries the generated `models.Task` (all fields
|
|
60
|
+
// spec-optional); the formatter's `ResponseData` wants the local `Task`.
|
|
61
|
+
// The formatter reads fields defensively, so narrow via the param type.
|
|
62
|
+
response, metadata);
|
|
63
|
+
return {
|
|
64
|
+
content: [
|
|
65
|
+
{
|
|
66
|
+
type: 'text',
|
|
67
|
+
text: (0, response_factory_1.formatAorpAsMarkdown)(aorpResponse), // Format AORP response as markdown
|
|
68
|
+
},
|
|
69
|
+
],
|
|
70
|
+
};
|
|
71
|
+
},
|
|
72
|
+
};
|
|
73
|
+
//# sourceMappingURL=AssigneeResponseFormatter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AssigneeResponseFormatter.js","sourceRoot":"","sources":["../../../../src/tools/tasks/assignees/AssigneeResponseFormatter.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAGH,0CAAwD;AACxD,sEAAuE;AAEvE;;GAEG;AACU,QAAA,yBAAyB,GAAG;IACvC;;OAEG;IACH,oBAAoB,CAAC,IAAuB;QAC1C,OAAO;YACL,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,QAAQ;YACnB,OAAO,EAAE,qCAAqC;YAC9C,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE;gBACR,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,cAAc,EAAE,CAAC,WAAW,CAAC;aAC9B;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,sBAAsB,CAAC,IAAuB;QAC5C,OAAO;YACL,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,UAAU;YACrB,OAAO,EAAE,sCAAsC;YAC/C,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE;gBACR,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,cAAc,EAAE,CAAC,WAAW,CAAC;aAC9B;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,QAA8B;QAC9C,sEAAsE;QACtE,MAAM,QAAQ,GAAqB;YACjC,SAAS,EAAE,QAAQ,CAAC,QAAQ,EAAE,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnE,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrF,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,QAAQ,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClG,uEAAuE;YACvE,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,aAAa,IAAI,OAAO,QAAQ,CAAC,QAAQ,CAAC,aAAa,KAAK,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,aAAa,KAAK,IAAI;gBACrI,CAAC,CAAC,EAAE,aAAa,EAAE,QAAQ,CAAC,QAAQ,CAAC,aAAwC,EAAE;gBAC/E,CAAC,CAAC,EAAE,CAAC;SACR,CAAC;QAEF,MAAM,YAAY,GAAG,IAAA,8BAAsB,EACzC,QAAQ,CAAC,SAAS,IAAI,SAAS,EAC/B,QAAQ,CAAC,OAAO,IAAI,qBAAqB;QACzC,uEAAuE;QACvE,yEAAyE;QACzE,wEAAwE;QACxE,QAAmE,EACnE,QAAQ,CACT,CAAC;QAEF,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,IAAA,uCAAoB,EAAC,YAAY,CAAC,EAAE,mCAAmC;iBAC9E;aACF;SACF,CAAC;IACJ,CAAC;CACF,CAAC"}
|