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