@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,12 +0,0 @@
1
- /**
2
- * Options for string replacement with regex
3
- */
4
- export interface ReplaceStringOptions {
5
- /** The regular expression pattern to match */
6
- regex: string;
7
- /** The replacement string (may contain backreferences like \1, \2, etc.) */
8
- replacement: string;
9
- /** Whether to allow multiple occurrences to be replaced. If false and multiple matches found, throws an error */
10
- allowMultipleOccurrences?: boolean;
11
- }
12
- //# sourceMappingURL=ReplaceStringOptions.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ReplaceStringOptions.d.ts","sourceRoot":"","sources":["../../src/utils/ReplaceStringOptions.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,8CAA8C;IAC9C,KAAK,EAAE,MAAM,CAAC;IACd,4EAA4E;IAC5E,WAAW,EAAE,MAAM,CAAC;IACpB,iHAAiH;IACjH,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACpC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ReplaceStringOptions.js","sourceRoot":"","sources":["../../src/utils/ReplaceStringOptions.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=replaceStringWithRegex.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"replaceStringWithRegex.test.d.ts","sourceRoot":"","sources":["../../../src/utils/__tests__/replaceStringWithRegex.test.ts"],"names":[],"mappings":""}
@@ -1,281 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const replaceStringWithRegex_1 = require("../replaceStringWithRegex");
4
- const MultipleMatchesError_1 = require("../MultipleMatchesError");
5
- describe("replaceStringWithRegex", () => {
6
- describe("basic functionality", () => {
7
- it("should replace simple string patterns", () => {
8
- const result = (0, replaceStringWithRegex_1.replaceStringWithRegex)("hello world", {
9
- regex: "world",
10
- replacement: "universe",
11
- });
12
- expect(result).toBe("hello universe");
13
- });
14
- it("should return original string when no matches found", () => {
15
- const input = "hello world";
16
- const result = (0, replaceStringWithRegex_1.replaceStringWithRegex)(input, {
17
- regex: "foo",
18
- replacement: "bar",
19
- });
20
- expect(result).toBe(input);
21
- });
22
- it("should handle empty replacement string", () => {
23
- const result = (0, replaceStringWithRegex_1.replaceStringWithRegex)("hello world", {
24
- regex: "world",
25
- replacement: "",
26
- });
27
- expect(result).toBe("hello ");
28
- });
29
- it("should handle special regex characters", () => {
30
- const result = (0, replaceStringWithRegex_1.replaceStringWithRegex)("Price: $10.99", {
31
- regex: "\\$\\d+\\.\\d+",
32
- replacement: "$25.00",
33
- });
34
- expect(result).toBe("Price: $25.00");
35
- });
36
- });
37
- describe("backreferences", () => {
38
- it("should handle backreferences with $1, $2 notation", () => {
39
- const result = (0, replaceStringWithRegex_1.replaceStringWithRegex)("John Doe", {
40
- regex: "(\\w+) (\\w+)",
41
- replacement: "$2, $1",
42
- });
43
- expect(result).toBe("Doe, John");
44
- });
45
- it("should handle multiple backreferences", () => {
46
- const result = (0, replaceStringWithRegex_1.replaceStringWithRegex)("2023-12-25", {
47
- regex: "(\\d{4})-(\\d{2})-(\\d{2})",
48
- replacement: "$2/$3/$1",
49
- });
50
- expect(result).toBe("12/25/2023");
51
- });
52
- it("should handle backreferences with surrounding text", () => {
53
- const result = (0, replaceStringWithRegex_1.replaceStringWithRegex)("function getName() {", {
54
- regex: "function (\\w+)\\(\\)",
55
- replacement: "const $1 = () =>",
56
- });
57
- expect(result).toBe("const getName = () => {");
58
- });
59
- });
60
- describe("multiline and dotall matching", () => {
61
- it("should match across multiple lines with dot", () => {
62
- const input = "start\nmiddle\nend";
63
- const result = (0, replaceStringWithRegex_1.replaceStringWithRegex)(input, {
64
- regex: "start.*end",
65
- replacement: "replaced",
66
- });
67
- expect(result).toBe("replaced");
68
- });
69
- it("should handle multiline strings with line anchors", () => {
70
- const input = "line1\nline2\nline3";
71
- const result = (0, replaceStringWithRegex_1.replaceStringWithRegex)(input, {
72
- regex: "^line2$",
73
- replacement: "newline2",
74
- });
75
- expect(result).toBe("line1\nnewline2\nline3");
76
- });
77
- it("should match patterns spanning multiple lines", () => {
78
- const input = "function test() {\n console.log('hello');\n}";
79
- const result = (0, replaceStringWithRegex_1.replaceStringWithRegex)(input, {
80
- regex: "function test\\(\\).*?}",
81
- replacement: "const test = () => { console.log('hi'); }",
82
- });
83
- expect(result).toBe("const test = () => { console.log('hi'); }");
84
- });
85
- });
86
- describe("multiple occurrences handling", () => {
87
- it("should throw error when multiple matches found and not allowed", () => {
88
- expect(() => {
89
- (0, replaceStringWithRegex_1.replaceStringWithRegex)("foo bar foo", {
90
- regex: "foo",
91
- replacement: "baz",
92
- });
93
- }).toThrow(MultipleMatchesError_1.MultipleMatchesError);
94
- });
95
- it("should provide detailed error message for multiple matches", () => {
96
- expect(() => {
97
- (0, replaceStringWithRegex_1.replaceStringWithRegex)("test test test", {
98
- regex: "test",
99
- replacement: "replaced",
100
- });
101
- }).toThrow('Found 3 matches for pattern "test" but allowMultipleOccurrences is false. ' +
102
- "Use allowMultipleOccurrences: true to replace all matches, or provide a more specific regex.");
103
- });
104
- it("should replace all occurrences when allowMultipleOccurrences is true", () => {
105
- const result = (0, replaceStringWithRegex_1.replaceStringWithRegex)("foo bar foo baz foo", {
106
- regex: "foo",
107
- replacement: "qux",
108
- allowMultipleOccurrences: true,
109
- });
110
- expect(result).toBe("qux bar qux baz qux");
111
- });
112
- it("should handle single match correctly regardless of allowMultipleOccurrences", () => {
113
- const result1 = (0, replaceStringWithRegex_1.replaceStringWithRegex)("unique pattern", {
114
- regex: "unique",
115
- replacement: "special",
116
- });
117
- const result2 = (0, replaceStringWithRegex_1.replaceStringWithRegex)("unique pattern", {
118
- regex: "unique",
119
- replacement: "special",
120
- allowMultipleOccurrences: true,
121
- });
122
- expect(result1).toBe("special pattern");
123
- expect(result2).toBe("special pattern");
124
- });
125
- it("should efficiently detect multiple matches in large strings without creating full array upfront", () => {
126
- // Create a large string with many matches to test performance optimization
127
- const pattern = "match";
128
- const largeString = Array(1000).fill(`${pattern} text`).join(" ");
129
- expect(() => {
130
- (0, replaceStringWithRegex_1.replaceStringWithRegex)(largeString, {
131
- regex: pattern,
132
- replacement: "replaced",
133
- });
134
- }).toThrow(MultipleMatchesError_1.MultipleMatchesError);
135
- // Verify the error message still contains correct count despite optimization
136
- expect(() => {
137
- (0, replaceStringWithRegex_1.replaceStringWithRegex)(largeString, {
138
- regex: pattern,
139
- replacement: "replaced",
140
- });
141
- }).toThrow(/Found 1000 matches for pattern/);
142
- });
143
- });
144
- describe("error handling", () => {
145
- it("should throw error for empty regex pattern", () => {
146
- expect(() => {
147
- (0, replaceStringWithRegex_1.replaceStringWithRegex)("test", {
148
- regex: "",
149
- replacement: "replaced",
150
- });
151
- }).toThrow("Regex pattern cannot be empty");
152
- });
153
- it("should throw error for invalid regex pattern", () => {
154
- expect(() => {
155
- (0, replaceStringWithRegex_1.replaceStringWithRegex)("test", {
156
- regex: "[invalid",
157
- replacement: "replaced",
158
- });
159
- }).toThrow("Invalid regex pattern:");
160
- });
161
- it("should handle regex with unmatched parentheses", () => {
162
- expect(() => {
163
- (0, replaceStringWithRegex_1.replaceStringWithRegex)("test", {
164
- regex: "(unmatched",
165
- replacement: "replaced",
166
- });
167
- }).toThrow("Invalid regex pattern:");
168
- });
169
- it("should handle regex with invalid quantifiers", () => {
170
- expect(() => {
171
- (0, replaceStringWithRegex_1.replaceStringWithRegex)("test", {
172
- regex: "*invalid",
173
- replacement: "replaced",
174
- });
175
- }).toThrow("Invalid regex pattern:");
176
- });
177
- });
178
- describe("edge cases", () => {
179
- it("should handle empty input string", () => {
180
- const result = (0, replaceStringWithRegex_1.replaceStringWithRegex)("", {
181
- regex: "anything",
182
- replacement: "something",
183
- });
184
- expect(result).toBe("");
185
- });
186
- it("should handle very long strings", () => {
187
- const longString = "a".repeat(10000) + "target" + "b".repeat(10000);
188
- const result = (0, replaceStringWithRegex_1.replaceStringWithRegex)(longString, {
189
- regex: "target",
190
- replacement: "replaced",
191
- });
192
- expect(result).toBe("a".repeat(10000) + "replaced" + "b".repeat(10000));
193
- });
194
- it("should handle unicode characters", () => {
195
- const result = (0, replaceStringWithRegex_1.replaceStringWithRegex)("Hello 🌍", {
196
- regex: "🌍",
197
- replacement: "🌎",
198
- });
199
- expect(result).toBe("Hello 🌎");
200
- });
201
- it("should handle regex with word boundaries", () => {
202
- const result = (0, replaceStringWithRegex_1.replaceStringWithRegex)("cat concatenate", {
203
- regex: "\\bcat\\b",
204
- replacement: "dog",
205
- });
206
- expect(result).toBe("dog concatenate");
207
- });
208
- it("should handle case-sensitive matching", () => {
209
- const result = (0, replaceStringWithRegex_1.replaceStringWithRegex)("Hello HELLO hello", {
210
- regex: "hello",
211
- replacement: "hi",
212
- allowMultipleOccurrences: true,
213
- });
214
- expect(result).toBe("Hello HELLO hi");
215
- });
216
- });
217
- describe("real-world scenarios", () => {
218
- it("should replace function declarations", () => {
219
- const code = "function calculate(a, b) { return a + b; }";
220
- const result = (0, replaceStringWithRegex_1.replaceStringWithRegex)(code, {
221
- regex: "function (\\w+)\\(([^)]*)\\)",
222
- replacement: "const $1 = ($2) =>",
223
- });
224
- expect(result).toBe("const calculate = (a, b) => { return a + b; }");
225
- });
226
- it("should replace import statements", () => {
227
- const code = 'import { foo } from "./bar";';
228
- const result = (0, replaceStringWithRegex_1.replaceStringWithRegex)(code, {
229
- regex: 'import \\{ ([^}]+) \\} from "([^"]+)";',
230
- replacement: 'const { $1 } = require("$2");',
231
- });
232
- expect(result).toBe('const { foo } = require("./bar");');
233
- });
234
- it("should replace console.log with custom logger", () => {
235
- const code = 'console.log("debug info"); console.log("more info");';
236
- const result = (0, replaceStringWithRegex_1.replaceStringWithRegex)(code, {
237
- regex: "console\\.log",
238
- replacement: "logger.debug",
239
- allowMultipleOccurrences: true,
240
- });
241
- expect(result).toBe('logger.debug("debug info"); logger.debug("more info");');
242
- });
243
- it("should replace CSS class names", () => {
244
- const css = ".old-class { color: red; } .another-old-class { font-size: 16px; }";
245
- const result = (0, replaceStringWithRegex_1.replaceStringWithRegex)(css, {
246
- regex: "\\.old-class\\b",
247
- replacement: ".new-class",
248
- allowMultipleOccurrences: true,
249
- });
250
- expect(result).toBe(".new-class { color: red; } .another-old-class { font-size: 16px; }");
251
- });
252
- it("should handle complex markdown replacements", () => {
253
- const markdown = "# Heading\n\n## Subheading\n\nSome text";
254
- const result = (0, replaceStringWithRegex_1.replaceStringWithRegex)(markdown, {
255
- regex: "^## (.+)$",
256
- replacement: "### $1",
257
- });
258
- expect(result).toBe("# Heading\n\n### Subheading\n\nSome text");
259
- });
260
- });
261
- describe("type checking", () => {
262
- it("should accept valid ReplaceStringOptions", () => {
263
- const options = {
264
- regex: "test",
265
- replacement: "replaced",
266
- allowMultipleOccurrences: false,
267
- };
268
- const result = (0, replaceStringWithRegex_1.replaceStringWithRegex)("test string", options);
269
- expect(result).toBe("replaced string");
270
- });
271
- it("should work with minimal options", () => {
272
- const options = {
273
- regex: "test",
274
- replacement: "replaced",
275
- };
276
- const result = (0, replaceStringWithRegex_1.replaceStringWithRegex)("test string", options);
277
- expect(result).toBe("replaced string");
278
- });
279
- });
280
- });
281
- //# sourceMappingURL=replaceStringWithRegex.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"replaceStringWithRegex.test.js","sourceRoot":"","sources":["../../../src/utils/__tests__/replaceStringWithRegex.test.ts"],"names":[],"mappings":";;AAAA,sEAAmE;AACnE,kEAA+D;AAG/D,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACnC,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;YAC/C,MAAM,MAAM,GAAG,IAAA,+CAAsB,EAAC,aAAa,EAAE;gBACnD,KAAK,EAAE,OAAO;gBACd,WAAW,EAAE,UAAU;aACxB,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;YAC7D,MAAM,KAAK,GAAG,aAAa,CAAC;YAC5B,MAAM,MAAM,GAAG,IAAA,+CAAsB,EAAC,KAAK,EAAE;gBAC3C,KAAK,EAAE,KAAK;gBACZ,WAAW,EAAE,KAAK;aACnB,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;YAChD,MAAM,MAAM,GAAG,IAAA,+CAAsB,EAAC,aAAa,EAAE;gBACnD,KAAK,EAAE,OAAO;gBACd,WAAW,EAAE,EAAE;aAChB,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;YAChD,MAAM,MAAM,GAAG,IAAA,+CAAsB,EAAC,eAAe,EAAE;gBACrD,KAAK,EAAE,gBAAgB;gBACvB,WAAW,EAAE,QAAQ;aACtB,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;QAC9B,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;YAC3D,MAAM,MAAM,GAAG,IAAA,+CAAsB,EAAC,UAAU,EAAE;gBAChD,KAAK,EAAE,eAAe;gBACtB,WAAW,EAAE,QAAQ;aACtB,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;YAC/C,MAAM,MAAM,GAAG,IAAA,+CAAsB,EAAC,YAAY,EAAE;gBAClD,KAAK,EAAE,4BAA4B;gBACnC,WAAW,EAAE,UAAU;aACxB,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;YAC5D,MAAM,MAAM,GAAG,IAAA,+CAAsB,EAAC,sBAAsB,EAAE;gBAC5D,KAAK,EAAE,uBAAuB;gBAC9B,WAAW,EAAE,kBAAkB;aAChC,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;QAC7C,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;YACrD,MAAM,KAAK,GAAG,oBAAoB,CAAC;YACnC,MAAM,MAAM,GAAG,IAAA,+CAAsB,EAAC,KAAK,EAAE;gBAC3C,KAAK,EAAE,YAAY;gBACnB,WAAW,EAAE,UAAU;aACxB,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;YAC3D,MAAM,KAAK,GAAG,qBAAqB,CAAC;YACpC,MAAM,MAAM,GAAG,IAAA,+CAAsB,EAAC,KAAK,EAAE;gBAC3C,KAAK,EAAE,SAAS;gBAChB,WAAW,EAAE,UAAU;aACxB,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;YACvD,MAAM,KAAK,GAAG,+CAA+C,CAAC;YAC9D,MAAM,MAAM,GAAG,IAAA,+CAAsB,EAAC,KAAK,EAAE;gBAC3C,KAAK,EAAE,yBAAyB;gBAChC,WAAW,EAAE,2CAA2C;aACzD,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;QAC7C,EAAE,CAAC,gEAAgE,EAAE,GAAG,EAAE;YACxE,MAAM,CAAC,GAAG,EAAE;gBACV,IAAA,+CAAsB,EAAC,aAAa,EAAE;oBACpC,KAAK,EAAE,KAAK;oBACZ,WAAW,EAAE,KAAK;iBACnB,CAAC,CAAC;YACL,CAAC,CAAC,CAAC,OAAO,CAAC,2CAAoB,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;YACpE,MAAM,CAAC,GAAG,EAAE;gBACV,IAAA,+CAAsB,EAAC,gBAAgB,EAAE;oBACvC,KAAK,EAAE,MAAM;oBACb,WAAW,EAAE,UAAU;iBACxB,CAAC,CAAC;YACL,CAAC,CAAC,CAAC,OAAO,CACR,4EAA4E;gBAC1E,8FAA8F,CACjG,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sEAAsE,EAAE,GAAG,EAAE;YAC9E,MAAM,MAAM,GAAG,IAAA,+CAAsB,EAAC,qBAAqB,EAAE;gBAC3D,KAAK,EAAE,KAAK;gBACZ,WAAW,EAAE,KAAK;gBAClB,wBAAwB,EAAE,IAAI;aAC/B,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6EAA6E,EAAE,GAAG,EAAE;YACrF,MAAM,OAAO,GAAG,IAAA,+CAAsB,EAAC,gBAAgB,EAAE;gBACvD,KAAK,EAAE,QAAQ;gBACf,WAAW,EAAE,SAAS;aACvB,CAAC,CAAC;YACH,MAAM,OAAO,GAAG,IAAA,+CAAsB,EAAC,gBAAgB,EAAE;gBACvD,KAAK,EAAE,QAAQ;gBACf,WAAW,EAAE,SAAS;gBACtB,wBAAwB,EAAE,IAAI;aAC/B,CAAC,CAAC;YACH,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YACxC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iGAAiG,EAAE,GAAG,EAAE;YACzG,2EAA2E;YAC3E,MAAM,OAAO,GAAG,OAAO,CAAC;YACxB,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAElE,MAAM,CAAC,GAAG,EAAE;gBACV,IAAA,+CAAsB,EAAC,WAAW,EAAE;oBAClC,KAAK,EAAE,OAAO;oBACd,WAAW,EAAE,UAAU;iBACxB,CAAC,CAAC;YACL,CAAC,CAAC,CAAC,OAAO,CAAC,2CAAoB,CAAC,CAAC;YAEjC,6EAA6E;YAC7E,MAAM,CAAC,GAAG,EAAE;gBACV,IAAA,+CAAsB,EAAC,WAAW,EAAE;oBAClC,KAAK,EAAE,OAAO;oBACd,WAAW,EAAE,UAAU;iBACxB,CAAC,CAAC;YACL,CAAC,CAAC,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;QAC9B,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;YACpD,MAAM,CAAC,GAAG,EAAE;gBACV,IAAA,+CAAsB,EAAC,MAAM,EAAE;oBAC7B,KAAK,EAAE,EAAE;oBACT,WAAW,EAAE,UAAU;iBACxB,CAAC,CAAC;YACL,CAAC,CAAC,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;YACtD,MAAM,CAAC,GAAG,EAAE;gBACV,IAAA,+CAAsB,EAAC,MAAM,EAAE;oBAC7B,KAAK,EAAE,UAAU;oBACjB,WAAW,EAAE,UAAU;iBACxB,CAAC,CAAC;YACL,CAAC,CAAC,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;YACxD,MAAM,CAAC,GAAG,EAAE;gBACV,IAAA,+CAAsB,EAAC,MAAM,EAAE;oBAC7B,KAAK,EAAE,YAAY;oBACnB,WAAW,EAAE,UAAU;iBACxB,CAAC,CAAC;YACL,CAAC,CAAC,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;YACtD,MAAM,CAAC,GAAG,EAAE;gBACV,IAAA,+CAAsB,EAAC,MAAM,EAAE;oBAC7B,KAAK,EAAE,UAAU;oBACjB,WAAW,EAAE,UAAU;iBACxB,CAAC,CAAC;YACL,CAAC,CAAC,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;QAC1B,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;YAC1C,MAAM,MAAM,GAAG,IAAA,+CAAsB,EAAC,EAAE,EAAE;gBACxC,KAAK,EAAE,UAAU;gBACjB,WAAW,EAAE,WAAW;aACzB,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;YACzC,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACpE,MAAM,MAAM,GAAG,IAAA,+CAAsB,EAAC,UAAU,EAAE;gBAChD,KAAK,EAAE,QAAQ;gBACf,WAAW,EAAE,UAAU;aACxB,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;YAC1C,MAAM,MAAM,GAAG,IAAA,+CAAsB,EAAC,UAAU,EAAE;gBAChD,KAAK,EAAE,IAAI;gBACX,WAAW,EAAE,IAAI;aAClB,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;YAClD,MAAM,MAAM,GAAG,IAAA,+CAAsB,EAAC,iBAAiB,EAAE;gBACvD,KAAK,EAAE,WAAW;gBAClB,WAAW,EAAE,KAAK;aACnB,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;YAC/C,MAAM,MAAM,GAAG,IAAA,+CAAsB,EAAC,mBAAmB,EAAE;gBACzD,KAAK,EAAE,OAAO;gBACd,WAAW,EAAE,IAAI;gBACjB,wBAAwB,EAAE,IAAI;aAC/B,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;QACpC,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;YAC9C,MAAM,IAAI,GAAG,4CAA4C,CAAC;YAC1D,MAAM,MAAM,GAAG,IAAA,+CAAsB,EAAC,IAAI,EAAE;gBAC1C,KAAK,EAAE,8BAA8B;gBACrC,WAAW,EAAE,oBAAoB;aAClC,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;YAC1C,MAAM,IAAI,GAAG,8BAA8B,CAAC;YAC5C,MAAM,MAAM,GAAG,IAAA,+CAAsB,EAAC,IAAI,EAAE;gBAC1C,KAAK,EAAE,wCAAwC;gBAC/C,WAAW,EAAE,+BAA+B;aAC7C,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;YACvD,MAAM,IAAI,GAAG,sDAAsD,CAAC;YACpE,MAAM,MAAM,GAAG,IAAA,+CAAsB,EAAC,IAAI,EAAE;gBAC1C,KAAK,EAAE,eAAe;gBACtB,WAAW,EAAE,cAAc;gBAC3B,wBAAwB,EAAE,IAAI;aAC/B,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CACjB,wDAAwD,CACzD,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;YACxC,MAAM,GAAG,GACP,oEAAoE,CAAC;YACvE,MAAM,MAAM,GAAG,IAAA,+CAAsB,EAAC,GAAG,EAAE;gBACzC,KAAK,EAAE,iBAAiB;gBACxB,WAAW,EAAE,YAAY;gBACzB,wBAAwB,EAAE,IAAI;aAC/B,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CACjB,oEAAoE,CACrE,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;YACrD,MAAM,QAAQ,GAAG,yCAAyC,CAAC;YAC3D,MAAM,MAAM,GAAG,IAAA,+CAAsB,EAAC,QAAQ,EAAE;gBAC9C,KAAK,EAAE,WAAW;gBAClB,WAAW,EAAE,QAAQ;aACtB,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC7B,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;YAClD,MAAM,OAAO,GAAyB;gBACpC,KAAK,EAAE,MAAM;gBACb,WAAW,EAAE,UAAU;gBACvB,wBAAwB,EAAE,KAAK;aAChC,CAAC;YACF,MAAM,MAAM,GAAG,IAAA,+CAAsB,EAAC,aAAa,EAAE,OAAO,CAAC,CAAC;YAC9D,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;YAC1C,MAAM,OAAO,GAAyB;gBACpC,KAAK,EAAE,MAAM;gBACb,WAAW,EAAE,UAAU;aACxB,CAAC;YACF,MAAM,MAAM,GAAG,IAAA,+CAAsB,EAAC,aAAa,EAAE,OAAO,CAAC,CAAC;YAC9D,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,45 +0,0 @@
1
- import { ReplaceStringOptions } from "./ReplaceStringOptions";
2
- /**
3
- * Replaces portions of a string using a regular expression pattern
4
- *
5
- * This function provides regex-based string replacement similar to Python's re.sub(),
6
- * with multiline and global matching capabilities. When allowMultipleOccurrences is false,
7
- * it will throw an error if the regex matches multiple times, helping prevent unintended
8
- * bulk replacements.
9
- *
10
- * @param input - The string to modify
11
- * @param options - Configuration object containing regex, replacement, and options
12
- * @returns The modified string
13
- * @throws {MultipleMatchesError} When multiple matches found but not allowed
14
- * @throws {Error} When regex pattern is invalid
15
- *
16
- * @example
17
- * ```typescript
18
- * // Simple replacement
19
- * replaceStringWithRegex("hello world", {
20
- * regex: "world",
21
- * replacement: "universe"
22
- * }); // "hello universe"
23
- *
24
- * // With backreferences
25
- * replaceStringWithRegex("John Doe", {
26
- * regex: "(\\w+) (\\w+)",
27
- * replacement: "$2, $1"
28
- * }); // "Doe, John"
29
- *
30
- * // Multiple matches with permission
31
- * replaceStringWithRegex("foo bar foo", {
32
- * regex: "foo",
33
- * replacement: "baz",
34
- * allowMultipleOccurrences: true
35
- * }); // "baz bar baz"
36
- *
37
- * // Multiple matches without permission (throws error)
38
- * replaceStringWithRegex("foo bar foo", {
39
- * regex: "foo",
40
- * replacement: "baz"
41
- * }); // throws MultipleMatchesError
42
- * ```
43
- */
44
- export declare function replaceStringWithRegex(input: string, options: ReplaceStringOptions): string;
45
- //# sourceMappingURL=replaceStringWithRegex.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"replaceStringWithRegex.d.ts","sourceRoot":"","sources":["../../src/utils/replaceStringWithRegex.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,oBAAoB,GAC5B,MAAM,CAgDR"}
@@ -1,91 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.replaceStringWithRegex = replaceStringWithRegex;
4
- const MultipleMatchesError_1 = require("./MultipleMatchesError");
5
- /**
6
- * Replaces portions of a string using a regular expression pattern
7
- *
8
- * This function provides regex-based string replacement similar to Python's re.sub(),
9
- * with multiline and global matching capabilities. When allowMultipleOccurrences is false,
10
- * it will throw an error if the regex matches multiple times, helping prevent unintended
11
- * bulk replacements.
12
- *
13
- * @param input - The string to modify
14
- * @param options - Configuration object containing regex, replacement, and options
15
- * @returns The modified string
16
- * @throws {MultipleMatchesError} When multiple matches found but not allowed
17
- * @throws {Error} When regex pattern is invalid
18
- *
19
- * @example
20
- * ```typescript
21
- * // Simple replacement
22
- * replaceStringWithRegex("hello world", {
23
- * regex: "world",
24
- * replacement: "universe"
25
- * }); // "hello universe"
26
- *
27
- * // With backreferences
28
- * replaceStringWithRegex("John Doe", {
29
- * regex: "(\\w+) (\\w+)",
30
- * replacement: "$2, $1"
31
- * }); // "Doe, John"
32
- *
33
- * // Multiple matches with permission
34
- * replaceStringWithRegex("foo bar foo", {
35
- * regex: "foo",
36
- * replacement: "baz",
37
- * allowMultipleOccurrences: true
38
- * }); // "baz bar baz"
39
- *
40
- * // Multiple matches without permission (throws error)
41
- * replaceStringWithRegex("foo bar foo", {
42
- * regex: "foo",
43
- * replacement: "baz"
44
- * }); // throws MultipleMatchesError
45
- * ```
46
- */
47
- function replaceStringWithRegex(input, options) {
48
- const { regex, replacement, allowMultipleOccurrences = false } = options;
49
- if (!regex) {
50
- throw new Error("Regex pattern cannot be empty");
51
- }
52
- let regexObj;
53
- try {
54
- // Create regex with global and multiline flags (similar to Python's DOTALL + multiline)
55
- // Using 's' flag for dotAll (. matches newlines) and 'm' flag for multiline
56
- regexObj = new RegExp(regex, "gsm");
57
- }
58
- catch (error) {
59
- const errorMessage = error instanceof Error ? error.message : String(error);
60
- throw new Error(`Invalid regex pattern: ${errorMessage}`);
61
- }
62
- // Efficiently check for matches without creating full array
63
- const matchIterator = input.matchAll(regexObj);
64
- const firstMatch = matchIterator.next();
65
- if (firstMatch.done) {
66
- // No matches, return original string
67
- return input;
68
- }
69
- // If we don't allow multiple occurrences, check if there's a second match
70
- if (!allowMultipleOccurrences) {
71
- const secondMatch = matchIterator.next();
72
- if (!secondMatch.done) {
73
- // We have at least 2 matches, need to count them all for the error
74
- // Reset and count all matches for accurate error reporting
75
- regexObj.lastIndex = 0;
76
- const allMatches = Array.from(input.matchAll(regexObj));
77
- throw new MultipleMatchesError_1.MultipleMatchesError(allMatches.length, regex);
78
- }
79
- }
80
- // Perform the replacement
81
- // Reset the regex since matchAll() affects the lastIndex
82
- regexObj.lastIndex = 0;
83
- try {
84
- return input.replace(regexObj, replacement);
85
- }
86
- catch (error) {
87
- const errorMessage = error instanceof Error ? error.message : String(error);
88
- throw new Error(`Error during replacement: ${errorMessage}`);
89
- }
90
- }
91
- //# sourceMappingURL=replaceStringWithRegex.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"replaceStringWithRegex.js","sourceRoot":"","sources":["../../src/utils/replaceStringWithRegex.ts"],"names":[],"mappings":";;AA6CA,wDAmDC;AAhGD,iEAA8D;AAG9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,SAAgB,sBAAsB,CACpC,KAAa,EACb,OAA6B;IAE7B,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,wBAAwB,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;IAEzE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,QAAgB,CAAC;IACrB,IAAI,CAAC;QACH,wFAAwF;QACxF,4EAA4E;QAC5E,QAAQ,GAAG,IAAI,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5E,MAAM,IAAI,KAAK,CAAC,0BAA0B,YAAY,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,4DAA4D;IAC5D,MAAM,aAAa,GAAG,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC/C,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC;IAExC,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;QACpB,qCAAqC;QACrC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,0EAA0E;IAC1E,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAC9B,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC;QACzC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;YACtB,mEAAmE;YACnE,2DAA2D;YAC3D,QAAQ,CAAC,SAAS,GAAG,CAAC,CAAC;YACvB,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;YACxD,MAAM,IAAI,2CAAoB,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAED,0BAA0B;IAC1B,yDAAyD;IACzD,QAAQ,CAAC,SAAS,GAAG,CAAC,CAAC;IAEvB,IAAI,CAAC;QACH,OAAO,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAC9C,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5E,MAAM,IAAI,KAAK,CAAC,6BAA6B,YAAY,EAAE,CAAC,CAAC;IAC/D,CAAC;AACH,CAAC"}