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