@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 +0,0 @@
1
- {"version":3,"file":"pruneClosedTool.test.js","sourceRoot":"","sources":["../../../src/tools/__tests__/pruneClosedTool.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=replaceObjectBodyRegexTool.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"replaceObjectBodyRegexTool.test.d.ts","sourceRoot":"","sources":["../../../src/tools/__tests__/replaceObjectBodyRegexTool.test.ts"],"names":[],"mappings":""}
@@ -1,258 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const models_1 = require("../../models");
4
- const replaceObjectBodyRegexTool_1 = require("../replaceObjectBodyRegexTool");
5
- describe("replaceObjectBodyRegexTool", () => {
6
- let mockRepository;
7
- beforeEach(() => {
8
- mockRepository = {
9
- getObjectById: jest.fn(),
10
- getObjects: jest.fn(),
11
- saveObject: jest.fn(),
12
- deleteObject: jest.fn(),
13
- };
14
- jest.clearAllMocks();
15
- });
16
- describe("handleReplaceObjectBodyRegex", () => {
17
- const mockTrellisObject = {
18
- id: "T-test-task",
19
- type: models_1.TrellisObjectType.TASK,
20
- title: "Test Task",
21
- status: models_1.TrellisObjectStatus.OPEN,
22
- priority: models_1.TrellisObjectPriority.MEDIUM,
23
- parent: "F-test-feature",
24
- prerequisites: [],
25
- affectedFiles: new Map(),
26
- log: [],
27
- schema: "1.0",
28
- childrenIds: [],
29
- body: "This is the old content that needs to be replaced with new content.",
30
- created: "2025-01-15T10:00:00Z",
31
- updated: "2025-01-15T10:00:00Z",
32
- };
33
- it("should successfully replace text using simple regex pattern", async () => {
34
- mockRepository.getObjectById.mockResolvedValue(mockTrellisObject);
35
- mockRepository.saveObject.mockResolvedValue();
36
- const result = await (0, replaceObjectBodyRegexTool_1.handleReplaceObjectBodyRegex)(mockRepository, {
37
- id: "T-test-task",
38
- regex: "old content",
39
- replacement: "new content",
40
- });
41
- const expectedUpdatedObject = {
42
- ...mockTrellisObject,
43
- body: "This is the new content that needs to be replaced with new content.",
44
- };
45
- expect(mockRepository.getObjectById).toHaveBeenCalledWith("T-test-task");
46
- expect(mockRepository.saveObject).toHaveBeenCalledWith(expectedUpdatedObject);
47
- expect(result.content[0].text).toContain('Successfully replaced content in object body using pattern "old content"');
48
- expect(result.content[0].text).toContain("T-test-task");
49
- });
50
- it("should successfully replace text using regex with backreferences", async () => {
51
- const objectWithNames = {
52
- ...mockTrellisObject,
53
- body: "Name: John Doe",
54
- };
55
- mockRepository.getObjectById.mockResolvedValue(objectWithNames);
56
- mockRepository.saveObject.mockResolvedValue();
57
- const result = await (0, replaceObjectBodyRegexTool_1.handleReplaceObjectBodyRegex)(mockRepository, {
58
- id: "T-test-task",
59
- regex: "Name: (\\w+) (\\w+)",
60
- replacement: "Name: $2, $1",
61
- });
62
- const expectedUpdatedObject = {
63
- ...objectWithNames,
64
- body: "Name: Doe, John",
65
- };
66
- expect(mockRepository.saveObject).toHaveBeenCalledWith(expectedUpdatedObject);
67
- expect(result.content[0].text).toContain("Successfully replaced content");
68
- });
69
- it("should handle multiline regex patterns", async () => {
70
- const objectWithMultilineContent = {
71
- ...mockTrellisObject,
72
- body: `Section A:
73
- This is old content
74
- that spans multiple lines
75
- End Section A`,
76
- };
77
- mockRepository.getObjectById.mockResolvedValue(objectWithMultilineContent);
78
- mockRepository.saveObject.mockResolvedValue();
79
- const result = await (0, replaceObjectBodyRegexTool_1.handleReplaceObjectBodyRegex)(mockRepository, {
80
- id: "T-test-task",
81
- regex: "Section A:.*?End Section A",
82
- replacement: "Section A:\nThis is new content\nEnd Section A",
83
- });
84
- const expectedUpdatedObject = {
85
- ...objectWithMultilineContent,
86
- body: "Section A:\nThis is new content\nEnd Section A",
87
- };
88
- expect(mockRepository.saveObject).toHaveBeenCalledWith(expectedUpdatedObject);
89
- expect(result.content[0].text).toContain("Successfully replaced content");
90
- });
91
- it("should allow multiple occurrences when specified", async () => {
92
- const objectWithRepeats = {
93
- ...mockTrellisObject,
94
- body: "Replace this word and also replace this word again.",
95
- };
96
- mockRepository.getObjectById.mockResolvedValue(objectWithRepeats);
97
- mockRepository.saveObject.mockResolvedValue();
98
- const result = await (0, replaceObjectBodyRegexTool_1.handleReplaceObjectBodyRegex)(mockRepository, {
99
- id: "T-test-task",
100
- regex: "replace",
101
- replacement: "update",
102
- allowMultipleOccurrences: true,
103
- });
104
- const expectedUpdatedObject = {
105
- ...objectWithRepeats,
106
- body: "Replace this word and also update this word again.",
107
- };
108
- expect(mockRepository.saveObject).toHaveBeenCalledWith(expectedUpdatedObject);
109
- expect(result.content[0].text).toContain("Successfully replaced content");
110
- });
111
- it("should reject multiple occurrences when not allowed", async () => {
112
- const objectWithRepeats = {
113
- ...mockTrellisObject,
114
- body: "test content and more test content",
115
- };
116
- mockRepository.getObjectById.mockResolvedValue(objectWithRepeats);
117
- const result = await (0, replaceObjectBodyRegexTool_1.handleReplaceObjectBodyRegex)(mockRepository, {
118
- id: "T-test-task",
119
- regex: "test",
120
- replacement: "demo",
121
- });
122
- expect(mockRepository.saveObject).not.toHaveBeenCalled();
123
- expect(result.content[0].text).toContain("Found 2 matches for pattern");
124
- expect(result.content[0].text).toContain("allowMultipleOccurrences is false");
125
- });
126
- it("should return error when object is not found", async () => {
127
- mockRepository.getObjectById.mockResolvedValue(null);
128
- const result = await (0, replaceObjectBodyRegexTool_1.handleReplaceObjectBodyRegex)(mockRepository, {
129
- id: "T-nonexistent",
130
- regex: "old",
131
- replacement: "new",
132
- });
133
- expect(mockRepository.getObjectById).toHaveBeenCalledWith("T-nonexistent");
134
- expect(mockRepository.saveObject).not.toHaveBeenCalled();
135
- expect(result.content[0].text).toBe("Error: Object with ID 'T-nonexistent' not found");
136
- });
137
- it("should return error when object has no body content", async () => {
138
- const objectWithoutBody = {
139
- ...mockTrellisObject,
140
- body: "",
141
- };
142
- mockRepository.getObjectById.mockResolvedValue(objectWithoutBody);
143
- const result = await (0, replaceObjectBodyRegexTool_1.handleReplaceObjectBodyRegex)(mockRepository, {
144
- id: "T-test-task",
145
- regex: "old",
146
- replacement: "new",
147
- });
148
- expect(mockRepository.saveObject).not.toHaveBeenCalled();
149
- expect(result.content[0].text).toBe("Error: Object with ID 'T-test-task' has no body content to replace");
150
- });
151
- it("should inform user when no matches are found", async () => {
152
- mockRepository.getObjectById.mockResolvedValue(mockTrellisObject);
153
- const result = await (0, replaceObjectBodyRegexTool_1.handleReplaceObjectBodyRegex)(mockRepository, {
154
- id: "T-test-task",
155
- regex: "nonexistent pattern",
156
- replacement: "new content",
157
- });
158
- expect(mockRepository.saveObject).not.toHaveBeenCalled();
159
- expect(result.content[0].text).toBe('No matches found for pattern "nonexistent pattern" in object body. Body remains unchanged.');
160
- });
161
- it("should handle invalid regex patterns gracefully", async () => {
162
- mockRepository.getObjectById.mockResolvedValue(mockTrellisObject);
163
- const result = await (0, replaceObjectBodyRegexTool_1.handleReplaceObjectBodyRegex)(mockRepository, {
164
- id: "T-test-task",
165
- regex: "[invalid regex",
166
- replacement: "new content",
167
- });
168
- expect(mockRepository.saveObject).not.toHaveBeenCalled();
169
- expect(result.content[0].text).toContain("Error replacing object body:");
170
- expect(result.content[0].text).toContain("Invalid regex pattern");
171
- });
172
- it("should handle repository errors gracefully", async () => {
173
- mockRepository.getObjectById.mockRejectedValue(new Error("Database connection failed"));
174
- const result = await (0, replaceObjectBodyRegexTool_1.handleReplaceObjectBodyRegex)(mockRepository, {
175
- id: "T-test-task",
176
- regex: "old",
177
- replacement: "new",
178
- });
179
- expect(result.content[0].text).toBe("Error replacing object body: Database connection failed");
180
- });
181
- it("should handle save errors gracefully", async () => {
182
- mockRepository.getObjectById.mockResolvedValue(mockTrellisObject);
183
- mockRepository.saveObject.mockRejectedValue(new Error("Failed to save"));
184
- const result = await (0, replaceObjectBodyRegexTool_1.handleReplaceObjectBodyRegex)(mockRepository, {
185
- id: "T-test-task",
186
- regex: "old content",
187
- replacement: "new content",
188
- });
189
- expect(result.content[0].text).toBe("Error replacing object body: Failed to save");
190
- });
191
- it("should handle empty regex pattern", async () => {
192
- mockRepository.getObjectById.mockResolvedValue(mockTrellisObject);
193
- const result = await (0, replaceObjectBodyRegexTool_1.handleReplaceObjectBodyRegex)(mockRepository, {
194
- id: "T-test-task",
195
- regex: "",
196
- replacement: "new content",
197
- });
198
- expect(mockRepository.saveObject).not.toHaveBeenCalled();
199
- expect(result.content[0].text).toContain("Regex pattern cannot be empty");
200
- });
201
- it("should preserve object metadata when updating body", async () => {
202
- mockRepository.getObjectById.mockResolvedValue(mockTrellisObject);
203
- mockRepository.saveObject.mockResolvedValue();
204
- await (0, replaceObjectBodyRegexTool_1.handleReplaceObjectBodyRegex)(mockRepository, {
205
- id: "T-test-task",
206
- regex: "old content",
207
- replacement: "new content",
208
- });
209
- const savedObject = mockRepository.saveObject.mock.calls[0][0];
210
- expect(savedObject.id).toBe(mockTrellisObject.id);
211
- expect(savedObject.type).toBe(mockTrellisObject.type);
212
- expect(savedObject.title).toBe(mockTrellisObject.title);
213
- expect(savedObject.status).toBe(mockTrellisObject.status);
214
- expect(savedObject.priority).toBe(mockTrellisObject.priority);
215
- expect(savedObject.prerequisites).toBe(mockTrellisObject.prerequisites);
216
- expect(savedObject.created).toBe(mockTrellisObject.created);
217
- expect(savedObject.updated).toBe(mockTrellisObject.updated);
218
- expect(savedObject.body).toBe("This is the new content that needs to be replaced with new content.");
219
- });
220
- it("should handle complex patterns with context", async () => {
221
- const objectWithSections = {
222
- ...mockTrellisObject,
223
- body: `# Header 1
224
- Some content here
225
-
226
- ## Section to Update
227
- Old implementation details
228
- End of section
229
-
230
- # Header 2
231
- Other content`,
232
- };
233
- mockRepository.getObjectById.mockResolvedValue(objectWithSections);
234
- mockRepository.saveObject.mockResolvedValue();
235
- const result = await (0, replaceObjectBodyRegexTool_1.handleReplaceObjectBodyRegex)(mockRepository, {
236
- id: "T-test-task",
237
- regex: "(## Section to Update\\s+).*?(\\s+End of section)",
238
- replacement: "$1New implementation details$2",
239
- });
240
- const expectedBody = `# Header 1
241
- Some content here
242
-
243
- ## Section to Update
244
- New implementation details
245
- End of section
246
-
247
- # Header 2
248
- Other content`;
249
- const expectedUpdatedObject = {
250
- ...objectWithSections,
251
- body: expectedBody,
252
- };
253
- expect(mockRepository.saveObject).toHaveBeenCalledWith(expectedUpdatedObject);
254
- expect(result.content[0].text).toContain("Successfully replaced content");
255
- });
256
- });
257
- });
258
- //# sourceMappingURL=replaceObjectBodyRegexTool.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"replaceObjectBodyRegexTool.test.js","sourceRoot":"","sources":["../../../src/tools/__tests__/replaceObjectBodyRegexTool.test.ts"],"names":[],"mappings":"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"}
@@ -1,26 +0,0 @@
1
- import { Repository } from "../repositories";
2
- export declare const pruneClosedTool: {
3
- readonly name: "prune_closed";
4
- readonly description: "Prunes closed objects from the task trellis system\n\nUse this tool for maintenance and cleanup of completed, cancelled, or otherwise closed objects that are no longer needed. Essential for system hygiene and performance optimization.\n\nPruning criteria:\n- 'age': Minimum age in minutes since object closure (required)\n- 'scope': Limit pruning to specific project or area (optional)\n- Objects must be in closed states (completed, cancelled, archived)\n- Objects must not have active dependencies or relationships\n\nSafety mechanisms:\n- Only removes truly closed objects (completed, cancelled, etc.)\n- Validates no active objects depend on pruned items\n- Preserves objects referenced by active work\n- Maintains referential integrity of remaining system\n\nCommon usage patterns:\n- Daily cleanup: age=1440 (24 hours)\n- Weekly maintenance: age=10080 (7 days) \n- Project closure: scope='project-name', age=4320 (3 days)\n- System cleanup: age=43200 (30 days)\n\nPruning benefits:\n- Reduces database size and improves query performance\n- Removes clutter from active task views\n- Prevents accumulation of obsolete work items\n- Maintains focus on current and relevant tasks\n\nUse regularly as part of system maintenance to keep the task trellis clean and performant. Consider project lifecycles and audit requirements when setting age thresholds.\n\nThis operation is permanent - pruned objects cannot be recovered.";
5
- readonly inputSchema: {
6
- readonly type: "object";
7
- readonly properties: {
8
- readonly scope: {
9
- readonly type: "string";
10
- readonly description: "Scope to prune objects from (optional)";
11
- };
12
- readonly age: {
13
- readonly type: "number";
14
- readonly description: "Age in minutes for objects to be considered for pruning";
15
- };
16
- };
17
- readonly required: readonly ["age"];
18
- };
19
- };
20
- export declare function handlePruneClosed(repository: Repository, args: unknown): Promise<{
21
- content: {
22
- type: string;
23
- text: string;
24
- }[];
25
- }>;
26
- //# sourceMappingURL=pruneClosedTool.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pruneClosedTool.d.ts","sourceRoot":"","sources":["../../src/tools/pruneClosedTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAG7C,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;CA+ClB,CAAC;AAEX,wBAAsB,iBAAiB,CAAC,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO;;;;;GA6D5E"}
@@ -1,106 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.pruneClosedTool = void 0;
4
- exports.handlePruneClosed = handlePruneClosed;
5
- const isClosed_1 = require("../models/isClosed");
6
- exports.pruneClosedTool = {
7
- name: "prune_closed",
8
- description: `Prunes closed objects from the task trellis system
9
-
10
- Use this tool for maintenance and cleanup of completed, cancelled, or otherwise closed objects that are no longer needed. Essential for system hygiene and performance optimization.
11
-
12
- Pruning criteria:
13
- - 'age': Minimum age in minutes since object closure (required)
14
- - 'scope': Limit pruning to specific project or area (optional)
15
- - Objects must be in closed states (completed, cancelled, archived)
16
- - Objects must not have active dependencies or relationships
17
-
18
- Safety mechanisms:
19
- - Only removes truly closed objects (completed, cancelled, etc.)
20
- - Validates no active objects depend on pruned items
21
- - Preserves objects referenced by active work
22
- - Maintains referential integrity of remaining system
23
-
24
- Common usage patterns:
25
- - Daily cleanup: age=1440 (24 hours)
26
- - Weekly maintenance: age=10080 (7 days)
27
- - Project closure: scope='project-name', age=4320 (3 days)
28
- - System cleanup: age=43200 (30 days)
29
-
30
- Pruning benefits:
31
- - Reduces database size and improves query performance
32
- - Removes clutter from active task views
33
- - Prevents accumulation of obsolete work items
34
- - Maintains focus on current and relevant tasks
35
-
36
- Use regularly as part of system maintenance to keep the task trellis clean and performant. Consider project lifecycles and audit requirements when setting age thresholds.
37
-
38
- This operation is permanent - pruned objects cannot be recovered.`,
39
- inputSchema: {
40
- type: "object",
41
- properties: {
42
- scope: {
43
- type: "string",
44
- description: "Scope to prune objects from (optional)",
45
- },
46
- age: {
47
- type: "number",
48
- description: "Age in minutes for objects to be considered for pruning",
49
- },
50
- },
51
- required: ["age"],
52
- },
53
- };
54
- async function handlePruneClosed(repository, args) {
55
- const { scope, age } = args;
56
- try {
57
- // Get all objects including closed ones
58
- const objects = await repository.getObjects(true, scope);
59
- // Filter to only closed objects
60
- const closedObjects = objects.filter(isClosed_1.isClosed);
61
- // Calculate cutoff time (age in minutes ago)
62
- const cutoffTime = new Date(Date.now() - age * 60 * 1000);
63
- // Filter to objects older than cutoff
64
- const objectsToDelete = closedObjects.filter((obj) => {
65
- const updatedTime = new Date(obj.updated);
66
- return updatedTime < cutoffTime;
67
- });
68
- // Delete each object
69
- const deletedIds = [];
70
- for (const obj of objectsToDelete) {
71
- try {
72
- await repository.deleteObject(obj.id, true);
73
- deletedIds.push(obj.id);
74
- }
75
- catch (error) {
76
- // Continue with other objects even if one fails
77
- console.error(`Failed to delete object ${obj.id}:`, error);
78
- }
79
- }
80
- const message = scope
81
- ? `Pruned ${deletedIds.length} closed objects older than ${age} minutes in scope ${scope}`
82
- : `Pruned ${deletedIds.length} closed objects older than ${age} minutes`;
83
- return {
84
- content: [
85
- {
86
- type: "text",
87
- text: `${message}${deletedIds.length > 0
88
- ? `
89
- Deleted objects: ${deletedIds.join(", ")}`
90
- : ""}`,
91
- },
92
- ],
93
- };
94
- }
95
- catch (error) {
96
- return {
97
- content: [
98
- {
99
- type: "text",
100
- text: `Error pruning closed objects: ${error instanceof Error ? error.message : String(error)}`,
101
- },
102
- ],
103
- };
104
- }
105
- }
106
- //# sourceMappingURL=pruneClosedTool.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pruneClosedTool.js","sourceRoot":"","sources":["../../src/tools/pruneClosedTool.ts"],"names":[],"mappings":";;;AAoDA,8CA6DC;AAhHD,iDAA8C;AAEjC,QAAA,eAAe,GAAG;IAC7B,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kEA8BmD;IAChE,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,wCAAwC;aACtD;YACD,GAAG,EAAE;gBACH,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,yDAAyD;aACvE;SACF;QACD,QAAQ,EAAE,CAAC,KAAK,CAAC;KAClB;CACO,CAAC;AAEJ,KAAK,UAAU,iBAAiB,CAAC,UAAsB,EAAE,IAAa;IAC3E,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,IAGtB,CAAC;IAEF,IAAI,CAAC;QACH,wCAAwC;QACxC,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAEzD,gCAAgC;QAChC,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,mBAAQ,CAAC,CAAC;QAE/C,6CAA6C;QAC7C,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QAE1D,sCAAsC;QACtC,MAAM,eAAe,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;YACnD,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC1C,OAAO,WAAW,GAAG,UAAU,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,qBAAqB;QACrB,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,KAAK,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;YAClC,IAAI,CAAC;gBACH,MAAM,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;gBAC5C,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC1B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,gDAAgD;gBAChD,OAAO,CAAC,KAAK,CAAC,2BAA2B,GAAG,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAG,KAAK;YACnB,CAAC,CAAC,UAAU,UAAU,CAAC,MAAM,8BAA8B,GAAG,qBAAqB,KAAK,EAAE;YAC1F,CAAC,CAAC,UAAU,UAAU,CAAC,MAAM,8BAA8B,GAAG,UAAU,CAAC;QAE3E,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,GAAG,OAAO,GACd,UAAU,CAAC,MAAM,GAAG,CAAC;wBACnB,CAAC,CAAC;mBACG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;wBAC5B,CAAC,CAAC,EACN,EAAE;iBACH;aACF;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,iCAAiC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;iBAChG;aACF;SACF,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -1,35 +0,0 @@
1
- import { Repository } from "../repositories";
2
- export declare const replaceObjectBodyRegexTool: {
3
- readonly name: "replace_object_body_regex";
4
- readonly description: "Replaces portions of an object's body using regular expressions\n\nUse this tool to make targeted edits to specific sections of an object's body content without recreating the entire text. This is safer and more efficient than wholesale body replacement for surgical text modifications.\n\nThe tool uses regex pattern matching with multiline and global capabilities, similar to Python's re.sub(). When allowMultipleOccurrences is false (default), it prevents unintended bulk replacements by throwing an error if multiple matches are found.\n\nRegex Features:\n- Multiline matching: patterns can span multiple lines\n- Dot-all mode: . matches newlines \n- Backreferences: use \\1, \\2, etc. in replacement text\n- Case-sensitive matching (use (?i) flag in pattern for case-insensitive)\n\nCommon use cases:\n- Update specific sections of documentation\n- Modify code snippets within object descriptions\n- Replace outdated information while preserving structure\n- Update specific parameters or values\n- Fix formatting or content errors in targeted areas\n\nSafety features:\n- Single-match enforcement (unless explicitly allowed)\n- Pattern validation before execution\n- Graceful error handling with detailed messages\n- Original content preservation on pattern mismatch\n\nExample patterns:\n- Simple text: \"old text\" → \"new text\"\n- With context: \"(section:\\s*)old content(\\s*end)\" → \"\\1new content\\2\" \n- Multi-line: \"BEGIN.*?END\" → \"BEGIN\\nnew content\\nEND\"\n- Backreferences: \"(\\w+) (\\w+)\" → \"\\2, \\1\"\n\nThe replacement preserves all object metadata and relationships while only modifying the body content that matches your pattern.";
5
- readonly inputSchema: {
6
- readonly type: "object";
7
- readonly properties: {
8
- readonly id: {
9
- readonly type: "string";
10
- readonly description: "ID of the object whose body should be modified";
11
- };
12
- readonly regex: {
13
- readonly type: "string";
14
- readonly description: "Regular expression pattern to match content in the body";
15
- };
16
- readonly replacement: {
17
- readonly type: "string";
18
- readonly description: "Replacement text (may contain backreferences like \\1, \\2, etc.)";
19
- };
20
- readonly allowMultipleOccurrences: {
21
- readonly type: "boolean";
22
- readonly description: "Allow replacing multiple pattern matches (defaults to false)";
23
- readonly default: false;
24
- };
25
- };
26
- readonly required: readonly ["id", "regex", "replacement"];
27
- };
28
- };
29
- export declare function handleReplaceObjectBodyRegex(repository: Repository, args: unknown): Promise<{
30
- content: {
31
- type: string;
32
- text: string;
33
- }[];
34
- }>;
35
- //# sourceMappingURL=replaceObjectBodyRegexTool.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"replaceObjectBodyRegexTool.d.ts","sourceRoot":"","sources":["../../src/tools/replaceObjectBodyRegexTool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAI7C,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;CA2D7B,CAAC;AAEX,wBAAsB,4BAA4B,CAChD,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,OAAO;;;;;GAiGd"}
@@ -1,145 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.replaceObjectBodyRegexTool = void 0;
4
- exports.handleReplaceObjectBodyRegex = handleReplaceObjectBodyRegex;
5
- const replaceStringWithRegex_1 = require("../utils/replaceStringWithRegex");
6
- const MultipleMatchesError_1 = require("../utils/MultipleMatchesError");
7
- exports.replaceObjectBodyRegexTool = {
8
- name: "replace_object_body_regex",
9
- description: `Replaces portions of an object's body using regular expressions
10
-
11
- Use this tool to make targeted edits to specific sections of an object's body content without recreating the entire text. This is safer and more efficient than wholesale body replacement for surgical text modifications.
12
-
13
- The tool uses regex pattern matching with multiline and global capabilities, similar to Python's re.sub(). When allowMultipleOccurrences is false (default), it prevents unintended bulk replacements by throwing an error if multiple matches are found.
14
-
15
- Regex Features:
16
- - Multiline matching: patterns can span multiple lines
17
- - Dot-all mode: . matches newlines
18
- - Backreferences: use \\1, \\2, etc. in replacement text
19
- - Case-sensitive matching (use (?i) flag in pattern for case-insensitive)
20
-
21
- Common use cases:
22
- - Update specific sections of documentation
23
- - Modify code snippets within object descriptions
24
- - Replace outdated information while preserving structure
25
- - Update specific parameters or values
26
- - Fix formatting or content errors in targeted areas
27
-
28
- Safety features:
29
- - Single-match enforcement (unless explicitly allowed)
30
- - Pattern validation before execution
31
- - Graceful error handling with detailed messages
32
- - Original content preservation on pattern mismatch
33
-
34
- Example patterns:
35
- - Simple text: "old text" → "new text"
36
- - With context: "(section:\\s*)old content(\\s*end)" → "\\1new content\\2"
37
- - Multi-line: "BEGIN.*?END" → "BEGIN\\nnew content\\nEND"
38
- - Backreferences: "(\\w+) (\\w+)" → "\\2, \\1"
39
-
40
- The replacement preserves all object metadata and relationships while only modifying the body content that matches your pattern.`,
41
- inputSchema: {
42
- type: "object",
43
- properties: {
44
- id: {
45
- type: "string",
46
- description: "ID of the object whose body should be modified",
47
- },
48
- regex: {
49
- type: "string",
50
- description: "Regular expression pattern to match content in the body",
51
- },
52
- replacement: {
53
- type: "string",
54
- description: "Replacement text (may contain backreferences like \\1, \\2, etc.)",
55
- },
56
- allowMultipleOccurrences: {
57
- type: "boolean",
58
- description: "Allow replacing multiple pattern matches (defaults to false)",
59
- default: false,
60
- },
61
- },
62
- required: ["id", "regex", "replacement"],
63
- },
64
- };
65
- async function handleReplaceObjectBodyRegex(repository, args) {
66
- const { id, regex, replacement, allowMultipleOccurrences = false, } = args;
67
- try {
68
- // Load the existing object
69
- const existingObject = await repository.getObjectById(id);
70
- if (!existingObject) {
71
- return {
72
- content: [
73
- {
74
- type: "text",
75
- text: `Error: Object with ID '${id}' not found`,
76
- },
77
- ],
78
- };
79
- }
80
- // Check if the object has a body to replace
81
- if (!existingObject.body) {
82
- return {
83
- content: [
84
- {
85
- type: "text",
86
- text: `Error: Object with ID '${id}' has no body content to replace`,
87
- },
88
- ],
89
- };
90
- }
91
- // Perform the regex replacement on the body
92
- const updatedBody = (0, replaceStringWithRegex_1.replaceStringWithRegex)(existingObject.body, {
93
- regex,
94
- replacement,
95
- allowMultipleOccurrences,
96
- });
97
- // If the body didn't change, inform the user
98
- if (updatedBody === existingObject.body) {
99
- return {
100
- content: [
101
- {
102
- type: "text",
103
- text: `No matches found for pattern "${regex}" in object body. Body remains unchanged.`,
104
- },
105
- ],
106
- };
107
- }
108
- // Create updated object with the new body
109
- const updatedObject = {
110
- ...existingObject,
111
- body: updatedBody,
112
- };
113
- // Save the updated object
114
- await repository.saveObject(updatedObject);
115
- return {
116
- content: [
117
- {
118
- type: "text",
119
- text: `Successfully replaced content in object body using pattern "${regex}". Object ID: ${id}`,
120
- },
121
- ],
122
- };
123
- }
124
- catch (error) {
125
- if (error instanceof MultipleMatchesError_1.MultipleMatchesError) {
126
- return {
127
- content: [
128
- {
129
- type: "text",
130
- text: `Error: ${error.message}`,
131
- },
132
- ],
133
- };
134
- }
135
- return {
136
- content: [
137
- {
138
- type: "text",
139
- text: `Error replacing object body: ${error instanceof Error ? error.message : String(error)}`,
140
- },
141
- ],
142
- };
143
- }
144
- }
145
- //# sourceMappingURL=replaceObjectBodyRegexTool.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"replaceObjectBodyRegexTool.js","sourceRoot":"","sources":["../../src/tools/replaceObjectBodyRegexTool.ts"],"names":[],"mappings":"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"}