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,358 @@
1
+ "use strict";
2
+ /**
3
+ * Enhanced security utilities for comprehensive credential masking and sensitive data protection
4
+ * Prevents credential exposure in logs, monitoring systems, and error reports
5
+ *
6
+ * Security Features:
7
+ * - Comprehensive sensitive key detection with regex patterns
8
+ * - Case-insensitive matching with Unicode normalization
9
+ * - Credential format detection (JWT, API keys, database URIs, etc.)
10
+ * - Protection against encoding bypasses and Unicode attacks
11
+ * - Performance-optimized for large datasets
12
+ * - Integration with input sanitization layer for comprehensive protection
13
+ */
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.maskCredential = maskCredential;
16
+ exports.maskUrl = maskUrl;
17
+ exports.sanitizeLogData = sanitizeLogData;
18
+ exports.createSecureLogConfig = createSecureLogConfig;
19
+ exports.createSecureConnectionMessage = createSecureConnectionMessage;
20
+ exports.clearSecurityCache = clearSecurityCache;
21
+ exports.getSecurityCacheStats = getSecurityCacheStats;
22
+ const validation_1 = require("./validation");
23
+ // Comprehensive list of sensitive key patterns
24
+ const SENSITIVE_KEY_PATTERNS = [
25
+ // Token patterns (enhanced to handle camelCase and embedded patterns)
26
+ /(?:^|[_-])(token|tokens|access_token|refresh_token|session_token|auth_token|bearer_token|csrf_token|xsrf_token)(?:$|[_-])/i,
27
+ /(?:^|[_-])(jwt|jwt_token|jwt_secret|id_token|access_key|secret_key|api_key|apikey|api_key_secret|refresh)(?:$|[_-])/i,
28
+ /(?:^|[_-])(session|sessionid|session_id|user_session|admin_session|phpsessid)(?:$|[_-])/i,
29
+ /(?:^|[_-])(bearer|authorization|auth|auth_header|x_auth_token|x_api_key)(?:$|[_-])/i,
30
+ // Password and credential patterns
31
+ /(?:^|[_-])(password|passwd|pass|pwd|credential|credentials|secret|private_key|privatekey)(?:$|[_-])/i,
32
+ /(?:^|[_-])(client_secret|client_id|client_key|app_secret|app_key|app_id)(?:$|[_-])/i,
33
+ /(?:^|[_-])(user|username|user_id|email|login|signin)(?:$|[_-])/i,
34
+ // Database and connection patterns
35
+ /(?:^|[_-])(database|db|connection|connection_string|mongo_uri|mongodb_uri|redis_url)(?:$|[_-])/i,
36
+ /(?:^|[_-])(host|hostname|server|endpoint|uri|url|link)(?:$|[_-])/i,
37
+ // OAuth and external service patterns
38
+ /(?:^|[_-])(oauth|oauth_token|oauth_secret|consumer_key|consumer_secret)(?:$|[_-])/i,
39
+ /(?:^|[_-])(github|gitlab|bitbucket|slack|discord|google|facebook|twitter)(?:$|[_-])/i,
40
+ // Encryption and security patterns
41
+ /(?:^|[_-])(encryption|encrypt|decrypt|cipher|hash|salt|pepper|nonce|iv)(?:$|[_-])/i,
42
+ /(?:^|[_-])(public_key|private_key|certificate|cert|ssl|tls|https)(?:$|[_-])/i,
43
+ // Configuration and environment patterns
44
+ /(?:^|[_-])(config|configuration|setting|env|environment|variable)(?:$|[_-])/i,
45
+ /(?:^|[_-])(secret|secrets|vault|keystore|credential_store)(?:$|[_-])/i,
46
+ // File and storage patterns
47
+ /(?:^|[_-])(file|path|directory|folder|storage|bucket|container)(?:$|[_-])/i,
48
+ // API and service patterns
49
+ /(?:^|[_-])(api|service|endpoint|webhook|callback|redirect)(?:$|[_-])/i,
50
+ // Enhanced patterns for camelCase and embedded sensitive keywords
51
+ /apiToken/i, // Direct match for apiToken
52
+ /jwtToken/i, // Direct match for jwtToken
53
+ /authKey/i, // Direct match for authKey
54
+ /apiKey/i, // Direct match for apiKey
55
+ // Contains patterns for embedded sensitive words
56
+ /(api|auth|token|key|secret|credential|pass|refresh)/i,
57
+ // Direct matches for common sensitive keys (fallbacks)
58
+ /^(token|key|secret|auth|credential|pass)$/i,
59
+ /\b(token|key|secret|auth|credential|pass)\b/i
60
+ ];
61
+ // Regex patterns for detecting credential formats in string values
62
+ const CREDENTIAL_FORMAT_PATTERNS = [
63
+ // JWT tokens (header.payload.signature with base64url encoding)
64
+ /^[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+$/,
65
+ // API key formats (adjusted for realistic test data)
66
+ /^tk_[a-zA-Z0-9]{8,}$/, // Vikunja token format (minimum 8 chars after tk_)
67
+ /^ghp_[a-zA-Z0-9]{36}$/, // GitHub personal access token
68
+ /^xoxb-[0-9]{10,}-[0-9]{10,}-[a-zA-Z0-9]{24}$/, // Slack bot token
69
+ /^AKIA[0-9A-Z]{16}$/, // AWS access key ID
70
+ /^[a-zA-Z0-9+/]{20,}={0,2}$/, // Base64 encoded keys/secrets (reduced minimum)
71
+ // Database connection URIs
72
+ /^mongodb:\/\/[^:]+:[^@]+@[^/]+/, // MongoDB URI with credentials
73
+ /^postgresql:\/\/[^:]+:[^@]+@[^/]+/, // PostgreSQL URI with credentials
74
+ /^mysql:\/\/[^:]+:[^@]+@[^/]+/, // MySQL URI with credentials
75
+ /^redis:\/\/:[^@]+@[^/]+/, // Redis URI with password
76
+ // UUID patterns (often used for session IDs or request IDs)
77
+ /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,
78
+ // Long alphanumeric strings (likely keys or hashes) - more permissive
79
+ /^[a-zA-Z0-9]{32,}$/, // Changed from hex-only to alphanumeric
80
+ // Authorization headers
81
+ /^Bearer\s+[A-Za-z0-9._-]+/,
82
+ /^Basic\s+[A-Za-z0-9+/=]+/,
83
+ // Certificate PEM headers
84
+ /^-----BEGIN\s+(?:RSA\s+)?PRIVATE\s+KEY-----/,
85
+ /^-----BEGIN\s+CERTIFICATE-----/,
86
+ // High-entropy base64 strings (likely encoded secrets)
87
+ /^[A-Za-z0-9+/]{30,}={0,2}$/, // Reduced minimum for practical testing
88
+ // Request/Trace ID patterns
89
+ /^(req|trace|span|correlation)_[a-zA-Z0-9]{16,}$/
90
+ ];
91
+ // Unicode normalization patterns to detect bypass attempts
92
+ const UNICODE_NORMALIZATION_PATTERNS = [
93
+ /\u200b/, // Zero-width space
94
+ /\u200c/, // Zero-width non-joiner
95
+ /\u200d/, // Zero-width joiner
96
+ /\u200e/, // Left-to-right mark
97
+ /\u200f/, // Right-to-left mark
98
+ /\u2060/, // Word joiner
99
+ /\u180e/, // Mongolian vowel separator
100
+ /[\uFE00-\uFE0F]/, // Variation selectors
101
+ ];
102
+ // Performance optimization: Cache normalized keys
103
+ const normalizedKeyCache = new Map();
104
+ /**
105
+ * Normalizes a key for security checking by:
106
+ * - Converting to lowercase
107
+ * - Removing Unicode bypass characters
108
+ * - Normalizing Unicode characters
109
+ * - Replacing common separators with underscores
110
+ *
111
+ * @param key - The key to normalize
112
+ * @returns Normalized key safe for comparison
113
+ */
114
+ function normalizeSecurityKey(key) {
115
+ if (normalizedKeyCache.has(key)) {
116
+ return normalizedKeyCache.get(key);
117
+ }
118
+ let normalized = key.toLowerCase();
119
+ // Remove Unicode bypass characters
120
+ UNICODE_NORMALIZATION_PATTERNS.forEach(pattern => {
121
+ normalized = normalized.replace(pattern, '');
122
+ });
123
+ // Replace common separators with underscores for pattern matching
124
+ normalized = normalized.replace(/[-\s.]/g, '_');
125
+ // Remove multiple consecutive underscores
126
+ normalized = normalized.replace(/_+/g, '_');
127
+ // Trim leading/trailing underscores
128
+ normalized = normalized.replace(/^_+|_+$/g, '');
129
+ // Cache the result
130
+ normalizedKeyCache.set(key, normalized);
131
+ return normalized;
132
+ }
133
+ /**
134
+ * Checks if a key is sensitive using comprehensive pattern matching
135
+ *
136
+ * @param key - The key to check
137
+ * @returns True if the key matches any sensitive pattern
138
+ */
139
+ function isSensitiveKey(key) {
140
+ const normalizedKey = normalizeSecurityKey(key);
141
+ return SENSITIVE_KEY_PATTERNS.some(pattern => {
142
+ // Test both original and normalized key against patterns
143
+ return pattern.test(key) || pattern.test(normalizedKey);
144
+ });
145
+ }
146
+ /**
147
+ * Checks if a string value looks like a credential based on format patterns
148
+ *
149
+ * @param value - The string value to check
150
+ * @returns True if the value matches credential format patterns
151
+ */
152
+ function isCredentialFormat(value) {
153
+ // Only check strings of reasonable length (avoid false positives on short strings)
154
+ if (value.length < 8) {
155
+ return false;
156
+ }
157
+ // Check against credential format patterns
158
+ return CREDENTIAL_FORMAT_PATTERNS.some(pattern => pattern.test(value));
159
+ }
160
+ /**
161
+ * Enhanced credential masking that handles various formats
162
+ * Shows only the first 4 characters followed by ellipsis for long credentials
163
+ * Uses '[REDACTED]' for short credentials
164
+ *
165
+ * @param credential - The credential to mask (API token, password, etc.)
166
+ * @returns Masked credential string or empty string if input is invalid
167
+ */
168
+ function maskCredential(credential) {
169
+ if (!credential || typeof credential !== 'string') {
170
+ return '';
171
+ }
172
+ // Normalize credential by removing Unicode bypass characters
173
+ let normalizedCredential = credential;
174
+ UNICODE_NORMALIZATION_PATTERNS.forEach(pattern => {
175
+ normalizedCredential = normalizedCredential.replace(pattern, '');
176
+ });
177
+ if (normalizedCredential.length <= 4) {
178
+ return '***';
179
+ }
180
+ return `${normalizedCredential.substring(0, 4)}...`;
181
+ }
182
+ /**
183
+ * Masks sensitive information in URLs for logging
184
+ * Enhanced detection of sensitive path components and query parameters
185
+ *
186
+ * @param url - The URL to mask
187
+ * @returns Masked URL string or original if not a valid URL
188
+ */
189
+ function maskUrl(url) {
190
+ if (!url || typeof url !== 'string') {
191
+ return '';
192
+ }
193
+ try {
194
+ const urlObj = new URL(url);
195
+ // Enhanced sensitive path detection
196
+ const sensitivePathPatterns = [
197
+ /\/api\/v\d+\/(token|auth|login|key|session)/i,
198
+ /(auth|login|logout|signin|signout|token|key|session)/i,
199
+ /\/oauth\/(authorize|token|callback)/i,
200
+ /(admin|dashboard|control)/i
201
+ ];
202
+ const pathname = urlObj.pathname.toLowerCase();
203
+ if (sensitivePathPatterns.some(pattern => pattern.test(pathname))) {
204
+ // Mask the last path component
205
+ urlObj.pathname = urlObj.pathname.replace(/\/[^/]*$/, '/[REDACTED]');
206
+ }
207
+ // Mask all query parameters (they may contain sensitive data)
208
+ if (urlObj.search) {
209
+ urlObj.search = '?[REDACTED]';
210
+ }
211
+ // Mask sensitive URL fragments
212
+ if (urlObj.hash && isSensitiveKey(urlObj.hash.substring(1))) {
213
+ urlObj.hash = '#[REDACTED]';
214
+ }
215
+ return urlObj.toString();
216
+ }
217
+ catch {
218
+ // If URL parsing fails, just mask after the first slash (original behavior)
219
+ const firstSlashIndex = url.indexOf('/', url.indexOf('://') + 3);
220
+ if (firstSlashIndex !== -1) {
221
+ return `${url.substring(0, firstSlashIndex)}/[REDACTED]`;
222
+ }
223
+ return url;
224
+ }
225
+ }
226
+ /**
227
+ * Enhanced log data sanitization with comprehensive credential masking
228
+ * Recursively processes nested objects and arrays with advanced pattern detection
229
+ *
230
+ * @param data - The data object to sanitize
231
+ * @returns Sanitized data with masked sensitive fields
232
+ */
233
+ function sanitizeLogData(data) {
234
+ return sanitizeLogDataInternal(data, new Set());
235
+ }
236
+ /**
237
+ * Internal recursive sanitization function with cycle detection
238
+ *
239
+ * @param data - The data to sanitize
240
+ * @param visited - Set of visited objects to prevent infinite recursion
241
+ * @returns Sanitized data
242
+ */
243
+ function sanitizeLogDataInternal(data, visited) {
244
+ // Handle primitive types
245
+ if (data === null || data === undefined) {
246
+ return data;
247
+ }
248
+ if (typeof data === 'string') {
249
+ // Check for credential formats in string values
250
+ if (isCredentialFormat(data)) {
251
+ return maskCredential(data);
252
+ }
253
+ // Apply input sanitization to all non-credential string values
254
+ // This provides comprehensive XSS and injection protection
255
+ try {
256
+ return (0, validation_1.sanitizeString)(data);
257
+ }
258
+ catch {
259
+ // If sanitization fails, return the original string with fallback protection
260
+ // This ensures we don't break logging if input contains unexpected content
261
+ return '[SANITIZATION_FAILED]';
262
+ }
263
+ }
264
+ if (typeof data === 'number' || typeof data === 'boolean') {
265
+ return data;
266
+ }
267
+ // Handle arrays with recursion protection
268
+ if (Array.isArray(data)) {
269
+ if (visited.has(data)) {
270
+ return '[Circular Reference]';
271
+ }
272
+ visited.add(data);
273
+ return data.map(item => sanitizeLogDataInternal(item, visited));
274
+ }
275
+ // Handle objects with recursion protection
276
+ if (typeof data === 'object' && data !== null) {
277
+ if (visited.has(data)) {
278
+ return '[Circular Reference]';
279
+ }
280
+ visited.add(data);
281
+ const sanitized = {};
282
+ for (const [key, value] of Object.entries(data)) {
283
+ // Check if key is sensitive using enhanced detection
284
+ if (isSensitiveKey(key)) {
285
+ if (typeof value === 'string') {
286
+ // For string sensitive values, use format detection
287
+ if (isCredentialFormat(value)) {
288
+ sanitized[key] = maskCredential(value);
289
+ }
290
+ else if (value.length > 50) {
291
+ // Long strings in sensitive keys are likely credentials
292
+ sanitized[key] = maskCredential(value);
293
+ }
294
+ else {
295
+ sanitized[key] = '[REDACTED]';
296
+ }
297
+ }
298
+ else {
299
+ // Non-string sensitive values
300
+ sanitized[key] = '[REDACTED]';
301
+ }
302
+ }
303
+ else {
304
+ // Recursively sanitize non-sensitive values
305
+ sanitized[key] = sanitizeLogDataInternal(value, visited);
306
+ }
307
+ }
308
+ return sanitized;
309
+ }
310
+ // Handle any other types (functions, symbols, etc.)
311
+ return '[Unsupported Type]';
312
+ }
313
+ /**
314
+ * Creates a secure configuration object for logging
315
+ * Masks sensitive environment variables and configuration values
316
+ *
317
+ * @param config - Configuration object to sanitize
318
+ * @returns Sanitized configuration for safe logging
319
+ */
320
+ function createSecureLogConfig(config) {
321
+ return sanitizeLogData(config);
322
+ }
323
+ /**
324
+ * Generates a safe connection status message with masked credentials
325
+ * Enhanced with comprehensive URL and token masking
326
+ *
327
+ * @param url - Connection URL
328
+ * @param token - API token or credential
329
+ * @param authType - Type of authentication being used
330
+ * @returns Safe status message for logging
331
+ */
332
+ function createSecureConnectionMessage(url, token, authType) {
333
+ const maskedUrl = maskUrl(url);
334
+ const maskedToken = maskCredential(token);
335
+ if (authType) {
336
+ return `Connecting to ${maskedUrl} with ${authType} token ${maskedToken}`;
337
+ }
338
+ return `Connecting to ${maskedUrl} with token ${maskedToken}`;
339
+ }
340
+ /**
341
+ * Performance utility to clear the normalized key cache
342
+ * Useful for testing or memory management in long-running processes
343
+ */
344
+ function clearSecurityCache() {
345
+ normalizedKeyCache.clear();
346
+ }
347
+ /**
348
+ * Gets cache statistics for performance monitoring
349
+ *
350
+ * @returns Object containing cache size and performance metrics
351
+ */
352
+ function getSecurityCacheStats() {
353
+ return {
354
+ size: normalizedKeyCache.size,
355
+ maxSize: 10000 // Configurable maximum cache size
356
+ };
357
+ }
358
+ //# sourceMappingURL=security.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"security.js","sourceRoot":"","sources":["../../src/utils/security.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,75 @@
1
+ /**
2
+ * Simple Response Formatter
3
+ * Replaces the over-engineered 2,925-line AORP system with direct, clean responses
4
+ */
5
+ import type { ResponseMetadata } from '../types/responses';
6
+ import type { Task, Project, Label, User } from '../types/vikunja';
7
+ /**
8
+ * Common data structures that can be passed to response formatters
9
+ */
10
+ export interface ResponseData {
11
+ /** Array of items with common identifiers */
12
+ items?: Array<{
13
+ id?: number | string;
14
+ title?: string;
15
+ name?: string;
16
+ [key: string]: unknown;
17
+ }>;
18
+ /** Tasks collection */
19
+ tasks?: Task[];
20
+ /** Projects collection */
21
+ projects?: Project[];
22
+ /** Labels collection */
23
+ labels?: Label[];
24
+ /** Users collection */
25
+ users?: User[];
26
+ /** Generic key-value data */
27
+ [key: string]: unknown;
28
+ }
29
+ /**
30
+ * Individual data item that can be formatted for display
31
+ */
32
+ export interface DataItem {
33
+ id?: number | string;
34
+ title?: string;
35
+ name?: string;
36
+ [key: string]: unknown;
37
+ }
38
+ /**
39
+ * Simple response structure - replaces complex AORP system
40
+ */
41
+ export interface SimpleResponse {
42
+ /** Response content */
43
+ content: string;
44
+ /** Response metadata */
45
+ metadata?: ResponseMetadata;
46
+ }
47
+ /**
48
+ * Create a simple success response
49
+ * Replaces complex AORP factory with direct formatting
50
+ */
51
+ export declare function createSuccessResponse(operation: string, message: string, data?: ResponseData, metadata?: ResponseMetadata): SimpleResponse;
52
+ /**
53
+ * Create a simple error response
54
+ * Replaces complex AORP error handling with direct formatting
55
+ */
56
+ export declare function createErrorResponse(operation: string, message: string, errorCode?: string, metadata?: ResponseMetadata): SimpleResponse;
57
+ /**
58
+ * Format success message in clean markdown
59
+ * Replaces complex AORP markdown formatting
60
+ */
61
+ export declare function formatSuccessMessage(operation: string, message: string, data?: ResponseData, metadata?: Record<string, unknown>): string;
62
+ /**
63
+ * Format error message in clean markdown
64
+ * Replaces complex AORP error formatting
65
+ */
66
+ export declare function formatErrorMessage(operation: string, message: string, errorCode: string, metadata?: ResponseMetadata): string;
67
+ /**
68
+ * Format response as MCP content array
69
+ * Direct replacement for AORP formatting
70
+ */
71
+ export declare function formatMcpResponse(response: SimpleResponse): Array<{
72
+ type: 'text';
73
+ text: string;
74
+ }>;
75
+ //# sourceMappingURL=simple-response.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simple-response.d.ts","sourceRoot":"","sources":["../../src/utils/simple-response.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAEnE;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,6CAA6C;IAC7C,KAAK,CAAC,EAAE,KAAK,CAAC;QACZ,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QACrB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC,CAAC;IACH,uBAAuB;IACvB,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;IACf,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,wBAAwB;IACxB,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;IACjB,uBAAuB;IACvB,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;IACf,6BAA6B;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,uBAAuB;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,wBAAwB;IACxB,QAAQ,CAAC,EAAE,gBAAgB,CAAC;CAC7B;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,YAAY,EACnB,QAAQ,CAAC,EAAE,gBAAgB,GAC1B,cAAc,CAYhB;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,SAAS,GAAE,MAAwB,EACnC,QAAQ,CAAC,EAAE,gBAAgB,GAC1B,cAAc,CAgBhB;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,YAAY,EACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,MAAM,CA+CR;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,gBAAgB,GAC1B,MAAM,CAiCR;AAyMD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,cAAc,GAAG,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAKjG"}