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,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Shared permission-level resolution for project sharing operations.
|
|
4
|
+
*
|
|
5
|
+
* The Vikunja API encodes project permission levels as a small integer
|
|
6
|
+
* (0 = Read, 1 = Write, 2 = Admin) — `models.Permission` in the vendored
|
|
7
|
+
* OpenAPI spec — on every sharing-related endpoint: link shares
|
|
8
|
+
* (`models.LinkSharing.permission`), direct user shares
|
|
9
|
+
* (`models.ProjectUser.permission`), and direct team shares
|
|
10
|
+
* (`models.TeamProject.permission`). MCP tool callers may supply either the
|
|
11
|
+
* numeric value directly or one of the friendly string aliases (`'read'` /
|
|
12
|
+
* `'write'` / `'admin'`); this resolves either form to the numeric value the
|
|
13
|
+
* API expects, with one shared set of validation rules used everywhere a
|
|
14
|
+
* sharing permission is accepted — link shares, direct user shares, and
|
|
15
|
+
* direct team shares alike.
|
|
16
|
+
*/
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.resolvePermission = resolvePermission;
|
|
19
|
+
const types_1 = require("../../types");
|
|
20
|
+
const PERMISSION_NAME_TO_VALUE = {
|
|
21
|
+
read: 0,
|
|
22
|
+
write: 1,
|
|
23
|
+
admin: 2,
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* Resolves a caller-supplied permission (string alias or numeric value) to
|
|
27
|
+
* the numeric `models.Permission` value the Vikunja API expects.
|
|
28
|
+
*
|
|
29
|
+
* @throws MCPError (VALIDATION_ERROR) when `right` is missing, an
|
|
30
|
+
* unrecognized string, an out-of-range number, or neither a string
|
|
31
|
+
* nor a number.
|
|
32
|
+
*/
|
|
33
|
+
function resolvePermission(right) {
|
|
34
|
+
if (right === undefined) {
|
|
35
|
+
throw new types_1.MCPError(types_1.ErrorCode.VALIDATION_ERROR, 'Share right is required');
|
|
36
|
+
}
|
|
37
|
+
if (typeof right === 'string') {
|
|
38
|
+
const normalized = right.trim().toLowerCase();
|
|
39
|
+
const resolved = PERMISSION_NAME_TO_VALUE[normalized];
|
|
40
|
+
if (resolved === undefined) {
|
|
41
|
+
throw new types_1.MCPError(types_1.ErrorCode.VALIDATION_ERROR, 'Share right must be one of: read, write, admin');
|
|
42
|
+
}
|
|
43
|
+
return resolved;
|
|
44
|
+
}
|
|
45
|
+
if (typeof right === 'number') {
|
|
46
|
+
if (right !== 0 && right !== 1 && right !== 2) {
|
|
47
|
+
throw new types_1.MCPError(types_1.ErrorCode.VALIDATION_ERROR, 'Invalid permission level. Use: 0=Read, 1=Write, 2=Admin');
|
|
48
|
+
}
|
|
49
|
+
return right;
|
|
50
|
+
}
|
|
51
|
+
throw new types_1.MCPError(types_1.ErrorCode.VALIDATION_ERROR, 'Share right must be a string or number');
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=permission.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permission.js","sourceRoot":"","sources":["../../../src/tools/projects/permission.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;AAoBH,8CA4BC;AA9CD,uCAAkD;AAIlD,MAAM,wBAAwB,GAA8B;IAC1D,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;IACR,KAAK,EAAE,CAAC;CACT,CAAC;AAEF;;;;;;;GAOG;AACH,SAAgB,iBAAiB,CAAC,KAAkC;IAClE,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,gBAAQ,CAAC,iBAAS,CAAC,gBAAgB,EAAE,yBAAyB,CAAC,CAAC;IAC5E,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC9C,MAAM,QAAQ,GAAG,wBAAwB,CAAC,UAAU,CAAC,CAAC;QACtD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,IAAI,gBAAQ,CAChB,iBAAS,CAAC,gBAAgB,EAC1B,gDAAgD,CACjD,CAAC;QACJ,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,gBAAQ,CAChB,iBAAS,CAAC,gBAAgB,EAC1B,yDAAyD,CAC1D,CAAC;QACJ,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,IAAI,gBAAQ,CAAC,iBAAS,CAAC,gBAAgB,EAAE,wCAAwC,CAAC,CAAC;AAC3F,CAAC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Project Response Formatter Module
|
|
3
|
+
* Handles AORP response creation and formatting for project operations
|
|
4
|
+
*/
|
|
5
|
+
import type { ResponseMetadata } from '../../types/responses';
|
|
6
|
+
import type { AorpFactoryResult } from '../../types';
|
|
7
|
+
import type { components } from '../../types/generated/vikunja-openapi';
|
|
8
|
+
type Project = components['schemas']['models.Project'];
|
|
9
|
+
/**
|
|
10
|
+
* Creates an AORP response for project operations
|
|
11
|
+
*/
|
|
12
|
+
export declare function createProjectResponse(operation: string, message: string, _data: unknown, _metadata?: Partial<ResponseMetadata>, _verbosity?: string, _useOptimizedFormat?: boolean, _useAorp?: boolean): AorpFactoryResult;
|
|
13
|
+
/**
|
|
14
|
+
* Creates a success response for project operations
|
|
15
|
+
*/
|
|
16
|
+
export declare function createProjectSuccessResponse(operation: string, data: unknown, options?: {
|
|
17
|
+
message?: string;
|
|
18
|
+
verbosity?: string;
|
|
19
|
+
useOptimizedFormat?: boolean;
|
|
20
|
+
useAorp?: boolean;
|
|
21
|
+
metadata?: Partial<ResponseMetadata>;
|
|
22
|
+
}): AorpFactoryResult;
|
|
23
|
+
/**
|
|
24
|
+
* Creates a project list response with pagination metadata
|
|
25
|
+
*
|
|
26
|
+
* GET /projects returns a bare array with no total-count metadata in the
|
|
27
|
+
* response body (the server does not report total items or total pages),
|
|
28
|
+
* so this cannot honestly claim to know `totalPages`/`totalItems`. Instead
|
|
29
|
+
* `hasMore` is derived from whether a full page was returned: if fewer than
|
|
30
|
+
* `perPage` items came back, this is the last page.
|
|
31
|
+
*/
|
|
32
|
+
export declare function createProjectListResponse(projects: unknown[], currentPage: number, perPage: number, options?: {
|
|
33
|
+
verbosity?: string;
|
|
34
|
+
useOptimizedFormat?: boolean;
|
|
35
|
+
useAorp?: boolean;
|
|
36
|
+
}): AorpFactoryResult;
|
|
37
|
+
/**
|
|
38
|
+
* Creates a project tree response with hierarchy metadata
|
|
39
|
+
*/
|
|
40
|
+
export declare function createProjectTreeResponse(treeData: unknown, depth: number, totalNodes: number, options?: {
|
|
41
|
+
verbosity?: string;
|
|
42
|
+
useOptimizedFormat?: boolean;
|
|
43
|
+
useAorp?: boolean;
|
|
44
|
+
}): AorpFactoryResult;
|
|
45
|
+
/**
|
|
46
|
+
* Creates a breadcrumb response for project hierarchy navigation
|
|
47
|
+
*/
|
|
48
|
+
export declare function createBreadcrumbResponse(breadcrumb: Project[], options?: {
|
|
49
|
+
verbosity?: string;
|
|
50
|
+
useOptimizedFormat?: boolean;
|
|
51
|
+
useAorp?: boolean;
|
|
52
|
+
}): AorpFactoryResult;
|
|
53
|
+
export {};
|
|
54
|
+
//# sourceMappingURL=response-formatter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response-formatter.d.ts","sourceRoot":"","sources":["../../../src/tools/projects/response-formatter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,OAAO,KAAK,EAAE,iBAAiB,EAAsB,MAAM,aAAa,CAAC;AACzE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AAKxE,KAAK,OAAO,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,gBAAgB,CAAC,CAAC;AAUvD;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,OAAO,EACd,SAAS,GAAE,OAAO,CAAC,gBAAgB,CAAM,EACzC,UAAU,CAAC,EAAE,MAAM,EACnB,mBAAmB,CAAC,EAAE,OAAO,EAC7B,QAAQ,CAAC,EAAE,OAAO,GACjB,iBAAiB,CAqDnB;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,OAAO,EACb,OAAO,GAAE;IACP,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;CACjC,GACL,iBAAiB,CAkBnB;AAED;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,OAAO,EAAE,EACnB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;IACP,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;CACd,GACL,iBAAiB,CAwBnB;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,OAAO,EACjB,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE;IACP,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;CACd,GACL,iBAAiB,CAoBnB;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,OAAO,EAAE,EACrB,OAAO,GAAE;IACP,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;CACd,GACL,iBAAiB,CAmBnB"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Project Response Formatter Module
|
|
4
|
+
* Handles AORP response creation and formatting for project operations
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.createProjectResponse = createProjectResponse;
|
|
8
|
+
exports.createProjectSuccessResponse = createProjectSuccessResponse;
|
|
9
|
+
exports.createProjectListResponse = createProjectListResponse;
|
|
10
|
+
exports.createProjectTreeResponse = createProjectTreeResponse;
|
|
11
|
+
exports.createBreadcrumbResponse = createBreadcrumbResponse;
|
|
12
|
+
const response_factory_1 = require("../../utils/response-factory");
|
|
13
|
+
const base_1 = require("../../transforms/base");
|
|
14
|
+
/**
|
|
15
|
+
* Creates an AORP response for project operations
|
|
16
|
+
*/
|
|
17
|
+
function createProjectResponse(operation, message, _data, _metadata = {}, _verbosity, _useOptimizedFormat, _useAorp) {
|
|
18
|
+
// An explicit per-call verbosity always takes precedence over the
|
|
19
|
+
// VIKUNJA_RESPONSE_VERBOSITY environment default.
|
|
20
|
+
const selectedVerbosity = _verbosity ?? (0, base_1.getDefaultVerbosity)();
|
|
21
|
+
// Cast data to ResponseData for type compatibility
|
|
22
|
+
const responseData = _data;
|
|
23
|
+
// Use simple response format
|
|
24
|
+
const simpleAorpResult = (0, response_factory_1.createAorpResponse)(operation, message, responseData, {
|
|
25
|
+
success: true,
|
|
26
|
+
metadata: {
|
|
27
|
+
verbosity: selectedVerbosity,
|
|
28
|
+
},
|
|
29
|
+
});
|
|
30
|
+
// Add transformation property for compatibility with AorpFactoryResult
|
|
31
|
+
const mockOptimizedResponse = {
|
|
32
|
+
success: true,
|
|
33
|
+
operation,
|
|
34
|
+
message,
|
|
35
|
+
data: responseData,
|
|
36
|
+
metadata: {
|
|
37
|
+
timestamp: new Date().toISOString(),
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
return {
|
|
41
|
+
response: simpleAorpResult,
|
|
42
|
+
transformation: {
|
|
43
|
+
originalResponse: mockOptimizedResponse,
|
|
44
|
+
context: {
|
|
45
|
+
operation,
|
|
46
|
+
success: true,
|
|
47
|
+
dataSize: JSON.stringify(responseData).length,
|
|
48
|
+
processingTime: 0,
|
|
49
|
+
verbosity: selectedVerbosity,
|
|
50
|
+
verbosityLevel: 'simple',
|
|
51
|
+
complexityFactors: {
|
|
52
|
+
dataSize: JSON.stringify(responseData).length >= 1024,
|
|
53
|
+
hasWarnings: false,
|
|
54
|
+
hasErrors: false,
|
|
55
|
+
isBulkOperation: false,
|
|
56
|
+
isPartialSuccess: false,
|
|
57
|
+
custom: {}
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
metrics: {
|
|
61
|
+
aorpProcessingTime: 0,
|
|
62
|
+
totalTime: 0
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Creates a success response for project operations
|
|
69
|
+
*/
|
|
70
|
+
function createProjectSuccessResponse(operation, data, options = {}) {
|
|
71
|
+
const { message = `${operation} operation completed successfully`, verbosity, useOptimizedFormat, useAorp, metadata = {} } = options;
|
|
72
|
+
return createProjectResponse(operation, message, data, metadata, verbosity, useOptimizedFormat, useAorp);
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Creates a project list response with pagination metadata
|
|
76
|
+
*
|
|
77
|
+
* GET /projects returns a bare array with no total-count metadata in the
|
|
78
|
+
* response body (the server does not report total items or total pages),
|
|
79
|
+
* so this cannot honestly claim to know `totalPages`/`totalItems`. Instead
|
|
80
|
+
* `hasMore` is derived from whether a full page was returned: if fewer than
|
|
81
|
+
* `perPage` items came back, this is the last page.
|
|
82
|
+
*/
|
|
83
|
+
function createProjectListResponse(projects, currentPage, perPage, options = {}) {
|
|
84
|
+
const hasMore = perPage > 0 && projects.length >= perPage;
|
|
85
|
+
const metadata = {
|
|
86
|
+
pagination: {
|
|
87
|
+
page: currentPage,
|
|
88
|
+
perPage,
|
|
89
|
+
hasMore,
|
|
90
|
+
nextPage: hasMore ? currentPage + 1 : undefined,
|
|
91
|
+
prevPage: currentPage > 1 ? currentPage - 1 : undefined,
|
|
92
|
+
},
|
|
93
|
+
};
|
|
94
|
+
const projectWord = projects.length === 1 ? 'project' : 'projects';
|
|
95
|
+
const message = `Retrieved ${projects.length} ${projectWord}`;
|
|
96
|
+
return createProjectSuccessResponse('list_projects', projects, {
|
|
97
|
+
message,
|
|
98
|
+
...options,
|
|
99
|
+
metadata
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Creates a project tree response with hierarchy metadata
|
|
104
|
+
*/
|
|
105
|
+
function createProjectTreeResponse(treeData, depth, totalNodes, options = {}) {
|
|
106
|
+
const metadata = {
|
|
107
|
+
hierarchy: {
|
|
108
|
+
depth,
|
|
109
|
+
totalNodes,
|
|
110
|
+
maxDepth: 10, // From MAX_PROJECT_DEPTH
|
|
111
|
+
},
|
|
112
|
+
totalProjects: totalNodes,
|
|
113
|
+
};
|
|
114
|
+
const tree = treeData;
|
|
115
|
+
return createProjectSuccessResponse('get-project-tree', { tree: tree.length === 1 ? tree[0] : tree }, {
|
|
116
|
+
message: `Retrieved project tree with ${totalNodes} nodes at depth ${depth}`,
|
|
117
|
+
...options,
|
|
118
|
+
metadata
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Creates a breadcrumb response for project hierarchy navigation
|
|
123
|
+
*/
|
|
124
|
+
function createBreadcrumbResponse(breadcrumb, options = {}) {
|
|
125
|
+
const metadata = {
|
|
126
|
+
navigation: {
|
|
127
|
+
breadcrumbLength: breadcrumb.length,
|
|
128
|
+
hasPath: breadcrumb.length > 0,
|
|
129
|
+
},
|
|
130
|
+
path: breadcrumb.map((p) => p.title).join(' > ') || 'Root',
|
|
131
|
+
depth: breadcrumb.length,
|
|
132
|
+
};
|
|
133
|
+
return createProjectSuccessResponse('get-project-breadcrumb', { breadcrumb }, {
|
|
134
|
+
message: `Retrieved breadcrumb path with ${breadcrumb.length} items`,
|
|
135
|
+
...options,
|
|
136
|
+
metadata
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
//# sourceMappingURL=response-formatter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response-formatter.js","sourceRoot":"","sources":["../../../src/tools/projects/response-formatter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Direct project sharing with users & teams.
|
|
3
|
+
*
|
|
4
|
+
* Distinct from `sharing.ts` (anonymous/password link shares): this module
|
|
5
|
+
* grants access to specific, named users and teams. Entirely new coverage —
|
|
6
|
+
* this MCP server previously exposed no way to share a project with a user
|
|
7
|
+
* or team directly (see docs/API-COVERAGE.md, HIGH finding). Built
|
|
8
|
+
* direct-REST per the Wave D playbook (docs/ENDPOINT-PLAYBOOK.md); there is
|
|
9
|
+
* no existing legacy client call site here to migrate.
|
|
10
|
+
*
|
|
11
|
+
* Endpoints (verified against docs/vikunja-openapi.json — note the body
|
|
12
|
+
* field is `permission`, NOT the legacy client's stale `right`):
|
|
13
|
+
* - GET /projects/{id}/users list users on a project
|
|
14
|
+
* - PUT /projects/{id}/users add a user to a project
|
|
15
|
+
* - POST /projects/{projectID}/users/{userID} update a user's permission
|
|
16
|
+
* - DELETE /projects/{projectID}/users/{userID} remove a user
|
|
17
|
+
* - GET /projects/{id}/teams list teams on a project
|
|
18
|
+
* - PUT /projects/{id}/teams add a team to a project
|
|
19
|
+
* - POST /projects/{projectID}/teams/{teamID} update a team's permission
|
|
20
|
+
* - DELETE /projects/{projectID}/teams/{teamID} remove a team
|
|
21
|
+
* - GET /projects/{id}/projectusers project-scoped user search
|
|
22
|
+
* - GET /users global user search (by username/name/email)
|
|
23
|
+
* - GET /teams team search (by name)
|
|
24
|
+
*
|
|
25
|
+
* Composite-first (docs/ENDPOINT-PLAYBOOK.md §1): `share-with-user` and
|
|
26
|
+
* `share-with-team` are the headline subcommands — they take a username or
|
|
27
|
+
* team name plus a permission level, resolve it to an id internally, add
|
|
28
|
+
* it, then verify the grant actually landed, using `CompositeOperation`
|
|
29
|
+
* (src/utils/composite-operation.ts) for the multi-step write with opt-in
|
|
30
|
+
* atomic rollback (remove-on-failure). Primitives (list/add/update/remove
|
|
31
|
+
* by numeric id) remain available for fine-grained control. `list-members`
|
|
32
|
+
* is a read composite answering "who has access to this project" (users +
|
|
33
|
+
* teams + link shares) in one call.
|
|
34
|
+
*/
|
|
35
|
+
import type { AuthManager } from '../../auth/AuthManager';
|
|
36
|
+
import { type PermissionInput } from './permission';
|
|
37
|
+
type McpResponse = {
|
|
38
|
+
content: Array<{
|
|
39
|
+
type: 'text';
|
|
40
|
+
text: string;
|
|
41
|
+
}>;
|
|
42
|
+
};
|
|
43
|
+
export interface ListProjectUsersArgs {
|
|
44
|
+
projectId: number;
|
|
45
|
+
search?: string;
|
|
46
|
+
page?: number;
|
|
47
|
+
perPage?: number;
|
|
48
|
+
sessionId?: string;
|
|
49
|
+
}
|
|
50
|
+
/** Lists the users who have direct access to a project, with their permission. */
|
|
51
|
+
export declare function listProjectUsers(args: ListProjectUsersArgs, authManager: AuthManager): Promise<McpResponse>;
|
|
52
|
+
export interface SearchProjectUsersArgs {
|
|
53
|
+
projectId: number;
|
|
54
|
+
search?: string;
|
|
55
|
+
sessionId?: string;
|
|
56
|
+
}
|
|
57
|
+
/** Project-scoped user search (`GET /projects/{id}/projectusers`) — for finding a user to share with, distinct from the global `/users` search. */
|
|
58
|
+
export declare function searchProjectUsers(args: SearchProjectUsersArgs, authManager: AuthManager): Promise<McpResponse>;
|
|
59
|
+
export interface AddProjectUserArgs {
|
|
60
|
+
projectId: number;
|
|
61
|
+
username: string;
|
|
62
|
+
right: PermissionInput;
|
|
63
|
+
sessionId?: string;
|
|
64
|
+
}
|
|
65
|
+
/** Grants a named user direct access to a project (`PUT /projects/{id}/users`, body `{username, permission}`). */
|
|
66
|
+
export declare function addProjectUser(args: AddProjectUserArgs, authManager: AuthManager): Promise<McpResponse>;
|
|
67
|
+
export interface UpdateProjectUserPermissionArgs {
|
|
68
|
+
projectId: number;
|
|
69
|
+
userId: number;
|
|
70
|
+
right: PermissionInput;
|
|
71
|
+
sessionId?: string;
|
|
72
|
+
}
|
|
73
|
+
/** Updates a user's permission on a project (`POST /projects/{projectID}/users/{userID}`, body `{permission}`). */
|
|
74
|
+
export declare function updateProjectUserPermission(args: UpdateProjectUserPermissionArgs, authManager: AuthManager): Promise<McpResponse>;
|
|
75
|
+
export interface RemoveProjectUserArgs {
|
|
76
|
+
projectId: number;
|
|
77
|
+
userId: number;
|
|
78
|
+
sessionId?: string;
|
|
79
|
+
}
|
|
80
|
+
/** Removes a user's direct access to a project (`DELETE /projects/{projectID}/users/{userID}`). */
|
|
81
|
+
export declare function removeProjectUser(args: RemoveProjectUserArgs, authManager: AuthManager): Promise<McpResponse>;
|
|
82
|
+
export interface ListProjectTeamsArgs {
|
|
83
|
+
projectId: number;
|
|
84
|
+
search?: string;
|
|
85
|
+
page?: number;
|
|
86
|
+
perPage?: number;
|
|
87
|
+
sessionId?: string;
|
|
88
|
+
}
|
|
89
|
+
/** Lists the teams with direct access to a project, with their permission. */
|
|
90
|
+
export declare function listProjectTeams(args: ListProjectTeamsArgs, authManager: AuthManager): Promise<McpResponse>;
|
|
91
|
+
export interface AddProjectTeamArgs {
|
|
92
|
+
projectId: number;
|
|
93
|
+
teamId: number;
|
|
94
|
+
right: PermissionInput;
|
|
95
|
+
sessionId?: string;
|
|
96
|
+
}
|
|
97
|
+
/** Grants a team direct access to a project (`PUT /projects/{id}/teams`, body `{team_id, permission}`). */
|
|
98
|
+
export declare function addProjectTeam(args: AddProjectTeamArgs, authManager: AuthManager): Promise<McpResponse>;
|
|
99
|
+
export interface UpdateProjectTeamPermissionArgs {
|
|
100
|
+
projectId: number;
|
|
101
|
+
teamId: number;
|
|
102
|
+
right: PermissionInput;
|
|
103
|
+
sessionId?: string;
|
|
104
|
+
}
|
|
105
|
+
/** Updates a team's permission on a project (`POST /projects/{projectID}/teams/{teamID}`, body `{permission}`). */
|
|
106
|
+
export declare function updateProjectTeamPermission(args: UpdateProjectTeamPermissionArgs, authManager: AuthManager): Promise<McpResponse>;
|
|
107
|
+
export interface RemoveProjectTeamArgs {
|
|
108
|
+
projectId: number;
|
|
109
|
+
teamId: number;
|
|
110
|
+
sessionId?: string;
|
|
111
|
+
}
|
|
112
|
+
/** Removes a team's direct access to a project (`DELETE /projects/{projectID}/teams/{teamID}`). */
|
|
113
|
+
export declare function removeProjectTeam(args: RemoveProjectTeamArgs, authManager: AuthManager): Promise<McpResponse>;
|
|
114
|
+
export interface ShareWithUserArgs {
|
|
115
|
+
projectId: number;
|
|
116
|
+
username: string;
|
|
117
|
+
right: PermissionInput;
|
|
118
|
+
/**
|
|
119
|
+
* Opt into atomic rollback: if the post-add verification fails, the grant
|
|
120
|
+
* is removed. Default `false` (best-effort) — see
|
|
121
|
+
* docs/ENDPOINT-PLAYBOOK.md §5 / `CompositeOperation`'s design rule (a).
|
|
122
|
+
* This is best-effort compensation against a live API, not a real
|
|
123
|
+
* transaction: side effects of the `add-user` step (e.g. any webhook it
|
|
124
|
+
* fires) are not undone by the rollback.
|
|
125
|
+
*/
|
|
126
|
+
atomic?: boolean;
|
|
127
|
+
sessionId?: string;
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Composite: share a project with a user by **username**. Resolves the
|
|
131
|
+
* username to a user id via the global user search (`GET /users?s=`), adds
|
|
132
|
+
* the user to the project, then verifies the grant actually landed by
|
|
133
|
+
* re-reading the project's user list. Uses `CompositeOperation` so a failed
|
|
134
|
+
* verification can (opt-in, `atomic: true`) remove the just-added grant
|
|
135
|
+
* rather than leaving a silently-unverified share in place.
|
|
136
|
+
*/
|
|
137
|
+
export declare function shareProjectWithUser(args: ShareWithUserArgs, authManager: AuthManager): Promise<McpResponse>;
|
|
138
|
+
export interface ShareWithTeamArgs {
|
|
139
|
+
projectId: number;
|
|
140
|
+
teamName: string;
|
|
141
|
+
right: PermissionInput;
|
|
142
|
+
/** Opt into atomic rollback — see `ShareWithUserArgs.atomic`. */
|
|
143
|
+
atomic?: boolean;
|
|
144
|
+
sessionId?: string;
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Composite: share a project with a team by **name**. Resolves the team
|
|
148
|
+
* name to a team id via `GET /teams?s=`, adds the team to the project, then
|
|
149
|
+
* verifies the grant landed by re-reading the project's team list. Same
|
|
150
|
+
* `CompositeOperation` + opt-in atomic rollback shape as `share-with-user`.
|
|
151
|
+
*/
|
|
152
|
+
export declare function shareProjectWithTeam(args: ShareWithTeamArgs, authManager: AuthManager): Promise<McpResponse>;
|
|
153
|
+
export interface ListMembersArgs {
|
|
154
|
+
projectId: number;
|
|
155
|
+
sessionId?: string;
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Read composite: answers "who has access to this project" in one call —
|
|
159
|
+
* direct users, direct teams, and link shares — instead of making the
|
|
160
|
+
* caller issue three separate list calls. Purely a read; no
|
|
161
|
+
* `CompositeOperation` needed since there is nothing to compensate.
|
|
162
|
+
*/
|
|
163
|
+
export declare function listProjectMembers(args: ListMembersArgs, authManager: AuthManager): Promise<McpResponse>;
|
|
164
|
+
export {};
|
|
165
|
+
//# sourceMappingURL=sharing-access.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sharing-access.d.ts","sourceRoot":"","sources":["../../../src/tools/projects/sharing-access.ts"],"names":[],"mappings":"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"}
|