@langadventurellc/task-trellis-mcp 1.0.1 → 1.2.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 (331) hide show
  1. package/README.md +52 -263
  2. package/dist/__tests__/e2e/autoPrune.e2e.test.d.ts +2 -0
  3. package/dist/__tests__/e2e/autoPrune.e2e.test.d.ts.map +1 -0
  4. package/dist/__tests__/e2e/autoPrune.e2e.test.js +533 -0
  5. package/dist/__tests__/e2e/autoPrune.e2e.test.js.map +1 -0
  6. package/dist/__tests__/e2e/configuration/activation.e2e.test.js +6 -6
  7. package/dist/__tests__/e2e/configuration/activation.e2e.test.js.map +1 -1
  8. package/dist/__tests__/e2e/configuration/commandLineArgs.e2e.test.js +55 -6
  9. package/dist/__tests__/e2e/configuration/commandLineArgs.e2e.test.js.map +1 -1
  10. package/dist/__tests__/e2e/configuration/directorySetup.e2e.test.js +19 -19
  11. package/dist/__tests__/e2e/configuration/directorySetup.e2e.test.js.map +1 -1
  12. package/dist/__tests__/e2e/configuration/invalidConfig.e2e.test.js +9 -9
  13. package/dist/__tests__/e2e/configuration/invalidConfig.e2e.test.js.map +1 -1
  14. package/dist/__tests__/e2e/configuration/preActivation.e2e.test.js +15 -15
  15. package/dist/__tests__/e2e/configuration/preActivation.e2e.test.js.map +1 -1
  16. package/dist/__tests__/e2e/crud/createObject.e2e.test.js +94 -42
  17. package/dist/__tests__/e2e/crud/createObject.e2e.test.js.map +1 -1
  18. package/dist/__tests__/e2e/crud/deleteObject.e2e.test.js +19 -19
  19. package/dist/__tests__/e2e/crud/deleteObject.e2e.test.js.map +1 -1
  20. package/dist/__tests__/e2e/crud/fileValidation.e2e.test.js +32 -32
  21. package/dist/__tests__/e2e/crud/fileValidation.e2e.test.js.map +1 -1
  22. package/dist/__tests__/e2e/crud/getObject.e2e.test.js +143 -22
  23. package/dist/__tests__/e2e/crud/getObject.e2e.test.js.map +1 -1
  24. package/dist/__tests__/e2e/crud/listObjects.e2e.test.js +810 -121
  25. package/dist/__tests__/e2e/crud/listObjects.e2e.test.js.map +1 -1
  26. package/dist/__tests__/e2e/crud/updateObject.e2e.test.js +497 -25
  27. package/dist/__tests__/e2e/crud/updateObject.e2e.test.js.map +1 -1
  28. package/dist/__tests__/e2e/hierarchicalPrerequisites.e2e.test.d.ts +2 -0
  29. package/dist/__tests__/e2e/hierarchicalPrerequisites.e2e.test.d.ts.map +1 -0
  30. package/dist/__tests__/e2e/hierarchicalPrerequisites.e2e.test.js +319 -0
  31. package/dist/__tests__/e2e/hierarchicalPrerequisites.e2e.test.js.map +1 -0
  32. package/dist/__tests__/e2e/infrastructure/client.e2e.test.js +4 -4
  33. package/dist/__tests__/e2e/infrastructure/client.e2e.test.js.map +1 -1
  34. package/dist/__tests__/e2e/infrastructure/server.e2e.test.js +6 -6
  35. package/dist/__tests__/e2e/infrastructure/server.e2e.test.js.map +1 -1
  36. package/dist/__tests__/e2e/utils/extractObjectIds.d.ts +5 -0
  37. package/dist/__tests__/e2e/utils/extractObjectIds.d.ts.map +1 -0
  38. package/dist/__tests__/e2e/utils/extractObjectIds.js +12 -0
  39. package/dist/__tests__/e2e/utils/extractObjectIds.js.map +1 -0
  40. package/dist/__tests__/e2e/utils/index.d.ts +1 -0
  41. package/dist/__tests__/e2e/utils/index.d.ts.map +1 -1
  42. package/dist/__tests__/e2e/utils/index.js +3 -1
  43. package/dist/__tests__/e2e/utils/index.js.map +1 -1
  44. package/dist/__tests__/e2e/utils/mcpTestClient.d.ts +2 -1
  45. package/dist/__tests__/e2e/utils/mcpTestClient.d.ts.map +1 -1
  46. package/dist/__tests__/e2e/utils/mcpTestClient.js +15 -8
  47. package/dist/__tests__/e2e/utils/mcpTestClient.js.map +1 -1
  48. package/dist/__tests__/e2e/utils/parseListObjectsResponse.d.ts +4 -2
  49. package/dist/__tests__/e2e/utils/parseListObjectsResponse.d.ts.map +1 -1
  50. package/dist/__tests__/e2e/utils/parseListObjectsResponse.js +2 -1
  51. package/dist/__tests__/e2e/utils/parseListObjectsResponse.js.map +1 -1
  52. package/dist/__tests__/e2e/utils/parseUpdateObjectResponse.d.ts +1 -1
  53. package/dist/__tests__/e2e/utils/parseUpdateObjectResponse.js +1 -1
  54. package/dist/__tests__/e2e/workflow/appendLog.e2e.test.js +4 -4
  55. package/dist/__tests__/e2e/workflow/appendLog.e2e.test.js.map +1 -1
  56. package/dist/__tests__/e2e/workflow/appendModifiedFiles.e2e.test.d.ts +2 -0
  57. package/dist/__tests__/e2e/workflow/appendModifiedFiles.e2e.test.d.ts.map +1 -0
  58. package/dist/__tests__/e2e/workflow/appendModifiedFiles.e2e.test.js +597 -0
  59. package/dist/__tests__/e2e/workflow/appendModifiedFiles.e2e.test.js.map +1 -0
  60. package/dist/__tests__/e2e/workflow/claimTask.e2e.test.js +233 -0
  61. package/dist/__tests__/e2e/workflow/claimTask.e2e.test.js.map +1 -1
  62. package/dist/__tests__/e2e/workflow/completeTask.e2e.test.js +447 -1
  63. package/dist/__tests__/e2e/workflow/completeTask.e2e.test.js.map +1 -1
  64. package/dist/__tests__/e2e/workflow/prerequisites.e2e.test.js +43 -43
  65. package/dist/__tests__/e2e/workflow/prerequisites.e2e.test.js.map +1 -1
  66. package/dist/__tests__/e2e/workflow/taskLifecycle.e2e.test.js +22 -26
  67. package/dist/__tests__/e2e/workflow/taskLifecycle.e2e.test.js.map +1 -1
  68. package/dist/__tests__/serverStartup.test.d.ts +2 -0
  69. package/dist/__tests__/serverStartup.test.d.ts.map +1 -0
  70. package/dist/__tests__/serverStartup.test.js +171 -0
  71. package/dist/__tests__/serverStartup.test.js.map +1 -0
  72. package/dist/configuration/ServerConfig.d.ts +2 -0
  73. package/dist/configuration/ServerConfig.d.ts.map +1 -1
  74. package/dist/models/TrellisObjectSummary.d.ts +16 -0
  75. package/dist/models/TrellisObjectSummary.d.ts.map +1 -0
  76. package/dist/{utils/ReplaceStringOptions.js → models/TrellisObjectSummary.js} +1 -1
  77. package/dist/models/TrellisObjectSummary.js.map +1 -0
  78. package/dist/models/index.d.ts +1 -0
  79. package/dist/models/index.d.ts.map +1 -1
  80. package/dist/models/index.js.map +1 -1
  81. package/dist/repositories/Repository.d.ts +2 -1
  82. package/dist/repositories/Repository.d.ts.map +1 -1
  83. package/dist/repositories/local/LocalRepository.d.ts +2 -1
  84. package/dist/repositories/local/LocalRepository.d.ts.map +1 -1
  85. package/dist/repositories/local/LocalRepository.js +4 -0
  86. package/dist/repositories/local/LocalRepository.js.map +1 -1
  87. package/dist/repositories/local/__tests__/getChildrenOf.test.d.ts +2 -0
  88. package/dist/repositories/local/__tests__/getChildrenOf.test.d.ts.map +1 -0
  89. package/dist/repositories/local/__tests__/getChildrenOf.test.js +306 -0
  90. package/dist/repositories/local/__tests__/getChildrenOf.test.js.map +1 -0
  91. package/dist/repositories/local/__tests__/getObjectFilePath.test.js +9 -6
  92. package/dist/repositories/local/__tests__/getObjectFilePath.test.js.map +1 -1
  93. package/dist/repositories/local/__tests__/getObjects.test.js +349 -10
  94. package/dist/repositories/local/__tests__/getObjects.test.js.map +1 -1
  95. package/dist/repositories/local/deleteObjectById.d.ts.map +1 -1
  96. package/dist/repositories/local/deleteObjectById.js +2 -0
  97. package/dist/repositories/local/deleteObjectById.js.map +1 -1
  98. package/dist/repositories/local/getChildrenOf.d.ts +11 -0
  99. package/dist/repositories/local/getChildrenOf.d.ts.map +1 -0
  100. package/dist/repositories/local/getChildrenOf.js +73 -0
  101. package/dist/repositories/local/getChildrenOf.js.map +1 -0
  102. package/dist/repositories/local/getObjectFilePath.d.ts.map +1 -1
  103. package/dist/repositories/local/getObjectFilePath.js +8 -4
  104. package/dist/repositories/local/getObjectFilePath.js.map +1 -1
  105. package/dist/repositories/local/getObjects.d.ts +1 -1
  106. package/dist/repositories/local/getObjects.d.ts.map +1 -1
  107. package/dist/repositories/local/getObjects.js +31 -7
  108. package/dist/repositories/local/getObjects.js.map +1 -1
  109. package/dist/server.js +57 -19
  110. package/dist/server.js.map +1 -1
  111. package/dist/services/TaskTrellisService.d.ts +78 -0
  112. package/dist/services/TaskTrellisService.d.ts.map +1 -0
  113. package/dist/services/TaskTrellisService.js +3 -0
  114. package/dist/services/TaskTrellisService.js.map +1 -0
  115. package/dist/services/local/LocalTaskTrellisService.d.ts +55 -0
  116. package/dist/services/local/LocalTaskTrellisService.d.ts.map +1 -0
  117. package/dist/services/local/LocalTaskTrellisService.js +73 -0
  118. package/dist/services/local/LocalTaskTrellisService.js.map +1 -0
  119. package/dist/services/local/__tests__/appendAffectedFiles.test.d.ts +2 -0
  120. package/dist/services/local/__tests__/appendAffectedFiles.test.d.ts.map +1 -0
  121. package/dist/services/local/__tests__/appendAffectedFiles.test.js +202 -0
  122. package/dist/services/local/__tests__/appendAffectedFiles.test.js.map +1 -0
  123. package/dist/services/local/__tests__/appendModifiedFiles.test.d.ts +2 -0
  124. package/dist/services/local/__tests__/appendModifiedFiles.test.d.ts.map +1 -0
  125. package/dist/services/local/__tests__/appendModifiedFiles.test.js +162 -0
  126. package/dist/services/local/__tests__/appendModifiedFiles.test.js.map +1 -0
  127. package/dist/services/local/__tests__/appendObjectLog.test.d.ts +2 -0
  128. package/dist/services/local/__tests__/appendObjectLog.test.d.ts.map +1 -0
  129. package/dist/services/local/__tests__/appendObjectLog.test.js +105 -0
  130. package/dist/services/local/__tests__/appendObjectLog.test.js.map +1 -0
  131. package/dist/services/local/__tests__/claimTask.test.d.ts +2 -0
  132. package/dist/services/local/__tests__/claimTask.test.d.ts.map +1 -0
  133. package/dist/services/local/__tests__/claimTask.test.js +459 -0
  134. package/dist/services/local/__tests__/claimTask.test.js.map +1 -0
  135. package/dist/services/local/__tests__/completeTask.test.d.ts +2 -0
  136. package/dist/services/local/__tests__/completeTask.test.d.ts.map +1 -0
  137. package/dist/services/local/__tests__/completeTask.test.js +470 -0
  138. package/dist/services/local/__tests__/completeTask.test.js.map +1 -0
  139. package/dist/services/local/__tests__/createObject.test.d.ts +2 -0
  140. package/dist/services/local/__tests__/createObject.test.d.ts.map +1 -0
  141. package/dist/services/local/__tests__/createObject.test.js +333 -0
  142. package/dist/services/local/__tests__/createObject.test.js.map +1 -0
  143. package/dist/services/local/__tests__/listObjects.test.d.ts +2 -0
  144. package/dist/services/local/__tests__/listObjects.test.d.ts.map +1 -0
  145. package/dist/services/local/__tests__/listObjects.test.js +351 -0
  146. package/dist/services/local/__tests__/listObjects.test.js.map +1 -0
  147. package/dist/services/local/__tests__/pruneClosed.test.d.ts +2 -0
  148. package/dist/services/local/__tests__/pruneClosed.test.d.ts.map +1 -0
  149. package/dist/services/local/__tests__/pruneClosed.test.js +473 -0
  150. package/dist/services/local/__tests__/pruneClosed.test.js.map +1 -0
  151. package/dist/services/local/__tests__/updateObject.test.d.ts +2 -0
  152. package/dist/services/local/__tests__/updateObject.test.d.ts.map +1 -0
  153. package/dist/services/local/__tests__/updateObject.test.js +521 -0
  154. package/dist/services/local/__tests__/updateObject.test.js.map +1 -0
  155. package/dist/services/local/appendAffectedFiles.d.ts +12 -0
  156. package/dist/services/local/appendAffectedFiles.d.ts.map +1 -0
  157. package/dist/services/local/appendAffectedFiles.js +34 -0
  158. package/dist/services/local/appendAffectedFiles.js.map +1 -0
  159. package/dist/services/local/appendModifiedFiles.d.ts +15 -0
  160. package/dist/services/local/appendModifiedFiles.d.ts.map +1 -0
  161. package/dist/services/local/appendModifiedFiles.js +39 -0
  162. package/dist/services/local/appendModifiedFiles.js.map +1 -0
  163. package/dist/services/local/appendObjectLog.d.ts +8 -0
  164. package/dist/services/local/appendObjectLog.d.ts.map +1 -0
  165. package/dist/services/local/appendObjectLog.js +45 -0
  166. package/dist/services/local/appendObjectLog.js.map +1 -0
  167. package/dist/services/local/claimTask.d.ts +8 -0
  168. package/dist/services/local/claimTask.d.ts.map +1 -0
  169. package/dist/services/local/claimTask.js +109 -0
  170. package/dist/services/local/claimTask.js.map +1 -0
  171. package/dist/services/local/completeTask.d.ts +9 -0
  172. package/dist/services/local/completeTask.d.ts.map +1 -0
  173. package/dist/services/local/completeTask.js +38 -0
  174. package/dist/services/local/completeTask.js.map +1 -0
  175. package/dist/services/local/createObject.d.ts +9 -0
  176. package/dist/services/local/createObject.d.ts.map +1 -0
  177. package/dist/services/local/createObject.js +44 -0
  178. package/dist/services/local/createObject.js.map +1 -0
  179. package/dist/services/local/listObjects.d.ts +9 -0
  180. package/dist/services/local/listObjects.d.ts.map +1 -0
  181. package/dist/services/local/listObjects.js +52 -0
  182. package/dist/services/local/listObjects.js.map +1 -0
  183. package/dist/services/local/pruneClosed.d.ts +8 -0
  184. package/dist/services/local/pruneClosed.d.ts.map +1 -0
  185. package/dist/services/local/pruneClosed.js +112 -0
  186. package/dist/services/local/pruneClosed.js.map +1 -0
  187. package/dist/services/local/updateObject.d.ts +10 -0
  188. package/dist/services/local/updateObject.d.ts.map +1 -0
  189. package/dist/services/local/updateObject.js +80 -0
  190. package/dist/services/local/updateObject.js.map +1 -0
  191. package/dist/tools/__tests__/appendModifiedFilesTool.test.d.ts +2 -0
  192. package/dist/tools/__tests__/appendModifiedFilesTool.test.d.ts.map +1 -0
  193. package/dist/tools/__tests__/appendModifiedFilesTool.test.js +178 -0
  194. package/dist/tools/__tests__/appendModifiedFilesTool.test.js.map +1 -0
  195. package/dist/tools/__tests__/appendObjectLogTool.test.js +34 -101
  196. package/dist/tools/__tests__/appendObjectLogTool.test.js.map +1 -1
  197. package/dist/tools/__tests__/claimTaskTool.test.js +98 -311
  198. package/dist/tools/__tests__/claimTaskTool.test.js.map +1 -1
  199. package/dist/tools/__tests__/completeTaskTool.test.js +140 -183
  200. package/dist/tools/__tests__/completeTaskTool.test.js.map +1 -1
  201. package/dist/tools/__tests__/createObjectTool.test.js +62 -325
  202. package/dist/tools/__tests__/createObjectTool.test.js.map +1 -1
  203. package/dist/tools/__tests__/deleteObjectTool.test.js +1 -0
  204. package/dist/tools/__tests__/deleteObjectTool.test.js.map +1 -1
  205. package/dist/tools/__tests__/getObjectTool.test.js +1 -0
  206. package/dist/tools/__tests__/getObjectTool.test.js.map +1 -1
  207. package/dist/tools/__tests__/listObjectsTool.test.js +228 -108
  208. package/dist/tools/__tests__/listObjectsTool.test.js.map +1 -1
  209. package/dist/tools/__tests__/updateObjectTool.test.js +78 -167
  210. package/dist/tools/__tests__/updateObjectTool.test.js.map +1 -1
  211. package/dist/tools/appendModifiedFilesTool.d.ts +30 -0
  212. package/dist/tools/appendModifiedFilesTool.d.ts.map +1 -0
  213. package/dist/tools/appendModifiedFilesTool.js +55 -0
  214. package/dist/tools/appendModifiedFilesTool.js.map +1 -0
  215. package/dist/tools/appendObjectLogTool.d.ts +7 -6
  216. package/dist/tools/appendObjectLogTool.d.ts.map +1 -1
  217. package/dist/tools/appendObjectLogTool.js +6 -44
  218. package/dist/tools/appendObjectLogTool.js.map +1 -1
  219. package/dist/tools/claimTaskTool.d.ts +4 -3
  220. package/dist/tools/claimTaskTool.d.ts.map +1 -1
  221. package/dist/tools/claimTaskTool.js +2 -80
  222. package/dist/tools/claimTaskTool.js.map +1 -1
  223. package/dist/tools/completeTaskTool.d.ts +5 -3
  224. package/dist/tools/completeTaskTool.d.ts.map +1 -1
  225. package/dist/tools/completeTaskTool.js +3 -29
  226. package/dist/tools/completeTaskTool.js.map +1 -1
  227. package/dist/tools/createObjectTool.d.ts +13 -12
  228. package/dist/tools/createObjectTool.d.ts.map +1 -1
  229. package/dist/tools/createObjectTool.js +22 -55
  230. package/dist/tools/createObjectTool.js.map +1 -1
  231. package/dist/tools/deleteObjectTool.d.ts +3 -3
  232. package/dist/tools/deleteObjectTool.js +12 -12
  233. package/dist/tools/deleteObjectTool.js.map +1 -1
  234. package/dist/tools/getObjectTool.d.ts +3 -3
  235. package/dist/tools/getObjectTool.d.ts.map +1 -1
  236. package/dist/tools/getObjectTool.js +12 -7
  237. package/dist/tools/getObjectTool.js.map +1 -1
  238. package/dist/tools/index.d.ts +7 -8
  239. package/dist/tools/index.d.ts.map +1 -1
  240. package/dist/tools/index.js +22 -25
  241. package/dist/tools/index.js.map +1 -1
  242. package/dist/tools/listObjectsTool.d.ts +24 -14
  243. package/dist/tools/listObjectsTool.d.ts.map +1 -1
  244. package/dist/tools/listObjectsTool.js +114 -50
  245. package/dist/tools/listObjectsTool.js.map +1 -1
  246. package/dist/tools/updateObjectTool.d.ts +15 -9
  247. package/dist/tools/updateObjectTool.d.ts.map +1 -1
  248. package/dist/tools/updateObjectTool.js +20 -60
  249. package/dist/tools/updateObjectTool.js.map +1 -1
  250. package/dist/utils/__tests__/checkHierarchicalPrerequisitesComplete.test.d.ts +2 -0
  251. package/dist/utils/__tests__/checkHierarchicalPrerequisitesComplete.test.d.ts.map +1 -0
  252. package/dist/utils/__tests__/checkHierarchicalPrerequisitesComplete.test.js +206 -0
  253. package/dist/utils/__tests__/checkHierarchicalPrerequisitesComplete.test.js.map +1 -0
  254. package/dist/utils/__tests__/checkPrerequisitesComplete.test.js +5 -0
  255. package/dist/utils/__tests__/checkPrerequisitesComplete.test.js.map +1 -1
  256. package/dist/utils/__tests__/filterUnavailableObjects.test.js +51 -25
  257. package/dist/utils/__tests__/filterUnavailableObjects.test.js.map +1 -1
  258. package/dist/utils/__tests__/isRequiredForOtherObjects.test.js +5 -0
  259. package/dist/utils/__tests__/isRequiredForOtherObjects.test.js.map +1 -1
  260. package/dist/utils/__tests__/updateParentHierarchy.test.d.ts +2 -0
  261. package/dist/utils/__tests__/updateParentHierarchy.test.d.ts.map +1 -0
  262. package/dist/utils/__tests__/updateParentHierarchy.test.js +137 -0
  263. package/dist/utils/__tests__/updateParentHierarchy.test.js.map +1 -0
  264. package/dist/utils/autoCompleteParentHierarchy.d.ts +11 -0
  265. package/dist/utils/autoCompleteParentHierarchy.d.ts.map +1 -0
  266. package/dist/utils/autoCompleteParentHierarchy.js +49 -0
  267. package/dist/utils/autoCompleteParentHierarchy.js.map +1 -0
  268. package/dist/utils/checkHierarchicalPrerequisitesComplete.d.ts +14 -0
  269. package/dist/utils/checkHierarchicalPrerequisitesComplete.d.ts.map +1 -0
  270. package/dist/utils/checkHierarchicalPrerequisitesComplete.js +47 -0
  271. package/dist/utils/checkHierarchicalPrerequisitesComplete.js.map +1 -0
  272. package/dist/utils/filterUnavailableObjects.d.ts +6 -4
  273. package/dist/utils/filterUnavailableObjects.d.ts.map +1 -1
  274. package/dist/utils/filterUnavailableObjects.js +16 -22
  275. package/dist/utils/filterUnavailableObjects.js.map +1 -1
  276. package/dist/utils/index.d.ts +3 -2
  277. package/dist/utils/index.d.ts.map +1 -1
  278. package/dist/utils/index.js +7 -3
  279. package/dist/utils/index.js.map +1 -1
  280. package/dist/utils/updateParentHierarchy.d.ts +11 -0
  281. package/dist/utils/updateParentHierarchy.d.ts.map +1 -0
  282. package/dist/utils/updateParentHierarchy.js +40 -0
  283. package/dist/utils/updateParentHierarchy.js.map +1 -0
  284. package/dist/validation/__tests__/validateObjectCreation.test.js +1 -0
  285. package/dist/validation/__tests__/validateObjectCreation.test.js.map +1 -1
  286. package/dist/validation/__tests__/validateParentExists.test.js +1 -0
  287. package/dist/validation/__tests__/validateParentExists.test.js.map +1 -1
  288. package/dist/validation/__tests__/validateParentType.test.js +5 -5
  289. package/dist/validation/__tests__/validateParentType.test.js.map +1 -1
  290. package/dist/validation/__tests__/validateStatusTransition.test.js +1 -0
  291. package/dist/validation/__tests__/validateStatusTransition.test.js.map +1 -1
  292. package/dist/validation/validateParentType.d.ts +1 -1
  293. package/dist/validation/validateParentType.d.ts.map +1 -1
  294. package/dist/validation/validateParentType.js +2 -5
  295. package/dist/validation/validateParentType.js.map +1 -1
  296. package/package.json +1 -1
  297. package/dist/__tests__/e2e/crud/replaceObjectBodyRegex.e2e.test.d.ts +0 -2
  298. package/dist/__tests__/e2e/crud/replaceObjectBodyRegex.e2e.test.d.ts.map +0 -1
  299. package/dist/__tests__/e2e/crud/replaceObjectBodyRegex.e2e.test.js +0 -693
  300. package/dist/__tests__/e2e/crud/replaceObjectBodyRegex.e2e.test.js.map +0 -1
  301. package/dist/__tests__/e2e/workflow/pruneClosed.e2e.test.d.ts +0 -2
  302. package/dist/__tests__/e2e/workflow/pruneClosed.e2e.test.d.ts.map +0 -1
  303. package/dist/__tests__/e2e/workflow/pruneClosed.e2e.test.js +0 -352
  304. package/dist/__tests__/e2e/workflow/pruneClosed.e2e.test.js.map +0 -1
  305. package/dist/tools/__tests__/pruneClosedTool.test.d.ts +0 -2
  306. package/dist/tools/__tests__/pruneClosedTool.test.d.ts.map +0 -1
  307. package/dist/tools/__tests__/pruneClosedTool.test.js +0 -171
  308. package/dist/tools/__tests__/pruneClosedTool.test.js.map +0 -1
  309. package/dist/tools/__tests__/replaceObjectBodyRegexTool.test.d.ts +0 -2
  310. package/dist/tools/__tests__/replaceObjectBodyRegexTool.test.d.ts.map +0 -1
  311. package/dist/tools/__tests__/replaceObjectBodyRegexTool.test.js +0 -258
  312. package/dist/tools/__tests__/replaceObjectBodyRegexTool.test.js.map +0 -1
  313. package/dist/tools/pruneClosedTool.d.ts +0 -26
  314. package/dist/tools/pruneClosedTool.d.ts.map +0 -1
  315. package/dist/tools/pruneClosedTool.js +0 -106
  316. package/dist/tools/pruneClosedTool.js.map +0 -1
  317. package/dist/tools/replaceObjectBodyRegexTool.d.ts +0 -35
  318. package/dist/tools/replaceObjectBodyRegexTool.d.ts.map +0 -1
  319. package/dist/tools/replaceObjectBodyRegexTool.js +0 -145
  320. package/dist/tools/replaceObjectBodyRegexTool.js.map +0 -1
  321. package/dist/utils/ReplaceStringOptions.d.ts +0 -12
  322. package/dist/utils/ReplaceStringOptions.d.ts.map +0 -1
  323. package/dist/utils/ReplaceStringOptions.js.map +0 -1
  324. package/dist/utils/__tests__/replaceStringWithRegex.test.d.ts +0 -2
  325. package/dist/utils/__tests__/replaceStringWithRegex.test.d.ts.map +0 -1
  326. package/dist/utils/__tests__/replaceStringWithRegex.test.js +0 -281
  327. package/dist/utils/__tests__/replaceStringWithRegex.test.js.map +0 -1
  328. package/dist/utils/replaceStringWithRegex.d.ts +0 -45
  329. package/dist/utils/replaceStringWithRegex.d.ts.map +0 -1
  330. package/dist/utils/replaceStringWithRegex.js +0 -91
  331. package/dist/utils/replaceStringWithRegex.js.map +0 -1
@@ -1,21 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.handleReplaceObjectBodyRegex = exports.replaceObjectBodyRegexTool = exports.handleActivate = exports.activateTool = exports.handlePruneClosed = exports.pruneClosedTool = exports.handleCompleteTask = exports.completeTaskTool = exports.handleClaimTask = exports.claimTaskTool = exports.handleAppendObjectLog = exports.appendObjectLogTool = exports.handleListObjects = exports.listObjectsTool = exports.handleDeleteObject = exports.deleteObjectTool = exports.handleGetObject = exports.getObjectTool = exports.handleUpdateObject = exports.updateObjectTool = exports.handleCreateObject = exports.createObjectTool = void 0;
4
- var createObjectTool_js_1 = require("./createObjectTool.js");
5
- Object.defineProperty(exports, "createObjectTool", { enumerable: true, get: function () { return createObjectTool_js_1.createObjectTool; } });
6
- Object.defineProperty(exports, "handleCreateObject", { enumerable: true, get: function () { return createObjectTool_js_1.handleCreateObject; } });
7
- var updateObjectTool_js_1 = require("./updateObjectTool.js");
8
- Object.defineProperty(exports, "updateObjectTool", { enumerable: true, get: function () { return updateObjectTool_js_1.updateObjectTool; } });
9
- Object.defineProperty(exports, "handleUpdateObject", { enumerable: true, get: function () { return updateObjectTool_js_1.handleUpdateObject; } });
10
- var getObjectTool_js_1 = require("./getObjectTool.js");
11
- Object.defineProperty(exports, "getObjectTool", { enumerable: true, get: function () { return getObjectTool_js_1.getObjectTool; } });
12
- Object.defineProperty(exports, "handleGetObject", { enumerable: true, get: function () { return getObjectTool_js_1.handleGetObject; } });
13
- var deleteObjectTool_js_1 = require("./deleteObjectTool.js");
14
- Object.defineProperty(exports, "deleteObjectTool", { enumerable: true, get: function () { return deleteObjectTool_js_1.deleteObjectTool; } });
15
- Object.defineProperty(exports, "handleDeleteObject", { enumerable: true, get: function () { return deleteObjectTool_js_1.handleDeleteObject; } });
16
- var listObjectsTool_js_1 = require("./listObjectsTool.js");
17
- Object.defineProperty(exports, "listObjectsTool", { enumerable: true, get: function () { return listObjectsTool_js_1.listObjectsTool; } });
18
- Object.defineProperty(exports, "handleListObjects", { enumerable: true, get: function () { return listObjectsTool_js_1.handleListObjects; } });
3
+ exports.updateObjectTool = exports.handleUpdateObject = exports.listObjectsTool = exports.handleListObjects = exports.handleGetObject = exports.getObjectTool = exports.handleDeleteObject = exports.deleteObjectTool = exports.handleCreateObject = exports.createObjectTool = exports.handleCompleteTask = exports.completeTaskTool = exports.handleClaimTask = exports.claimTaskTool = exports.handleAppendObjectLog = exports.appendObjectLogTool = exports.handleAppendModifiedFiles = exports.appendModifiedFilesTool = exports.handleActivate = exports.activateTool = void 0;
4
+ var activateTool_js_1 = require("./activateTool.js");
5
+ Object.defineProperty(exports, "activateTool", { enumerable: true, get: function () { return activateTool_js_1.activateTool; } });
6
+ Object.defineProperty(exports, "handleActivate", { enumerable: true, get: function () { return activateTool_js_1.handleActivate; } });
7
+ var appendModifiedFilesTool_js_1 = require("./appendModifiedFilesTool.js");
8
+ Object.defineProperty(exports, "appendModifiedFilesTool", { enumerable: true, get: function () { return appendModifiedFilesTool_js_1.appendModifiedFilesTool; } });
9
+ Object.defineProperty(exports, "handleAppendModifiedFiles", { enumerable: true, get: function () { return appendModifiedFilesTool_js_1.handleAppendModifiedFiles; } });
19
10
  var appendObjectLogTool_js_1 = require("./appendObjectLogTool.js");
20
11
  Object.defineProperty(exports, "appendObjectLogTool", { enumerable: true, get: function () { return appendObjectLogTool_js_1.appendObjectLogTool; } });
21
12
  Object.defineProperty(exports, "handleAppendObjectLog", { enumerable: true, get: function () { return appendObjectLogTool_js_1.handleAppendObjectLog; } });
@@ -25,13 +16,19 @@ Object.defineProperty(exports, "handleClaimTask", { enumerable: true, get: funct
25
16
  var completeTaskTool_js_1 = require("./completeTaskTool.js");
26
17
  Object.defineProperty(exports, "completeTaskTool", { enumerable: true, get: function () { return completeTaskTool_js_1.completeTaskTool; } });
27
18
  Object.defineProperty(exports, "handleCompleteTask", { enumerable: true, get: function () { return completeTaskTool_js_1.handleCompleteTask; } });
28
- var pruneClosedTool_js_1 = require("./pruneClosedTool.js");
29
- Object.defineProperty(exports, "pruneClosedTool", { enumerable: true, get: function () { return pruneClosedTool_js_1.pruneClosedTool; } });
30
- Object.defineProperty(exports, "handlePruneClosed", { enumerable: true, get: function () { return pruneClosedTool_js_1.handlePruneClosed; } });
31
- var activateTool_js_1 = require("./activateTool.js");
32
- Object.defineProperty(exports, "activateTool", { enumerable: true, get: function () { return activateTool_js_1.activateTool; } });
33
- Object.defineProperty(exports, "handleActivate", { enumerable: true, get: function () { return activateTool_js_1.handleActivate; } });
34
- var replaceObjectBodyRegexTool_js_1 = require("./replaceObjectBodyRegexTool.js");
35
- Object.defineProperty(exports, "replaceObjectBodyRegexTool", { enumerable: true, get: function () { return replaceObjectBodyRegexTool_js_1.replaceObjectBodyRegexTool; } });
36
- Object.defineProperty(exports, "handleReplaceObjectBodyRegex", { enumerable: true, get: function () { return replaceObjectBodyRegexTool_js_1.handleReplaceObjectBodyRegex; } });
19
+ var createObjectTool_js_1 = require("./createObjectTool.js");
20
+ Object.defineProperty(exports, "createObjectTool", { enumerable: true, get: function () { return createObjectTool_js_1.createObjectTool; } });
21
+ Object.defineProperty(exports, "handleCreateObject", { enumerable: true, get: function () { return createObjectTool_js_1.handleCreateObject; } });
22
+ var deleteObjectTool_js_1 = require("./deleteObjectTool.js");
23
+ Object.defineProperty(exports, "deleteObjectTool", { enumerable: true, get: function () { return deleteObjectTool_js_1.deleteObjectTool; } });
24
+ Object.defineProperty(exports, "handleDeleteObject", { enumerable: true, get: function () { return deleteObjectTool_js_1.handleDeleteObject; } });
25
+ var getObjectTool_js_1 = require("./getObjectTool.js");
26
+ Object.defineProperty(exports, "getObjectTool", { enumerable: true, get: function () { return getObjectTool_js_1.getObjectTool; } });
27
+ Object.defineProperty(exports, "handleGetObject", { enumerable: true, get: function () { return getObjectTool_js_1.handleGetObject; } });
28
+ var listObjectsTool_js_1 = require("./listObjectsTool.js");
29
+ Object.defineProperty(exports, "handleListObjects", { enumerable: true, get: function () { return listObjectsTool_js_1.handleListObjects; } });
30
+ Object.defineProperty(exports, "listObjectsTool", { enumerable: true, get: function () { return listObjectsTool_js_1.listObjectsTool; } });
31
+ var updateObjectTool_js_1 = require("./updateObjectTool.js");
32
+ Object.defineProperty(exports, "handleUpdateObject", { enumerable: true, get: function () { return updateObjectTool_js_1.handleUpdateObject; } });
33
+ Object.defineProperty(exports, "updateObjectTool", { enumerable: true, get: function () { return updateObjectTool_js_1.updateObjectTool; } });
37
34
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":";;;AAAA,6DAA6E;AAApE,uHAAA,gBAAgB,OAAA;AAAE,yHAAA,kBAAkB,OAAA;AAC7C,6DAA6E;AAApE,uHAAA,gBAAgB,OAAA;AAAE,yHAAA,kBAAkB,OAAA;AAC7C,uDAAoE;AAA3D,iHAAA,aAAa,OAAA;AAAE,mHAAA,eAAe,OAAA;AACvC,6DAA6E;AAApE,uHAAA,gBAAgB,OAAA;AAAE,yHAAA,kBAAkB,OAAA;AAC7C,2DAA0E;AAAjE,qHAAA,eAAe,OAAA;AAAE,uHAAA,iBAAiB,OAAA;AAC3C,mEAGkC;AAFhC,6HAAA,mBAAmB,OAAA;AACnB,+HAAA,qBAAqB,OAAA;AAEvB,uDAAoE;AAA3D,iHAAA,aAAa,OAAA;AAAE,mHAAA,eAAe,OAAA;AACvC,6DAA6E;AAApE,uHAAA,gBAAgB,OAAA;AAAE,yHAAA,kBAAkB,OAAA;AAC7C,2DAA0E;AAAjE,qHAAA,eAAe,OAAA;AAAE,uHAAA,iBAAiB,OAAA;AAC3C,qDAAiE;AAAxD,+GAAA,YAAY,OAAA;AAAE,iHAAA,cAAc,OAAA;AACrC,iFAGyC;AAFvC,2IAAA,0BAA0B,OAAA;AAC1B,6IAAA,4BAA4B,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":";;;AAAA,qDAAiE;AAAxD,+GAAA,YAAY,OAAA;AAAE,iHAAA,cAAc,OAAA;AACrC,2EAGsC;AAFpC,qIAAA,uBAAuB,OAAA;AACvB,uIAAA,yBAAyB,OAAA;AAE3B,mEAGkC;AAFhC,6HAAA,mBAAmB,OAAA;AACnB,+HAAA,qBAAqB,OAAA;AAEvB,uDAAoE;AAA3D,iHAAA,aAAa,OAAA;AAAE,mHAAA,eAAe,OAAA;AACvC,6DAA6E;AAApE,uHAAA,gBAAgB,OAAA;AAAE,yHAAA,kBAAkB,OAAA;AAC7C,6DAA6E;AAApE,uHAAA,gBAAgB,OAAA;AAAE,yHAAA,kBAAkB,OAAA;AAC7C,6DAA6E;AAApE,uHAAA,gBAAgB,OAAA;AAAE,yHAAA,kBAAkB,OAAA;AAC7C,uDAAoE;AAA3D,iHAAA,aAAa,OAAA;AAAE,mHAAA,eAAe,OAAA;AACvC,2DAA0E;AAAjE,uHAAA,iBAAiB,OAAA;AAAE,qHAAA,eAAe,OAAA;AAC3C,6DAA6E;AAApE,yHAAA,kBAAkB,OAAA;AAAE,uHAAA,gBAAgB,OAAA"}
@@ -1,39 +1,49 @@
1
1
  import { Repository } from "../repositories";
2
+ import { TaskTrellisService } from "../services/TaskTrellisService";
2
3
  export declare const listObjectsTool: {
3
- readonly name: "list_objects";
4
- readonly description: "Lists objects from the task trellis system\n\nUse this tool to retrieve and filter objects based on various criteria. Essential for discovering existing work items, understanding project structure, and finding objects that need attention.\n\nAvailable object types:\n- 'project': Top-level containers\n- 'epic': Large features within projects \n- 'feature': Specific functionality within epics\n- 'task': Individual work items\n\nAvailable status values:\n- 'draft': Initial state for new objects\n- 'open': Ready to begin work\n- 'in-progress': Currently being worked on\n- 'done': Completed successfully\n- 'wont-do': Cancelled or decided against\n\nAvailable priority values:\n- 'high': Critical or urgent work\n- 'medium': Standard priority\n- 'low': Nice-to-have or future work\n\nKey filtering options:\n- 'type': Filter by object category (project, epic, feature, task)\n- 'scope': Limit results to a specific project or area of work\n- 'status': Find objects in particular states (draft, open, in-progress, done, wont-do)\n- 'priority': Filter by importance level (high, medium, low)\n- 'includeClosed': Whether to show completed/archived objects (defaults to false)\n\nUsage patterns:\n- List all tasks in progress: type='task', status='in-progress'\n- Find high priority work: priority='high', includeClosed=false\n- Review project scope: type='project', scope='specific-project'\n- Audit completed work: includeClosed=true, status='done'\n- Find cancelled items: status='wont-do', includeClosed=true\n\nThe results provide object metadata including IDs, titles, relationships, and current status to help navigate the work hierarchy effectively.";
4
+ readonly name: "list_issues";
5
+ readonly description: "Lists issues from the task trellis system\n\nUse this tool to retrieve and filter issues based on various criteria. Essential for discovering existing work items, understanding project structure, and finding issues that need attention.\n\nAvailable issue types:\n- 'project': Top-level containers\n- 'epic': Large features within projects \n- 'feature': Specific functionality within epics\n- 'task': Individual work items\n\nAvailable status values:\n- 'draft': Initial state for new issues\n- 'open': Ready to begin work (default for new issues)\n- 'in-progress': Currently being worked on\n- 'done': Completed successfully\n- 'wont-do': Cancelled or decided against\n\nAvailable priority values:\n- 'high': Critical or urgent work\n- 'medium': Standard priority\n- 'low': Nice-to-have or future work\n\nKey filtering options:\n- 'type': Filter by issue category (project, epic, feature, task) - accepts single value or array\n- 'scope': Limit results to a specific project or area of work\n- 'status': Find issues in particular states (draft, open, in-progress, done, wont-do) - accepts single value or array\n- 'priority': Filter by importance level (high, medium, low) - accepts single value or array\n- 'includeClosed': Whether to show completed/archived issues (defaults to false)\n\nUsage patterns:\n- List all tasks in progress: type='task', status='in-progress'\n- Find high priority work: priority='high', includeClosed=false\n- Review project scope: type='project', scope='specific-project'\n- Audit completed work: includeClosed=true, status='done'\n- Find cancelled items: status='wont-do', includeClosed=true\n- List features and tasks: type=['feature', 'task']\n- List all open objects: status='open' (no type filter)\n- Multiple statuses: status=['open', 'in-progress']\n- Multiple priorities: priority=['high', 'medium']\n\nThe results provide issue summaries (TrellisObjectSummary instances) containing id, type, title, status, priority, parent, prerequisites, childrenIds, created, and updated fields to enable efficient filtering and further operations.";
5
6
  readonly inputSchema: {
6
7
  readonly type: "object";
7
8
  readonly properties: {
8
9
  readonly type: {
9
- readonly type: "string";
10
- readonly description: "Type of objects to list";
10
+ readonly type: readonly ["string", "array"];
11
+ readonly items: {
12
+ readonly type: "string";
13
+ };
14
+ readonly description: "Type of issues to list (optional)";
11
15
  };
12
16
  readonly scope: {
13
17
  readonly type: "string";
14
- readonly description: "Scope to filter objects (optional)";
18
+ readonly description: "Scope to filter issues (optional)";
15
19
  };
16
20
  readonly status: {
17
- readonly type: "string";
18
- readonly description: "Status to filter objects (optional)";
21
+ readonly type: readonly ["string", "array"];
22
+ readonly items: {
23
+ readonly type: "string";
24
+ };
25
+ readonly description: "Status to filter issues (optional)";
19
26
  };
20
27
  readonly priority: {
21
- readonly type: "string";
22
- readonly description: "Priority to filter objects (optional)";
28
+ readonly type: readonly ["string", "array"];
29
+ readonly items: {
30
+ readonly type: "string";
31
+ };
32
+ readonly description: "Priority to filter issues (optional)";
23
33
  };
24
34
  readonly includeClosed: {
25
35
  readonly type: "boolean";
26
- readonly description: "Include closed objects (defaults to false)";
36
+ readonly description: "Include closed issues (defaults to false)";
27
37
  readonly default: false;
28
38
  };
29
39
  };
30
- readonly required: readonly ["type"];
40
+ readonly required: readonly [];
31
41
  };
32
42
  };
33
- export declare function handleListObjects(repository: Repository, args: unknown): Promise<{
34
- content: {
43
+ export declare function handleListObjects(service: TaskTrellisService, repository: Repository, args: unknown): Promise<{
44
+ content: Array<{
35
45
  type: string;
36
46
  text: string;
37
- }[];
47
+ }>;
38
48
  }>;
39
49
  //# sourceMappingURL=listObjectsTool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"listObjectsTool.d.ts","sourceRoot":"","sources":["../../src/tools/listObjectsTool.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkElB,CAAC;AAEX,wBAAsB,iBAAiB,CAAC,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO;;;;;GAkF5E"}
1
+ {"version":3,"file":"listObjectsTool.d.ts","sourceRoot":"","sources":["../../src/tools/listObjectsTool.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEpE,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyElB,CAAC;AAEX,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,kBAAkB,EAC3B,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,OAAO;;;;;GA+Jd"}
@@ -4,20 +4,20 @@ exports.listObjectsTool = void 0;
4
4
  exports.handleListObjects = handleListObjects;
5
5
  const models_1 = require("../models");
6
6
  exports.listObjectsTool = {
7
- name: "list_objects",
8
- description: `Lists objects from the task trellis system
7
+ name: "list_issues",
8
+ description: `Lists issues from the task trellis system
9
9
 
10
- Use this tool to retrieve and filter objects based on various criteria. Essential for discovering existing work items, understanding project structure, and finding objects that need attention.
10
+ Use this tool to retrieve and filter issues based on various criteria. Essential for discovering existing work items, understanding project structure, and finding issues that need attention.
11
11
 
12
- Available object types:
12
+ Available issue types:
13
13
  - 'project': Top-level containers
14
14
  - 'epic': Large features within projects
15
15
  - 'feature': Specific functionality within epics
16
16
  - 'task': Individual work items
17
17
 
18
18
  Available status values:
19
- - 'draft': Initial state for new objects
20
- - 'open': Ready to begin work
19
+ - 'draft': Initial state for new issues
20
+ - 'open': Ready to begin work (default for new issues)
21
21
  - 'in-progress': Currently being worked on
22
22
  - 'done': Completed successfully
23
23
  - 'wont-do': Cancelled or decided against
@@ -28,11 +28,11 @@ Available priority values:
28
28
  - 'low': Nice-to-have or future work
29
29
 
30
30
  Key filtering options:
31
- - 'type': Filter by object category (project, epic, feature, task)
31
+ - 'type': Filter by issue category (project, epic, feature, task) - accepts single value or array
32
32
  - 'scope': Limit results to a specific project or area of work
33
- - 'status': Find objects in particular states (draft, open, in-progress, done, wont-do)
34
- - 'priority': Filter by importance level (high, medium, low)
35
- - 'includeClosed': Whether to show completed/archived objects (defaults to false)
33
+ - 'status': Find issues in particular states (draft, open, in-progress, done, wont-do) - accepts single value or array
34
+ - 'priority': Filter by importance level (high, medium, low) - accepts single value or array
35
+ - 'includeClosed': Whether to show completed/archived issues (defaults to false)
36
36
 
37
37
  Usage patterns:
38
38
  - List all tasks in progress: type='task', status='in-progress'
@@ -40,74 +40,138 @@ Usage patterns:
40
40
  - Review project scope: type='project', scope='specific-project'
41
41
  - Audit completed work: includeClosed=true, status='done'
42
42
  - Find cancelled items: status='wont-do', includeClosed=true
43
+ - List features and tasks: type=['feature', 'task']
44
+ - List all open objects: status='open' (no type filter)
45
+ - Multiple statuses: status=['open', 'in-progress']
46
+ - Multiple priorities: priority=['high', 'medium']
43
47
 
44
- The results provide object metadata including IDs, titles, relationships, and current status to help navigate the work hierarchy effectively.`,
48
+ The results provide issue summaries (TrellisObjectSummary instances) containing id, type, title, status, priority, parent, prerequisites, childrenIds, created, and updated fields to enable efficient filtering and further operations.`,
45
49
  inputSchema: {
46
50
  type: "object",
47
51
  properties: {
48
52
  type: {
49
- type: "string",
50
- description: "Type of objects to list",
53
+ type: ["string", "array"],
54
+ items: { type: "string" },
55
+ description: "Type of issues to list (optional)",
51
56
  },
52
57
  scope: {
53
58
  type: "string",
54
- description: "Scope to filter objects (optional)",
59
+ description: "Scope to filter issues (optional)",
55
60
  },
56
61
  status: {
57
- type: "string",
58
- description: "Status to filter objects (optional)",
62
+ type: ["string", "array"],
63
+ items: { type: "string" },
64
+ description: "Status to filter issues (optional)",
59
65
  },
60
66
  priority: {
61
- type: "string",
62
- description: "Priority to filter objects (optional)",
67
+ type: ["string", "array"],
68
+ items: { type: "string" },
69
+ description: "Priority to filter issues (optional)",
63
70
  },
64
71
  includeClosed: {
65
72
  type: "boolean",
66
- description: "Include closed objects (defaults to false)",
73
+ description: "Include closed issues (defaults to false)",
67
74
  default: false,
68
75
  },
69
76
  },
70
- required: ["type"],
77
+ required: [],
71
78
  },
72
79
  };
73
- async function handleListObjects(repository, args) {
80
+ async function handleListObjects(service, repository, args) {
74
81
  const { type, scope, status, priority, includeClosed = false, } = args;
75
- // Helper function to convert type string to enum
76
- const toType = (typeString) => {
77
- if (Object.values(models_1.TrellisObjectType).includes(typeString)) {
78
- return typeString;
82
+ // Enhanced helper function to convert type input to enum array
83
+ const toTypeArray = (input) => {
84
+ if (!input)
85
+ return undefined;
86
+ const values = Array.isArray(input) ? input : [input];
87
+ if (values.length === 0)
88
+ return undefined;
89
+ const invalidValues = [];
90
+ const validValues = [];
91
+ values.forEach((value) => {
92
+ if (Object.values(models_1.TrellisObjectType).includes(value)) {
93
+ validValues.push(value);
94
+ }
95
+ else {
96
+ invalidValues.push(value);
97
+ }
98
+ });
99
+ if (invalidValues.length > 0) {
100
+ throw new Error(`Invalid type value${invalidValues.length > 1 ? "s" : ""}: ${invalidValues.join(", ")}`);
79
101
  }
80
- throw new Error(`Invalid type value: ${typeString}`);
102
+ return validValues;
81
103
  };
82
- // Helper function to convert status string to enum
83
- const toStatus = (statusString) => {
84
- if (Object.values(models_1.TrellisObjectStatus).includes(statusString)) {
85
- return statusString;
104
+ // Enhanced helper function to convert status input to enum array
105
+ const toStatusArray = (input) => {
106
+ if (!input)
107
+ return undefined;
108
+ const values = Array.isArray(input) ? input : [input];
109
+ if (values.length === 0)
110
+ return undefined;
111
+ const invalidValues = [];
112
+ const validValues = [];
113
+ values.forEach((value) => {
114
+ if (Object.values(models_1.TrellisObjectStatus).includes(value)) {
115
+ validValues.push(value);
116
+ }
117
+ else {
118
+ invalidValues.push(value);
119
+ }
120
+ });
121
+ if (invalidValues.length > 0) {
122
+ throw new Error(`Invalid status value${invalidValues.length > 1 ? "s" : ""}: ${invalidValues.join(", ")}`);
86
123
  }
87
- throw new Error(`Invalid status value: ${statusString}`);
124
+ return validValues;
88
125
  };
89
- // Helper function to convert priority string to enum
90
- const toPriority = (priorityString) => {
91
- if (Object.values(models_1.TrellisObjectPriority).includes(priorityString)) {
92
- return priorityString;
126
+ // Enhanced helper function to convert priority input to enum array
127
+ const toPriorityArray = (input) => {
128
+ if (!input)
129
+ return undefined;
130
+ const values = Array.isArray(input) ? input : [input];
131
+ if (values.length === 0)
132
+ return undefined;
133
+ const invalidValues = [];
134
+ const validValues = [];
135
+ values.forEach((value) => {
136
+ if (Object.values(models_1.TrellisObjectPriority).includes(value)) {
137
+ validValues.push(value);
138
+ }
139
+ else {
140
+ invalidValues.push(value);
141
+ }
142
+ });
143
+ if (invalidValues.length > 0) {
144
+ throw new Error(`Invalid priority value${invalidValues.length > 1 ? "s" : ""}: ${invalidValues.join(", ")}`);
93
145
  }
94
- throw new Error(`Invalid priority value: ${priorityString}`);
146
+ return validValues;
95
147
  };
96
148
  try {
97
- // Convert string parameters to enum types
98
- const typeEnum = toType(type);
99
- const statusEnum = status ? toStatus(status) : undefined;
100
- const priorityEnum = priority ? toPriority(priority) : undefined;
101
- // Get objects from repository
102
- const objects = await repository.getObjects(includeClosed, scope, typeEnum, statusEnum, priorityEnum);
103
- return {
104
- content: [
105
- {
106
- type: "text",
107
- text: JSON.stringify(objects, null, 2),
108
- },
109
- ],
110
- };
149
+ // Convert inputs to enum arrays using enhanced helper functions
150
+ const typeEnums = toTypeArray(type);
151
+ const statusEnums = toStatusArray(status);
152
+ const priorityEnums = toPriorityArray(priority);
153
+ // Validate that at least one filter is provided when type is optional
154
+ if (!typeEnums && !statusEnums && !priorityEnums && !scope) {
155
+ throw new Error("At least one filter parameter (type, status, priority, or scope) must be provided");
156
+ }
157
+ // Convert arrays back to single values or keep as arrays based on service signature
158
+ const typeParam = typeEnums
159
+ ? typeEnums.length === 1
160
+ ? typeEnums[0]
161
+ : typeEnums
162
+ : undefined;
163
+ const statusParam = statusEnums
164
+ ? statusEnums.length === 1
165
+ ? statusEnums[0]
166
+ : statusEnums
167
+ : undefined;
168
+ const priorityParam = priorityEnums
169
+ ? priorityEnums.length === 1
170
+ ? priorityEnums[0]
171
+ : priorityEnums
172
+ : undefined;
173
+ // Delegate to service
174
+ return await service.listObjects(repository, typeParam, scope, statusParam, priorityParam, includeClosed);
111
175
  }
112
176
  catch (error) {
113
177
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"listObjectsTool.js","sourceRoot":"","sources":["../../src/tools/listObjectsTool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"listObjectsTool.js","sourceRoot":"","sources":["../../src/tools/listObjectsTool.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,19 @@
1
+ import { ServerConfig } from "../configuration";
1
2
  import { Repository } from "../repositories";
3
+ import { TaskTrellisService } from "../services/TaskTrellisService";
2
4
  export declare const updateObjectTool: {
3
- readonly name: "update_object";
4
- readonly description: "Updates an existing object in the task trellis system\n\nUse this tool to modify properties of existing objects such as changing status, priority, prerequisites, or content. Essential for managing work item lifecycle and maintaining project state.\n\nAvailable status values:\n- 'draft': Initial state for new objects\n- 'open': Ready to begin work\n- 'in-progress': Currently being worked on\n- 'done': Completed successfully\n- 'wont-do': Cancelled or decided against\n\nAvailable priority values:\n- 'high': Critical or urgent work\n- 'medium': Standard priority\n- 'low': Nice-to-have or future work\n\nUpdatable properties:\n- 'status': Progress state (follows workflow: draft → open → in-progress → done)\n- 'priority': Importance level (high, medium, low)\n- 'prerequisites': Dependency relationships (add/remove prerequisite objects)\n- 'body': Detailed description or content of the work item\n- 'force': Bypass certain validation checks when necessary\n\nCommon update patterns:\n- Mark task as ready: status='open'\n- Start working: status='in-progress'\n- Change priority: priority='high'\n- Add dependencies: prerequisites=[...existing, 'new-prereq-id']\n- Update description: body='detailed work description'\n- Complete work: status='done'\n- Cancel work: status='wont-do'\n\nThe update maintains object integrity by validating relationships and preserving audit trail. Use 'force=true' only when bypassing standard validation is necessary for administrative operations.\n\nUpdates automatically refresh the 'updated' timestamp while preserving creation metadata and change history.";
5
+ readonly name: "update_issue";
6
+ readonly description: "Updates an existing issue in the task trellis system\n\nUse this tool to modify properties of existing issues such as changing status, priority, prerequisites, or content. Essential for managing work item lifecycle and maintaining project state.\n\nAvailable status values:\n- 'draft': Initial state for new issues\n- 'open': Ready to begin work (default for new issues)\n- 'in-progress': Currently being worked on\n- 'done': Completed successfully\n- 'wont-do': Cancelled or decided against\n\nAvailable priority values:\n- 'high': Critical or urgent work\n- 'medium': Standard priority\n- 'low': Nice-to-have or future work\n\nUpdatable properties:\n- 'title': Title of the work item\n- 'status': Progress state (follows workflow: draft → open → in-progress → done)\n- 'priority': Importance level (high, medium, low)\n- 'prerequisites': Dependency relationships (add/remove prerequisite issues)\n- 'body': Detailed description or content of the work item\n- 'force': Bypass certain validation checks when necessary\n\nCommon update patterns:\n- Update title: title='New task title'\n- Mark task as ready: status='open'\n- Start working: status='in-progress'\n- Change priority: priority='high'\n- Add dependencies: prerequisites=[...existing, 'new-prereq-id']\n- Update description: body='detailed work description'\n- Complete work: status='done'\n- Cancel work: status='wont-do'\n\nThe update maintains issue integrity by validating relationships and preserving audit trail. Use 'force=true' only when bypassing standard validation is necessary for administrative operations.\n\nUpdates automatically refresh the 'updated' timestamp while preserving creation metadata and change history.";
5
7
  readonly inputSchema: {
6
8
  readonly type: "object";
7
9
  readonly properties: {
8
10
  readonly id: {
9
11
  readonly type: "string";
10
- readonly description: "ID of the object to update";
12
+ readonly description: "ID of the issue to update";
13
+ };
14
+ readonly title: {
15
+ readonly type: "string";
16
+ readonly description: "Title of the issue (optional)";
11
17
  };
12
18
  readonly priority: {
13
19
  readonly type: "string";
@@ -18,15 +24,15 @@ export declare const updateObjectTool: {
18
24
  readonly items: {
19
25
  readonly type: "string";
20
26
  };
21
- readonly description: "Array of prerequisite object IDs (optional)";
27
+ readonly description: "Array of prerequisite issue IDs (optional)";
22
28
  };
23
29
  readonly body: {
24
30
  readonly type: "string";
25
- readonly description: "Body content of the object (optional)";
31
+ readonly description: "Body content of the issue (optional)";
26
32
  };
27
33
  readonly status: {
28
34
  readonly type: "string";
29
- readonly description: "Status of the object (optional)";
35
+ readonly description: "Status of the issue (optional)";
30
36
  };
31
37
  readonly force: {
32
38
  readonly type: "boolean";
@@ -37,10 +43,10 @@ export declare const updateObjectTool: {
37
43
  readonly required: readonly ["id"];
38
44
  };
39
45
  };
40
- export declare function handleUpdateObject(repository: Repository, args: unknown): Promise<{
41
- content: {
46
+ export declare function handleUpdateObject(service: TaskTrellisService, repository: Repository, args: unknown, serverConfig: ServerConfig): Promise<{
47
+ content: Array<{
42
48
  type: string;
43
49
  text: string;
44
- }[];
50
+ }>;
45
51
  }>;
46
52
  //# sourceMappingURL=updateObjectTool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"updateObjectTool.d.ts","sourceRoot":"","sources":["../../src/tools/updateObjectTool.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAG7C,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuEnB,CAAC;AAEX,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,OAAO;;;;;GAuEd"}
1
+ {"version":3,"file":"updateObjectTool.d.ts","sourceRoot":"","sources":["../../src/tools/updateObjectTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEpE,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6EnB,CAAC;AAEX,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,kBAAkB,EAC3B,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,OAAO,EACb,YAAY,EAAE,YAAY;;;;;GA+B3B"}
@@ -2,16 +2,15 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.updateObjectTool = void 0;
4
4
  exports.handleUpdateObject = handleUpdateObject;
5
- const validateStatusTransition_1 = require("../validation/validateStatusTransition");
6
5
  exports.updateObjectTool = {
7
- name: "update_object",
8
- description: `Updates an existing object in the task trellis system
6
+ name: "update_issue",
7
+ description: `Updates an existing issue in the task trellis system
9
8
 
10
- Use this tool to modify properties of existing objects such as changing status, priority, prerequisites, or content. Essential for managing work item lifecycle and maintaining project state.
9
+ Use this tool to modify properties of existing issues such as changing status, priority, prerequisites, or content. Essential for managing work item lifecycle and maintaining project state.
11
10
 
12
11
  Available status values:
13
- - 'draft': Initial state for new objects
14
- - 'open': Ready to begin work
12
+ - 'draft': Initial state for new issues
13
+ - 'open': Ready to begin work (default for new issues)
15
14
  - 'in-progress': Currently being worked on
16
15
  - 'done': Completed successfully
17
16
  - 'wont-do': Cancelled or decided against
@@ -22,13 +21,15 @@ Available priority values:
22
21
  - 'low': Nice-to-have or future work
23
22
 
24
23
  Updatable properties:
24
+ - 'title': Title of the work item
25
25
  - 'status': Progress state (follows workflow: draft → open → in-progress → done)
26
26
  - 'priority': Importance level (high, medium, low)
27
- - 'prerequisites': Dependency relationships (add/remove prerequisite objects)
27
+ - 'prerequisites': Dependency relationships (add/remove prerequisite issues)
28
28
  - 'body': Detailed description or content of the work item
29
29
  - 'force': Bypass certain validation checks when necessary
30
30
 
31
31
  Common update patterns:
32
+ - Update title: title='New task title'
32
33
  - Mark task as ready: status='open'
33
34
  - Start working: status='in-progress'
34
35
  - Change priority: priority='high'
@@ -37,7 +38,7 @@ Common update patterns:
37
38
  - Complete work: status='done'
38
39
  - Cancel work: status='wont-do'
39
40
 
40
- The update maintains object integrity by validating relationships and preserving audit trail. Use 'force=true' only when bypassing standard validation is necessary for administrative operations.
41
+ The update maintains issue integrity by validating relationships and preserving audit trail. Use 'force=true' only when bypassing standard validation is necessary for administrative operations.
41
42
 
42
43
  Updates automatically refresh the 'updated' timestamp while preserving creation metadata and change history.`,
43
44
  inputSchema: {
@@ -45,7 +46,11 @@ Updates automatically refresh the 'updated' timestamp while preserving creation
45
46
  properties: {
46
47
  id: {
47
48
  type: "string",
48
- description: "ID of the object to update",
49
+ description: "ID of the issue to update",
50
+ },
51
+ title: {
52
+ type: "string",
53
+ description: "Title of the issue (optional)",
49
54
  },
50
55
  priority: {
51
56
  type: "string",
@@ -56,15 +61,15 @@ Updates automatically refresh the 'updated' timestamp while preserving creation
56
61
  items: {
57
62
  type: "string",
58
63
  },
59
- description: "Array of prerequisite object IDs (optional)",
64
+ description: "Array of prerequisite issue IDs (optional)",
60
65
  },
61
66
  body: {
62
67
  type: "string",
63
- description: "Body content of the object (optional)",
68
+ description: "Body content of the issue (optional)",
64
69
  },
65
70
  status: {
66
71
  type: "string",
67
- description: "Status of the object (optional)",
72
+ description: "Status of the issue (optional)",
68
73
  },
69
74
  force: {
70
75
  type: "boolean",
@@ -75,53 +80,8 @@ Updates automatically refresh the 'updated' timestamp while preserving creation
75
80
  required: ["id"],
76
81
  },
77
82
  };
78
- async function handleUpdateObject(repository, args) {
79
- const { id, priority, prerequisites, body, status, force = false, } = args;
80
- try {
81
- // Load the existing object
82
- const existingObject = await repository.getObjectById(id);
83
- if (!existingObject) {
84
- return {
85
- content: [
86
- {
87
- type: "text",
88
- text: `Error: Object with ID '${id}' not found`,
89
- },
90
- ],
91
- };
92
- }
93
- // Create updated object with new properties, ensuring proper typing
94
- const updatedObject = {
95
- ...existingObject,
96
- ...(priority && { priority: priority }),
97
- ...(prerequisites && { prerequisites }),
98
- ...(body && { body }),
99
- ...(status && { status: status }),
100
- };
101
- // Validate status transition
102
- if (status && !force) {
103
- await (0, validateStatusTransition_1.validateStatusTransition)(updatedObject, repository);
104
- }
105
- // Save the updated object
106
- await repository.saveObject(updatedObject);
107
- return {
108
- content: [
109
- {
110
- type: "text",
111
- text: `Successfully updated object: ${JSON.stringify(updatedObject, null, 2)}`,
112
- },
113
- ],
114
- };
115
- }
116
- catch (error) {
117
- return {
118
- content: [
119
- {
120
- type: "text",
121
- text: `Error updating object: ${error instanceof Error ? error.message : String(error)}`,
122
- },
123
- ],
124
- };
125
- }
83
+ async function handleUpdateObject(service, repository, args, serverConfig) {
84
+ const { id, title, priority, prerequisites, body, status, force = false, } = args;
85
+ return service.updateObject(repository, serverConfig, id, title, priority, prerequisites, body, status, force);
126
86
  }
127
87
  //# sourceMappingURL=updateObjectTool.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"updateObjectTool.js","sourceRoot":"","sources":["../../src/tools/updateObjectTool.ts"],"names":[],"mappings":";;;AAiFA,gDAyEC;AApJD,qFAAkF;AAErE,QAAA,gBAAgB,GAAG;IAC9B,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6GAkC8F;IAC3G,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,EAAE,EAAE;gBACF,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,4BAA4B;aAC1C;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,2BAA2B;aACzC;YACD,aAAa,EAAE;gBACb,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;iBACf;gBACD,WAAW,EAAE,6CAA6C;aAC3D;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,uCAAuC;aACrD;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,iCAAiC;aAC/C;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,uCAAuC;gBACpD,OAAO,EAAE,KAAK;aACf;SACF;QACD,QAAQ,EAAE,CAAC,IAAI,CAAC;KACjB;CACO,CAAC;AAEJ,KAAK,UAAU,kBAAkB,CACtC,UAAsB,EACtB,IAAa;IAEb,MAAM,EACJ,EAAE,EACF,QAAQ,EACR,aAAa,EACb,IAAI,EACJ,MAAM,EACN,KAAK,GAAG,KAAK,GACd,GAAG,IAOH,CAAC;IAEF,IAAI,CAAC;QACH,2BAA2B;QAC3B,MAAM,cAAc,GAAG,MAAM,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QAC1D,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,0BAA0B,EAAE,aAAa;qBAChD;iBACF;aACF,CAAC;QACJ,CAAC;QAED,oEAAoE;QACpE,MAAM,aAAa,GAAkB;YACnC,GAAG,cAAc;YACjB,GAAG,CAAC,QAAQ,IAAI,EAAE,QAAQ,EAAE,QAAiC,EAAE,CAAC;YAChE,GAAG,CAAC,aAAa,IAAI,EAAE,aAAa,EAAE,CAAC;YACvC,GAAG,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,CAAC;YACrB,GAAG,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,MAA6B,EAAE,CAAC;SACzD,CAAC;QAEF,6BAA6B;QAC7B,IAAI,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;YACrB,MAAM,IAAA,mDAAwB,EAAC,aAAa,EAAE,UAAU,CAAC,CAAC;QAC5D,CAAC;QAED,0BAA0B;QAC1B,MAAM,UAAU,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QAE3C,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,gCAAgC,IAAI,CAAC,SAAS,CAClD,aAAa,EACb,IAAI,EACJ,CAAC,CACF,EAAE;iBACJ;aACF;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,0BAA0B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;iBACzF;aACF;SACF,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"updateObjectTool.js","sourceRoot":"","sources":["../../src/tools/updateObjectTool.ts"],"names":[],"mappings":";;;AAoFA,gDAmCC;AAlHY,QAAA,gBAAgB,GAAG;IAC9B,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6GAoC8F;IAC3G,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,EAAE,EAAE;gBACF,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,2BAA2B;aACzC;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,+BAA+B;aAC7C;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,2BAA2B;aACzC;YACD,aAAa,EAAE;gBACb,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;iBACf;gBACD,WAAW,EAAE,4CAA4C;aAC1D;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,sCAAsC;aACpD;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,gCAAgC;aAC9C;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,uCAAuC;gBACpD,OAAO,EAAE,KAAK;aACf;SACF;QACD,QAAQ,EAAE,CAAC,IAAI,CAAC;KACjB;CACO,CAAC;AAEJ,KAAK,UAAU,kBAAkB,CACtC,OAA2B,EAC3B,UAAsB,EACtB,IAAa,EACb,YAA0B;IAE1B,MAAM,EACJ,EAAE,EACF,KAAK,EACL,QAAQ,EACR,aAAa,EACb,IAAI,EACJ,MAAM,EACN,KAAK,GAAG,KAAK,GACd,GAAG,IAQH,CAAC;IAEF,OAAO,OAAO,CAAC,YAAY,CACzB,UAAU,EACV,YAAY,EACZ,EAAE,EACF,KAAK,EACL,QAAiC,EACjC,aAAa,EACb,IAAI,EACJ,MAA6B,EAC7B,KAAK,CACN,CAAC;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=checkHierarchicalPrerequisitesComplete.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkHierarchicalPrerequisitesComplete.test.d.ts","sourceRoot":"","sources":["../../../src/utils/__tests__/checkHierarchicalPrerequisitesComplete.test.ts"],"names":[],"mappings":""}