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.
Files changed (582) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +123 -0
  3. package/dist/auth/AuthManager.d.ts +63 -0
  4. package/dist/auth/AuthManager.d.ts.map +1 -0
  5. package/dist/auth/AuthManager.js +137 -0
  6. package/dist/auth/AuthManager.js.map +1 -0
  7. package/dist/auth/index.d.ts +7 -0
  8. package/dist/auth/index.d.ts.map +1 -0
  9. package/dist/auth/index.js +14 -0
  10. package/dist/auth/index.js.map +1 -0
  11. package/dist/auth/permissions.d.ts +60 -0
  12. package/dist/auth/permissions.d.ts.map +1 -0
  13. package/dist/auth/permissions.js +173 -0
  14. package/dist/auth/permissions.js.map +1 -0
  15. package/dist/client/VikunjaClientFactory.d.ts +41 -0
  16. package/dist/client/VikunjaClientFactory.d.ts.map +1 -0
  17. package/dist/client/VikunjaClientFactory.js +58 -0
  18. package/dist/client/VikunjaClientFactory.js.map +1 -0
  19. package/dist/client.d.ts +70 -0
  20. package/dist/client.d.ts.map +1 -0
  21. package/dist/client.js +136 -0
  22. package/dist/client.js.map +1 -0
  23. package/dist/config/ConfigurationManager.d.ts +106 -0
  24. package/dist/config/ConfigurationManager.d.ts.map +1 -0
  25. package/dist/config/ConfigurationManager.js +509 -0
  26. package/dist/config/ConfigurationManager.js.map +1 -0
  27. package/dist/config/index.d.ts +9 -0
  28. package/dist/config/index.d.ts.map +1 -0
  29. package/dist/config/index.js +36 -0
  30. package/dist/config/index.js.map +1 -0
  31. package/dist/config/secrets.d.ts +33 -0
  32. package/dist/config/secrets.d.ts.map +1 -0
  33. package/dist/config/secrets.js +90 -0
  34. package/dist/config/secrets.js.map +1 -0
  35. package/dist/config/types.d.ts +1113 -0
  36. package/dist/config/types.d.ts.map +1 -0
  37. package/dist/config/types.js +189 -0
  38. package/dist/config/types.js.map +1 -0
  39. package/dist/formatters/BatchImportResponseFormatter.d.ts +89 -0
  40. package/dist/formatters/BatchImportResponseFormatter.d.ts.map +1 -0
  41. package/dist/formatters/BatchImportResponseFormatter.js +125 -0
  42. package/dist/formatters/BatchImportResponseFormatter.js.map +1 -0
  43. package/dist/index.d.ts +20 -0
  44. package/dist/index.d.ts.map +1 -0
  45. package/dist/index.js +130 -0
  46. package/dist/index.js.map +1 -0
  47. package/dist/middleware/direct-middleware.d.ts +9 -0
  48. package/dist/middleware/direct-middleware.d.ts.map +1 -0
  49. package/dist/middleware/direct-middleware.js +49 -0
  50. package/dist/middleware/direct-middleware.js.map +1 -0
  51. package/dist/middleware/index.d.ts +8 -0
  52. package/dist/middleware/index.d.ts.map +1 -0
  53. package/dist/middleware/index.js +21 -0
  54. package/dist/middleware/index.js.map +1 -0
  55. package/dist/middleware/simplified-rate-limit.d.ts +147 -0
  56. package/dist/middleware/simplified-rate-limit.d.ts.map +1 -0
  57. package/dist/middleware/simplified-rate-limit.js +533 -0
  58. package/dist/middleware/simplified-rate-limit.js.map +1 -0
  59. package/dist/parsers/CSVParser.d.ts +36 -0
  60. package/dist/parsers/CSVParser.d.ts.map +1 -0
  61. package/dist/parsers/CSVParser.js +69 -0
  62. package/dist/parsers/CSVParser.js.map +1 -0
  63. package/dist/parsers/InputParserFactory.d.ts +17 -0
  64. package/dist/parsers/InputParserFactory.d.ts.map +1 -0
  65. package/dist/parsers/InputParserFactory.js +137 -0
  66. package/dist/parsers/InputParserFactory.js.map +1 -0
  67. package/dist/parsers/JSONParser.d.ts +74 -0
  68. package/dist/parsers/JSONParser.d.ts.map +1 -0
  69. package/dist/parsers/JSONParser.js +69 -0
  70. package/dist/parsers/JSONParser.js.map +1 -0
  71. package/dist/services/EntityResolver.d.ts +92 -0
  72. package/dist/services/EntityResolver.d.ts.map +1 -0
  73. package/dist/services/EntityResolver.js +201 -0
  74. package/dist/services/EntityResolver.js.map +1 -0
  75. package/dist/services/TaskCreationService.d.ts +99 -0
  76. package/dist/services/TaskCreationService.d.ts.map +1 -0
  77. package/dist/services/TaskCreationService.js +392 -0
  78. package/dist/services/TaskCreationService.js.map +1 -0
  79. package/dist/storage/SimpleFilterStorage.d.ts +103 -0
  80. package/dist/storage/SimpleFilterStorage.d.ts.map +1 -0
  81. package/dist/storage/SimpleFilterStorage.js +350 -0
  82. package/dist/storage/SimpleFilterStorage.js.map +1 -0
  83. package/dist/storage/filtering/FilterSerializer.d.ts +45 -0
  84. package/dist/storage/filtering/FilterSerializer.d.ts.map +1 -0
  85. package/dist/storage/filtering/FilterSerializer.js +171 -0
  86. package/dist/storage/filtering/FilterSerializer.js.map +1 -0
  87. package/dist/storage/filtering/FilterValidator.d.ts +59 -0
  88. package/dist/storage/filtering/FilterValidator.d.ts.map +1 -0
  89. package/dist/storage/filtering/FilterValidator.js +183 -0
  90. package/dist/storage/filtering/FilterValidator.js.map +1 -0
  91. package/dist/storage/index.d.ts +61 -0
  92. package/dist/storage/index.d.ts.map +1 -0
  93. package/dist/storage/index.js +125 -0
  94. package/dist/storage/index.js.map +1 -0
  95. package/dist/storage/templateFileStore.d.ts +62 -0
  96. package/dist/storage/templateFileStore.d.ts.map +1 -0
  97. package/dist/storage/templateFileStore.js +151 -0
  98. package/dist/storage/templateFileStore.js.map +1 -0
  99. package/dist/tools/admin.d.ts +51 -0
  100. package/dist/tools/admin.d.ts.map +1 -0
  101. package/dist/tools/admin.js +207 -0
  102. package/dist/tools/admin.js.map +1 -0
  103. package/dist/tools/auth.d.ts +9 -0
  104. package/dist/tools/auth.d.ts.map +1 -0
  105. package/dist/tools/auth.js +175 -0
  106. package/dist/tools/auth.js.map +1 -0
  107. package/dist/tools/batch-import.d.ts +5 -0
  108. package/dist/tools/batch-import.d.ts.map +1 -0
  109. package/dist/tools/batch-import.js +153 -0
  110. package/dist/tools/batch-import.js.map +1 -0
  111. package/dist/tools/caldav-tokens.d.ts +45 -0
  112. package/dist/tools/caldav-tokens.d.ts.map +1 -0
  113. package/dist/tools/caldav-tokens.js +93 -0
  114. package/dist/tools/caldav-tokens.js.map +1 -0
  115. package/dist/tools/export.d.ts +14 -0
  116. package/dist/tools/export.d.ts.map +1 -0
  117. package/dist/tools/export.js +252 -0
  118. package/dist/tools/export.js.map +1 -0
  119. package/dist/tools/filters.d.ts +50 -0
  120. package/dist/tools/filters.d.ts.map +1 -0
  121. package/dist/tools/filters.js +512 -0
  122. package/dist/tools/filters.js.map +1 -0
  123. package/dist/tools/index.d.ts +53 -0
  124. package/dist/tools/index.d.ts.map +1 -0
  125. package/dist/tools/index.js +217 -0
  126. package/dist/tools/index.js.map +1 -0
  127. package/dist/tools/labels.d.ts +22 -0
  128. package/dist/tools/labels.d.ts.map +1 -0
  129. package/dist/tools/labels.js +206 -0
  130. package/dist/tools/labels.js.map +1 -0
  131. package/dist/tools/notifications.d.ts +17 -0
  132. package/dist/tools/notifications.d.ts.map +1 -0
  133. package/dist/tools/notifications.js +171 -0
  134. package/dist/tools/notifications.js.map +1 -0
  135. package/dist/tools/projects/backgrounds.d.ts +80 -0
  136. package/dist/tools/projects/backgrounds.d.ts.map +1 -0
  137. package/dist/tools/projects/backgrounds.js +154 -0
  138. package/dist/tools/projects/backgrounds.js.map +1 -0
  139. package/dist/tools/projects/buckets.d.ts +147 -0
  140. package/dist/tools/projects/buckets.d.ts.map +1 -0
  141. package/dist/tools/projects/buckets.js +291 -0
  142. package/dist/tools/projects/buckets.js.map +1 -0
  143. package/dist/tools/projects/crud.d.ts +145 -0
  144. package/dist/tools/projects/crud.d.ts.map +1 -0
  145. package/dist/tools/projects/crud.js +425 -0
  146. package/dist/tools/projects/crud.js.map +1 -0
  147. package/dist/tools/projects/duplicate.d.ts +41 -0
  148. package/dist/tools/projects/duplicate.d.ts.map +1 -0
  149. package/dist/tools/projects/duplicate.js +49 -0
  150. package/dist/tools/projects/duplicate.js.map +1 -0
  151. package/dist/tools/projects/hierarchy.d.ts +77 -0
  152. package/dist/tools/projects/hierarchy.d.ts.map +1 -0
  153. package/dist/tools/projects/hierarchy.js +300 -0
  154. package/dist/tools/projects/hierarchy.js.map +1 -0
  155. package/dist/tools/projects/index.d.ts +34 -0
  156. package/dist/tools/projects/index.d.ts.map +1 -0
  157. package/dist/tools/projects/index.js +522 -0
  158. package/dist/tools/projects/index.js.map +1 -0
  159. package/dist/tools/projects/permission.d.ts +26 -0
  160. package/dist/tools/projects/permission.d.ts.map +1 -0
  161. package/dist/tools/projects/permission.js +53 -0
  162. package/dist/tools/projects/permission.js.map +1 -0
  163. package/dist/tools/projects/response-formatter.d.ts +54 -0
  164. package/dist/tools/projects/response-formatter.d.ts.map +1 -0
  165. package/dist/tools/projects/response-formatter.js +139 -0
  166. package/dist/tools/projects/response-formatter.js.map +1 -0
  167. package/dist/tools/projects/sharing-access.d.ts +165 -0
  168. package/dist/tools/projects/sharing-access.d.ts.map +1 -0
  169. package/dist/tools/projects/sharing-access.js +450 -0
  170. package/dist/tools/projects/sharing-access.js.map +1 -0
  171. package/dist/tools/projects/sharing.d.ts +105 -0
  172. package/dist/tools/projects/sharing.d.ts.map +1 -0
  173. package/dist/tools/projects/sharing.js +258 -0
  174. package/dist/tools/projects/sharing.js.map +1 -0
  175. package/dist/tools/projects/validation.d.ts +51 -0
  176. package/dist/tools/projects/validation.d.ts.map +1 -0
  177. package/dist/tools/projects/validation.js +160 -0
  178. package/dist/tools/projects/validation.js.map +1 -0
  179. package/dist/tools/projects/views.d.ts +161 -0
  180. package/dist/tools/projects/views.d.ts.map +1 -0
  181. package/dist/tools/projects/views.js +234 -0
  182. package/dist/tools/projects/views.js.map +1 -0
  183. package/dist/tools/projects.d.ts +20 -0
  184. package/dist/tools/projects.d.ts.map +1 -0
  185. package/dist/tools/projects.js +66 -0
  186. package/dist/tools/projects.js.map +1 -0
  187. package/dist/tools/reactions.d.ts +25 -0
  188. package/dist/tools/reactions.d.ts.map +1 -0
  189. package/dist/tools/reactions.js +108 -0
  190. package/dist/tools/reactions.js.map +1 -0
  191. package/dist/tools/subscriptions.d.ts +23 -0
  192. package/dist/tools/subscriptions.d.ts.map +1 -0
  193. package/dist/tools/subscriptions.js +111 -0
  194. package/dist/tools/subscriptions.js.map +1 -0
  195. package/dist/tools/task-assignees.d.ts +13 -0
  196. package/dist/tools/task-assignees.d.ts.map +1 -0
  197. package/dist/tools/task-assignees.js +74 -0
  198. package/dist/tools/task-assignees.js.map +1 -0
  199. package/dist/tools/task-bulk.d.ts +13 -0
  200. package/dist/tools/task-bulk.d.ts.map +1 -0
  201. package/dist/tools/task-bulk.js +117 -0
  202. package/dist/tools/task-bulk.js.map +1 -0
  203. package/dist/tools/task-comments.d.ts +12 -0
  204. package/dist/tools/task-comments.d.ts.map +1 -0
  205. package/dist/tools/task-comments.js +65 -0
  206. package/dist/tools/task-comments.js.map +1 -0
  207. package/dist/tools/task-crud.d.ts +13 -0
  208. package/dist/tools/task-crud.d.ts.map +1 -0
  209. package/dist/tools/task-crud.js +168 -0
  210. package/dist/tools/task-crud.js.map +1 -0
  211. package/dist/tools/task-labels.d.ts +13 -0
  212. package/dist/tools/task-labels.d.ts.map +1 -0
  213. package/dist/tools/task-labels.js +64 -0
  214. package/dist/tools/task-labels.js.map +1 -0
  215. package/dist/tools/task-relations.d.ts +13 -0
  216. package/dist/tools/task-relations.d.ts.map +1 -0
  217. package/dist/tools/task-relations.js +74 -0
  218. package/dist/tools/task-relations.js.map +1 -0
  219. package/dist/tools/task-reminders.d.ts +13 -0
  220. package/dist/tools/task-reminders.d.ts.map +1 -0
  221. package/dist/tools/task-reminders.js +69 -0
  222. package/dist/tools/task-reminders.js.map +1 -0
  223. package/dist/tools/tasks/assignees/AssigneeOperationsService.d.ts +63 -0
  224. package/dist/tools/tasks/assignees/AssigneeOperationsService.d.ts.map +1 -0
  225. package/dist/tools/tasks/assignees/AssigneeOperationsService.js +152 -0
  226. package/dist/tools/tasks/assignees/AssigneeOperationsService.js.map +1 -0
  227. package/dist/tools/tasks/assignees/AssigneeResponseFormatter.d.ts +28 -0
  228. package/dist/tools/tasks/assignees/AssigneeResponseFormatter.d.ts.map +1 -0
  229. package/dist/tools/tasks/assignees/AssigneeResponseFormatter.js +73 -0
  230. package/dist/tools/tasks/assignees/AssigneeResponseFormatter.js.map +1 -0
  231. package/dist/tools/tasks/assignees/AssigneeValidationService.d.ts +46 -0
  232. package/dist/tools/tasks/assignees/AssigneeValidationService.d.ts.map +1 -0
  233. package/dist/tools/tasks/assignees/AssigneeValidationService.js +70 -0
  234. package/dist/tools/tasks/assignees/AssigneeValidationService.js.map +1 -0
  235. package/dist/tools/tasks/assignees/index.d.ts +52 -0
  236. package/dist/tools/tasks/assignees/index.d.ts.map +1 -0
  237. package/dist/tools/tasks/assignees/index.js +103 -0
  238. package/dist/tools/tasks/assignees/index.js.map +1 -0
  239. package/dist/tools/tasks/attach.d.ts +39 -0
  240. package/dist/tools/tasks/attach.d.ts.map +1 -0
  241. package/dist/tools/tasks/attach.js +90 -0
  242. package/dist/tools/tasks/attach.js.map +1 -0
  243. package/dist/tools/tasks/attachments.d.ts +67 -0
  244. package/dist/tools/tasks/attachments.d.ts.map +1 -0
  245. package/dist/tools/tasks/attachments.js +153 -0
  246. package/dist/tools/tasks/attachments.js.map +1 -0
  247. package/dist/tools/tasks/buckets.d.ts +41 -0
  248. package/dist/tools/tasks/buckets.d.ts.map +1 -0
  249. package/dist/tools/tasks/buckets.js +75 -0
  250. package/dist/tools/tasks/buckets.js.map +1 -0
  251. package/dist/tools/tasks/bulk/BatchProcessorFactory.d.ts +30 -0
  252. package/dist/tools/tasks/bulk/BatchProcessorFactory.d.ts.map +1 -0
  253. package/dist/tools/tasks/bulk/BatchProcessorFactory.js +69 -0
  254. package/dist/tools/tasks/bulk/BatchProcessorFactory.js.map +1 -0
  255. package/dist/tools/tasks/bulk/BulkOperationErrorHandler.d.ts +50 -0
  256. package/dist/tools/tasks/bulk/BulkOperationErrorHandler.d.ts.map +1 -0
  257. package/dist/tools/tasks/bulk/BulkOperationErrorHandler.js +183 -0
  258. package/dist/tools/tasks/bulk/BulkOperationErrorHandler.js.map +1 -0
  259. package/dist/tools/tasks/bulk/BulkOperationProcessor.d.ts +101 -0
  260. package/dist/tools/tasks/bulk/BulkOperationProcessor.d.ts.map +1 -0
  261. package/dist/tools/tasks/bulk/BulkOperationProcessor.js +416 -0
  262. package/dist/tools/tasks/bulk/BulkOperationProcessor.js.map +1 -0
  263. package/dist/tools/tasks/bulk/BulkOperationTypes.d.ts +50 -0
  264. package/dist/tools/tasks/bulk/BulkOperationTypes.d.ts.map +1 -0
  265. package/dist/tools/tasks/bulk/BulkOperationTypes.js +6 -0
  266. package/dist/tools/tasks/bulk/BulkOperationTypes.js.map +1 -0
  267. package/dist/tools/tasks/bulk/BulkOperationValidator.d.ts +53 -0
  268. package/dist/tools/tasks/bulk/BulkOperationValidator.d.ts.map +1 -0
  269. package/dist/tools/tasks/bulk/BulkOperationValidator.js +216 -0
  270. package/dist/tools/tasks/bulk/BulkOperationValidator.js.map +1 -0
  271. package/dist/tools/tasks/bulk/index.d.ts +9 -0
  272. package/dist/tools/tasks/bulk/index.d.ts.map +1 -0
  273. package/dist/tools/tasks/bulk/index.js +15 -0
  274. package/dist/tools/tasks/bulk/index.js.map +1 -0
  275. package/dist/tools/tasks/bulk-operations-simplified.d.ts +62 -0
  276. package/dist/tools/tasks/bulk-operations-simplified.d.ts.map +1 -0
  277. package/dist/tools/tasks/bulk-operations-simplified.js +416 -0
  278. package/dist/tools/tasks/bulk-operations-simplified.js.map +1 -0
  279. package/dist/tools/tasks/bulk-operations.d.ts +8 -0
  280. package/dist/tools/tasks/bulk-operations.d.ts.map +1 -0
  281. package/dist/tools/tasks/bulk-operations.js +13 -0
  282. package/dist/tools/tasks/bulk-operations.js.map +1 -0
  283. package/dist/tools/tasks/by-index.d.ts +36 -0
  284. package/dist/tools/tasks/by-index.d.ts.map +1 -0
  285. package/dist/tools/tasks/by-index.js +52 -0
  286. package/dist/tools/tasks/by-index.js.map +1 -0
  287. package/dist/tools/tasks/comments/CommentOperationsService.d.ts +44 -0
  288. package/dist/tools/tasks/comments/CommentOperationsService.d.ts.map +1 -0
  289. package/dist/tools/tasks/comments/CommentOperationsService.js +86 -0
  290. package/dist/tools/tasks/comments/CommentOperationsService.js.map +1 -0
  291. package/dist/tools/tasks/comments/CommentResponseFormatter.d.ts +41 -0
  292. package/dist/tools/tasks/comments/CommentResponseFormatter.d.ts.map +1 -0
  293. package/dist/tools/tasks/comments/CommentResponseFormatter.js +114 -0
  294. package/dist/tools/tasks/comments/CommentResponseFormatter.js.map +1 -0
  295. package/dist/tools/tasks/comments/CommentValidationService.d.ts +62 -0
  296. package/dist/tools/tasks/comments/CommentValidationService.d.ts.map +1 -0
  297. package/dist/tools/tasks/comments/CommentValidationService.js +105 -0
  298. package/dist/tools/tasks/comments/CommentValidationService.js.map +1 -0
  299. package/dist/tools/tasks/comments/index.d.ts +66 -0
  300. package/dist/tools/tasks/comments/index.d.ts.map +1 -0
  301. package/dist/tools/tasks/comments/index.js +99 -0
  302. package/dist/tools/tasks/comments/index.js.map +1 -0
  303. package/dist/tools/tasks/constants.d.ts +19 -0
  304. package/dist/tools/tasks/constants.d.ts.map +1 -0
  305. package/dist/tools/tasks/constants.js +82 -0
  306. package/dist/tools/tasks/constants.js.map +1 -0
  307. package/dist/tools/tasks/crud/TaskCreationService.d.ts +29 -0
  308. package/dist/tools/tasks/crud/TaskCreationService.d.ts.map +1 -0
  309. package/dist/tools/tasks/crud/TaskCreationService.js +274 -0
  310. package/dist/tools/tasks/crud/TaskCreationService.js.map +1 -0
  311. package/dist/tools/tasks/crud/TaskDeletionService.d.ts +19 -0
  312. package/dist/tools/tasks/crud/TaskDeletionService.d.ts.map +1 -0
  313. package/dist/tools/tasks/crud/TaskDeletionService.js +96 -0
  314. package/dist/tools/tasks/crud/TaskDeletionService.js.map +1 -0
  315. package/dist/tools/tasks/crud/TaskReadService.d.ts +19 -0
  316. package/dist/tools/tasks/crud/TaskReadService.d.ts.map +1 -0
  317. package/dist/tools/tasks/crud/TaskReadService.js +66 -0
  318. package/dist/tools/tasks/crud/TaskReadService.js.map +1 -0
  319. package/dist/tools/tasks/crud/TaskResponseFormatter.d.ts +18 -0
  320. package/dist/tools/tasks/crud/TaskResponseFormatter.d.ts.map +1 -0
  321. package/dist/tools/tasks/crud/TaskResponseFormatter.js +248 -0
  322. package/dist/tools/tasks/crud/TaskResponseFormatter.js.map +1 -0
  323. package/dist/tools/tasks/crud/TaskUpdateService.d.ts +33 -0
  324. package/dist/tools/tasks/crud/TaskUpdateService.d.ts.map +1 -0
  325. package/dist/tools/tasks/crud/TaskUpdateService.js +294 -0
  326. package/dist/tools/tasks/crud/TaskUpdateService.js.map +1 -0
  327. package/dist/tools/tasks/crud/index.d.ts +17 -0
  328. package/dist/tools/tasks/crud/index.d.ts.map +1 -0
  329. package/dist/tools/tasks/crud/index.js +20 -0
  330. package/dist/tools/tasks/crud/index.js.map +1 -0
  331. package/dist/tools/tasks/duplicate.d.ts +28 -0
  332. package/dist/tools/tasks/duplicate.d.ts.map +1 -0
  333. package/dist/tools/tasks/duplicate.js +41 -0
  334. package/dist/tools/tasks/duplicate.js.map +1 -0
  335. package/dist/tools/tasks/filtering/FilterExecutor.d.ts +39 -0
  336. package/dist/tools/tasks/filtering/FilterExecutor.d.ts.map +1 -0
  337. package/dist/tools/tasks/filtering/FilterExecutor.js +214 -0
  338. package/dist/tools/tasks/filtering/FilterExecutor.js.map +1 -0
  339. package/dist/tools/tasks/filtering/FilterValidator.d.ts +59 -0
  340. package/dist/tools/tasks/filtering/FilterValidator.d.ts.map +1 -0
  341. package/dist/tools/tasks/filtering/FilterValidator.js +257 -0
  342. package/dist/tools/tasks/filtering/FilterValidator.js.map +1 -0
  343. package/dist/tools/tasks/filtering/TaskFilteringOrchestrator.d.ts +78 -0
  344. package/dist/tools/tasks/filtering/TaskFilteringOrchestrator.d.ts.map +1 -0
  345. package/dist/tools/tasks/filtering/TaskFilteringOrchestrator.js +195 -0
  346. package/dist/tools/tasks/filtering/TaskFilteringOrchestrator.js.map +1 -0
  347. package/dist/tools/tasks/filtering/evaluators.d.ts +41 -0
  348. package/dist/tools/tasks/filtering/evaluators.d.ts.map +1 -0
  349. package/dist/tools/tasks/filtering/evaluators.js +224 -0
  350. package/dist/tools/tasks/filtering/evaluators.js.map +1 -0
  351. package/dist/tools/tasks/filtering/index.d.ts +11 -0
  352. package/dist/tools/tasks/filtering/index.d.ts.map +1 -0
  353. package/dist/tools/tasks/filtering/index.js +26 -0
  354. package/dist/tools/tasks/filtering/index.js.map +1 -0
  355. package/dist/tools/tasks/index.d.ts +9 -0
  356. package/dist/tools/tasks/index.d.ts.map +1 -0
  357. package/dist/tools/tasks/index.js +337 -0
  358. package/dist/tools/tasks/index.js.map +1 -0
  359. package/dist/tools/tasks/labels.d.ts +49 -0
  360. package/dist/tools/tasks/labels.d.ts.map +1 -0
  361. package/dist/tools/tasks/labels.js +223 -0
  362. package/dist/tools/tasks/labels.js.map +1 -0
  363. package/dist/tools/tasks/mark-read.d.ts +27 -0
  364. package/dist/tools/tasks/mark-read.d.ts.map +1 -0
  365. package/dist/tools/tasks/mark-read.js +38 -0
  366. package/dist/tools/tasks/mark-read.js.map +1 -0
  367. package/dist/tools/tasks/position.d.ts +53 -0
  368. package/dist/tools/tasks/position.d.ts.map +1 -0
  369. package/dist/tools/tasks/position.js +83 -0
  370. package/dist/tools/tasks/position.js.map +1 -0
  371. package/dist/tools/tasks/reminders.d.ts +56 -0
  372. package/dist/tools/tasks/reminders.d.ts.map +1 -0
  373. package/dist/tools/tasks/reminders.js +213 -0
  374. package/dist/tools/tasks/reminders.js.map +1 -0
  375. package/dist/tools/tasks/subtasks.d.ts +85 -0
  376. package/dist/tools/tasks/subtasks.d.ts.map +1 -0
  377. package/dist/tools/tasks/subtasks.js +286 -0
  378. package/dist/tools/tasks/subtasks.js.map +1 -0
  379. package/dist/tools/tasks/types/filters.d.ts +136 -0
  380. package/dist/tools/tasks/types/filters.d.ts.map +1 -0
  381. package/dist/tools/tasks/types/filters.js +7 -0
  382. package/dist/tools/tasks/types/filters.js.map +1 -0
  383. package/dist/tools/tasks/validation.d.ts +47 -0
  384. package/dist/tools/tasks/validation.d.ts.map +1 -0
  385. package/dist/tools/tasks/validation.js +131 -0
  386. package/dist/tools/tasks/validation.js.map +1 -0
  387. package/dist/tools/tasks-relations.d.ts +25 -0
  388. package/dist/tools/tasks-relations.d.ts.map +1 -0
  389. package/dist/tools/tasks-relations.js +271 -0
  390. package/dist/tools/tasks-relations.js.map +1 -0
  391. package/dist/tools/tasks.d.ts +6 -0
  392. package/dist/tools/tasks.d.ts.map +1 -0
  393. package/dist/tools/tasks.js +10 -0
  394. package/dist/tools/tasks.js.map +1 -0
  395. package/dist/tools/teams.d.ts +9 -0
  396. package/dist/tools/teams.d.ts.map +1 -0
  397. package/dist/tools/teams.js +255 -0
  398. package/dist/tools/teams.js.map +1 -0
  399. package/dist/tools/templates.d.ts +9 -0
  400. package/dist/tools/templates.d.ts.map +1 -0
  401. package/dist/tools/templates.js +450 -0
  402. package/dist/tools/templates.js.map +1 -0
  403. package/dist/tools/tokens.d.ts +37 -0
  404. package/dist/tools/tokens.d.ts.map +1 -0
  405. package/dist/tools/tokens.js +122 -0
  406. package/dist/tools/tokens.js.map +1 -0
  407. package/dist/tools/user-deletion.d.ts +41 -0
  408. package/dist/tools/user-deletion.d.ts.map +1 -0
  409. package/dist/tools/user-deletion.js +126 -0
  410. package/dist/tools/user-deletion.js.map +1 -0
  411. package/dist/tools/users.d.ts +9 -0
  412. package/dist/tools/users.d.ts.map +1 -0
  413. package/dist/tools/users.js +418 -0
  414. package/dist/tools/users.js.map +1 -0
  415. package/dist/tools/webhooks.d.ts +31 -0
  416. package/dist/tools/webhooks.d.ts.map +1 -0
  417. package/dist/tools/webhooks.js +414 -0
  418. package/dist/tools/webhooks.js.map +1 -0
  419. package/dist/transforms/base.d.ts +204 -0
  420. package/dist/transforms/base.d.ts.map +1 -0
  421. package/dist/transforms/base.js +175 -0
  422. package/dist/transforms/base.js.map +1 -0
  423. package/dist/transforms/field-selector.d.ts +27 -0
  424. package/dist/transforms/field-selector.d.ts.map +1 -0
  425. package/dist/transforms/field-selector.js +91 -0
  426. package/dist/transforms/field-selector.js.map +1 -0
  427. package/dist/transforms/index.d.ts +15 -0
  428. package/dist/transforms/index.d.ts.map +1 -0
  429. package/dist/transforms/index.js +50 -0
  430. package/dist/transforms/index.js.map +1 -0
  431. package/dist/transforms/size-calculator.d.ts +131 -0
  432. package/dist/transforms/size-calculator.d.ts.map +1 -0
  433. package/dist/transforms/size-calculator.js +284 -0
  434. package/dist/transforms/size-calculator.js.map +1 -0
  435. package/dist/transforms/task.d.ts +207 -0
  436. package/dist/transforms/task.d.ts.map +1 -0
  437. package/dist/transforms/task.js +259 -0
  438. package/dist/transforms/task.js.map +1 -0
  439. package/dist/types/errors.d.ts +65 -0
  440. package/dist/types/errors.d.ts.map +1 -0
  441. package/dist/types/errors.js +44 -0
  442. package/dist/types/errors.js.map +1 -0
  443. package/dist/types/filters.d.ts +149 -0
  444. package/dist/types/filters.d.ts.map +1 -0
  445. package/dist/types/filters.js +26 -0
  446. package/dist/types/filters.js.map +1 -0
  447. package/dist/types/index.d.ts +147 -0
  448. package/dist/types/index.d.ts.map +1 -0
  449. package/dist/types/index.js +24 -0
  450. package/dist/types/index.js.map +1 -0
  451. package/dist/types/node-vikunja-extended.d.ts +36 -0
  452. package/dist/types/node-vikunja-extended.d.ts.map +1 -0
  453. package/dist/types/node-vikunja-extended.js +25 -0
  454. package/dist/types/node-vikunja-extended.js.map +1 -0
  455. package/dist/types/responses.d.ts +121 -0
  456. package/dist/types/responses.d.ts.map +1 -0
  457. package/dist/types/responses.js +26 -0
  458. package/dist/types/responses.js.map +1 -0
  459. package/dist/types/vikunja.d.ts +319 -0
  460. package/dist/types/vikunja.d.ts.map +1 -0
  461. package/dist/types/vikunja.js +7 -0
  462. package/dist/types/vikunja.js.map +1 -0
  463. package/dist/utils/auth-error-handler.d.ts +23 -0
  464. package/dist/utils/auth-error-handler.d.ts.map +1 -0
  465. package/dist/utils/auth-error-handler.js +162 -0
  466. package/dist/utils/auth-error-handler.js.map +1 -0
  467. package/dist/utils/composite-operation.d.ts +184 -0
  468. package/dist/utils/composite-operation.d.ts.map +1 -0
  469. package/dist/utils/composite-operation.js +293 -0
  470. package/dist/utils/composite-operation.js.map +1 -0
  471. package/dist/utils/error-handler.d.ts +39 -0
  472. package/dist/utils/error-handler.d.ts.map +1 -0
  473. package/dist/utils/error-handler.js +336 -0
  474. package/dist/utils/error-handler.js.map +1 -0
  475. package/dist/utils/filtering/ClientSideFilteringStrategy.d.ts +13 -0
  476. package/dist/utils/filtering/ClientSideFilteringStrategy.d.ts.map +1 -0
  477. package/dist/utils/filtering/ClientSideFilteringStrategy.js +129 -0
  478. package/dist/utils/filtering/ClientSideFilteringStrategy.js.map +1 -0
  479. package/dist/utils/filtering/FilteringContext.d.ts +40 -0
  480. package/dist/utils/filtering/FilteringContext.d.ts.map +1 -0
  481. package/dist/utils/filtering/FilteringContext.js +58 -0
  482. package/dist/utils/filtering/FilteringContext.js.map +1 -0
  483. package/dist/utils/filtering/HybridFilteringStrategy.d.ts +15 -0
  484. package/dist/utils/filtering/HybridFilteringStrategy.d.ts.map +1 -0
  485. package/dist/utils/filtering/HybridFilteringStrategy.js +55 -0
  486. package/dist/utils/filtering/HybridFilteringStrategy.js.map +1 -0
  487. package/dist/utils/filtering/RestCrossProjectFilteringStrategy.d.ts +42 -0
  488. package/dist/utils/filtering/RestCrossProjectFilteringStrategy.d.ts.map +1 -0
  489. package/dist/utils/filtering/RestCrossProjectFilteringStrategy.js +120 -0
  490. package/dist/utils/filtering/RestCrossProjectFilteringStrategy.js.map +1 -0
  491. package/dist/utils/filtering/ServerSideFilteringStrategy.d.ts +13 -0
  492. package/dist/utils/filtering/ServerSideFilteringStrategy.d.ts.map +1 -0
  493. package/dist/utils/filtering/ServerSideFilteringStrategy.js +88 -0
  494. package/dist/utils/filtering/ServerSideFilteringStrategy.js.map +1 -0
  495. package/dist/utils/filtering/TaskFilteringStrategy.d.ts +19 -0
  496. package/dist/utils/filtering/TaskFilteringStrategy.d.ts.map +1 -0
  497. package/dist/utils/filtering/TaskFilteringStrategy.js +10 -0
  498. package/dist/utils/filtering/TaskFilteringStrategy.js.map +1 -0
  499. package/dist/utils/filtering/index.d.ts +14 -0
  500. package/dist/utils/filtering/index.d.ts.map +1 -0
  501. package/dist/utils/filtering/index.js +22 -0
  502. package/dist/utils/filtering/index.js.map +1 -0
  503. package/dist/utils/filtering/types.d.ts +108 -0
  504. package/dist/utils/filtering/types.d.ts.map +1 -0
  505. package/dist/utils/filtering/types.js +6 -0
  506. package/dist/utils/filtering/types.js.map +1 -0
  507. package/dist/utils/filters.d.ts +70 -0
  508. package/dist/utils/filters.d.ts.map +1 -0
  509. package/dist/utils/filters.js +812 -0
  510. package/dist/utils/filters.js.map +1 -0
  511. package/dist/utils/http-error-detail.d.ts +28 -0
  512. package/dist/utils/http-error-detail.d.ts.map +1 -0
  513. package/dist/utils/http-error-detail.js +67 -0
  514. package/dist/utils/http-error-detail.js.map +1 -0
  515. package/dist/utils/label-bulk.d.ts +21 -0
  516. package/dist/utils/label-bulk.d.ts.map +1 -0
  517. package/dist/utils/label-bulk.js +51 -0
  518. package/dist/utils/label-bulk.js.map +1 -0
  519. package/dist/utils/logger.d.ts +20 -0
  520. package/dist/utils/logger.d.ts.map +1 -0
  521. package/dist/utils/logger.js +66 -0
  522. package/dist/utils/logger.js.map +1 -0
  523. package/dist/utils/memory.d.ts +73 -0
  524. package/dist/utils/memory.d.ts.map +1 -0
  525. package/dist/utils/memory.js +194 -0
  526. package/dist/utils/memory.js.map +1 -0
  527. package/dist/utils/performance/batch-processor.d.ts +77 -0
  528. package/dist/utils/performance/batch-processor.d.ts.map +1 -0
  529. package/dist/utils/performance/batch-processor.js +218 -0
  530. package/dist/utils/performance/batch-processor.js.map +1 -0
  531. package/dist/utils/performance/index.d.ts +42 -0
  532. package/dist/utils/performance/index.d.ts.map +1 -0
  533. package/dist/utils/performance/index.js +49 -0
  534. package/dist/utils/performance/index.js.map +1 -0
  535. package/dist/utils/performance/performance-monitor.d.ts +116 -0
  536. package/dist/utils/performance/performance-monitor.d.ts.map +1 -0
  537. package/dist/utils/performance/performance-monitor.js +307 -0
  538. package/dist/utils/performance/performance-monitor.js.map +1 -0
  539. package/dist/utils/read-only.d.ts +111 -0
  540. package/dist/utils/read-only.d.ts.map +1 -0
  541. package/dist/utils/read-only.js +503 -0
  542. package/dist/utils/read-only.js.map +1 -0
  543. package/dist/utils/response-factory.d.ts +81 -0
  544. package/dist/utils/response-factory.d.ts.map +1 -0
  545. package/dist/utils/response-factory.js +86 -0
  546. package/dist/utils/response-factory.js.map +1 -0
  547. package/dist/utils/retry.d.ts +160 -0
  548. package/dist/utils/retry.d.ts.map +1 -0
  549. package/dist/utils/retry.js +316 -0
  550. package/dist/utils/retry.js.map +1 -0
  551. package/dist/utils/security.d.ts +70 -0
  552. package/dist/utils/security.d.ts.map +1 -0
  553. package/dist/utils/security.js +358 -0
  554. package/dist/utils/security.js.map +1 -0
  555. package/dist/utils/simple-response.d.ts +75 -0
  556. package/dist/utils/simple-response.d.ts.map +1 -0
  557. package/dist/utils/simple-response.js +311 -0
  558. package/dist/utils/simple-response.js.map +1 -0
  559. package/dist/utils/storage-errors.d.ts +9 -0
  560. package/dist/utils/storage-errors.d.ts.map +1 -0
  561. package/dist/utils/storage-errors.js +20 -0
  562. package/dist/utils/storage-errors.js.map +1 -0
  563. package/dist/utils/task-rest-transport.d.ts +28 -0
  564. package/dist/utils/task-rest-transport.d.ts.map +1 -0
  565. package/dist/utils/task-rest-transport.js +33 -0
  566. package/dist/utils/task-rest-transport.js.map +1 -0
  567. package/dist/utils/unicode-fix.d.ts +19 -0
  568. package/dist/utils/unicode-fix.d.ts.map +1 -0
  569. package/dist/utils/unicode-fix.js +70 -0
  570. package/dist/utils/unicode-fix.js.map +1 -0
  571. package/dist/utils/validation.d.ts +75 -0
  572. package/dist/utils/validation.d.ts.map +1 -0
  573. package/dist/utils/validation.js +758 -0
  574. package/dist/utils/validation.js.map +1 -0
  575. package/dist/utils/vikunja-rest.d.ts +159 -0
  576. package/dist/utils/vikunja-rest.d.ts.map +1 -0
  577. package/dist/utils/vikunja-rest.js +378 -0
  578. package/dist/utils/vikunja-rest.js.map +1 -0
  579. package/docs/CONFIGURATION.md +957 -0
  580. package/docs/DOCKER-DESKTOP-MCP.md +207 -0
  581. package/docs/TOOLS.md +422 -0
  582. package/package.json +145 -0
@@ -0,0 +1,522 @@
1
+ "use strict";
2
+ /**
3
+ * Projects Tool Module - Main Orchestrator
4
+ * Coordinates all project-related operations through specialized submodules
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.searchUnsplashBackgrounds = exports.setUnsplashBackground = exports.removeProjectBackground = exports.listProjectMembers = exports.shareProjectWithTeam = exports.shareProjectWithUser = exports.removeProjectTeam = exports.updateProjectTeamPermission = exports.addProjectTeam = exports.listProjectTeams = exports.removeProjectUser = exports.updateProjectUserPermission = exports.addProjectUser = exports.searchProjectUsers = exports.listProjectUsers = exports.duplicateProject = exports.setDoneBucket = exports.deleteView = exports.updateView = exports.createView = exports.getView = exports.listViews = exports.listViewTasks = exports.deleteBucket = exports.updateBucket = exports.createBucket = exports.listBuckets = exports.authProjectShare = exports.deleteProjectShare = exports.getProjectShare = exports.listProjectShares = exports.createProjectShare = exports.moveProject = exports.getProjectBreadcrumb = exports.getProjectTree = exports.getProjectChildren = exports.unarchiveProject = exports.archiveProject = exports.deleteProject = exports.updateProject = exports.createProject = exports.getProject = exports.listProjects = void 0;
8
+ exports.resolveBackgroundsEnabled = resolveBackgroundsEnabled;
9
+ exports.registerProjectsTool = registerProjectsTool;
10
+ const zod_1 = require("zod");
11
+ const types_1 = require("../../types");
12
+ const error_handler_1 = require("../../utils/error-handler");
13
+ const validation_1 = require("./validation");
14
+ const read_only_1 = require("../../utils/read-only");
15
+ const config_1 = require("../../config");
16
+ const logger_1 = require("../../utils/logger");
17
+ // Import all submodule operations
18
+ const crud_1 = require("./crud");
19
+ Object.defineProperty(exports, "listProjects", { enumerable: true, get: function () { return crud_1.listProjects; } });
20
+ Object.defineProperty(exports, "getProject", { enumerable: true, get: function () { return crud_1.getProject; } });
21
+ Object.defineProperty(exports, "createProject", { enumerable: true, get: function () { return crud_1.createProject; } });
22
+ Object.defineProperty(exports, "updateProject", { enumerable: true, get: function () { return crud_1.updateProject; } });
23
+ Object.defineProperty(exports, "deleteProject", { enumerable: true, get: function () { return crud_1.deleteProject; } });
24
+ Object.defineProperty(exports, "archiveProject", { enumerable: true, get: function () { return crud_1.archiveProject; } });
25
+ Object.defineProperty(exports, "unarchiveProject", { enumerable: true, get: function () { return crud_1.unarchiveProject; } });
26
+ const hierarchy_1 = require("./hierarchy");
27
+ Object.defineProperty(exports, "getProjectChildren", { enumerable: true, get: function () { return hierarchy_1.getProjectChildren; } });
28
+ Object.defineProperty(exports, "getProjectTree", { enumerable: true, get: function () { return hierarchy_1.getProjectTree; } });
29
+ Object.defineProperty(exports, "getProjectBreadcrumb", { enumerable: true, get: function () { return hierarchy_1.getProjectBreadcrumb; } });
30
+ Object.defineProperty(exports, "moveProject", { enumerable: true, get: function () { return hierarchy_1.moveProject; } });
31
+ const sharing_1 = require("./sharing");
32
+ Object.defineProperty(exports, "createProjectShare", { enumerable: true, get: function () { return sharing_1.createProjectShare; } });
33
+ Object.defineProperty(exports, "listProjectShares", { enumerable: true, get: function () { return sharing_1.listProjectShares; } });
34
+ Object.defineProperty(exports, "getProjectShare", { enumerable: true, get: function () { return sharing_1.getProjectShare; } });
35
+ Object.defineProperty(exports, "deleteProjectShare", { enumerable: true, get: function () { return sharing_1.deleteProjectShare; } });
36
+ Object.defineProperty(exports, "authProjectShare", { enumerable: true, get: function () { return sharing_1.authProjectShare; } });
37
+ const buckets_1 = require("./buckets");
38
+ Object.defineProperty(exports, "listBuckets", { enumerable: true, get: function () { return buckets_1.listBuckets; } });
39
+ Object.defineProperty(exports, "createBucket", { enumerable: true, get: function () { return buckets_1.createBucket; } });
40
+ Object.defineProperty(exports, "updateBucket", { enumerable: true, get: function () { return buckets_1.updateBucket; } });
41
+ Object.defineProperty(exports, "deleteBucket", { enumerable: true, get: function () { return buckets_1.deleteBucket; } });
42
+ Object.defineProperty(exports, "listViewTasks", { enumerable: true, get: function () { return buckets_1.listViewTasks; } });
43
+ const views_1 = require("./views");
44
+ Object.defineProperty(exports, "listViews", { enumerable: true, get: function () { return views_1.listViews; } });
45
+ Object.defineProperty(exports, "getView", { enumerable: true, get: function () { return views_1.getView; } });
46
+ Object.defineProperty(exports, "createView", { enumerable: true, get: function () { return views_1.createView; } });
47
+ Object.defineProperty(exports, "updateView", { enumerable: true, get: function () { return views_1.updateView; } });
48
+ Object.defineProperty(exports, "deleteView", { enumerable: true, get: function () { return views_1.deleteView; } });
49
+ Object.defineProperty(exports, "setDoneBucket", { enumerable: true, get: function () { return views_1.setDoneBucket; } });
50
+ const duplicate_1 = require("./duplicate");
51
+ Object.defineProperty(exports, "duplicateProject", { enumerable: true, get: function () { return duplicate_1.duplicateProject; } });
52
+ const backgrounds_1 = require("./backgrounds");
53
+ Object.defineProperty(exports, "removeProjectBackground", { enumerable: true, get: function () { return backgrounds_1.removeProjectBackground; } });
54
+ Object.defineProperty(exports, "setUnsplashBackground", { enumerable: true, get: function () { return backgrounds_1.setUnsplashBackground; } });
55
+ Object.defineProperty(exports, "searchUnsplashBackgrounds", { enumerable: true, get: function () { return backgrounds_1.searchUnsplashBackgrounds; } });
56
+ const sharing_access_1 = require("./sharing-access");
57
+ Object.defineProperty(exports, "listProjectUsers", { enumerable: true, get: function () { return sharing_access_1.listProjectUsers; } });
58
+ Object.defineProperty(exports, "searchProjectUsers", { enumerable: true, get: function () { return sharing_access_1.searchProjectUsers; } });
59
+ Object.defineProperty(exports, "addProjectUser", { enumerable: true, get: function () { return sharing_access_1.addProjectUser; } });
60
+ Object.defineProperty(exports, "updateProjectUserPermission", { enumerable: true, get: function () { return sharing_access_1.updateProjectUserPermission; } });
61
+ Object.defineProperty(exports, "removeProjectUser", { enumerable: true, get: function () { return sharing_access_1.removeProjectUser; } });
62
+ Object.defineProperty(exports, "listProjectTeams", { enumerable: true, get: function () { return sharing_access_1.listProjectTeams; } });
63
+ Object.defineProperty(exports, "addProjectTeam", { enumerable: true, get: function () { return sharing_access_1.addProjectTeam; } });
64
+ Object.defineProperty(exports, "updateProjectTeamPermission", { enumerable: true, get: function () { return sharing_access_1.updateProjectTeamPermission; } });
65
+ Object.defineProperty(exports, "removeProjectTeam", { enumerable: true, get: function () { return sharing_access_1.removeProjectTeam; } });
66
+ Object.defineProperty(exports, "shareProjectWithUser", { enumerable: true, get: function () { return sharing_access_1.shareProjectWithUser; } });
67
+ Object.defineProperty(exports, "shareProjectWithTeam", { enumerable: true, get: function () { return sharing_access_1.shareProjectWithTeam; } });
68
+ Object.defineProperty(exports, "listProjectMembers", { enumerable: true, get: function () { return sharing_access_1.listProjectMembers; } });
69
+ // The three project-backgrounds subcommands (G7,
70
+ // docs/ENDPOINT-TAIL-RETRIAGE.md) live behind the opt-in, deny-by-default
71
+ // `backgrounds` module config key (src/config/types.ts) — the deliberate
72
+ // opposite of every other default-ON domain module. Every other module in
73
+ // this codebase gates a whole standalone tool at registration time so a
74
+ // disabled module's tools are "invisible to the client, not merely
75
+ // rejected at call time" (docs/CONFIGURATION.md). `backgrounds` gates only
76
+ // three subcommands *within* the always-registered `vikunja_projects` tool,
77
+ // so that same "genuinely absent from the schema" contract is reproduced
78
+ // here at the subcommand-enum level instead: the enum literally does not
79
+ // contain these three strings when the module is disabled, so a call
80
+ // naming one of them fails MCP schema validation (an unrecognized enum
81
+ // value) rather than being accepted and then rejected by handler logic.
82
+ const BACKGROUND_SUBCOMMANDS = [
83
+ 'remove-background',
84
+ 'set-unsplash-background',
85
+ 'search-unsplash',
86
+ ];
87
+ /**
88
+ * Resolves whether the `backgrounds` module is enabled, failing safe to
89
+ * disabled (matching the schema default and the "opt-in" contract) rather
90
+ * than fatal — same fail-safe rationale as `resolveModulesConfig` in
91
+ * `src/tools/index.ts`. `override` lets `registerTools` pass down a value
92
+ * it already computed once (avoiding a second `loadConfiguration()` call);
93
+ * omitted, this resolves independently — used by direct unit-test call
94
+ * sites that instantiate `registerProjectsTool` without going through
95
+ * `registerTools`.
96
+ */
97
+ function resolveBackgroundsEnabled(override) {
98
+ if (override !== undefined) {
99
+ return override;
100
+ }
101
+ try {
102
+ return (0, config_1.isModuleEnabled)(config_1.ConfigurationManager.getInstance().loadConfiguration().modules.backgrounds);
103
+ }
104
+ catch (error) {
105
+ logger_1.logger.error('Failed to load module gating configuration while resolving the backgrounds module; ' +
106
+ 'defaulting to disabled (opt-in, deny-by-default):', error);
107
+ return false;
108
+ }
109
+ }
110
+ /**
111
+ * Legacy single-tool interface for backward compatibility
112
+ * Registers a single tool with all subcommands like the original implementation
113
+ */
114
+ function registerProjectsTool(server, authManager, clientFactory, backgroundsEnabledOverride) {
115
+ const backgroundsEnabled = resolveBackgroundsEnabled(backgroundsEnabledOverride);
116
+ const baseSubcommands = [
117
+ 'list', 'get', 'create', 'update', 'delete', 'archive', 'unarchive',
118
+ 'get-children', 'get-tree', 'get-breadcrumb', 'move',
119
+ 'create-share', 'list-shares', 'get-share', 'delete-share', 'auth-share',
120
+ 'list-buckets', 'create-bucket', 'update-bucket', 'delete-bucket',
121
+ 'list-views', 'get-view', 'create-view', 'update-view', 'delete-view',
122
+ 'set-done-bucket', 'list-view-tasks', 'duplicate',
123
+ // Direct user/team sharing — primitives
124
+ 'list-project-users', 'search-project-users', 'add-project-user',
125
+ 'update-project-user-permission', 'remove-project-user',
126
+ 'list-project-teams', 'add-project-team',
127
+ 'update-project-team-permission', 'remove-project-team',
128
+ // Direct user/team sharing — composites
129
+ 'share-with-user', 'share-with-team', 'list-members',
130
+ ];
131
+ const subcommandValues = (backgroundsEnabled ? [...baseSubcommands, ...BACKGROUND_SUBCOMMANDS] : baseSubcommands);
132
+ server.tool('vikunja_projects', (0, read_only_1.withReadOnlyNote)('vikunja_projects', 'Manage projects with full CRUD operations, hierarchy management, sharing capabilities, project views, Kanban buckets, and duplication'
133
+ + (backgroundsEnabled
134
+ ? '. The opt-in backgrounds module adds remove-background/set-unsplash-background/search-unsplash'
135
+ : '')), {
136
+ subcommand: zod_1.z.enum(subcommandValues),
137
+ // CRUD arguments
138
+ id: zod_1.z.number().positive().optional(),
139
+ title: zod_1.z.string().optional(),
140
+ description: zod_1.z.string().optional(),
141
+ parentProjectId: zod_1.z.number().positive().optional(),
142
+ isArchived: zod_1.z.boolean().optional(),
143
+ hexColor: zod_1.z.string().regex(/^#[0-9A-Fa-f]{6}$/).optional(),
144
+ page: zod_1.z.number().min(1).optional(),
145
+ perPage: zod_1.z.number().min(1).max(100).optional(),
146
+ search: zod_1.z.string().optional(),
147
+ // Hierarchy arguments
148
+ maxDepth: zod_1.z.number().min(1).max(20).optional(),
149
+ includeArchived: zod_1.z.boolean().optional(),
150
+ // Kanban bucket arguments (list-buckets, create-bucket, update-bucket,
151
+ // delete-bucket, list-view-tasks, set-done-bucket subcommands).
152
+ // z.coerce tolerates MCP clients whose cached tool schema predates
153
+ // this param and therefore send it as a string over JSON-RPC.
154
+ viewId: zod_1.z.coerce.number().positive().optional(),
155
+ bucketId: zod_1.z.coerce.number().positive().optional(),
156
+ bucketTitle: zod_1.z.string().optional(),
157
+ limit: zod_1.z.coerce.number().min(0).optional(),
158
+ // Project view arguments (list-views, get-view, create-view,
159
+ // update-view, delete-view, set-done-bucket subcommands).
160
+ viewKind: zod_1.z.enum(['list', 'gantt', 'table', 'kanban']).optional(),
161
+ bucketConfigurationMode: zod_1.z.enum(['none', 'manual', 'filter']).optional(),
162
+ doneBucketId: zod_1.z.coerce.number().positive().optional(),
163
+ defaultBucketId: zod_1.z.coerce.number().positive().optional(),
164
+ // Duplicate-project arguments (duplicate subcommand).
165
+ duplicateShares: zod_1.z.boolean().optional(),
166
+ // Sharing arguments (link shares + direct user/team sharing)
167
+ projectId: zod_1.z.number().positive().optional(),
168
+ shareId: zod_1.z.string().optional(),
169
+ shareHash: zod_1.z.string().optional(),
170
+ right: zod_1.z.union([zod_1.z.enum(['read', 'write', 'admin']), zod_1.z.literal(0), zod_1.z.literal(1), zod_1.z.literal(2)]).optional(),
171
+ name: zod_1.z.string().optional(),
172
+ password: zod_1.z.string().optional(),
173
+ // Direct user/team sharing arguments
174
+ username: zod_1.z.string().optional(),
175
+ teamName: zod_1.z.string().optional(),
176
+ userId: zod_1.z.number().positive().optional(),
177
+ teamId: zod_1.z.number().positive().optional(),
178
+ // Opt-in atomic rollback for share-with-user / share-with-team — see
179
+ // CompositeOperation (src/utils/composite-operation.ts) and
180
+ // docs/ENDPOINT-PLAYBOOK.md §5. Default false (best-effort).
181
+ atomic: zod_1.z.boolean().optional(),
182
+ // Project backgrounds arguments (opt-in `backgrounds` module —
183
+ // set-unsplash-background / search-unsplash subcommands). `page`
184
+ // above is reused for search-unsplash's pagination (maps to the
185
+ // API's `p` query param).
186
+ unsplashImageId: zod_1.z.string().optional(),
187
+ unsplashQuery: zod_1.z.string().optional(),
188
+ // Session ID for AORP response tracking
189
+ sessionId: zod_1.z.string().optional(),
190
+ }, (0, read_only_1.getToolAnnotations)('vikunja_projects'), async (args, context) => {
191
+ try {
192
+ // Check authentication with enhanced error message
193
+ if (!authManager.isAuthenticated()) {
194
+ throw (0, error_handler_1.createAuthRequiredError)('access project management features');
195
+ }
196
+ (0, read_only_1.assertWriteAllowed)('vikunja_projects', args.subcommand);
197
+ // Set the client factory for this request if provided
198
+ if (clientFactory) {
199
+ const { setGlobalClientFactory } = await import('../../client.js');
200
+ await setGlobalClientFactory(clientFactory);
201
+ }
202
+ try {
203
+ const result = await (async () => {
204
+ switch (args.subcommand) {
205
+ // CRUD operations
206
+ case 'list':
207
+ return await (0, crud_1.listProjects)(args, authManager);
208
+ case 'get':
209
+ if (args.id === undefined || args.id === null) {
210
+ throw new types_1.MCPError(types_1.ErrorCode.VALIDATION_ERROR, 'Project ID is required');
211
+ }
212
+ (0, validation_1.validateId)(args.id, 'id');
213
+ return await (0, crud_1.getProject)(args, authManager);
214
+ case 'create':
215
+ if (!args.title) {
216
+ throw new types_1.MCPError(types_1.ErrorCode.VALIDATION_ERROR, 'Project title is required for create operation');
217
+ }
218
+ return await (0, crud_1.createProject)(args, authManager);
219
+ case 'update':
220
+ if (!args.id) {
221
+ throw new types_1.MCPError(types_1.ErrorCode.VALIDATION_ERROR, 'Project ID is required for update operation');
222
+ }
223
+ return await (0, crud_1.updateProject)(args, authManager);
224
+ case 'delete':
225
+ if (!args.id) {
226
+ throw new types_1.MCPError(types_1.ErrorCode.VALIDATION_ERROR, 'Project ID is required for delete operation');
227
+ }
228
+ return await (0, crud_1.deleteProject)(args, authManager);
229
+ case 'archive':
230
+ if (!args.id) {
231
+ throw new types_1.MCPError(types_1.ErrorCode.VALIDATION_ERROR, 'Project ID is required for archive operation');
232
+ }
233
+ return await (0, crud_1.archiveProject)(args, authManager);
234
+ case 'unarchive':
235
+ if (!args.id) {
236
+ throw new types_1.MCPError(types_1.ErrorCode.VALIDATION_ERROR, 'Project ID is required for unarchive operation');
237
+ }
238
+ return await (0, crud_1.unarchiveProject)(args, authManager);
239
+ // Hierarchy operations
240
+ case 'get-children':
241
+ if (!args.id) {
242
+ throw new types_1.MCPError(types_1.ErrorCode.VALIDATION_ERROR, 'Project ID is required for get-children operation');
243
+ }
244
+ return await (0, hierarchy_1.getProjectChildren)(args, context, authManager);
245
+ case 'get-tree':
246
+ return await (0, hierarchy_1.getProjectTree)(args, context, authManager);
247
+ case 'get-breadcrumb':
248
+ if (!args.id) {
249
+ throw new types_1.MCPError(types_1.ErrorCode.VALIDATION_ERROR, 'Project ID is required for get-breadcrumb operation');
250
+ }
251
+ return await (0, hierarchy_1.getProjectBreadcrumb)(args, context, authManager);
252
+ case 'move':
253
+ if (args.id === undefined || args.id === null) {
254
+ throw new types_1.MCPError(types_1.ErrorCode.VALIDATION_ERROR, 'Project ID is required for move operation');
255
+ }
256
+ (0, validation_1.validateId)(args.id, 'id');
257
+ return await (0, hierarchy_1.moveProject)(args, context, authManager);
258
+ // Sharing operations — link shares
259
+ case 'create-share':
260
+ if (!args.projectId) {
261
+ throw new types_1.MCPError(types_1.ErrorCode.VALIDATION_ERROR, 'Project ID is required');
262
+ }
263
+ if (!args.right) {
264
+ throw new types_1.MCPError(types_1.ErrorCode.VALIDATION_ERROR, 'Share right is required');
265
+ }
266
+ return await (0, sharing_1.createProjectShare)(args, authManager);
267
+ case 'list-shares':
268
+ if (!args.projectId) {
269
+ throw new types_1.MCPError(types_1.ErrorCode.VALIDATION_ERROR, 'Project ID is required');
270
+ }
271
+ return await (0, sharing_1.listProjectShares)(args, authManager);
272
+ case 'get-share':
273
+ if (args.shareId === undefined || args.shareId === null) {
274
+ throw new types_1.MCPError(types_1.ErrorCode.VALIDATION_ERROR, 'Share ID is required');
275
+ }
276
+ if (args.shareId.trim() === '') {
277
+ throw new types_1.MCPError(types_1.ErrorCode.VALIDATION_ERROR, 'Share ID must be a non-empty string');
278
+ }
279
+ return await (0, sharing_1.getProjectShare)(args, authManager);
280
+ case 'delete-share':
281
+ if (args.shareId === undefined || args.shareId === null) {
282
+ throw new types_1.MCPError(types_1.ErrorCode.VALIDATION_ERROR, 'Share ID is required');
283
+ }
284
+ if (args.shareId.trim() === '') {
285
+ throw new types_1.MCPError(types_1.ErrorCode.VALIDATION_ERROR, 'Share ID must be a non-empty string');
286
+ }
287
+ return await (0, sharing_1.deleteProjectShare)(args, authManager);
288
+ case 'auth-share': {
289
+ if (!args.shareHash) {
290
+ throw new types_1.MCPError(types_1.ErrorCode.VALIDATION_ERROR, 'Share hash is required');
291
+ }
292
+ const authShareArgs = {
293
+ shareHash: args.shareHash
294
+ };
295
+ if (args.projectId !== undefined)
296
+ authShareArgs.projectId = args.projectId;
297
+ if (args.password !== undefined)
298
+ authShareArgs.password = args.password;
299
+ return await (0, sharing_1.authProjectShare)(authShareArgs, authManager);
300
+ }
301
+ // Sharing operations — direct user access (primitives)
302
+ case 'list-project-users':
303
+ if (!args.projectId) {
304
+ throw new types_1.MCPError(types_1.ErrorCode.VALIDATION_ERROR, 'Project ID is required for list-project-users operation');
305
+ }
306
+ return await (0, sharing_access_1.listProjectUsers)(args, authManager);
307
+ case 'search-project-users':
308
+ if (!args.projectId) {
309
+ throw new types_1.MCPError(types_1.ErrorCode.VALIDATION_ERROR, 'Project ID is required for search-project-users operation');
310
+ }
311
+ return await (0, sharing_access_1.searchProjectUsers)(args, authManager);
312
+ case 'add-project-user':
313
+ if (!args.projectId) {
314
+ throw new types_1.MCPError(types_1.ErrorCode.VALIDATION_ERROR, 'Project ID is required for add-project-user operation');
315
+ }
316
+ if (!args.username) {
317
+ throw new types_1.MCPError(types_1.ErrorCode.VALIDATION_ERROR, 'username is required for add-project-user operation');
318
+ }
319
+ if (!args.right) {
320
+ throw new types_1.MCPError(types_1.ErrorCode.VALIDATION_ERROR, 'Share right is required for add-project-user operation');
321
+ }
322
+ return await (0, sharing_access_1.addProjectUser)(args, authManager);
323
+ case 'update-project-user-permission':
324
+ if (!args.projectId) {
325
+ throw new types_1.MCPError(types_1.ErrorCode.VALIDATION_ERROR, 'Project ID is required for update-project-user-permission operation');
326
+ }
327
+ if (!args.userId) {
328
+ throw new types_1.MCPError(types_1.ErrorCode.VALIDATION_ERROR, 'userId is required for update-project-user-permission operation');
329
+ }
330
+ if (!args.right) {
331
+ throw new types_1.MCPError(types_1.ErrorCode.VALIDATION_ERROR, 'Share right is required for update-project-user-permission operation');
332
+ }
333
+ return await (0, sharing_access_1.updateProjectUserPermission)(args, authManager);
334
+ case 'remove-project-user':
335
+ if (!args.projectId) {
336
+ throw new types_1.MCPError(types_1.ErrorCode.VALIDATION_ERROR, 'Project ID is required for remove-project-user operation');
337
+ }
338
+ if (!args.userId) {
339
+ throw new types_1.MCPError(types_1.ErrorCode.VALIDATION_ERROR, 'userId is required for remove-project-user operation');
340
+ }
341
+ return await (0, sharing_access_1.removeProjectUser)(args, authManager);
342
+ // Sharing operations — direct team access (primitives)
343
+ case 'list-project-teams':
344
+ if (!args.projectId) {
345
+ throw new types_1.MCPError(types_1.ErrorCode.VALIDATION_ERROR, 'Project ID is required for list-project-teams operation');
346
+ }
347
+ return await (0, sharing_access_1.listProjectTeams)(args, authManager);
348
+ case 'add-project-team':
349
+ if (!args.projectId) {
350
+ throw new types_1.MCPError(types_1.ErrorCode.VALIDATION_ERROR, 'Project ID is required for add-project-team operation');
351
+ }
352
+ if (!args.teamId) {
353
+ throw new types_1.MCPError(types_1.ErrorCode.VALIDATION_ERROR, 'teamId is required for add-project-team operation');
354
+ }
355
+ if (!args.right) {
356
+ throw new types_1.MCPError(types_1.ErrorCode.VALIDATION_ERROR, 'Share right is required for add-project-team operation');
357
+ }
358
+ return await (0, sharing_access_1.addProjectTeam)(args, authManager);
359
+ case 'update-project-team-permission':
360
+ if (!args.projectId) {
361
+ throw new types_1.MCPError(types_1.ErrorCode.VALIDATION_ERROR, 'Project ID is required for update-project-team-permission operation');
362
+ }
363
+ if (!args.teamId) {
364
+ throw new types_1.MCPError(types_1.ErrorCode.VALIDATION_ERROR, 'teamId is required for update-project-team-permission operation');
365
+ }
366
+ if (!args.right) {
367
+ throw new types_1.MCPError(types_1.ErrorCode.VALIDATION_ERROR, 'Share right is required for update-project-team-permission operation');
368
+ }
369
+ return await (0, sharing_access_1.updateProjectTeamPermission)(args, authManager);
370
+ case 'remove-project-team':
371
+ if (!args.projectId) {
372
+ throw new types_1.MCPError(types_1.ErrorCode.VALIDATION_ERROR, 'Project ID is required for remove-project-team operation');
373
+ }
374
+ if (!args.teamId) {
375
+ throw new types_1.MCPError(types_1.ErrorCode.VALIDATION_ERROR, 'teamId is required for remove-project-team operation');
376
+ }
377
+ return await (0, sharing_access_1.removeProjectTeam)(args, authManager);
378
+ // Sharing operations — composites
379
+ case 'share-with-user':
380
+ if (!args.projectId) {
381
+ throw new types_1.MCPError(types_1.ErrorCode.VALIDATION_ERROR, 'Project ID is required for share-with-user operation');
382
+ }
383
+ if (!args.username) {
384
+ throw new types_1.MCPError(types_1.ErrorCode.VALIDATION_ERROR, 'username is required for share-with-user operation');
385
+ }
386
+ if (!args.right) {
387
+ throw new types_1.MCPError(types_1.ErrorCode.VALIDATION_ERROR, 'Share right is required for share-with-user operation');
388
+ }
389
+ return await (0, sharing_access_1.shareProjectWithUser)(args, authManager);
390
+ case 'share-with-team':
391
+ if (!args.projectId) {
392
+ throw new types_1.MCPError(types_1.ErrorCode.VALIDATION_ERROR, 'Project ID is required for share-with-team operation');
393
+ }
394
+ if (!args.teamName) {
395
+ throw new types_1.MCPError(types_1.ErrorCode.VALIDATION_ERROR, 'teamName is required for share-with-team operation');
396
+ }
397
+ if (!args.right) {
398
+ throw new types_1.MCPError(types_1.ErrorCode.VALIDATION_ERROR, 'Share right is required for share-with-team operation');
399
+ }
400
+ return await (0, sharing_access_1.shareProjectWithTeam)(args, authManager);
401
+ case 'list-members':
402
+ if (!args.projectId) {
403
+ throw new types_1.MCPError(types_1.ErrorCode.VALIDATION_ERROR, 'Project ID is required for list-members operation');
404
+ }
405
+ return await (0, sharing_access_1.listProjectMembers)(args, authManager);
406
+ // Kanban bucket operations
407
+ case 'list-buckets':
408
+ if (!args.id) {
409
+ throw new types_1.MCPError(types_1.ErrorCode.VALIDATION_ERROR, 'Project ID is required for list-buckets operation');
410
+ }
411
+ (0, validation_1.validateId)(args.id, 'id');
412
+ return await (0, buckets_1.listBuckets)(args, authManager);
413
+ case 'create-bucket':
414
+ if (!args.id) {
415
+ throw new types_1.MCPError(types_1.ErrorCode.VALIDATION_ERROR, 'Project ID is required for create-bucket operation');
416
+ }
417
+ (0, validation_1.validateId)(args.id, 'id');
418
+ return await (0, buckets_1.createBucket)(args, authManager);
419
+ case 'update-bucket':
420
+ if (!args.id) {
421
+ throw new types_1.MCPError(types_1.ErrorCode.VALIDATION_ERROR, 'Project ID is required for update-bucket operation');
422
+ }
423
+ (0, validation_1.validateId)(args.id, 'id');
424
+ return await (0, buckets_1.updateBucket)(args, authManager);
425
+ case 'delete-bucket':
426
+ if (!args.id) {
427
+ throw new types_1.MCPError(types_1.ErrorCode.VALIDATION_ERROR, 'Project ID is required for delete-bucket operation');
428
+ }
429
+ (0, validation_1.validateId)(args.id, 'id');
430
+ return await (0, buckets_1.deleteBucket)(args, authManager);
431
+ case 'list-view-tasks':
432
+ if (!args.id) {
433
+ throw new types_1.MCPError(types_1.ErrorCode.VALIDATION_ERROR, 'Project ID is required for list-view-tasks operation');
434
+ }
435
+ (0, validation_1.validateId)(args.id, 'id');
436
+ return await (0, buckets_1.listViewTasks)(args, authManager);
437
+ // Project view operations
438
+ case 'list-views':
439
+ if (!args.id) {
440
+ throw new types_1.MCPError(types_1.ErrorCode.VALIDATION_ERROR, 'Project ID is required for list-views operation');
441
+ }
442
+ (0, validation_1.validateId)(args.id, 'id');
443
+ return await (0, views_1.listViews)(args, authManager);
444
+ case 'get-view':
445
+ if (!args.id) {
446
+ throw new types_1.MCPError(types_1.ErrorCode.VALIDATION_ERROR, 'Project ID is required for get-view operation');
447
+ }
448
+ (0, validation_1.validateId)(args.id, 'id');
449
+ return await (0, views_1.getView)(args, authManager);
450
+ case 'create-view':
451
+ if (!args.id) {
452
+ throw new types_1.MCPError(types_1.ErrorCode.VALIDATION_ERROR, 'Project ID is required for create-view operation');
453
+ }
454
+ (0, validation_1.validateId)(args.id, 'id');
455
+ return await (0, views_1.createView)(args, authManager);
456
+ case 'update-view':
457
+ if (!args.id) {
458
+ throw new types_1.MCPError(types_1.ErrorCode.VALIDATION_ERROR, 'Project ID is required for update-view operation');
459
+ }
460
+ (0, validation_1.validateId)(args.id, 'id');
461
+ return await (0, views_1.updateView)(args, authManager);
462
+ case 'delete-view':
463
+ if (!args.id) {
464
+ throw new types_1.MCPError(types_1.ErrorCode.VALIDATION_ERROR, 'Project ID is required for delete-view operation');
465
+ }
466
+ (0, validation_1.validateId)(args.id, 'id');
467
+ return await (0, views_1.deleteView)(args, authManager);
468
+ case 'set-done-bucket':
469
+ if (!args.id) {
470
+ throw new types_1.MCPError(types_1.ErrorCode.VALIDATION_ERROR, 'Project ID is required for set-done-bucket operation');
471
+ }
472
+ (0, validation_1.validateId)(args.id, 'id');
473
+ return await (0, views_1.setDoneBucket)(args, authManager);
474
+ // Duplicate operation
475
+ case 'duplicate':
476
+ if (!args.id) {
477
+ throw new types_1.MCPError(types_1.ErrorCode.VALIDATION_ERROR, 'Project ID is required for duplicate operation');
478
+ }
479
+ (0, validation_1.validateId)(args.id, 'id');
480
+ return await (0, duplicate_1.duplicateProject)(args, authManager);
481
+ // Project backgrounds (G7, opt-in `backgrounds` module). Only
482
+ // reachable when the module is enabled — see
483
+ // BACKGROUND_SUBCOMMANDS above; the zod enum itself excludes
484
+ // these subcommand strings when the module is disabled, so an
485
+ // unrecognized-subcommand rejection happens at schema validation
486
+ // time in that case, never reaching this switch.
487
+ case 'remove-background':
488
+ if (!args.id) {
489
+ throw new types_1.MCPError(types_1.ErrorCode.VALIDATION_ERROR, 'Project ID is required for remove-background operation');
490
+ }
491
+ (0, validation_1.validateId)(args.id, 'id');
492
+ return await (0, backgrounds_1.removeProjectBackground)(args, authManager);
493
+ case 'set-unsplash-background':
494
+ if (!args.id) {
495
+ throw new types_1.MCPError(types_1.ErrorCode.VALIDATION_ERROR, 'Project ID is required for set-unsplash-background operation');
496
+ }
497
+ (0, validation_1.validateId)(args.id, 'id');
498
+ if (!args.unsplashImageId) {
499
+ throw new types_1.MCPError(types_1.ErrorCode.VALIDATION_ERROR, 'unsplashImageId is required for set-unsplash-background operation');
500
+ }
501
+ return await (0, backgrounds_1.setUnsplashBackground)(args, authManager);
502
+ case 'search-unsplash':
503
+ return await (0, backgrounds_1.searchUnsplashBackgrounds)(args, authManager);
504
+ default:
505
+ throw new types_1.MCPError(types_1.ErrorCode.VALIDATION_ERROR, `Unknown subcommand: ${String(args.subcommand)}`);
506
+ }
507
+ })();
508
+ return result;
509
+ }
510
+ catch (error) {
511
+ throw (0, error_handler_1.wrapToolError)(error, 'vikunja_projects', args.subcommand, args.id);
512
+ }
513
+ }
514
+ catch (error) {
515
+ if (error instanceof types_1.MCPError) {
516
+ throw error;
517
+ }
518
+ throw new types_1.MCPError(types_1.ErrorCode.INTERNAL_ERROR, `Unexpected error: ${error instanceof Error ? error.message : 'Unknown error'}`);
519
+ }
520
+ });
521
+ }
522
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/projects/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Shared permission-level resolution for project sharing operations.
3
+ *
4
+ * The Vikunja API encodes project permission levels as a small integer
5
+ * (0 = Read, 1 = Write, 2 = Admin) — `models.Permission` in the vendored
6
+ * OpenAPI spec — on every sharing-related endpoint: link shares
7
+ * (`models.LinkSharing.permission`), direct user shares
8
+ * (`models.ProjectUser.permission`), and direct team shares
9
+ * (`models.TeamProject.permission`). MCP tool callers may supply either the
10
+ * numeric value directly or one of the friendly string aliases (`'read'` /
11
+ * `'write'` / `'admin'`); this resolves either form to the numeric value the
12
+ * API expects, with one shared set of validation rules used everywhere a
13
+ * sharing permission is accepted — link shares, direct user shares, and
14
+ * direct team shares alike.
15
+ */
16
+ export type PermissionInput = 'read' | 'write' | 'admin' | 0 | 1 | 2;
17
+ /**
18
+ * Resolves a caller-supplied permission (string alias or numeric value) to
19
+ * the numeric `models.Permission` value the Vikunja API expects.
20
+ *
21
+ * @throws MCPError (VALIDATION_ERROR) when `right` is missing, an
22
+ * unrecognized string, an out-of-range number, or neither a string
23
+ * nor a number.
24
+ */
25
+ export declare function resolvePermission(right: PermissionInput | undefined): 0 | 1 | 2;
26
+ //# sourceMappingURL=permission.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permission.d.ts","sourceRoot":"","sources":["../../../src/tools/projects/permission.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAQrE;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,eAAe,GAAG,SAAS,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CA4B/E"}