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,204 @@
1
+ /**
2
+ * Base types and interfaces for optimized response formatting system
3
+ * Provides the foundation for verbosity-based field selection and size optimization
4
+ */
5
+ /**
6
+ * Verbosity levels for response formatting
7
+ * Each level includes progressively more fields and detail
8
+ */
9
+ export declare enum Verbosity {
10
+ /** Only essential identification fields - IDs, titles, basic status */
11
+ MINIMAL = "minimal",
12
+ /** Core operational fields - what most users need most of the time */
13
+ STANDARD = "standard",
14
+ /** Extended fields including relationships, metadata, timestamps */
15
+ DETAILED = "detailed",
16
+ /** All available fields including debug info, raw data, complete metadata */
17
+ COMPLETE = "complete"
18
+ }
19
+ /**
20
+ * Field categories for systematic organization
21
+ * Helps determine which fields to include at each verbosity level
22
+ */
23
+ export declare enum FieldCategory {
24
+ /** Core identification and status fields */
25
+ CORE = "core",
26
+ /** Contextual fields like descriptions, projects, labels */
27
+ CONTEXT = "context",
28
+ /** Time-related fields like due dates, reminders, scheduling */
29
+ SCHEDULING = "scheduling",
30
+ /** Metadata, statistics, and debug information */
31
+ METADATA = "metadata"
32
+ }
33
+ /**
34
+ * Field definition for the transformation system
35
+ */
36
+ export interface FieldDefinition {
37
+ /** Field name in the source object */
38
+ fieldName: string;
39
+ /** Target field name in the optimized response (can be same or different) */
40
+ targetName?: string;
41
+ /** Category this field belongs to */
42
+ category: FieldCategory;
43
+ /** Minimum verbosity level required for this field to be included */
44
+ minVerbosity: Verbosity;
45
+ /** Optional transformer function for custom field processing */
46
+ transformer?: (value: unknown, source: Record<string, unknown>) => unknown;
47
+ /** Whether this field should always be included regardless of verbosity */
48
+ alwaysInclude?: boolean;
49
+ /** Whether this field contains potentially sensitive data */
50
+ sensitive?: boolean;
51
+ }
52
+ /**
53
+ * Transformation result with size metrics
54
+ */
55
+ export interface TransformationResult<T = unknown> {
56
+ /** The transformed/optimized data */
57
+ data: T;
58
+ /** Size metrics for this transformation */
59
+ metrics: {
60
+ /** Original size in bytes (estimated) */
61
+ originalSize: number;
62
+ /** Optimized size in bytes (estimated) */
63
+ optimizedSize: number;
64
+ /** Size reduction percentage */
65
+ reductionPercentage: number;
66
+ /** Number of fields included */
67
+ fieldsIncluded: number;
68
+ /** Total number of fields available */
69
+ totalFields: number;
70
+ /** Field inclusion percentage */
71
+ fieldInclusionPercentage: number;
72
+ };
73
+ /** Transformation metadata */
74
+ metadata: {
75
+ /** Verbosity level used */
76
+ verbosity: Verbosity;
77
+ /** Categories included */
78
+ categoriesIncluded: FieldCategory[];
79
+ /** Transformation timestamp */
80
+ timestamp: string;
81
+ /** Processing time in milliseconds */
82
+ processingTimeMs: number;
83
+ };
84
+ }
85
+ /**
86
+ * Base interface for optimized responses
87
+ * Extends StandardResponse pattern with optimization metadata
88
+ */
89
+ export interface OptimizedResponse<T = unknown> {
90
+ /** Standard response fields */
91
+ success: boolean;
92
+ operation: string;
93
+ message: string;
94
+ data: T;
95
+ metadata: {
96
+ /** Standard metadata */
97
+ timestamp: string;
98
+ count?: number;
99
+ affectedFields?: string[];
100
+ previousState?: Record<string, unknown>;
101
+ /** Optimization metadata */
102
+ optimization?: {
103
+ /** Verbosity level used for this response */
104
+ verbosity: Verbosity;
105
+ /** Size reduction metrics */
106
+ sizeMetrics: {
107
+ originalSize: number;
108
+ optimizedSize: number;
109
+ reductionPercentage: number;
110
+ };
111
+ /** Field metrics */
112
+ fieldMetrics: {
113
+ fieldsIncluded: number;
114
+ totalFields: number;
115
+ inclusionPercentage: number;
116
+ };
117
+ /** Categories included in this response */
118
+ categoriesIncluded: FieldCategory[];
119
+ /** Processing performance */
120
+ performance: {
121
+ transformationTimeMs: number;
122
+ totalTimeMs: number;
123
+ };
124
+ };
125
+ /** Additional metadata */
126
+ [key: string]: unknown;
127
+ };
128
+ }
129
+ /**
130
+ * Transformer configuration options
131
+ */
132
+ export interface TransformerConfig {
133
+ /** Verbosity level to apply */
134
+ verbosity: Verbosity;
135
+ /** Whether to include sensitive fields */
136
+ includeSensitive?: boolean;
137
+ /** Whether to track detailed metrics */
138
+ trackMetrics?: boolean;
139
+ /** Custom field overrides (include/exclude specific fields) */
140
+ fieldOverrides?: {
141
+ include?: string[];
142
+ exclude?: string[];
143
+ };
144
+ /** Custom transformers for specific fields */
145
+ customTransformers?: Record<string, (value: unknown, source: Record<string, unknown>) => unknown>;
146
+ }
147
+ /**
148
+ * Size estimation utilities
149
+ */
150
+ export declare const SizeEstimator: {
151
+ /**
152
+ * Estimate the size of a value in bytes
153
+ */
154
+ estimateSize(value: unknown): number;
155
+ /**
156
+ * Calculate size reduction percentage
157
+ */
158
+ calculateReduction(originalSize: number, optimizedSize: number): number;
159
+ };
160
+ /**
161
+ * Field categorization mapping for common Vikunja fields
162
+ */
163
+ export declare const FIELD_CATEGORIES: {
164
+ readonly CORE_FIELDS: readonly ["id", "title", "done", "status", "success", "operation", "message"];
165
+ readonly CONTEXT_FIELDS: readonly ["description", "project_id", "project", "labels", "assignees", "creator", "created_by", "priority", "identifier"];
166
+ readonly SCHEDULING_FIELDS: readonly ["due_date", "start_date", "end_date", "reminders", "created_at", "updated_at", "completed_at", "repeat_after"];
167
+ readonly METADATA_FIELDS: readonly ["hex_color", "index", "kanban_position", "position", "bucket_id", "parent_task_id", "related_tasks", "attachments", "comments", "background_information", "subscription", "is_favorite"];
168
+ };
169
+ /**
170
+ * Default verbosity field mappings
171
+ */
172
+ export declare const DEFAULT_VERBOSITY_FIELDS: {
173
+ readonly minimal: readonly ["id", "title", "done", "status", "success", "operation", "message"];
174
+ readonly standard: readonly ["id", "title", "done", "status", "success", "operation", "message", "description", "project_id", "project", "labels", "assignees", "creator", "created_by", "priority", "identifier"];
175
+ readonly detailed: readonly ["id", "title", "done", "status", "success", "operation", "message", "description", "project_id", "project", "labels", "assignees", "creator", "created_by", "priority", "identifier", "due_date", "start_date", "end_date", "reminders", "created_at", "updated_at", "completed_at", "repeat_after"];
176
+ readonly complete: readonly ["id", "title", "done", "status", "success", "operation", "message", "description", "project_id", "project", "labels", "assignees", "creator", "created_by", "priority", "identifier", "due_date", "start_date", "end_date", "reminders", "created_at", "updated_at", "completed_at", "repeat_after", "hex_color", "index", "kanban_position", "position", "bucket_id", "parent_task_id", "related_tasks", "attachments", "comments", "background_information", "subscription", "is_favorite"];
177
+ };
178
+ /**
179
+ * Name of the environment variable that allows operators to change the
180
+ * default response verbosity for every tool call without needing a
181
+ * per-call override.
182
+ *
183
+ * See https://github.com/democratize-technology/vikunja-mcp/issues/24
184
+ * ("Phase 1": a single global env var default. Phase 2 - per-tool/per-call
185
+ * overrides - already exists for some project tools via an explicit
186
+ * `verbosity` argument, which always takes precedence over this default
187
+ * when provided.)
188
+ */
189
+ export declare const VERBOSITY_ENV_VAR = "VIKUNJA_RESPONSE_VERBOSITY";
190
+ /**
191
+ * Resolves the default response verbosity from the
192
+ * `VIKUNJA_RESPONSE_VERBOSITY` environment variable.
193
+ *
194
+ * The value is matched case-insensitively against the `Verbosity` enum
195
+ * ('minimal' | 'standard' | 'detailed' | 'complete'). If the environment
196
+ * variable is unset, empty, or does not match one of those values, this
197
+ * falls back to `Verbosity.STANDARD`.
198
+ *
199
+ * Callers that accept an explicit per-call verbosity parameter MUST prefer
200
+ * that explicit value over this default when one is provided - this helper
201
+ * only supplies the fallback, not an override.
202
+ */
203
+ export declare function getDefaultVerbosity(): Verbosity;
204
+ //# sourceMappingURL=base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/transforms/base.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,175 @@
1
+ "use strict";
2
+ /**
3
+ * Base types and interfaces for optimized response formatting system
4
+ * Provides the foundation for verbosity-based field selection and size optimization
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.VERBOSITY_ENV_VAR = exports.DEFAULT_VERBOSITY_FIELDS = exports.FIELD_CATEGORIES = exports.SizeEstimator = exports.FieldCategory = exports.Verbosity = void 0;
8
+ exports.getDefaultVerbosity = getDefaultVerbosity;
9
+ /**
10
+ * Verbosity levels for response formatting
11
+ * Each level includes progressively more fields and detail
12
+ */
13
+ var Verbosity;
14
+ (function (Verbosity) {
15
+ /** Only essential identification fields - IDs, titles, basic status */
16
+ Verbosity["MINIMAL"] = "minimal";
17
+ /** Core operational fields - what most users need most of the time */
18
+ Verbosity["STANDARD"] = "standard";
19
+ /** Extended fields including relationships, metadata, timestamps */
20
+ Verbosity["DETAILED"] = "detailed";
21
+ /** All available fields including debug info, raw data, complete metadata */
22
+ Verbosity["COMPLETE"] = "complete";
23
+ })(Verbosity || (exports.Verbosity = Verbosity = {}));
24
+ /**
25
+ * Field categories for systematic organization
26
+ * Helps determine which fields to include at each verbosity level
27
+ */
28
+ var FieldCategory;
29
+ (function (FieldCategory) {
30
+ /** Core identification and status fields */
31
+ FieldCategory["CORE"] = "core";
32
+ /** Contextual fields like descriptions, projects, labels */
33
+ FieldCategory["CONTEXT"] = "context";
34
+ /** Time-related fields like due dates, reminders, scheduling */
35
+ FieldCategory["SCHEDULING"] = "scheduling";
36
+ /** Metadata, statistics, and debug information */
37
+ FieldCategory["METADATA"] = "metadata";
38
+ })(FieldCategory || (exports.FieldCategory = FieldCategory = {}));
39
+ /**
40
+ * Size estimation utilities
41
+ */
42
+ exports.SizeEstimator = {
43
+ /**
44
+ * Estimate the size of a value in bytes
45
+ */
46
+ estimateSize(value) {
47
+ if (value === null || value === undefined) {
48
+ return 0;
49
+ }
50
+ if (typeof value === 'string') {
51
+ return value.length * 2; // UTF-16 characters are typically 2 bytes
52
+ }
53
+ if (typeof value === 'number') {
54
+ return 8; // 64-bit number
55
+ }
56
+ if (typeof value === 'boolean') {
57
+ return 4; // Boolean is typically stored as 4 bytes
58
+ }
59
+ if (typeof value === 'object') {
60
+ if (Array.isArray(value)) {
61
+ let total = 2; // Array overhead
62
+ for (const item of value) {
63
+ total += exports.SizeEstimator.estimateSize(item);
64
+ }
65
+ return total;
66
+ }
67
+ // Object
68
+ let size = 2; // Object overhead
69
+ for (const [key, val] of Object.entries(value)) {
70
+ size += key.length * 2; // Key size
71
+ size += exports.SizeEstimator.estimateSize(val); // Value size
72
+ size += 2; // Colon and comma/comma overhead
73
+ }
74
+ return size;
75
+ }
76
+ return 0;
77
+ },
78
+ /**
79
+ * Calculate size reduction percentage
80
+ */
81
+ calculateReduction(originalSize, optimizedSize) {
82
+ if (originalSize === 0)
83
+ return 0;
84
+ return Math.round(((originalSize - optimizedSize) / originalSize) * 100);
85
+ }
86
+ };
87
+ /**
88
+ * Field categorization mapping for common Vikunja fields
89
+ */
90
+ exports.FIELD_CATEGORIES = {
91
+ // Core fields (always included in minimal)
92
+ CORE_FIELDS: [
93
+ 'id', 'title', 'done', 'status', 'success', 'operation', 'message'
94
+ ],
95
+ // Context fields (included in standard and above)
96
+ CONTEXT_FIELDS: [
97
+ 'description', 'project_id', 'project', 'labels', 'assignees',
98
+ 'creator', 'created_by', 'priority', 'identifier'
99
+ ],
100
+ // Scheduling fields (included in detailed and above)
101
+ SCHEDULING_FIELDS: [
102
+ 'due_date', 'start_date', 'end_date', 'reminders', 'created_at',
103
+ 'updated_at', 'completed_at', 'repeat_after'
104
+ ],
105
+ // Metadata fields (included in complete only)
106
+ METADATA_FIELDS: [
107
+ 'hex_color', 'index', 'kanban_position', 'position', 'bucket_id',
108
+ 'parent_task_id', 'related_tasks', 'attachments', 'comments',
109
+ 'background_information', 'subscription', 'is_favorite'
110
+ ]
111
+ };
112
+ /**
113
+ * Default verbosity field mappings
114
+ */
115
+ exports.DEFAULT_VERBOSITY_FIELDS = {
116
+ [Verbosity.MINIMAL]: [
117
+ ...exports.FIELD_CATEGORIES.CORE_FIELDS
118
+ ],
119
+ [Verbosity.STANDARD]: [
120
+ ...exports.FIELD_CATEGORIES.CORE_FIELDS,
121
+ ...exports.FIELD_CATEGORIES.CONTEXT_FIELDS
122
+ ],
123
+ [Verbosity.DETAILED]: [
124
+ ...exports.FIELD_CATEGORIES.CORE_FIELDS,
125
+ ...exports.FIELD_CATEGORIES.CONTEXT_FIELDS,
126
+ ...exports.FIELD_CATEGORIES.SCHEDULING_FIELDS
127
+ ],
128
+ [Verbosity.COMPLETE]: [
129
+ ...exports.FIELD_CATEGORIES.CORE_FIELDS,
130
+ ...exports.FIELD_CATEGORIES.CONTEXT_FIELDS,
131
+ ...exports.FIELD_CATEGORIES.SCHEDULING_FIELDS,
132
+ ...exports.FIELD_CATEGORIES.METADATA_FIELDS
133
+ ]
134
+ };
135
+ /**
136
+ * Name of the environment variable that allows operators to change the
137
+ * default response verbosity for every tool call without needing a
138
+ * per-call override.
139
+ *
140
+ * See https://github.com/democratize-technology/vikunja-mcp/issues/24
141
+ * ("Phase 1": a single global env var default. Phase 2 - per-tool/per-call
142
+ * overrides - already exists for some project tools via an explicit
143
+ * `verbosity` argument, which always takes precedence over this default
144
+ * when provided.)
145
+ */
146
+ exports.VERBOSITY_ENV_VAR = 'VIKUNJA_RESPONSE_VERBOSITY';
147
+ /**
148
+ * All valid Verbosity values, used to validate the environment variable.
149
+ */
150
+ const VALID_VERBOSITY_VALUES = Object.values(Verbosity);
151
+ /**
152
+ * Resolves the default response verbosity from the
153
+ * `VIKUNJA_RESPONSE_VERBOSITY` environment variable.
154
+ *
155
+ * The value is matched case-insensitively against the `Verbosity` enum
156
+ * ('minimal' | 'standard' | 'detailed' | 'complete'). If the environment
157
+ * variable is unset, empty, or does not match one of those values, this
158
+ * falls back to `Verbosity.STANDARD`.
159
+ *
160
+ * Callers that accept an explicit per-call verbosity parameter MUST prefer
161
+ * that explicit value over this default when one is provided - this helper
162
+ * only supplies the fallback, not an override.
163
+ */
164
+ function getDefaultVerbosity() {
165
+ const rawValue = process.env[exports.VERBOSITY_ENV_VAR];
166
+ if (typeof rawValue !== 'string') {
167
+ return Verbosity.STANDARD;
168
+ }
169
+ const normalized = rawValue.trim().toLowerCase();
170
+ if (VALID_VERBOSITY_VALUES.includes(normalized)) {
171
+ return normalized;
172
+ }
173
+ return Verbosity.STANDARD;
174
+ }
175
+ //# sourceMappingURL=base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/transforms/base.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAsSH,kDAcC;AAlTD;;;GAGG;AACH,IAAY,SASX;AATD,WAAY,SAAS;IACnB,uEAAuE;IACvE,gCAAmB,CAAA;IACnB,sEAAsE;IACtE,kCAAqB,CAAA;IACrB,oEAAoE;IACpE,kCAAqB,CAAA;IACrB,6EAA6E;IAC7E,kCAAqB,CAAA;AACvB,CAAC,EATW,SAAS,yBAAT,SAAS,QASpB;AAED;;;GAGG;AACH,IAAY,aASX;AATD,WAAY,aAAa;IACvB,4CAA4C;IAC5C,8BAAa,CAAA;IACb,4DAA4D;IAC5D,oCAAmB,CAAA;IACnB,gEAAgE;IAChE,0CAAyB,CAAA;IACzB,kDAAkD;IAClD,sCAAqB,CAAA;AACvB,CAAC,EATW,aAAa,6BAAb,aAAa,QASxB;AA0HD;;GAEG;AACU,QAAA,aAAa,GAAG;IAC3B;;OAEG;IACH,YAAY,CAAC,KAAc;QACzB,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YAC1C,OAAO,CAAC,CAAC;QACX,CAAC;QAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,0CAA0C;QACrE,CAAC;QAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,CAAC,CAAC,CAAC,gBAAgB;QAC5B,CAAC;QAED,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO,CAAC,CAAC,CAAC,yCAAyC;QACrD,CAAC;QAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzB,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,iBAAiB;gBAChC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,KAAK,IAAI,qBAAa,CAAC,YAAY,CAAC,IAAe,CAAC,CAAC;gBACvD,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC;YAED,SAAS;YACT,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,kBAAkB;YAChC,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC/C,IAAI,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,WAAW;gBACnC,IAAI,IAAI,qBAAa,CAAC,YAAY,CAAC,GAAc,CAAC,CAAC,CAAC,aAAa;gBACjE,IAAI,IAAI,CAAC,CAAC,CAAC,iCAAiC;YAC9C,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,CAAC,CAAC;IACX,CAAC;IAED;;OAEG;IACH,kBAAkB,CAAC,YAAoB,EAAE,aAAqB;QAC5D,IAAI,YAAY,KAAK,CAAC;YAAE,OAAO,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,GAAG,aAAa,CAAC,GAAG,YAAY,CAAC,GAAG,GAAG,CAAC,CAAC;IAC3E,CAAC;CACF,CAAC;AAEF;;GAEG;AACU,QAAA,gBAAgB,GAAG;IAC9B,2CAA2C;IAC3C,WAAW,EAAE;QACX,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS;KACnE;IAED,kDAAkD;IAClD,cAAc,EAAE;QACd,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW;QAC7D,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY;KAClD;IAED,qDAAqD;IACrD,iBAAiB,EAAE;QACjB,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY;QAC/D,YAAY,EAAE,cAAc,EAAE,cAAc;KAC7C;IAED,8CAA8C;IAC9C,eAAe,EAAE;QACf,WAAW,EAAE,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,WAAW;QAChE,gBAAgB,EAAE,eAAe,EAAE,aAAa,EAAE,UAAU;QAC5D,wBAAwB,EAAE,cAAc,EAAE,aAAa;KACxD;CACO,CAAC;AAEX;;GAEG;AACU,QAAA,wBAAwB,GAAG;IACtC,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE;QACnB,GAAG,wBAAgB,CAAC,WAAW;KAChC;IAED,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;QACpB,GAAG,wBAAgB,CAAC,WAAW;QAC/B,GAAG,wBAAgB,CAAC,cAAc;KACnC;IAED,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;QACpB,GAAG,wBAAgB,CAAC,WAAW;QAC/B,GAAG,wBAAgB,CAAC,cAAc;QAClC,GAAG,wBAAgB,CAAC,iBAAiB;KACtC;IAED,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;QACpB,GAAG,wBAAgB,CAAC,WAAW;QAC/B,GAAG,wBAAgB,CAAC,cAAc;QAClC,GAAG,wBAAgB,CAAC,iBAAiB;QACrC,GAAG,wBAAgB,CAAC,eAAe;KACpC;CACO,CAAC;AAEX;;;;;;;;;;GAUG;AACU,QAAA,iBAAiB,GAAG,4BAA4B,CAAC;AAE9D;;GAEG;AACH,MAAM,sBAAsB,GAAsB,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AAE3E;;;;;;;;;;;;GAYG;AACH,SAAgB,mBAAmB;IACjC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,yBAAiB,CAAC,CAAC;IAEhD,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,OAAO,SAAS,CAAC,QAAQ,CAAC;IAC5B,CAAC;IAED,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAEjD,IAAI,sBAAsB,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAChD,OAAO,UAAuB,CAAC;IACjC,CAAC;IAED,OAAO,SAAS,CAAC,QAAQ,CAAC;AAC5B,CAAC"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Field selector with verbosity-based logic
3
+ * Handles intelligent field selection based on verbosity levels and overrides
4
+ */
5
+ import type { FieldDefinition, TransformerConfig } from './base';
6
+ import { FieldCategory } from './base';
7
+ /**
8
+ * Field selection result
9
+ */
10
+ export interface FieldSelectionResult {
11
+ includedFields: string[];
12
+ excludedFields: string[];
13
+ activeCategories: FieldCategory[];
14
+ fieldDefinitions: FieldDefinition[];
15
+ }
16
+ /**
17
+ * Field selector class for verbosity-based field selection
18
+ */
19
+ export declare class FieldSelector {
20
+ private fieldDefinitions;
21
+ constructor();
22
+ private initializeDefaultFieldDefinitions;
23
+ selectFields(config: TransformerConfig, availableFields: string[]): FieldSelectionResult;
24
+ private inferFieldCategory;
25
+ }
26
+ export declare const defaultFieldSelector: FieldSelector;
27
+ //# sourceMappingURL=field-selector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"field-selector.d.ts","sourceRoot":"","sources":["../../src/transforms/field-selector.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AACjE,OAAO,EAAE,aAAa,EAAa,MAAM,QAAQ,CAAC;AAGlD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,gBAAgB,EAAE,aAAa,EAAE,CAAC;IAClC,gBAAgB,EAAE,eAAe,EAAE,CAAC;CACrC;AAED;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,gBAAgB,CAA2C;;IAMnE,OAAO,CAAC,iCAAiC;IA+BzC,YAAY,CAAC,MAAM,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,oBAAoB;IAyCxF,OAAO,CAAC,kBAAkB;CAiB3B;AAED,eAAO,MAAM,oBAAoB,eAAsB,CAAC"}
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ /**
3
+ * Field selector with verbosity-based logic
4
+ * Handles intelligent field selection based on verbosity levels and overrides
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.defaultFieldSelector = exports.FieldSelector = void 0;
8
+ const base_1 = require("./base");
9
+ const base_2 = require("./base");
10
+ /**
11
+ * Field selector class for verbosity-based field selection
12
+ */
13
+ class FieldSelector {
14
+ fieldDefinitions = new Map();
15
+ constructor() {
16
+ this.initializeDefaultFieldDefinitions();
17
+ }
18
+ initializeDefaultFieldDefinitions() {
19
+ const coreFields = [
20
+ { fieldName: 'id', category: base_1.FieldCategory.CORE, minVerbosity: base_1.Verbosity.MINIMAL },
21
+ { fieldName: 'title', category: base_1.FieldCategory.CORE, minVerbosity: base_1.Verbosity.MINIMAL },
22
+ { fieldName: 'done', category: base_1.FieldCategory.CORE, minVerbosity: base_1.Verbosity.MINIMAL },
23
+ { fieldName: 'status', category: base_1.FieldCategory.CORE, minVerbosity: base_1.Verbosity.MINIMAL },
24
+ ];
25
+ const contextFields = [
26
+ { fieldName: 'description', category: base_1.FieldCategory.CONTEXT, minVerbosity: base_1.Verbosity.STANDARD },
27
+ { fieldName: 'project_id', category: base_1.FieldCategory.CONTEXT, minVerbosity: base_1.Verbosity.STANDARD },
28
+ { fieldName: 'priority', category: base_1.FieldCategory.CONTEXT, minVerbosity: base_1.Verbosity.STANDARD },
29
+ ];
30
+ const schedulingFields = [
31
+ { fieldName: 'due_date', category: base_1.FieldCategory.SCHEDULING, minVerbosity: base_1.Verbosity.DETAILED },
32
+ { fieldName: 'created_at', category: base_1.FieldCategory.SCHEDULING, minVerbosity: base_1.Verbosity.DETAILED },
33
+ { fieldName: 'updated_at', category: base_1.FieldCategory.SCHEDULING, minVerbosity: base_1.Verbosity.DETAILED },
34
+ ];
35
+ const metadataFields = [
36
+ { fieldName: 'hex_color', category: base_1.FieldCategory.METADATA, minVerbosity: base_1.Verbosity.COMPLETE },
37
+ { fieldName: 'position', category: base_1.FieldCategory.METADATA, minVerbosity: base_1.Verbosity.COMPLETE },
38
+ { fieldName: 'index', category: base_1.FieldCategory.METADATA, minVerbosity: base_1.Verbosity.COMPLETE },
39
+ ];
40
+ [...coreFields, ...contextFields, ...schedulingFields, ...metadataFields].forEach(field => {
41
+ this.fieldDefinitions.set(field.fieldName, field);
42
+ });
43
+ }
44
+ selectFields(config, availableFields) {
45
+ const verbosityFields = base_2.DEFAULT_VERBOSITY_FIELDS[config.verbosity] || [];
46
+ const selectedFields = new Set([...verbosityFields]);
47
+ if (config.fieldOverrides?.include) {
48
+ config.fieldOverrides.include.forEach(field => selectedFields.add(field));
49
+ }
50
+ if (config.fieldOverrides?.exclude) {
51
+ config.fieldOverrides.exclude.forEach(field => selectedFields.delete(field));
52
+ }
53
+ const finalSelectedFields = Array.from(selectedFields).filter(field => availableFields.includes(field));
54
+ const excludedFields = availableFields.filter(field => !finalSelectedFields.includes(field));
55
+ const fieldDefinitions = finalSelectedFields.map(fieldName => {
56
+ const existingDef = this.fieldDefinitions.get(fieldName);
57
+ if (existingDef) {
58
+ return existingDef;
59
+ }
60
+ return {
61
+ fieldName,
62
+ category: this.inferFieldCategory(fieldName),
63
+ minVerbosity: base_1.Verbosity.STANDARD
64
+ };
65
+ });
66
+ const activeCategories = new Set();
67
+ fieldDefinitions.forEach(def => activeCategories.add(def.category));
68
+ return {
69
+ includedFields: finalSelectedFields,
70
+ excludedFields,
71
+ activeCategories: Array.from(activeCategories),
72
+ fieldDefinitions
73
+ };
74
+ }
75
+ inferFieldCategory(fieldName) {
76
+ const lowerFieldName = fieldName.toLowerCase();
77
+ if (['id', 'title', 'done', 'status'].includes(lowerFieldName)) {
78
+ return base_1.FieldCategory.CORE;
79
+ }
80
+ if (lowerFieldName.includes('date') || lowerFieldName.includes('time')) {
81
+ return base_1.FieldCategory.SCHEDULING;
82
+ }
83
+ if (['description', 'project', 'priority'].includes(lowerFieldName)) {
84
+ return base_1.FieldCategory.CONTEXT;
85
+ }
86
+ return base_1.FieldCategory.METADATA;
87
+ }
88
+ }
89
+ exports.FieldSelector = FieldSelector;
90
+ exports.defaultFieldSelector = new FieldSelector();
91
+ //# sourceMappingURL=field-selector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"field-selector.js","sourceRoot":"","sources":["../../src/transforms/field-selector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Main transformer exports
3
+ * Centralized access to all transformation components
4
+ */
5
+ export * from './base';
6
+ export * from './field-selector';
7
+ export * from './task';
8
+ export * from './size-calculator';
9
+ export { Verbosity, FieldCategory } from './base';
10
+ export type { TransformerConfig, OptimizedResponse, TransformationResult } from './base';
11
+ export { SizeEstimator } from './base';
12
+ export { FieldSelector, defaultFieldSelector } from './field-selector';
13
+ export { TaskTransformer, defaultTaskTransformer, transformTask, transformTasks } from './task';
14
+ export { SizeCalculator, defaultSizeCalculator, calculateSizeMetrics, estimateSize, calculateReduction } from './size-calculator';
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/transforms/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,cAAc,QAAQ,CAAC;AAGvB,cAAc,kBAAkB,CAAC;AAGjC,cAAc,QAAQ,CAAC;AAGvB,cAAc,mBAAmB,CAAC;AAGlC,OAAO,EACL,SAAS,EACT,aAAa,EACd,MAAM,QAAQ,CAAC;AAEhB,YAAY,EACV,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,QAAQ,CAAC;AAEhB,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAEvC,OAAO,EACL,aAAa,EACb,oBAAoB,EACrB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,aAAa,EACb,cAAc,EACf,MAAM,QAAQ,CAAC;AAEhB,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACpB,YAAY,EACZ,kBAAkB,EACnB,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ /**
3
+ * Main transformer exports
4
+ * Centralized access to all transformation components
5
+ */
6
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
+ if (k2 === undefined) k2 = k;
8
+ var desc = Object.getOwnPropertyDescriptor(m, k);
9
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
+ desc = { enumerable: true, get: function() { return m[k]; } };
11
+ }
12
+ Object.defineProperty(o, k2, desc);
13
+ }) : (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ o[k2] = m[k];
16
+ }));
17
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
18
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
19
+ };
20
+ Object.defineProperty(exports, "__esModule", { value: true });
21
+ exports.calculateReduction = exports.estimateSize = exports.calculateSizeMetrics = exports.defaultSizeCalculator = exports.SizeCalculator = exports.transformTasks = exports.transformTask = exports.defaultTaskTransformer = exports.TaskTransformer = exports.defaultFieldSelector = exports.FieldSelector = exports.SizeEstimator = exports.FieldCategory = exports.Verbosity = void 0;
22
+ // Base types and utilities
23
+ __exportStar(require("./base"), exports);
24
+ // Field selection system
25
+ __exportStar(require("./field-selector"), exports);
26
+ // Task-specific transformers
27
+ __exportStar(require("./task"), exports);
28
+ // Size calculation and monitoring
29
+ __exportStar(require("./size-calculator"), exports);
30
+ // Re-export commonly used items for convenience
31
+ var base_1 = require("./base");
32
+ Object.defineProperty(exports, "Verbosity", { enumerable: true, get: function () { return base_1.Verbosity; } });
33
+ Object.defineProperty(exports, "FieldCategory", { enumerable: true, get: function () { return base_1.FieldCategory; } });
34
+ var base_2 = require("./base");
35
+ Object.defineProperty(exports, "SizeEstimator", { enumerable: true, get: function () { return base_2.SizeEstimator; } });
36
+ var field_selector_1 = require("./field-selector");
37
+ Object.defineProperty(exports, "FieldSelector", { enumerable: true, get: function () { return field_selector_1.FieldSelector; } });
38
+ Object.defineProperty(exports, "defaultFieldSelector", { enumerable: true, get: function () { return field_selector_1.defaultFieldSelector; } });
39
+ var task_1 = require("./task");
40
+ Object.defineProperty(exports, "TaskTransformer", { enumerable: true, get: function () { return task_1.TaskTransformer; } });
41
+ Object.defineProperty(exports, "defaultTaskTransformer", { enumerable: true, get: function () { return task_1.defaultTaskTransformer; } });
42
+ Object.defineProperty(exports, "transformTask", { enumerable: true, get: function () { return task_1.transformTask; } });
43
+ Object.defineProperty(exports, "transformTasks", { enumerable: true, get: function () { return task_1.transformTasks; } });
44
+ var size_calculator_1 = require("./size-calculator");
45
+ Object.defineProperty(exports, "SizeCalculator", { enumerable: true, get: function () { return size_calculator_1.SizeCalculator; } });
46
+ Object.defineProperty(exports, "defaultSizeCalculator", { enumerable: true, get: function () { return size_calculator_1.defaultSizeCalculator; } });
47
+ Object.defineProperty(exports, "calculateSizeMetrics", { enumerable: true, get: function () { return size_calculator_1.calculateSizeMetrics; } });
48
+ Object.defineProperty(exports, "estimateSize", { enumerable: true, get: function () { return size_calculator_1.estimateSize; } });
49
+ Object.defineProperty(exports, "calculateReduction", { enumerable: true, get: function () { return size_calculator_1.calculateReduction; } });
50
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/transforms/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;AAEH,2BAA2B;AAC3B,yCAAuB;AAEvB,yBAAyB;AACzB,mDAAiC;AAEjC,6BAA6B;AAC7B,yCAAuB;AAEvB,kCAAkC;AAClC,oDAAkC;AAElC,gDAAgD;AAChD,+BAGgB;AAFd,iGAAA,SAAS,OAAA;AACT,qGAAA,aAAa,OAAA;AASf,+BAAuC;AAA9B,qGAAA,aAAa,OAAA;AAEtB,mDAG0B;AAFxB,+GAAA,aAAa,OAAA;AACb,sHAAA,oBAAoB,OAAA;AAGtB,+BAKgB;AAJd,uGAAA,eAAe,OAAA;AACf,8GAAA,sBAAsB,OAAA;AACtB,qGAAA,aAAa,OAAA;AACb,sGAAA,cAAc,OAAA;AAGhB,qDAM2B;AALzB,iHAAA,cAAc,OAAA;AACd,wHAAA,qBAAqB,OAAA;AACrB,uHAAA,oBAAoB,OAAA;AACpB,+GAAA,YAAY,OAAA;AACZ,qHAAA,kBAAkB,OAAA"}