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":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Configuration Types and Schemas
|
|
4
|
+
* Centralized configuration management for the Vikunja MCP server
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.ConfigurationError = exports.ApplicationConfigSchema = exports.TemplatesConfigSchema = exports.ModulesConfigSchema = exports.DANGEROUS_MODULE_KEYS = exports.ModuleToggleSchema = exports.FeatureFlagsConfigSchema = exports.RateLimitConfigSchema = exports.LoggingConfigSchema = exports.AuthConfigSchema = exports.Environment = void 0;
|
|
8
|
+
exports.isModuleEnabled = isModuleEnabled;
|
|
9
|
+
const zod_1 = require("zod");
|
|
10
|
+
// Environment type for configuration profiles
|
|
11
|
+
var Environment;
|
|
12
|
+
(function (Environment) {
|
|
13
|
+
Environment["DEVELOPMENT"] = "development";
|
|
14
|
+
Environment["TEST"] = "test";
|
|
15
|
+
Environment["PRODUCTION"] = "production";
|
|
16
|
+
})(Environment || (exports.Environment = Environment = {}));
|
|
17
|
+
// Authentication Configuration Schema
|
|
18
|
+
exports.AuthConfigSchema = zod_1.z.object({
|
|
19
|
+
vikunjaUrl: zod_1.z.string().url().optional(),
|
|
20
|
+
vikunjaToken: zod_1.z.string().optional(),
|
|
21
|
+
mcpMode: zod_1.z.string().optional(),
|
|
22
|
+
});
|
|
23
|
+
// Logging Configuration Schema
|
|
24
|
+
exports.LoggingConfigSchema = zod_1.z.object({
|
|
25
|
+
level: zod_1.z.enum(['error', 'warn', 'info', 'debug']).default('info'),
|
|
26
|
+
debug: zod_1.z.boolean().default(false),
|
|
27
|
+
environment: zod_1.z.nativeEnum(Environment).default(Environment.DEVELOPMENT),
|
|
28
|
+
});
|
|
29
|
+
// Individual rate limit settings schema
|
|
30
|
+
const RateLimitSettingsSchema = zod_1.z.object({
|
|
31
|
+
requestsPerMinute: zod_1.z.number().int().positive().default(60),
|
|
32
|
+
requestsPerHour: zod_1.z.number().int().positive().default(1000),
|
|
33
|
+
maxRequestSize: zod_1.z.number().int().positive().default(1048576), // 1MB
|
|
34
|
+
maxResponseSize: zod_1.z.number().int().positive().default(10485760), // 10MB
|
|
35
|
+
executionTimeout: zod_1.z.number().int().positive().default(30000), // 30 seconds
|
|
36
|
+
});
|
|
37
|
+
// Rate Limiting Configuration Schema
|
|
38
|
+
exports.RateLimitConfigSchema = zod_1.z.object({
|
|
39
|
+
// Global enable/disable switch for rate limiting
|
|
40
|
+
enabled: zod_1.z.boolean().default(true),
|
|
41
|
+
// Default tool limits
|
|
42
|
+
default: RateLimitSettingsSchema.default({
|
|
43
|
+
requestsPerMinute: 60,
|
|
44
|
+
requestsPerHour: 1000,
|
|
45
|
+
maxRequestSize: 1048576,
|
|
46
|
+
maxResponseSize: 10485760,
|
|
47
|
+
executionTimeout: 30000,
|
|
48
|
+
}),
|
|
49
|
+
// Expensive tool limits
|
|
50
|
+
expensive: RateLimitSettingsSchema.default({
|
|
51
|
+
requestsPerMinute: 10,
|
|
52
|
+
requestsPerHour: 100,
|
|
53
|
+
maxRequestSize: 2097152,
|
|
54
|
+
maxResponseSize: 52428800,
|
|
55
|
+
executionTimeout: 120000,
|
|
56
|
+
}),
|
|
57
|
+
// Bulk operation limits
|
|
58
|
+
bulk: RateLimitSettingsSchema.default({
|
|
59
|
+
requestsPerMinute: 5,
|
|
60
|
+
requestsPerHour: 50,
|
|
61
|
+
maxRequestSize: 5242880,
|
|
62
|
+
maxResponseSize: 104857600,
|
|
63
|
+
executionTimeout: 300000,
|
|
64
|
+
}),
|
|
65
|
+
// Export operation limits
|
|
66
|
+
export: RateLimitSettingsSchema.default({
|
|
67
|
+
requestsPerMinute: 2,
|
|
68
|
+
requestsPerHour: 10,
|
|
69
|
+
maxRequestSize: 1048576,
|
|
70
|
+
maxResponseSize: 1073741824,
|
|
71
|
+
executionTimeout: 600000,
|
|
72
|
+
}),
|
|
73
|
+
});
|
|
74
|
+
// Feature Flags Configuration Schema
|
|
75
|
+
exports.FeatureFlagsConfigSchema = zod_1.z.object({
|
|
76
|
+
enableServerSideFiltering: zod_1.z.boolean().default(true),
|
|
77
|
+
enableAdvancedMetrics: zod_1.z.boolean().default(false),
|
|
78
|
+
enableExperimentalFeatures: zod_1.z.boolean().default(false),
|
|
79
|
+
});
|
|
80
|
+
// Module Enable/Disable Configuration Schema
|
|
81
|
+
//
|
|
82
|
+
// A module value is a plain boolean today ({"tasks": false}), but the object
|
|
83
|
+
// form ({"tasks": {"enabled": true, "delete": false}}) is accepted now so that
|
|
84
|
+
// per-subcommand granularity can be introduced later without a breaking change.
|
|
85
|
+
// The `.catchall(z.boolean())` allows arbitrary future subcommand keys through
|
|
86
|
+
// validation; only `enabled` is interpreted today (see `isModuleEnabled`).
|
|
87
|
+
exports.ModuleToggleSchema = zod_1.z.union([
|
|
88
|
+
zod_1.z.boolean(),
|
|
89
|
+
zod_1.z.object({ enabled: zod_1.z.boolean() }).catchall(zod_1.z.boolean()),
|
|
90
|
+
]);
|
|
91
|
+
/**
|
|
92
|
+
* Resolve a module toggle (boolean shorthand or object form) to its
|
|
93
|
+
* effective enabled/disabled state.
|
|
94
|
+
*/
|
|
95
|
+
function isModuleEnabled(toggle) {
|
|
96
|
+
return typeof toggle === 'boolean' ? toggle : toggle.enabled;
|
|
97
|
+
}
|
|
98
|
+
// Modules deliberately excluded from ordinary defaults because they are
|
|
99
|
+
// dangerous/destructive in nature. These have no registered tools yet, but
|
|
100
|
+
// the config keys are reserved now so future admin/user-deletion/token-
|
|
101
|
+
// management tools plug into the same deny-by-default gating from day one.
|
|
102
|
+
exports.DANGEROUS_MODULE_KEYS = [
|
|
103
|
+
'admin',
|
|
104
|
+
'userDeletion',
|
|
105
|
+
'tokenManagement',
|
|
106
|
+
'caldavTokens',
|
|
107
|
+
];
|
|
108
|
+
exports.ModulesConfigSchema = zod_1.z.object({
|
|
109
|
+
// Ordinary modules — default ON.
|
|
110
|
+
tasks: exports.ModuleToggleSchema.default(true),
|
|
111
|
+
projects: exports.ModuleToggleSchema.default(true),
|
|
112
|
+
labels: exports.ModuleToggleSchema.default(true),
|
|
113
|
+
teams: exports.ModuleToggleSchema.default(true),
|
|
114
|
+
users: exports.ModuleToggleSchema.default(true),
|
|
115
|
+
webhooks: exports.ModuleToggleSchema.default(true),
|
|
116
|
+
filters: exports.ModuleToggleSchema.default(true),
|
|
117
|
+
templates: exports.ModuleToggleSchema.default(true),
|
|
118
|
+
export: exports.ModuleToggleSchema.default(true),
|
|
119
|
+
batchImport: exports.ModuleToggleSchema.default(true),
|
|
120
|
+
notifications: exports.ModuleToggleSchema.default(true),
|
|
121
|
+
subscriptions: exports.ModuleToggleSchema.default(true),
|
|
122
|
+
reactions: exports.ModuleToggleSchema.default(true),
|
|
123
|
+
// Dangerous modules — deny-by-default. No tools implement these yet; the
|
|
124
|
+
// keys are reserved so future work composes with this gating system.
|
|
125
|
+
admin: exports.ModuleToggleSchema.default(false),
|
|
126
|
+
userDeletion: exports.ModuleToggleSchema.default(false),
|
|
127
|
+
tokenManagement: exports.ModuleToggleSchema.default(false),
|
|
128
|
+
// Gates `vikunja_caldav_tokens` (CalDAV token list/create/delete for the
|
|
129
|
+
// connected account). Deny-by-default — credential-adjacent, and a
|
|
130
|
+
// created token's secret value is only ever shown once (see
|
|
131
|
+
// src/tools/caldav-tokens.ts). Unlike `tokenManagement`, the underlying
|
|
132
|
+
// `/user/settings/token/caldav*` endpoints are JWT-only per the vendored
|
|
133
|
+
// OpenAPI spec (`security: [{JWTKeyAuth: []}]`), so registration composes
|
|
134
|
+
// with the same JWT-only gate as `users`/`export`/`admin` — see
|
|
135
|
+
// src/tools/index.ts.
|
|
136
|
+
caldavTokens: exports.ModuleToggleSchema.default(false),
|
|
137
|
+
// Opt-in cosmetic module — deny-by-default for the OPPOSITE reason the
|
|
138
|
+
// dangerous keys above are: not dangerous, just low-value for a task-
|
|
139
|
+
// management assistant (project backgrounds are decorative, not
|
|
140
|
+
// functional). Gates three `vikunja_projects` subcommands
|
|
141
|
+
// (`remove-background`/`set-unsplash-background`/`search-unsplash`, see
|
|
142
|
+
// `src/tools/projects/backgrounds.ts`) rather than a whole standalone
|
|
143
|
+
// tool — see that module's doc comment and
|
|
144
|
+
// `registerProjectsTool`/`resolveBackgroundsEnabled` in
|
|
145
|
+
// `src/tools/projects/index.ts` for how a single tool's subcommand *enum*
|
|
146
|
+
// (not just its dispatch) is built conditionally so the disabled
|
|
147
|
+
// subcommands are genuinely absent from the schema, matching every other
|
|
148
|
+
// module's "invisible, not merely rejected" contract. See
|
|
149
|
+
// docs/ENDPOINT-TAIL-RETRIAGE.md item G7.
|
|
150
|
+
backgrounds: exports.ModuleToggleSchema.default(false),
|
|
151
|
+
});
|
|
152
|
+
// Templates Configuration Schema
|
|
153
|
+
//
|
|
154
|
+
// Templates are in-memory-only (session-scoped, lost on restart) unless
|
|
155
|
+
// `persistPath` is set, in which case the vikunja_templates tool write-
|
|
156
|
+
// throughs to that file on every mutation and reloads from it at startup.
|
|
157
|
+
// See docs/CONFIGURATION.md for the env var / Docker volume story.
|
|
158
|
+
exports.TemplatesConfigSchema = zod_1.z.object({
|
|
159
|
+
persistPath: zod_1.z.string().optional(),
|
|
160
|
+
});
|
|
161
|
+
// Complete Application Configuration Schema
|
|
162
|
+
exports.ApplicationConfigSchema = zod_1.z.object({
|
|
163
|
+
environment: zod_1.z.nativeEnum(Environment).default(Environment.DEVELOPMENT),
|
|
164
|
+
auth: exports.AuthConfigSchema.default({}),
|
|
165
|
+
logging: exports.LoggingConfigSchema.default({}),
|
|
166
|
+
rateLimiting: exports.RateLimitConfigSchema.default({}),
|
|
167
|
+
featureFlags: exports.FeatureFlagsConfigSchema.default({}),
|
|
168
|
+
modules: exports.ModulesConfigSchema.default({}),
|
|
169
|
+
// Global read-only safety mode. When true, every write/destructive
|
|
170
|
+
// subcommand across every tool is rejected at dispatch (see
|
|
171
|
+
// src/utils/read-only.ts) — read subcommands continue to work normally.
|
|
172
|
+
// Config file key: `readOnly`. Env override: `VIKUNJA_MCP_READ_ONLY`
|
|
173
|
+
// (env always wins over the config file, per standard layering).
|
|
174
|
+
readOnly: zod_1.z.boolean().default(false),
|
|
175
|
+
templates: exports.TemplatesConfigSchema.default({}),
|
|
176
|
+
});
|
|
177
|
+
// Configuration Validation Error
|
|
178
|
+
class ConfigurationError extends Error {
|
|
179
|
+
field;
|
|
180
|
+
value;
|
|
181
|
+
constructor(field, message, value) {
|
|
182
|
+
super(`Configuration error in ${field}: ${message}`);
|
|
183
|
+
this.field = field;
|
|
184
|
+
this.value = value;
|
|
185
|
+
this.name = 'ConfigurationError';
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
exports.ConfigurationError = ConfigurationError;
|
|
189
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BatchImportResponseFormatter - Handles formatting of batch import results
|
|
3
|
+
*
|
|
4
|
+
* This module is responsible for formatting the response text for batch import operations,
|
|
5
|
+
* including success/failure summaries, warnings, errors, and authentication issues.
|
|
6
|
+
*
|
|
7
|
+
* Refactored from src/tools/batch-import.ts to improve separation of concerns and testability.
|
|
8
|
+
*/
|
|
9
|
+
export interface ImportResult {
|
|
10
|
+
success: number;
|
|
11
|
+
failed: number;
|
|
12
|
+
errors: Array<{
|
|
13
|
+
index: number;
|
|
14
|
+
title: string;
|
|
15
|
+
error: string;
|
|
16
|
+
}>;
|
|
17
|
+
createdTasks: Array<{
|
|
18
|
+
id: number;
|
|
19
|
+
title: string;
|
|
20
|
+
}>;
|
|
21
|
+
warnings?: Array<{
|
|
22
|
+
taskId: number;
|
|
23
|
+
title: string;
|
|
24
|
+
warning: string;
|
|
25
|
+
}>;
|
|
26
|
+
}
|
|
27
|
+
export interface FormatterOptions {
|
|
28
|
+
userFetchFailedDueToAuth: boolean;
|
|
29
|
+
hasAssignees: boolean;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Formats batch import results into a user-friendly text response
|
|
33
|
+
*/
|
|
34
|
+
export declare class BatchImportResponseFormatter {
|
|
35
|
+
/**
|
|
36
|
+
* Format the complete batch import result
|
|
37
|
+
*
|
|
38
|
+
* @param result - The import result to format
|
|
39
|
+
* @param userFetchFailedDueToAuth - Whether user fetching failed due to authentication
|
|
40
|
+
* @param hasAssignees - Whether any tasks have assignees
|
|
41
|
+
* @returns Formatted response text
|
|
42
|
+
*/
|
|
43
|
+
formatResult(result: ImportResult, userFetchFailedDueToAuth?: boolean, hasAssignees?: boolean): string;
|
|
44
|
+
/**
|
|
45
|
+
* Format the success/failure summary section
|
|
46
|
+
*
|
|
47
|
+
* @param result - The import result
|
|
48
|
+
* @returns Summary text
|
|
49
|
+
*/
|
|
50
|
+
private formatSummary;
|
|
51
|
+
/**
|
|
52
|
+
* Format authentication warning if users couldn't be fetched
|
|
53
|
+
*
|
|
54
|
+
* @param userFetchFailedDueToAuth - Whether user fetching failed due to authentication
|
|
55
|
+
* @param hasAssignees - Whether any tasks have assignees
|
|
56
|
+
* @returns Authentication warning text or empty string
|
|
57
|
+
*/
|
|
58
|
+
private formatAuthWarning;
|
|
59
|
+
/**
|
|
60
|
+
* Format the created tasks section
|
|
61
|
+
*
|
|
62
|
+
* @param result - The import result
|
|
63
|
+
* @returns Created tasks text or empty string
|
|
64
|
+
*/
|
|
65
|
+
private formatCreatedTasks;
|
|
66
|
+
/**
|
|
67
|
+
* Format the warnings section
|
|
68
|
+
*
|
|
69
|
+
* @param result - The import result
|
|
70
|
+
* @returns Warnings text or empty string
|
|
71
|
+
*/
|
|
72
|
+
private formatWarnings;
|
|
73
|
+
/**
|
|
74
|
+
* Format the errors section
|
|
75
|
+
*
|
|
76
|
+
* @param result - The import result
|
|
77
|
+
* @returns Errors text or empty string
|
|
78
|
+
*/
|
|
79
|
+
private formatErrors;
|
|
80
|
+
/**
|
|
81
|
+
* Format result using options object for convenience
|
|
82
|
+
*
|
|
83
|
+
* @param result - The import result
|
|
84
|
+
* @param options - Formatting options
|
|
85
|
+
* @returns Formatted response text
|
|
86
|
+
*/
|
|
87
|
+
formatResultWithOptions(result: ImportResult, options: FormatterOptions): string;
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=BatchImportResponseFormatter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BatchImportResponseFormatter.d.ts","sourceRoot":"","sources":["../../src/formatters/BatchImportResponseFormatter.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,KAAK,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;KACf,CAAC,CAAC;IACH,YAAY,EAAE,KAAK,CAAC;QAClB,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;KACf,CAAC,CAAC;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,gBAAgB;IAC/B,wBAAwB,EAAE,OAAO,CAAC;IAClC,YAAY,EAAE,OAAO,CAAC;CACvB;AAED;;GAEG;AACH,qBAAa,4BAA4B;IACvC;;;;;;;OAOG;IACH,YAAY,CACV,MAAM,EAAE,YAAY,EACpB,wBAAwB,GAAE,OAAe,EACzC,YAAY,GAAE,OAAe,GAC5B,MAAM;IAqBT;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IAOrB;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;IASzB;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IAW1B;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAWtB;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAWpB;;;;;;OAMG;IACH,uBAAuB,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,gBAAgB,GAAG,MAAM;CAGjF"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* BatchImportResponseFormatter - Handles formatting of batch import results
|
|
4
|
+
*
|
|
5
|
+
* This module is responsible for formatting the response text for batch import operations,
|
|
6
|
+
* including success/failure summaries, warnings, errors, and authentication issues.
|
|
7
|
+
*
|
|
8
|
+
* Refactored from src/tools/batch-import.ts to improve separation of concerns and testability.
|
|
9
|
+
*/
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
exports.BatchImportResponseFormatter = void 0;
|
|
12
|
+
/**
|
|
13
|
+
* Formats batch import results into a user-friendly text response
|
|
14
|
+
*/
|
|
15
|
+
class BatchImportResponseFormatter {
|
|
16
|
+
/**
|
|
17
|
+
* Format the complete batch import result
|
|
18
|
+
*
|
|
19
|
+
* @param result - The import result to format
|
|
20
|
+
* @param userFetchFailedDueToAuth - Whether user fetching failed due to authentication
|
|
21
|
+
* @param hasAssignees - Whether any tasks have assignees
|
|
22
|
+
* @returns Formatted response text
|
|
23
|
+
*/
|
|
24
|
+
formatResult(result, userFetchFailedDueToAuth = false, hasAssignees = false) {
|
|
25
|
+
let responseText = '';
|
|
26
|
+
// Add success/failure summary
|
|
27
|
+
responseText += this.formatSummary(result);
|
|
28
|
+
// Add authentication warning if applicable
|
|
29
|
+
responseText += this.formatAuthWarning(userFetchFailedDueToAuth, hasAssignees);
|
|
30
|
+
// Add created tasks list
|
|
31
|
+
responseText += this.formatCreatedTasks(result);
|
|
32
|
+
// Add warnings if any
|
|
33
|
+
responseText += this.formatWarnings(result);
|
|
34
|
+
// Add errors if any
|
|
35
|
+
responseText += this.formatErrors(result);
|
|
36
|
+
return responseText;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Format the success/failure summary section
|
|
40
|
+
*
|
|
41
|
+
* @param result - The import result
|
|
42
|
+
* @returns Summary text
|
|
43
|
+
*/
|
|
44
|
+
formatSummary(result) {
|
|
45
|
+
let summary = `Import completed:\n`;
|
|
46
|
+
summary += `- Successfully imported: ${result.success} tasks\n`;
|
|
47
|
+
summary += `- Failed: ${result.failed} tasks\n`;
|
|
48
|
+
return summary;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Format authentication warning if users couldn't be fetched
|
|
52
|
+
*
|
|
53
|
+
* @param userFetchFailedDueToAuth - Whether user fetching failed due to authentication
|
|
54
|
+
* @param hasAssignees - Whether any tasks have assignees
|
|
55
|
+
* @returns Authentication warning text or empty string
|
|
56
|
+
*/
|
|
57
|
+
formatAuthWarning(userFetchFailedDueToAuth, hasAssignees) {
|
|
58
|
+
if (userFetchFailedDueToAuth && hasAssignees) {
|
|
59
|
+
let warning = `\n⚠️ Warning: Could not fetch users due to Vikunja API authentication issue.\n`;
|
|
60
|
+
warning += ` Assignees were skipped for all tasks.\n`;
|
|
61
|
+
return warning;
|
|
62
|
+
}
|
|
63
|
+
return '';
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Format the created tasks section
|
|
67
|
+
*
|
|
68
|
+
* @param result - The import result
|
|
69
|
+
* @returns Created tasks text or empty string
|
|
70
|
+
*/
|
|
71
|
+
formatCreatedTasks(result) {
|
|
72
|
+
if (result.createdTasks.length > 0) {
|
|
73
|
+
let createdTasks = `\nCreated tasks:\n`;
|
|
74
|
+
result.createdTasks.forEach((task) => {
|
|
75
|
+
createdTasks += `- #${task.id}: ${task.title}\n`;
|
|
76
|
+
});
|
|
77
|
+
return createdTasks;
|
|
78
|
+
}
|
|
79
|
+
return '';
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Format the warnings section
|
|
83
|
+
*
|
|
84
|
+
* @param result - The import result
|
|
85
|
+
* @returns Warnings text or empty string
|
|
86
|
+
*/
|
|
87
|
+
formatWarnings(result) {
|
|
88
|
+
if (result.warnings && result.warnings.length > 0) {
|
|
89
|
+
let warnings = `\n⚠️ Warnings:\n`;
|
|
90
|
+
result.warnings.forEach((warning) => {
|
|
91
|
+
warnings += `- Task #${warning.taskId} (${warning.title}): ${warning.warning}\n`;
|
|
92
|
+
});
|
|
93
|
+
return warnings;
|
|
94
|
+
}
|
|
95
|
+
return '';
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Format the errors section
|
|
99
|
+
*
|
|
100
|
+
* @param result - The import result
|
|
101
|
+
* @returns Errors text or empty string
|
|
102
|
+
*/
|
|
103
|
+
formatErrors(result) {
|
|
104
|
+
if (result.errors.length > 0) {
|
|
105
|
+
let errors = `\nErrors:\n`;
|
|
106
|
+
result.errors.forEach((error) => {
|
|
107
|
+
errors += `- Row ${error.index + 1} (${error.title}): ${error.error}\n`;
|
|
108
|
+
});
|
|
109
|
+
return errors;
|
|
110
|
+
}
|
|
111
|
+
return '';
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Format result using options object for convenience
|
|
115
|
+
*
|
|
116
|
+
* @param result - The import result
|
|
117
|
+
* @param options - Formatting options
|
|
118
|
+
* @returns Formatted response text
|
|
119
|
+
*/
|
|
120
|
+
formatResultWithOptions(result, options) {
|
|
121
|
+
return this.formatResult(result, options.userFetchFailedDueToAuth, options.hasAssignees);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
exports.BatchImportResponseFormatter = BatchImportResponseFormatter;
|
|
125
|
+
//# sourceMappingURL=BatchImportResponseFormatter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BatchImportResponseFormatter.js","sourceRoot":"","sources":["../../src/formatters/BatchImportResponseFormatter.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Vikunja MCP Server
|
|
4
|
+
* Main entry point for the Model Context Protocol server
|
|
5
|
+
*/
|
|
6
|
+
export declare const factoryInitializationPromise: Promise<void>;
|
|
7
|
+
export { MCPError, ErrorCode } from './types/errors';
|
|
8
|
+
export type { TaskResponseData, FilterExpression, Task } from './types';
|
|
9
|
+
export type { ParseResult } from './types/filters';
|
|
10
|
+
export type { AorpBuilderConfig, AorpFactoryResult } from './types';
|
|
11
|
+
export { logger } from './utils/logger';
|
|
12
|
+
export { isAuthenticationError } from './utils/auth-error-handler';
|
|
13
|
+
export { withRetry, RETRY_CONFIG } from './utils/retry';
|
|
14
|
+
export { transformApiError, handleFetchError, handleStatusCodeError } from './utils/error-handler';
|
|
15
|
+
export { parseFilterString } from './utils/filters';
|
|
16
|
+
export { validateTaskCountLimit } from './utils/memory';
|
|
17
|
+
export { createStandardResponse, createAorpErrorResponse as createErrorResponse } from './utils/response-factory';
|
|
18
|
+
export type { SimpleResponse } from './utils/simple-response';
|
|
19
|
+
export { getAuthManagerFromContext, clearGlobalClientFactory } from './client';
|
|
20
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;GAGG;AAsCH,eAAO,MAAM,4BAA4B,eAiBrC,CAAC;AAuDL,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACrD,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AACxE,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAGpE,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACnG,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,uBAAuB,IAAI,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAGlH,YAAY,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAG9D,OAAO,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
/**
|
|
4
|
+
* Vikunja MCP Server
|
|
5
|
+
* Main entry point for the Model Context Protocol server
|
|
6
|
+
*/
|
|
7
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
8
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
9
|
+
};
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
exports.clearGlobalClientFactory = exports.getAuthManagerFromContext = exports.createErrorResponse = exports.createStandardResponse = exports.validateTaskCountLimit = exports.parseFilterString = exports.handleStatusCodeError = exports.handleFetchError = exports.transformApiError = exports.RETRY_CONFIG = exports.withRetry = exports.isAuthenticationError = exports.logger = exports.ErrorCode = exports.MCPError = exports.factoryInitializationPromise = void 0;
|
|
12
|
+
const mcp_js_1 = require("@modelcontextprotocol/sdk/server/mcp.js");
|
|
13
|
+
const stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js");
|
|
14
|
+
const dotenv_1 = __importDefault(require("dotenv"));
|
|
15
|
+
const AuthManager_1 = require("./auth/AuthManager");
|
|
16
|
+
const tools_1 = require("./tools");
|
|
17
|
+
const logger_1 = require("./utils/logger");
|
|
18
|
+
const security_1 = require("./utils/security");
|
|
19
|
+
const client_1 = require("./client");
|
|
20
|
+
const secrets_1 = require("./config/secrets");
|
|
21
|
+
dotenv_1.default.config({ quiet: true });
|
|
22
|
+
const server = new mcp_js_1.McpServer({
|
|
23
|
+
name: 'vikunja-mcp-ng',
|
|
24
|
+
version: '0.3.0',
|
|
25
|
+
});
|
|
26
|
+
const authManager = new AuthManager_1.AuthManager();
|
|
27
|
+
let clientFactory = null;
|
|
28
|
+
async function initializeFactory() {
|
|
29
|
+
try {
|
|
30
|
+
clientFactory = await (0, client_1.createVikunjaClientFactory)(authManager);
|
|
31
|
+
if (clientFactory) {
|
|
32
|
+
await (0, client_1.setGlobalClientFactory)(clientFactory);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
catch (error) {
|
|
36
|
+
logger_1.logger.warn('Failed to initialize client factory during startup:', error);
|
|
37
|
+
// Factory will be initialized on first authentication
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
// Initialize factory during module load for both production and test environments
|
|
41
|
+
// This ensures the factory is available for tests
|
|
42
|
+
exports.factoryInitializationPromise = initializeFactory()
|
|
43
|
+
.then(() => {
|
|
44
|
+
try {
|
|
45
|
+
if (clientFactory) {
|
|
46
|
+
(0, tools_1.registerTools)(server, authManager, clientFactory);
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
(0, tools_1.registerTools)(server, authManager, undefined);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
catch (error) {
|
|
53
|
+
logger_1.logger.error('Failed to initialize:', error);
|
|
54
|
+
// Fall back to legacy registration for backwards compatibility
|
|
55
|
+
(0, tools_1.registerTools)(server, authManager, undefined);
|
|
56
|
+
}
|
|
57
|
+
})
|
|
58
|
+
.catch((error) => {
|
|
59
|
+
logger_1.logger.warn('Failed to initialize client factory during module load:', error);
|
|
60
|
+
(0, tools_1.registerTools)(server, authManager, undefined);
|
|
61
|
+
});
|
|
62
|
+
// Resolve VIKUNJA_API_TOKEN, honoring the VIKUNJA_API_TOKEN_FILE Docker-secrets
|
|
63
|
+
// convention. Setting both the plain variable and its _FILE variant is a hard
|
|
64
|
+
// startup error (see src/config/secrets.ts) rather than a silent precedence choice.
|
|
65
|
+
let vikunjaApiToken;
|
|
66
|
+
try {
|
|
67
|
+
vikunjaApiToken = (0, secrets_1.readSecretEnv)('VIKUNJA_API_TOKEN');
|
|
68
|
+
}
|
|
69
|
+
catch (error) {
|
|
70
|
+
logger_1.logger.error(error instanceof Error ? error.message : String(error));
|
|
71
|
+
process.exit(1);
|
|
72
|
+
}
|
|
73
|
+
if (process.env.VIKUNJA_URL && vikunjaApiToken) {
|
|
74
|
+
const connectionMessage = (0, security_1.createSecureConnectionMessage)(process.env.VIKUNJA_URL, vikunjaApiToken);
|
|
75
|
+
logger_1.logger.info(`Auto-authenticating: ${connectionMessage}`);
|
|
76
|
+
authManager.connect(process.env.VIKUNJA_URL, vikunjaApiToken);
|
|
77
|
+
const detectedAuthType = authManager.getAuthType();
|
|
78
|
+
logger_1.logger.info(`Using detected auth type: ${detectedAuthType}`);
|
|
79
|
+
}
|
|
80
|
+
async function main() {
|
|
81
|
+
await exports.factoryInitializationPromise;
|
|
82
|
+
const transport = new stdio_js_1.StdioServerTransport();
|
|
83
|
+
await server.connect(transport);
|
|
84
|
+
logger_1.logger.info('Vikunja MCP server started');
|
|
85
|
+
const config = (0, security_1.createSecureLogConfig)({
|
|
86
|
+
mode: process.env.MCP_MODE,
|
|
87
|
+
debug: process.env.DEBUG,
|
|
88
|
+
hasAuth: !!process.env.VIKUNJA_URL && !!vikunjaApiToken,
|
|
89
|
+
url: process.env.VIKUNJA_URL,
|
|
90
|
+
token: vikunjaApiToken,
|
|
91
|
+
});
|
|
92
|
+
logger_1.logger.debug('Configuration loaded', config);
|
|
93
|
+
}
|
|
94
|
+
// Only start the server if not in test environment
|
|
95
|
+
if (process.env.NODE_ENV !== 'test' && !process.env.JEST_WORKER_ID) {
|
|
96
|
+
main().catch((error) => {
|
|
97
|
+
logger_1.logger.error('Failed to start server:', error);
|
|
98
|
+
process.exit(1);
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
// Essential exports only - eliminated 80+ lines of unnecessary barrel exports
|
|
102
|
+
// Use direct imports instead of centralized re-exports for better tree-shaking
|
|
103
|
+
// Core types that are commonly imported by external code
|
|
104
|
+
var errors_1 = require("./types/errors");
|
|
105
|
+
Object.defineProperty(exports, "MCPError", { enumerable: true, get: function () { return errors_1.MCPError; } });
|
|
106
|
+
Object.defineProperty(exports, "ErrorCode", { enumerable: true, get: function () { return errors_1.ErrorCode; } });
|
|
107
|
+
// Core utilities that are widely used across the codebase
|
|
108
|
+
var logger_2 = require("./utils/logger");
|
|
109
|
+
Object.defineProperty(exports, "logger", { enumerable: true, get: function () { return logger_2.logger; } });
|
|
110
|
+
var auth_error_handler_1 = require("./utils/auth-error-handler");
|
|
111
|
+
Object.defineProperty(exports, "isAuthenticationError", { enumerable: true, get: function () { return auth_error_handler_1.isAuthenticationError; } });
|
|
112
|
+
var retry_1 = require("./utils/retry");
|
|
113
|
+
Object.defineProperty(exports, "withRetry", { enumerable: true, get: function () { return retry_1.withRetry; } });
|
|
114
|
+
Object.defineProperty(exports, "RETRY_CONFIG", { enumerable: true, get: function () { return retry_1.RETRY_CONFIG; } });
|
|
115
|
+
var error_handler_1 = require("./utils/error-handler");
|
|
116
|
+
Object.defineProperty(exports, "transformApiError", { enumerable: true, get: function () { return error_handler_1.transformApiError; } });
|
|
117
|
+
Object.defineProperty(exports, "handleFetchError", { enumerable: true, get: function () { return error_handler_1.handleFetchError; } });
|
|
118
|
+
Object.defineProperty(exports, "handleStatusCodeError", { enumerable: true, get: function () { return error_handler_1.handleStatusCodeError; } });
|
|
119
|
+
var filters_1 = require("./utils/filters");
|
|
120
|
+
Object.defineProperty(exports, "parseFilterString", { enumerable: true, get: function () { return filters_1.parseFilterString; } });
|
|
121
|
+
var memory_1 = require("./utils/memory");
|
|
122
|
+
Object.defineProperty(exports, "validateTaskCountLimit", { enumerable: true, get: function () { return memory_1.validateTaskCountLimit; } });
|
|
123
|
+
var response_factory_1 = require("./utils/response-factory");
|
|
124
|
+
Object.defineProperty(exports, "createStandardResponse", { enumerable: true, get: function () { return response_factory_1.createStandardResponse; } });
|
|
125
|
+
Object.defineProperty(exports, "createErrorResponse", { enumerable: true, get: function () { return response_factory_1.createAorpErrorResponse; } });
|
|
126
|
+
// Session utilities for external usage
|
|
127
|
+
var client_2 = require("./client");
|
|
128
|
+
Object.defineProperty(exports, "getAuthManagerFromContext", { enumerable: true, get: function () { return client_2.getAuthManagerFromContext; } });
|
|
129
|
+
Object.defineProperty(exports, "clearGlobalClientFactory", { enumerable: true, get: function () { return client_2.clearGlobalClientFactory; } });
|
|
130
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Direct Middleware Application
|
|
3
|
+
* Simplified middleware functions without wrapper-on-wrapper patterns
|
|
4
|
+
*/
|
|
5
|
+
import type { AuthManager } from '../auth/AuthManager';
|
|
6
|
+
export declare function applyRateLimiting<T extends unknown[], R>(toolName: string, handler: (...args: T) => Promise<R>): (...args: T) => Promise<R>;
|
|
7
|
+
export declare function applyPermissions<T extends unknown[], R>(toolName: string, authManager: AuthManager, handler: (...args: T) => Promise<R>): (...args: T) => Promise<R>;
|
|
8
|
+
export declare function applyBothMiddleware<T extends unknown[], R>(toolName: string, authManager: AuthManager, handler: (...args: T) => Promise<R>): (...args: T) => Promise<R>;
|
|
9
|
+
//# sourceMappingURL=direct-middleware.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"direct-middleware.d.ts","sourceRoot":"","sources":["../../src/middleware/direct-middleware.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAOvD,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC,EACtD,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,GAClC,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAE5B;AAGD,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC,EACrD,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,GAClC,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CA8B5B;AAGD,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC,EACxD,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,GAClC,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAG5B"}
|