@langadventurellc/task-trellis-mcp 1.1.0 → 1.2.1

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 (262) hide show
  1. package/README.md +37 -323
  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 +34 -34
  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 +561 -42
  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 +1 -1
  37. package/dist/__tests__/e2e/utils/extractObjectIds.js +1 -1
  38. package/dist/__tests__/e2e/utils/mcpTestClient.d.ts.map +1 -1
  39. package/dist/__tests__/e2e/utils/mcpTestClient.js +3 -2
  40. package/dist/__tests__/e2e/utils/mcpTestClient.js.map +1 -1
  41. package/dist/__tests__/e2e/utils/parseListObjectsResponse.d.ts +1 -1
  42. package/dist/__tests__/e2e/utils/parseListObjectsResponse.js +1 -1
  43. package/dist/__tests__/e2e/utils/parseUpdateObjectResponse.d.ts +1 -1
  44. package/dist/__tests__/e2e/utils/parseUpdateObjectResponse.js +1 -1
  45. package/dist/__tests__/e2e/workflow/appendLog.e2e.test.js +4 -4
  46. package/dist/__tests__/e2e/workflow/appendLog.e2e.test.js.map +1 -1
  47. package/dist/__tests__/e2e/workflow/appendModifiedFiles.e2e.test.js +15 -15
  48. package/dist/__tests__/e2e/workflow/appendModifiedFiles.e2e.test.js.map +1 -1
  49. package/dist/__tests__/e2e/workflow/claimTask.e2e.test.js +44 -0
  50. package/dist/__tests__/e2e/workflow/claimTask.e2e.test.js.map +1 -1
  51. package/dist/__tests__/e2e/workflow/completeTask.e2e.test.js +4 -4
  52. package/dist/__tests__/e2e/workflow/completeTask.e2e.test.js.map +1 -1
  53. package/dist/__tests__/e2e/workflow/prerequisites.e2e.test.js +43 -43
  54. package/dist/__tests__/e2e/workflow/prerequisites.e2e.test.js.map +1 -1
  55. package/dist/__tests__/e2e/workflow/taskLifecycle.e2e.test.js +19 -19
  56. package/dist/__tests__/e2e/workflow/taskLifecycle.e2e.test.js.map +1 -1
  57. package/dist/__tests__/serverStartup.test.d.ts +2 -0
  58. package/dist/__tests__/serverStartup.test.d.ts.map +1 -0
  59. package/dist/__tests__/serverStartup.test.js +171 -0
  60. package/dist/__tests__/serverStartup.test.js.map +1 -0
  61. package/dist/configuration/ServerConfig.d.ts +2 -1
  62. package/dist/configuration/ServerConfig.d.ts.map +1 -1
  63. package/dist/repositories/Repository.d.ts +2 -1
  64. package/dist/repositories/Repository.d.ts.map +1 -1
  65. package/dist/repositories/local/LocalRepository.d.ts +2 -1
  66. package/dist/repositories/local/LocalRepository.d.ts.map +1 -1
  67. package/dist/repositories/local/LocalRepository.js +4 -0
  68. package/dist/repositories/local/LocalRepository.js.map +1 -1
  69. package/dist/repositories/local/__tests__/getChildrenOf.test.d.ts +2 -0
  70. package/dist/repositories/local/__tests__/getChildrenOf.test.d.ts.map +1 -0
  71. package/dist/repositories/local/__tests__/getChildrenOf.test.js +306 -0
  72. package/dist/repositories/local/__tests__/getChildrenOf.test.js.map +1 -0
  73. package/dist/repositories/local/__tests__/getObjects.test.js +309 -0
  74. package/dist/repositories/local/__tests__/getObjects.test.js.map +1 -1
  75. package/dist/repositories/local/deleteObjectById.d.ts.map +1 -1
  76. package/dist/repositories/local/deleteObjectById.js +2 -0
  77. package/dist/repositories/local/deleteObjectById.js.map +1 -1
  78. package/dist/repositories/local/getChildrenOf.d.ts +11 -0
  79. package/dist/repositories/local/getChildrenOf.d.ts.map +1 -0
  80. package/dist/repositories/local/getChildrenOf.js +73 -0
  81. package/dist/repositories/local/getChildrenOf.js.map +1 -0
  82. package/dist/repositories/local/getObjects.d.ts +1 -1
  83. package/dist/repositories/local/getObjects.d.ts.map +1 -1
  84. package/dist/repositories/local/getObjects.js +25 -6
  85. package/dist/repositories/local/getObjects.js.map +1 -1
  86. package/dist/server.js +39 -15
  87. package/dist/server.js.map +1 -1
  88. package/dist/services/TaskTrellisService.d.ts +4 -13
  89. package/dist/services/TaskTrellisService.d.ts.map +1 -1
  90. package/dist/services/local/LocalTaskTrellisService.d.ts +3 -9
  91. package/dist/services/local/LocalTaskTrellisService.d.ts.map +1 -1
  92. package/dist/services/local/LocalTaskTrellisService.js +4 -8
  93. package/dist/services/local/LocalTaskTrellisService.js.map +1 -1
  94. package/dist/services/local/__tests__/appendModifiedFiles.test.js +1 -0
  95. package/dist/services/local/__tests__/appendModifiedFiles.test.js.map +1 -1
  96. package/dist/services/local/__tests__/appendObjectLog.test.js +1 -0
  97. package/dist/services/local/__tests__/appendObjectLog.test.js.map +1 -1
  98. package/dist/services/local/__tests__/claimTask.test.js +127 -131
  99. package/dist/services/local/__tests__/claimTask.test.js.map +1 -1
  100. package/dist/services/local/__tests__/completeTask.test.js +30 -28
  101. package/dist/services/local/__tests__/completeTask.test.js.map +1 -1
  102. package/dist/services/local/__tests__/createObject.test.js +1 -0
  103. package/dist/services/local/__tests__/createObject.test.js.map +1 -1
  104. package/dist/services/local/__tests__/listObjects.test.js +135 -10
  105. package/dist/services/local/__tests__/listObjects.test.js.map +1 -1
  106. package/dist/services/local/__tests__/pruneClosed.test.js +446 -186
  107. package/dist/services/local/__tests__/pruneClosed.test.js.map +1 -1
  108. package/dist/services/local/__tests__/updateObject.test.js +234 -27
  109. package/dist/services/local/__tests__/updateObject.test.js.map +1 -1
  110. package/dist/services/local/claimTask.d.ts.map +1 -1
  111. package/dist/services/local/claimTask.js +25 -34
  112. package/dist/services/local/claimTask.js.map +1 -1
  113. package/dist/services/local/completeTask.d.ts +1 -1
  114. package/dist/services/local/completeTask.d.ts.map +1 -1
  115. package/dist/services/local/completeTask.js +4 -40
  116. package/dist/services/local/completeTask.js.map +1 -1
  117. package/dist/services/local/listObjects.d.ts +1 -1
  118. package/dist/services/local/listObjects.d.ts.map +1 -1
  119. package/dist/services/local/listObjects.js +10 -1
  120. package/dist/services/local/listObjects.js.map +1 -1
  121. package/dist/services/local/pruneClosed.d.ts.map +1 -1
  122. package/dist/services/local/pruneClosed.js +63 -6
  123. package/dist/services/local/pruneClosed.js.map +1 -1
  124. package/dist/services/local/updateObject.d.ts +2 -1
  125. package/dist/services/local/updateObject.d.ts.map +1 -1
  126. package/dist/services/local/updateObject.js +28 -1
  127. package/dist/services/local/updateObject.js.map +1 -1
  128. package/dist/tools/__tests__/appendModifiedFilesTool.test.js +1 -0
  129. package/dist/tools/__tests__/appendModifiedFilesTool.test.js.map +1 -1
  130. package/dist/tools/__tests__/appendObjectLogTool.test.js +1 -0
  131. package/dist/tools/__tests__/appendObjectLogTool.test.js.map +1 -1
  132. package/dist/tools/__tests__/claimTaskTool.test.js +1 -1
  133. package/dist/tools/__tests__/claimTaskTool.test.js.map +1 -1
  134. package/dist/tools/__tests__/completeTaskTool.test.js +23 -16
  135. package/dist/tools/__tests__/completeTaskTool.test.js.map +1 -1
  136. package/dist/tools/__tests__/createObjectTool.test.js +1 -0
  137. package/dist/tools/__tests__/createObjectTool.test.js.map +1 -1
  138. package/dist/tools/__tests__/deleteObjectTool.test.js +1 -0
  139. package/dist/tools/__tests__/deleteObjectTool.test.js.map +1 -1
  140. package/dist/tools/__tests__/getObjectTool.test.js +1 -0
  141. package/dist/tools/__tests__/getObjectTool.test.js.map +1 -1
  142. package/dist/tools/__tests__/listObjectsTool.test.js +160 -1
  143. package/dist/tools/__tests__/listObjectsTool.test.js.map +1 -1
  144. package/dist/tools/__tests__/updateObjectTool.test.js +39 -10
  145. package/dist/tools/__tests__/updateObjectTool.test.js.map +1 -1
  146. package/dist/tools/appendModifiedFilesTool.d.ts +2 -2
  147. package/dist/tools/appendModifiedFilesTool.js +4 -4
  148. package/dist/tools/appendModifiedFilesTool.js.map +1 -1
  149. package/dist/tools/appendObjectLogTool.d.ts +3 -3
  150. package/dist/tools/appendObjectLogTool.js +4 -4
  151. package/dist/tools/appendObjectLogTool.js.map +1 -1
  152. package/dist/tools/completeTaskTool.d.ts +1 -1
  153. package/dist/tools/completeTaskTool.d.ts.map +1 -1
  154. package/dist/tools/completeTaskTool.js +1 -1
  155. package/dist/tools/completeTaskTool.js.map +1 -1
  156. package/dist/tools/createObjectTool.d.ts +8 -8
  157. package/dist/tools/createObjectTool.js +13 -13
  158. package/dist/tools/createObjectTool.js.map +1 -1
  159. package/dist/tools/deleteObjectTool.d.ts +3 -3
  160. package/dist/tools/deleteObjectTool.js +12 -12
  161. package/dist/tools/deleteObjectTool.js.map +1 -1
  162. package/dist/tools/getObjectTool.d.ts +3 -3
  163. package/dist/tools/getObjectTool.d.ts.map +1 -1
  164. package/dist/tools/getObjectTool.js +12 -7
  165. package/dist/tools/getObjectTool.js.map +1 -1
  166. package/dist/tools/index.d.ts +7 -9
  167. package/dist/tools/index.d.ts.map +1 -1
  168. package/dist/tools/index.js +22 -28
  169. package/dist/tools/index.js.map +1 -1
  170. package/dist/tools/listObjectsTool.d.ts +20 -11
  171. package/dist/tools/listObjectsTool.d.ts.map +1 -1
  172. package/dist/tools/listObjectsTool.js +112 -40
  173. package/dist/tools/listObjectsTool.js.map +1 -1
  174. package/dist/tools/updateObjectTool.d.ts +12 -7
  175. package/dist/tools/updateObjectTool.d.ts.map +1 -1
  176. package/dist/tools/updateObjectTool.js +20 -14
  177. package/dist/tools/updateObjectTool.js.map +1 -1
  178. package/dist/utils/__tests__/checkHierarchicalPrerequisitesComplete.test.d.ts +2 -0
  179. package/dist/utils/__tests__/checkHierarchicalPrerequisitesComplete.test.d.ts.map +1 -0
  180. package/dist/utils/__tests__/checkHierarchicalPrerequisitesComplete.test.js +206 -0
  181. package/dist/utils/__tests__/checkHierarchicalPrerequisitesComplete.test.js.map +1 -0
  182. package/dist/utils/__tests__/checkPrerequisitesComplete.test.js +5 -0
  183. package/dist/utils/__tests__/checkPrerequisitesComplete.test.js.map +1 -1
  184. package/dist/utils/__tests__/filterUnavailableObjects.test.js +51 -25
  185. package/dist/utils/__tests__/filterUnavailableObjects.test.js.map +1 -1
  186. package/dist/utils/__tests__/isRequiredForOtherObjects.test.js +5 -0
  187. package/dist/utils/__tests__/isRequiredForOtherObjects.test.js.map +1 -1
  188. package/dist/utils/__tests__/updateParentHierarchy.test.d.ts +2 -0
  189. package/dist/utils/__tests__/updateParentHierarchy.test.d.ts.map +1 -0
  190. package/dist/utils/__tests__/updateParentHierarchy.test.js +137 -0
  191. package/dist/utils/__tests__/updateParentHierarchy.test.js.map +1 -0
  192. package/dist/utils/autoCompleteParentHierarchy.d.ts +11 -0
  193. package/dist/utils/autoCompleteParentHierarchy.d.ts.map +1 -0
  194. package/dist/utils/autoCompleteParentHierarchy.js +49 -0
  195. package/dist/utils/autoCompleteParentHierarchy.js.map +1 -0
  196. package/dist/utils/checkHierarchicalPrerequisitesComplete.d.ts +14 -0
  197. package/dist/utils/checkHierarchicalPrerequisitesComplete.d.ts.map +1 -0
  198. package/dist/utils/checkHierarchicalPrerequisitesComplete.js +47 -0
  199. package/dist/utils/checkHierarchicalPrerequisitesComplete.js.map +1 -0
  200. package/dist/utils/filterUnavailableObjects.d.ts +6 -4
  201. package/dist/utils/filterUnavailableObjects.d.ts.map +1 -1
  202. package/dist/utils/filterUnavailableObjects.js +16 -22
  203. package/dist/utils/filterUnavailableObjects.js.map +1 -1
  204. package/dist/utils/index.d.ts +3 -2
  205. package/dist/utils/index.d.ts.map +1 -1
  206. package/dist/utils/index.js +7 -3
  207. package/dist/utils/index.js.map +1 -1
  208. package/dist/utils/updateParentHierarchy.d.ts +11 -0
  209. package/dist/utils/updateParentHierarchy.d.ts.map +1 -0
  210. package/dist/utils/updateParentHierarchy.js +40 -0
  211. package/dist/utils/updateParentHierarchy.js.map +1 -0
  212. package/dist/validation/__tests__/validateObjectCreation.test.js +1 -0
  213. package/dist/validation/__tests__/validateObjectCreation.test.js.map +1 -1
  214. package/dist/validation/__tests__/validateParentExists.test.js +1 -0
  215. package/dist/validation/__tests__/validateParentExists.test.js.map +1 -1
  216. package/dist/validation/__tests__/validateStatusTransition.test.js +1 -0
  217. package/dist/validation/__tests__/validateStatusTransition.test.js.map +1 -1
  218. package/package.json +1 -1
  219. package/dist/__tests__/e2e/crud/replaceObjectBodyRegex.e2e.test.d.ts +0 -2
  220. package/dist/__tests__/e2e/crud/replaceObjectBodyRegex.e2e.test.d.ts.map +0 -1
  221. package/dist/__tests__/e2e/crud/replaceObjectBodyRegex.e2e.test.js +0 -693
  222. package/dist/__tests__/e2e/crud/replaceObjectBodyRegex.e2e.test.js.map +0 -1
  223. package/dist/__tests__/e2e/workflow/pruneClosed.e2e.test.d.ts +0 -2
  224. package/dist/__tests__/e2e/workflow/pruneClosed.e2e.test.d.ts.map +0 -1
  225. package/dist/__tests__/e2e/workflow/pruneClosed.e2e.test.js +0 -352
  226. package/dist/__tests__/e2e/workflow/pruneClosed.e2e.test.js.map +0 -1
  227. package/dist/services/local/__tests__/replaceObjectBodyRegex.test.d.ts +0 -2
  228. package/dist/services/local/__tests__/replaceObjectBodyRegex.test.d.ts.map +0 -1
  229. package/dist/services/local/__tests__/replaceObjectBodyRegex.test.js +0 -283
  230. package/dist/services/local/__tests__/replaceObjectBodyRegex.test.js.map +0 -1
  231. package/dist/services/local/replaceObjectBodyRegex.d.ts +0 -8
  232. package/dist/services/local/replaceObjectBodyRegex.d.ts.map +0 -1
  233. package/dist/services/local/replaceObjectBodyRegex.js +0 -85
  234. package/dist/services/local/replaceObjectBodyRegex.js.map +0 -1
  235. package/dist/tools/__tests__/pruneClosedTool.test.d.ts +0 -2
  236. package/dist/tools/__tests__/pruneClosedTool.test.d.ts.map +0 -1
  237. package/dist/tools/__tests__/pruneClosedTool.test.js +0 -112
  238. package/dist/tools/__tests__/pruneClosedTool.test.js.map +0 -1
  239. package/dist/tools/__tests__/replaceObjectBodyRegexTool.test.d.ts +0 -2
  240. package/dist/tools/__tests__/replaceObjectBodyRegexTool.test.d.ts.map +0 -1
  241. package/dist/tools/__tests__/replaceObjectBodyRegexTool.test.js +0 -89
  242. package/dist/tools/__tests__/replaceObjectBodyRegexTool.test.js.map +0 -1
  243. package/dist/tools/pruneClosedTool.d.ts +0 -27
  244. package/dist/tools/pruneClosedTool.d.ts.map +0 -1
  245. package/dist/tools/pruneClosedTool.js +0 -57
  246. package/dist/tools/pruneClosedTool.js.map +0 -1
  247. package/dist/tools/replaceObjectBodyRegexTool.d.ts +0 -36
  248. package/dist/tools/replaceObjectBodyRegexTool.d.ts.map +0 -1
  249. package/dist/tools/replaceObjectBodyRegexTool.js +0 -67
  250. package/dist/tools/replaceObjectBodyRegexTool.js.map +0 -1
  251. package/dist/utils/ReplaceStringOptions.d.ts +0 -12
  252. package/dist/utils/ReplaceStringOptions.d.ts.map +0 -1
  253. package/dist/utils/ReplaceStringOptions.js +0 -3
  254. package/dist/utils/ReplaceStringOptions.js.map +0 -1
  255. package/dist/utils/__tests__/replaceStringWithRegex.test.d.ts +0 -2
  256. package/dist/utils/__tests__/replaceStringWithRegex.test.d.ts.map +0 -1
  257. package/dist/utils/__tests__/replaceStringWithRegex.test.js +0 -281
  258. package/dist/utils/__tests__/replaceStringWithRegex.test.js.map +0 -1
  259. package/dist/utils/replaceStringWithRegex.d.ts +0 -45
  260. package/dist/utils/replaceStringWithRegex.d.ts.map +0 -1
  261. package/dist/utils/replaceStringWithRegex.js +0 -91
  262. package/dist/utils/replaceStringWithRegex.js.map +0 -1
@@ -3,8 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.claimTask = claimTask;
4
4
  const models_1 = require("../../models");
5
5
  const checkPrerequisitesComplete_1 = require("../../utils/checkPrerequisitesComplete");
6
+ const checkHierarchicalPrerequisitesComplete_1 = require("../../utils/checkHierarchicalPrerequisitesComplete");
6
7
  const filterUnavailableObjects_1 = require("../../utils/filterUnavailableObjects");
7
8
  const sortTrellisObjects_1 = require("../../utils/sortTrellisObjects");
9
+ const updateParentHierarchy_1 = require("../../utils/updateParentHierarchy");
8
10
  async function claimTask(repository, scope, taskId, force = false) {
9
11
  try {
10
12
  let claimedTask;
@@ -19,7 +21,10 @@ async function claimTask(repository, scope, taskId, force = false) {
19
21
  content: [
20
22
  {
21
23
  type: "text",
22
- text: `Successfully claimed task: ${JSON.stringify(updatedTask, null, 2)}`,
24
+ text: `Successfully claimed task: ${JSON.stringify({
25
+ ...updatedTask,
26
+ affectedFiles: Object.fromEntries(updatedTask.affectedFiles),
27
+ }, null, 2)}`,
23
28
  },
24
29
  ],
25
30
  };
@@ -47,7 +52,7 @@ async function findNextAvailableTask(scope, repository) {
47
52
  const objects = await repository.getObjects(false, // includeClosed
48
53
  scope, models_1.TrellisObjectType.TASK);
49
54
  // Filter to get only available tasks
50
- const availableTasks = (0, filterUnavailableObjects_1.filterUnavailableObjects)(objects);
55
+ const availableTasks = await (0, filterUnavailableObjects_1.filterUnavailableObjects)(objects, repository);
51
56
  if (availableTasks.length === 0) {
52
57
  throw new Error("No available tasks to claim");
53
58
  }
@@ -63,13 +68,19 @@ async function updateTaskStatus(task, repository) {
63
68
  await repository.saveObject(updatedTask);
64
69
  // Update parent hierarchy to in-progress (don't let errors fail the task claim)
65
70
  try {
66
- await updateParentHierarchy(task.parent, repository);
71
+ await (0, updateParentHierarchy_1.updateParentHierarchy)(task.parent, repository);
67
72
  }
68
73
  catch (error) {
69
74
  // Log but don't propagate parent hierarchy update errors
70
75
  console.warn("Failed to update parent hierarchy:", error);
71
76
  }
72
- return updatedTask;
77
+ // Re-read the object from repository to ensure proper Map reconstruction
78
+ // This is needed because the in-memory object may not have the Map properly reconstructed
79
+ const savedTask = await repository.getObjectById(task.id);
80
+ if (!savedTask) {
81
+ throw new Error(`Failed to retrieve saved task with ID "${task.id}"`);
82
+ }
83
+ return savedTask;
73
84
  }
74
85
  async function validateTaskForClaiming(task, taskId, force, repository) {
75
86
  // Validate it's a task
@@ -81,38 +92,18 @@ async function validateTaskForClaiming(task, taskId, force, repository) {
81
92
  if (!(0, models_1.isClaimable)(task)) {
82
93
  throw new Error(`Task "${taskId}" cannot be claimed (status: ${task.status}). Task must be in draft or open status.`);
83
94
  }
84
- // Validate all prerequisites are complete
85
- const prerequisitesComplete = await (0, checkPrerequisitesComplete_1.checkPrerequisitesComplete)(task, repository);
95
+ // Validate all prerequisites are complete (including hierarchical)
96
+ const prerequisitesComplete = await (0, checkHierarchicalPrerequisitesComplete_1.checkHierarchicalPrerequisitesComplete)(task, repository);
86
97
  if (!prerequisitesComplete) {
87
- throw new Error(`Task "${taskId}" cannot be claimed. Not all prerequisites are complete.`);
98
+ // Determine if it's the task's own prerequisites or a parent's
99
+ const ownPrerequisitesComplete = await (0, checkPrerequisitesComplete_1.checkPrerequisitesComplete)(task, repository);
100
+ if (ownPrerequisitesComplete) {
101
+ throw new Error(`Task "${taskId}" cannot be claimed. Parent hierarchy has incomplete prerequisites.`);
102
+ }
103
+ else {
104
+ throw new Error(`Task "${taskId}" cannot be claimed. Not all prerequisites are complete.`);
105
+ }
88
106
  }
89
107
  }
90
108
  }
91
- async function updateParentHierarchy(parentId, repository, visitedIds = new Set()) {
92
- if (!parentId) {
93
- return;
94
- }
95
- // Prevent infinite recursion by checking if we've already visited this ID
96
- if (visitedIds.has(parentId)) {
97
- return;
98
- }
99
- visitedIds.add(parentId);
100
- const parent = await repository.getObjectById(parentId);
101
- if (!parent) {
102
- return;
103
- }
104
- // If parent is already in progress, we can stop here since we assume
105
- // its parent is already in progress too
106
- if (parent.status === models_1.TrellisObjectStatus.IN_PROGRESS) {
107
- return;
108
- }
109
- // Update parent to in-progress
110
- const updatedParent = {
111
- ...parent,
112
- status: models_1.TrellisObjectStatus.IN_PROGRESS,
113
- };
114
- await repository.saveObject(updatedParent);
115
- // Continue up the hierarchy
116
- await updateParentHierarchy(parent.parent, repository, visitedIds);
117
- }
118
109
  //# sourceMappingURL=claimTask.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"claimTask.js","sourceRoot":"","sources":["../../../src/services/local/claimTask.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claimTask.js","sourceRoot":"","sources":["../../../src/services/local/claimTask.ts"],"names":[],"mappings":";;AAaA,8BA0CC;AAvDD,yCAKsB;AAEtB,uFAAoF;AACpF,+GAA4G;AAC5G,mFAAgF;AAChF,uEAAoE;AACpE,6EAA0E;AAEnE,KAAK,UAAU,SAAS,CAC7B,UAAsB,EACtB,KAAc,EACd,MAAe,EACf,QAAiB,KAAK;IAEtB,IAAI,CAAC;QACH,IAAI,WAA0B,CAAC;QAE/B,IAAI,MAAM,EAAE,CAAC;YACX,WAAW,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QACnE,CAAC;aAAM,CAAC;YACN,WAAW,GAAG,MAAM,qBAAqB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAC/D,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,gBAAgB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QAEpE,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,8BAA8B,IAAI,CAAC,SAAS,CAChD;wBACE,GAAG,WAAW;wBACd,aAAa,EAAE,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,aAAa,CAAC;qBAC7D,EACD,IAAI,EACJ,CAAC,CACF,EAAE;iBACJ;aACF;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,wBAAwB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;iBACvF;aACF;SACF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,MAAc,EACd,KAAc,EACd,UAAsB;IAEtB,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAEtD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,iBAAiB,MAAM,aAAa,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IACjE,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,KAAyB,EACzB,UAAsB;IAEtB,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,UAAU,CACzC,KAAK,EAAE,gBAAgB;IACvB,KAAK,EACL,0BAAiB,CAAC,IAAI,CACvB,CAAC;IAEF,qCAAqC;IACrC,MAAM,cAAc,GAAG,MAAM,IAAA,mDAAwB,EAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAE3E,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACjD,CAAC;IAED,0CAA0C;IAC1C,MAAM,WAAW,GAAG,IAAA,uCAAkB,EAAC,cAAc,CAAC,CAAC;IACvD,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC;AACxB,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,IAAmB,EACnB,UAAsB;IAEtB,MAAM,WAAW,GAAG;QAClB,GAAG,IAAI;QACP,MAAM,EAAE,4BAAmB,CAAC,WAAW;KACxC,CAAC;IAEF,MAAM,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IAEzC,gFAAgF;IAChF,IAAI,CAAC;QACH,MAAM,IAAA,6CAAqB,EAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACvD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,yDAAyD;QACzD,OAAO,CAAC,IAAI,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAC;IAC5D,CAAC;IAED,yEAAyE;IACzE,0FAA0F;IAC1F,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC1D,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,0CAA0C,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;IACxE,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,KAAK,UAAU,uBAAuB,CACpC,IAAmB,EACnB,MAAc,EACd,KAAc,EACd,UAAsB;IAEtB,uBAAuB;IACvB,IAAI,IAAI,CAAC,IAAI,KAAK,0BAAiB,CAAC,IAAI,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CACb,mBAAmB,MAAM,0BAA0B,IAAI,CAAC,IAAI,GAAG,CAChE,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,mCAAmC;QACnC,IAAI,CAAC,IAAA,oBAAW,EAAC,IAAI,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CACb,SAAS,MAAM,gCAAgC,IAAI,CAAC,MAAM,0CAA0C,CACrG,CAAC;QACJ,CAAC;QAED,mEAAmE;QACnE,MAAM,qBAAqB,GAAG,MAAM,IAAA,+EAAsC,EACxE,IAAI,EACJ,UAAU,CACX,CAAC;QACF,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC3B,+DAA+D;YAC/D,MAAM,wBAAwB,GAAG,MAAM,IAAA,uDAA0B,EAC/D,IAAI,EACJ,UAAU,CACX,CAAC;YACF,IAAI,wBAAwB,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CACb,SAAS,MAAM,qEAAqE,CACrF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CACb,SAAS,MAAM,0DAA0D,CAC1E,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { ServerConfig } from "../../configuration";
2
2
  import { Repository } from "../../repositories";
3
- export declare function completeTask(repository: Repository, taskId: string, summary: string, filesChanged: Record<string, string>, serverConfig?: ServerConfig): Promise<{
3
+ export declare function completeTask(repository: Repository, serverConfig: ServerConfig, taskId: string, summary: string, filesChanged: Record<string, string>): Promise<{
4
4
  content: Array<{
5
5
  type: string;
6
6
  text: string;
@@ -1 +1 @@
1
- {"version":3,"file":"completeTask.d.ts","sourceRoot":"","sources":["../../../src/services/local/completeTask.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAMnD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGhD,wBAAsB,YAAY,CAChC,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACpC,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAuC7D"}
1
+ {"version":3,"file":"completeTask.d.ts","sourceRoot":"","sources":["../../../src/services/local/completeTask.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAIhD,wBAAsB,YAAY,CAChC,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACnC,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAuC7D"}
@@ -2,8 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.completeTask = completeTask;
4
4
  const models_1 = require("../../models");
5
+ const utils_1 = require("../../utils");
5
6
  const appendAffectedFiles_js_1 = require("./appendAffectedFiles.js");
6
- async function completeTask(repository, taskId, summary, filesChanged, serverConfig) {
7
+ async function completeTask(repository, serverConfig, taskId, summary, filesChanged) {
7
8
  // Get the task object from repository
8
9
  const task = await repository.getObjectById(taskId);
9
10
  if (!task) {
@@ -22,8 +23,8 @@ async function completeTask(repository, taskId, summary, filesChanged, serverCon
22
23
  // Save the updated task
23
24
  await repository.saveObject(task);
24
25
  // If auto-complete parent is enabled, check if we should complete parent objects
25
- if (serverConfig?.autoCompleteParent) {
26
- await autoCompleteParentHierarchy(repository, task);
26
+ if (serverConfig.autoCompleteParent) {
27
+ await (0, utils_1.autoCompleteParentHierarchy)(repository, task);
27
28
  }
28
29
  return {
29
30
  content: [
@@ -34,41 +35,4 @@ async function completeTask(repository, taskId, summary, filesChanged, serverCon
34
35
  ],
35
36
  };
36
37
  }
37
- async function autoCompleteParentHierarchy(repository, completedObject) {
38
- // If the completed object has no parent, nothing to do
39
- if (!completedObject.parent) {
40
- return;
41
- }
42
- // Get the parent object
43
- const parent = await repository.getObjectById(completedObject.parent);
44
- if (!parent) {
45
- return;
46
- }
47
- // Check if all children of the parent are done
48
- const siblings = await Promise.all(parent.childrenIds.map((id) => repository.getObjectById(id)));
49
- // Filter out null results and check if all are done
50
- const validSiblings = siblings.filter((sibling) => sibling !== null);
51
- const allChildrenDone = validSiblings.every((sibling) => sibling.status === models_1.TrellisObjectStatus.DONE ||
52
- sibling.status === models_1.TrellisObjectStatus.WONT_DO);
53
- // If all children are done, mark the parent as done and recurse up the hierarchy
54
- if (allChildrenDone && parent.status !== models_1.TrellisObjectStatus.DONE) {
55
- parent.status = models_1.TrellisObjectStatus.DONE;
56
- parent.log.push(`Auto-completed: All child ${getChildTypeName(parent.type)} are complete`);
57
- await repository.saveObject(parent);
58
- // Recursively check the parent's parent
59
- await autoCompleteParentHierarchy(repository, parent);
60
- }
61
- }
62
- function getChildTypeName(parentType) {
63
- switch (parentType) {
64
- case models_1.TrellisObjectType.PROJECT:
65
- return "epics";
66
- case models_1.TrellisObjectType.EPIC:
67
- return "features";
68
- case models_1.TrellisObjectType.FEATURE:
69
- return "tasks";
70
- default:
71
- return "children";
72
- }
73
- }
74
38
  //# sourceMappingURL=completeTask.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"completeTask.js","sourceRoot":"","sources":["../../../src/services/local/completeTask.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"completeTask.js","sourceRoot":"","sources":["../../../src/services/local/completeTask.ts"],"names":[],"mappings":";;AAMA,oCA6CC;AAlDD,yCAAmD;AAEnD,uCAA0D;AAC1D,qEAA+D;AAExD,KAAK,UAAU,YAAY,CAChC,UAAsB,EACtB,YAA0B,EAC1B,MAAc,EACd,OAAe,EACf,YAAoC;IAEpC,sCAAsC;IACtC,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IACpD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,iBAAiB,MAAM,aAAa,CAAC,CAAC;IACxD,CAAC;IAED,+BAA+B;IAC/B,IAAI,IAAI,CAAC,MAAM,KAAK,4BAAmB,CAAC,WAAW,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CACb,SAAS,MAAM,yCAAyC,IAAI,CAAC,MAAM,GAAG,CACvE,CAAC;IACJ,CAAC;IAED,6BAA6B;IAC7B,IAAI,CAAC,MAAM,GAAG,4BAAmB,CAAC,IAAI,CAAC;IAEvC,+BAA+B;IAC/B,MAAM,IAAA,4CAAmB,EAAC,UAAU,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;IAE1D,wBAAwB;IACxB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAEvB,wBAAwB;IACxB,MAAM,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAElC,iFAAiF;IACjF,IAAI,YAAY,CAAC,kBAAkB,EAAE,CAAC;QACpC,MAAM,IAAA,mCAA2B,EAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACtD,CAAC;IAED,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,SAAS,MAAM,qCAAqC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,kBAAkB;aAC7G;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { TrellisObjectPriority, TrellisObjectStatus, TrellisObjectType } from "../../models";
2
2
  import { Repository } from "../../repositories";
3
- export declare function listObjects(repository: Repository, type: TrellisObjectType, scope?: string, status?: TrellisObjectStatus, priority?: TrellisObjectPriority, includeClosed?: boolean): Promise<{
3
+ export declare function listObjects(repository: Repository, type?: TrellisObjectType | TrellisObjectType[], scope?: string, status?: TrellisObjectStatus | TrellisObjectStatus[], priority?: TrellisObjectPriority | TrellisObjectPriority[], includeClosed?: boolean): Promise<{
4
4
  content: Array<{
5
5
  type: string;
6
6
  text: string;
@@ -1 +1 @@
1
- {"version":3,"file":"listObjects.d.ts","sourceRoot":"","sources":["../../../src/services/local/listObjects.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,qBAAqB,EACrB,mBAAmB,EAEnB,iBAAiB,EAClB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAiBhD,wBAAsB,WAAW,CAC/B,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,iBAAiB,EACvB,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,mBAAmB,EAC5B,QAAQ,CAAC,EAAE,qBAAqB,EAChC,aAAa,GAAE,OAAe,GAC7B,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CA+B7D"}
1
+ {"version":3,"file":"listObjects.d.ts","sourceRoot":"","sources":["../../../src/services/local/listObjects.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,qBAAqB,EACrB,mBAAmB,EAEnB,iBAAiB,EAClB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAsBhD,wBAAsB,WAAW,CAC/B,UAAU,EAAE,UAAU,EACtB,IAAI,CAAC,EAAE,iBAAiB,GAAG,iBAAiB,EAAE,EAC9C,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,mBAAmB,GAAG,mBAAmB,EAAE,EACpD,QAAQ,CAAC,EAAE,qBAAqB,GAAG,qBAAqB,EAAE,EAC1D,aAAa,GAAE,OAAe,GAC7B,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAoC7D"}
@@ -15,10 +15,19 @@ function convertToSummary(obj) {
15
15
  updated: obj.updated,
16
16
  };
17
17
  }
18
+ const normalizeEnumInput = (input) => {
19
+ if (input === undefined)
20
+ return undefined;
21
+ return Array.isArray(input) ? input : [input];
22
+ };
18
23
  async function listObjects(repository, type, scope, status, priority, includeClosed = false) {
19
24
  try {
25
+ // Normalize inputs to arrays
26
+ const normalizedType = normalizeEnumInput(type);
27
+ const normalizedStatus = normalizeEnumInput(status);
28
+ const normalizedPriority = normalizeEnumInput(priority);
20
29
  // Get objects from repository
21
- const objects = await repository.getObjects(includeClosed, scope, type, status, priority);
30
+ const objects = await repository.getObjects(includeClosed, scope, normalizedType, normalizedStatus, normalizedPriority);
22
31
  const objectSummaries = objects.map(convertToSummary);
23
32
  return {
24
33
  content: [
@@ -1 +1 @@
1
- {"version":3,"file":"listObjects.js","sourceRoot":"","sources":["../../../src/services/local/listObjects.ts"],"names":[],"mappings":";;AAwBA,kCAsCC;AArDD,SAAS,gBAAgB,CAAC,GAAkB;IAC1C,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,aAAa,EAAE,GAAG,CAAC,aAAa;QAChC,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,OAAO,EAAE,GAAG,CAAC,OAAO;KACrB,CAAC;AACJ,CAAC;AAEM,KAAK,UAAU,WAAW,CAC/B,UAAsB,EACtB,IAAuB,EACvB,KAAc,EACd,MAA4B,EAC5B,QAAgC,EAChC,gBAAyB,KAAK;IAE9B,IAAI,CAAC;QACH,8BAA8B;QAC9B,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,UAAU,CACzC,aAAa,EACb,KAAK,EACL,IAAI,EACJ,MAAM,EACN,QAAQ,CACT,CAAC;QAEF,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAEtD,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;iBAC/C;aACF;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,0BAA0B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;iBACzF;aACF;SACF,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"listObjects.js","sourceRoot":"","sources":["../../../src/services/local/listObjects.ts"],"names":[],"mappings":";;AA6BA,kCA2CC;AA/DD,SAAS,gBAAgB,CAAC,GAAkB;IAC1C,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,aAAa,EAAE,GAAG,CAAC,aAAa;QAChC,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,OAAO,EAAE,GAAG,CAAC,OAAO;KACrB,CAAC;AACJ,CAAC;AAED,MAAM,kBAAkB,GAAG,CAAI,KAA0B,EAAmB,EAAE;IAC5E,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAChD,CAAC,CAAC;AAEK,KAAK,UAAU,WAAW,CAC/B,UAAsB,EACtB,IAA8C,EAC9C,KAAc,EACd,MAAoD,EACpD,QAA0D,EAC1D,gBAAyB,KAAK;IAE9B,IAAI,CAAC;QACH,6BAA6B;QAC7B,MAAM,cAAc,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAChD,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACpD,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAExD,8BAA8B;QAC9B,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,UAAU,CACzC,aAAa,EACb,KAAK,EACL,cAAc,EACd,gBAAgB,EAChB,kBAAkB,CACnB,CAAC;QAEF,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAEtD,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;iBAC/C;aACF;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,0BAA0B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;iBACzF;aACF;SACF,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"pruneClosed.d.ts","sourceRoot":"","sources":["../../../src/services/local/pruneClosed.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,wBAAsB,WAAW,CAC/B,UAAU,EAAE,UAAU,EACtB,GAAG,EAAE,MAAM,EACX,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAuD7D"}
1
+ {"version":3,"file":"pruneClosed.d.ts","sourceRoot":"","sources":["../../../src/services/local/pruneClosed.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AA8ChD,wBAAsB,WAAW,CAC/B,UAAU,EAAE,UAAU,EACtB,GAAG,EAAE,MAAM,EACX,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAsF7D"}
@@ -2,23 +2,77 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.pruneClosed = pruneClosed;
4
4
  const models_1 = require("../../models");
5
+ /**
6
+ * Recursively checks if an object has any open descendants at any level.
7
+ *
8
+ * @param objectId - The ID of the object to check for open descendants
9
+ * @param repository - The repository to query for children
10
+ * @param visited - Set to track visited objects and prevent infinite loops
11
+ * @returns Promise<boolean> - true if any descendant at any level is open
12
+ */
13
+ async function hasOpenDescendants(objectId, repository, visited = new Set()) {
14
+ // Prevent infinite loops by tracking visited objects
15
+ if (visited.has(objectId)) {
16
+ return false;
17
+ }
18
+ visited.add(objectId);
19
+ try {
20
+ // Get all children (including closed ones)
21
+ const children = await repository.getChildrenOf(objectId, true);
22
+ // Check each child
23
+ for (const child of children) {
24
+ // If any direct child is open, return true immediately
25
+ if ((0, models_1.isOpen)(child)) {
26
+ return true;
27
+ }
28
+ // Recursively check if this child has open descendants
29
+ if (await hasOpenDescendants(child.id, repository, visited)) {
30
+ return true;
31
+ }
32
+ }
33
+ return false;
34
+ }
35
+ catch (error) {
36
+ // If we can't check descendants, err on the side of caution
37
+ console.error(`Error checking descendants for ${objectId}:`, error);
38
+ return false;
39
+ }
40
+ }
5
41
  async function pruneClosed(repository, age, scope) {
6
42
  try {
43
+ // Early return for disabled auto-prune
44
+ if (age <= 0) {
45
+ const message = scope
46
+ ? `Auto-prune disabled (threshold: ${age} days) in scope ${scope}`
47
+ : `Auto-prune disabled (threshold: ${age} days)`;
48
+ return {
49
+ content: [{ type: "text", text: message }],
50
+ };
51
+ }
7
52
  // Get all objects including closed ones
8
53
  const objects = await repository.getObjects(true, scope);
9
54
  // Filter to only closed objects
10
55
  const closedObjects = objects.filter(models_1.isClosed);
11
- // Calculate cutoff time (age in minutes ago)
12
- const cutoffTime = new Date(Date.now() - age * 60 * 1000);
56
+ // Calculate cutoff time (age in days ago)
57
+ const cutoffTime = new Date(Date.now() - age * 24 * 60 * 60 * 1000);
13
58
  // Filter to objects older than cutoff
14
59
  const objectsToDelete = closedObjects.filter((obj) => {
15
60
  const updatedTime = new Date(obj.updated);
16
61
  return updatedTime < cutoffTime;
17
62
  });
18
- // Delete each object
63
+ // Delete each object with hierarchical child validation
19
64
  const deletedIds = [];
65
+ const skippedIds = [];
20
66
  for (const obj of objectsToDelete) {
21
67
  try {
68
+ // Check if object has open descendants at any level
69
+ const hasOpenDescendantsResult = await hasOpenDescendants(obj.id, repository);
70
+ if (hasOpenDescendantsResult) {
71
+ // Skip deletion if object has open descendants
72
+ skippedIds.push(obj.id);
73
+ continue;
74
+ }
75
+ // Proceed with deletion if no open children
22
76
  await repository.deleteObject(obj.id, true);
23
77
  deletedIds.push(obj.id);
24
78
  }
@@ -28,15 +82,18 @@ async function pruneClosed(repository, age, scope) {
28
82
  }
29
83
  }
30
84
  const message = scope
31
- ? `Pruned ${deletedIds.length} closed objects older than ${age} minutes in scope ${scope}`
32
- : `Pruned ${deletedIds.length} closed objects older than ${age} minutes`;
85
+ ? `Pruned ${deletedIds.length} closed objects older than ${age} days in scope ${scope}`
86
+ : `Pruned ${deletedIds.length} closed objects older than ${age} days`;
87
+ const skippedMessage = skippedIds.length > 0
88
+ ? `\nSkipped ${skippedIds.length} objects with open children: ${skippedIds.join(", ")}`
89
+ : "";
33
90
  return {
34
91
  content: [
35
92
  {
36
93
  type: "text",
37
94
  text: `${message}${deletedIds.length > 0
38
95
  ? `\nDeleted objects: ${deletedIds.join(", ")}`
39
- : ""}`,
96
+ : ""}${skippedMessage}`,
40
97
  },
41
98
  ],
42
99
  };
@@ -1 +1 @@
1
- {"version":3,"file":"pruneClosed.js","sourceRoot":"","sources":["../../../src/services/local/pruneClosed.ts"],"names":[],"mappings":";;AAGA,kCA2DC;AA9DD,yCAAwC;AAGjC,KAAK,UAAU,WAAW,CAC/B,UAAsB,EACtB,GAAW,EACX,KAAc;IAEd,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,iBAAQ,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,sBAAsB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;wBAC/C,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
+ {"version":3,"file":"pruneClosed.js","sourceRoot":"","sources":["../../../src/services/local/pruneClosed.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
+ import { ServerConfig } from "../../configuration";
1
2
  import { TrellisObjectPriority, TrellisObjectStatus } from "../../models";
2
3
  import { Repository } from "../../repositories";
3
- export declare function updateObject(repository: Repository, id: string, priority?: TrellisObjectPriority, prerequisites?: string[], body?: string, status?: TrellisObjectStatus, force?: boolean): Promise<{
4
+ export declare function updateObject(repository: Repository, serverConfig: ServerConfig, id: string, title?: string, priority?: TrellisObjectPriority, prerequisites?: string[], body?: string, status?: TrellisObjectStatus, force?: boolean): Promise<{
4
5
  content: Array<{
5
6
  type: string;
6
7
  text: string;
@@ -1 +1 @@
1
- {"version":3,"file":"updateObject.d.ts","sourceRoot":"","sources":["../../../src/services/local/updateObject.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,qBAAqB,EACrB,mBAAmB,EACpB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGhD,wBAAsB,YAAY,CAChC,UAAU,EAAE,UAAU,EACtB,EAAE,EAAE,MAAM,EACV,QAAQ,CAAC,EAAE,qBAAqB,EAChC,aAAa,CAAC,EAAE,MAAM,EAAE,EACxB,IAAI,CAAC,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,mBAAmB,EAC5B,KAAK,GAAE,OAAe,GACrB,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAsD7D"}
1
+ {"version":3,"file":"updateObject.d.ts","sourceRoot":"","sources":["../../../src/services/local/updateObject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAEL,qBAAqB,EACrB,mBAAmB,EACpB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAOhD,wBAAsB,YAAY,CAChC,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,YAAY,EAC1B,EAAE,EAAE,MAAM,EACV,KAAK,CAAC,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,qBAAqB,EAChC,aAAa,CAAC,EAAE,MAAM,EAAE,EACxB,IAAI,CAAC,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,mBAAmB,EAC5B,KAAK,GAAE,OAAe,GACrB,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAmF7D"}
@@ -1,8 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.updateObject = updateObject;
4
+ const models_1 = require("../../models");
5
+ const utils_1 = require("../../utils");
4
6
  const validateStatusTransition_1 = require("../../validation/validateStatusTransition");
5
- async function updateObject(repository, id, priority, prerequisites, body, status, force = false) {
7
+ async function updateObject(repository, serverConfig, id, title, priority, prerequisites, body, status, force = false) {
6
8
  try {
7
9
  // Load the existing object
8
10
  const existingObject = await repository.getObjectById(id);
@@ -19,6 +21,7 @@ async function updateObject(repository, id, priority, prerequisites, body, statu
19
21
  // Create updated object with new properties, ensuring proper typing
20
22
  const updatedObject = {
21
23
  ...existingObject,
24
+ ...(title && { title }),
22
25
  ...(priority && { priority }),
23
26
  ...(prerequisites && { prerequisites }),
24
27
  ...(body && { body }),
@@ -30,6 +33,30 @@ async function updateObject(repository, id, priority, prerequisites, body, statu
30
33
  }
31
34
  // Save the updated object
32
35
  await repository.saveObject(updatedObject);
36
+ // If status is being changed to in-progress, update parent hierarchy
37
+ if (status === models_1.TrellisObjectStatus.IN_PROGRESS &&
38
+ existingObject.status !== models_1.TrellisObjectStatus.IN_PROGRESS) {
39
+ try {
40
+ await (0, utils_1.updateParentHierarchy)(updatedObject.parent, repository);
41
+ }
42
+ catch (error) {
43
+ // Log but don't propagate parent hierarchy update errors
44
+ console.warn("Failed to update parent hierarchy:", error);
45
+ }
46
+ }
47
+ // If status is being changed to done or wont-do, auto-complete parent hierarchy (if enabled)
48
+ if ((status === models_1.TrellisObjectStatus.DONE ||
49
+ status === models_1.TrellisObjectStatus.WONT_DO) &&
50
+ existingObject.status !== status &&
51
+ serverConfig.autoCompleteParent) {
52
+ try {
53
+ await (0, utils_1.autoCompleteParentHierarchy)(repository, updatedObject);
54
+ }
55
+ catch (error) {
56
+ // Log but don't propagate parent hierarchy update errors
57
+ console.warn("Failed to auto-complete parent hierarchy:", error);
58
+ }
59
+ }
33
60
  return {
34
61
  content: [
35
62
  {
@@ -1 +1 @@
1
- {"version":3,"file":"updateObject.js","sourceRoot":"","sources":["../../../src/services/local/updateObject.ts"],"names":[],"mappings":";;AAQA,oCA8DC;AAhED,wFAAqF;AAE9E,KAAK,UAAU,YAAY,CAChC,UAAsB,EACtB,EAAU,EACV,QAAgC,EAChC,aAAwB,EACxB,IAAa,EACb,MAA4B,EAC5B,QAAiB,KAAK;IAEtB,IAAI,CAAC;QACH,2BAA2B;QAC3B,MAAM,cAAc,GAAG,MAAM,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QAC1D,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,0BAA0B,EAAE,aAAa;qBAChD;iBACF;aACF,CAAC;QACJ,CAAC;QAED,oEAAoE;QACpE,MAAM,aAAa,GAAkB;YACnC,GAAG,cAAc;YACjB,GAAG,CAAC,QAAQ,IAAI,EAAE,QAAQ,EAAE,CAAC;YAC7B,GAAG,CAAC,aAAa,IAAI,EAAE,aAAa,EAAE,CAAC;YACvC,GAAG,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,CAAC;YACrB,GAAG,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,CAAC;SAC1B,CAAC;QAEF,6BAA6B;QAC7B,IAAI,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;YACrB,MAAM,IAAA,mDAAwB,EAAC,aAAa,EAAE,UAAU,CAAC,CAAC;QAC5D,CAAC;QAED,0BAA0B;QAC1B,MAAM,UAAU,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QAE3C,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,gCAAgC,IAAI,CAAC,SAAS,CAClD,aAAa,EACb,IAAI,EACJ,CAAC,CACF,EAAE;iBACJ;aACF;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,0BAA0B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;iBACzF;aACF;SACF,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"updateObject.js","sourceRoot":"","sources":["../../../src/services/local/updateObject.ts"],"names":[],"mappings":";;AAaA,oCA6FC;AAzGD,yCAIsB;AAEtB,uCAGqB;AACrB,wFAAqF;AAE9E,KAAK,UAAU,YAAY,CAChC,UAAsB,EACtB,YAA0B,EAC1B,EAAU,EACV,KAAc,EACd,QAAgC,EAChC,aAAwB,EACxB,IAAa,EACb,MAA4B,EAC5B,QAAiB,KAAK;IAEtB,IAAI,CAAC;QACH,2BAA2B;QAC3B,MAAM,cAAc,GAAG,MAAM,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QAC1D,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,0BAA0B,EAAE,aAAa;qBAChD;iBACF;aACF,CAAC;QACJ,CAAC;QAED,oEAAoE;QACpE,MAAM,aAAa,GAAkB;YACnC,GAAG,cAAc;YACjB,GAAG,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,CAAC;YACvB,GAAG,CAAC,QAAQ,IAAI,EAAE,QAAQ,EAAE,CAAC;YAC7B,GAAG,CAAC,aAAa,IAAI,EAAE,aAAa,EAAE,CAAC;YACvC,GAAG,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,CAAC;YACrB,GAAG,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,CAAC;SAC1B,CAAC;QAEF,6BAA6B;QAC7B,IAAI,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;YACrB,MAAM,IAAA,mDAAwB,EAAC,aAAa,EAAE,UAAU,CAAC,CAAC;QAC5D,CAAC;QAED,0BAA0B;QAC1B,MAAM,UAAU,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QAE3C,qEAAqE;QACrE,IACE,MAAM,KAAK,4BAAmB,CAAC,WAAW;YAC1C,cAAc,CAAC,MAAM,KAAK,4BAAmB,CAAC,WAAW,EACzD,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,IAAA,6BAAqB,EAAC,aAAa,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YAChE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,yDAAyD;gBACzD,OAAO,CAAC,IAAI,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;QAED,6FAA6F;QAC7F,IACE,CAAC,MAAM,KAAK,4BAAmB,CAAC,IAAI;YAClC,MAAM,KAAK,4BAAmB,CAAC,OAAO,CAAC;YACzC,cAAc,CAAC,MAAM,KAAK,MAAM;YAChC,YAAY,CAAC,kBAAkB,EAC/B,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,IAAA,mCAA2B,EAAC,UAAU,EAAE,aAAa,CAAC,CAAC;YAC/D,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,yDAAyD;gBACzD,OAAO,CAAC,IAAI,CAAC,2CAA2C,EAAE,KAAK,CAAC,CAAC;YACnE,CAAC;QACH,CAAC;QAED,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,gCAAgC,IAAI,CAAC,SAAS,CAClD,aAAa,EACb,IAAI,EACJ,CAAC,CACF,EAAE;iBACJ;aACF;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,0BAA0B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;iBACzF;aACF;SACF,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -15,6 +15,7 @@ describe("appendModifiedFilesTool", () => {
15
15
  getObjects: jest.fn(),
16
16
  saveObject: jest.fn(),
17
17
  deleteObject: jest.fn(),
18
+ getChildrenOf: jest.fn(),
18
19
  };
19
20
  jest.clearAllMocks();
20
21
  });
@@ -1 +1 @@
1
- {"version":3,"file":"appendModifiedFilesTool.test.js","sourceRoot":"","sources":["../../../src/tools/__tests__/appendModifiedFilesTool.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"appendModifiedFilesTool.test.js","sourceRoot":"","sources":["../../../src/tools/__tests__/appendModifiedFilesTool.test.ts"],"names":[],"mappings":";;AAEA,wEAAuE;AAEvE,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACvC,IAAI,WAA+B,CAAC;IACpC,IAAI,cAAuC,CAAC;IAC5C,IAAI,sBAAiC,CAAC;IAEtC,UAAU,CAAC,GAAG,EAAE;QACd,sBAAsB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QACnC,WAAW,GAAG;YACZ,mBAAmB,EAAE,sBAAsB;SACX,CAAC;QAEnC,cAAc,GAAG;YACf,aAAa,EAAE,IAAI,CAAC,EAAE,EAAE;YACxB,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE;YACrB,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE;YACrB,YAAY,EAAE,IAAI,CAAC,EAAE,EAAE;YACvB,aAAa,EAAE,IAAI,CAAC,EAAE,EAAE;SACzB,CAAC;QAEF,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACzC,EAAE,CAAC,iEAAiE,EAAE,KAAK,IAAI,EAAE;YAC/E,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,8DAA8D;qBACrE;iBACF;aACF,CAAC;YAEF,sBAAsB,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;YAErD,MAAM,IAAI,GAAG;gBACX,EAAE,EAAE,aAAa;gBACjB,YAAY,EAAE;oBACZ,2BAA2B,EAAE,4BAA4B;oBACzD,sBAAsB,EAAE,2BAA2B;iBACpD;aACF,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,IAAA,mDAAyB,EAC5C,WAAW,EACX,cAAc,EACd,IAAI,CACL,CAAC;YAEF,MAAM,CAAC,sBAAsB,CAAC,CAAC,oBAAoB,CACjD,cAAc,EACd,aAAa,EACb;gBACE,2BAA2B,EAAE,4BAA4B;gBACzD,sBAAsB,EAAE,2BAA2B;aACpD,CACF,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;YACvD,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,8DAA8D;qBACrE;iBACF;aACF,CAAC;YAEF,sBAAsB,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;YAErD,MAAM,IAAI,GAAG;gBACX,EAAE,EAAE,aAAa;gBACjB,YAAY,EAAE,EAAE;aACjB,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,IAAA,mDAAyB,EAC5C,WAAW,EACX,cAAc,EACd,IAAI,CACL,CAAC;YAEF,MAAM,CAAC,sBAAsB,CAAC,CAAC,oBAAoB,CACjD,cAAc,EACd,aAAa,EACb,EAAE,CACH,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;YACtD,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,gEAAgE;qBACvE;iBACF;aACF,CAAC;YAEF,sBAAsB,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;YAErD,MAAM,IAAI,GAAG;gBACX,EAAE,EAAE,gBAAgB;gBACpB,YAAY,EAAE;oBACZ,WAAW,EAAE,uBAAuB;iBACrC;aACF,CAAC;YAEF,MAAM,IAAA,mDAAyB,EAAC,WAAW,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;YAEnE,MAAM,CAAC,sBAAsB,CAAC,CAAC,oBAAoB,CACjD,cAAc,EACd,gBAAgB,EAChB;gBACE,WAAW,EAAE,uBAAuB;aACrC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;YACjE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,iEAAiE;qBACxE;iBACF;aACF,CAAC;YAEF,sBAAsB,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;YAErD,MAAM,IAAI,GAAG;gBACX,EAAE,EAAE,gBAAgB;gBACpB,YAAY,EAAE;oBACZ,oCAAoC,EAClC,sDAAsD;oBACxD,iCAAiC,EAC/B,sCAAsC;oBACxC,yBAAyB,EACvB,mDAAmD;iBACtD;aACF,CAAC;YAEF,MAAM,IAAA,mDAAyB,EAAC,WAAW,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;YAEnE,MAAM,CAAC,sBAAsB,CAAC,CAAC,oBAAoB,CACjD,cAAc,EACd,gBAAgB,EAChB;gBACE,oCAAoC,EAClC,sDAAsD;gBACxD,iCAAiC,EAC/B,sCAAsC;gBACxC,yBAAyB,EACvB,mDAAmD;aACtD,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;YAC5C,MAAM,WAAW,GAAG;gBAClB,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,wCAAwC;qBAC/C;iBACF;aACF,CAAC;YAEF,sBAAsB,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;YAEtD,MAAM,IAAI,GAAG;gBACX,EAAE,EAAE,eAAe;gBACnB,YAAY,EAAE;oBACZ,SAAS,EAAE,WAAW;iBACvB;aACF,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,IAAA,mDAAyB,EAC5C,WAAW,EACX,cAAc,EACd,IAAI,CACL,CAAC;YAEF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;YACzE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,SAAS;qBAChB;iBACF;aACF,CAAC;YAEF,sBAAsB,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;YAErD,MAAM,IAAI,GAAG;gBACX,EAAE,EAAE,WAAW;gBACf,YAAY,EAAE;oBACZ,YAAY,EAAE,cAAc;iBAC7B;gBACD,aAAa,EAAE,mBAAmB;gBAClC,YAAY,EAAE,GAAG;aAClB,CAAC;YAEF,MAAM,IAAA,mDAAyB,EAAC,WAAW,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;YAEnE,MAAM,CAAC,sBAAsB,CAAC,CAAC,oBAAoB,CACjD,cAAc,EACd,WAAW,EACX;gBACE,YAAY,EAAE,cAAc;aAC7B,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;YACzE,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,SAAS;qBAChB;iBACF;aACF,CAAC;YAEF,sBAAsB,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;YAErD,MAAM,IAAI,GAAG;gBACX,EAAE,EAAE,iBAAiB;gBACrB,YAAY,EAAE;oBACZ,0BAA0B,EACxB,iEAAiE;oBACnE,wBAAwB,EACtB,oEAAoE;iBACvE;aACF,CAAC;YAEF,MAAM,IAAA,mDAAyB,EAAC,WAAW,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;YAEnE,MAAM,CAAC,sBAAsB,CAAC,CAAC,oBAAoB,CACjD,cAAc,EACd,iBAAiB,EACjB;gBACE,0BAA0B,EACxB,iEAAiE;gBACnE,wBAAwB,EACtB,oEAAoE;aACvE,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -15,6 +15,7 @@ describe("appendObjectLogTool", () => {
15
15
  getObjects: jest.fn(),
16
16
  saveObject: jest.fn(),
17
17
  deleteObject: jest.fn(),
18
+ getChildrenOf: jest.fn(),
18
19
  };
19
20
  jest.clearAllMocks();
20
21
  });
@@ -1 +1 @@
1
- {"version":3,"file":"appendObjectLogTool.test.js","sourceRoot":"","sources":["../../../src/tools/__tests__/appendObjectLogTool.test.ts"],"names":[],"mappings":";;AAEA,gEAA+D;AAE/D,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,IAAI,WAA+B,CAAC;IACpC,IAAI,cAAuC,CAAC;IAC5C,IAAI,kBAA6B,CAAC;IAElC,UAAU,CAAC,GAAG,EAAE;QACd,kBAAkB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAC/B,WAAW,GAAG;YACZ,eAAe,EAAE,kBAAkB;SACH,CAAC;QAEnC,cAAc,GAAG;YACf,aAAa,EAAE,IAAI,CAAC,EAAE,EAAE;YACxB,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE;YACrB,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE;YACrB,YAAY,EAAE,IAAI,CAAC,EAAE,EAAE;SACxB,CAAC;QAEF,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;QACrC,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;YAC3E,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,qCAAqC;qBAC5C;iBACF;aACF,CAAC;YAEF,kBAAkB,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;YAEjD,MAAM,IAAI,GAAG;gBACX,EAAE,EAAE,aAAa;gBACjB,QAAQ,EAAE,eAAe;aAC1B,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,IAAA,2CAAqB,EACxC,WAAW,EACX,cAAc,EACd,IAAI,CACL,CAAC;YAEF,MAAM,CAAC,kBAAkB,CAAC,CAAC,oBAAoB,CAC7C,cAAc,EACd,aAAa,EACb,eAAe,CAChB,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;YAC9C,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,SAAS;qBAChB;iBACF;aACF,CAAC;YAEF,kBAAkB,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;YAEjD,MAAM,IAAI,GAAG;gBACX,EAAE,EAAE,WAAW;gBACf,QAAQ,EAAE,cAAc;aACzB,CAAC;YAEF,MAAM,IAAA,2CAAqB,EAAC,WAAW,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;YAE/D,MAAM,CAAC,kBAAkB,CAAC,CAAC,oBAAoB,CAC7C,cAAc,EACd,WAAW,EACX,cAAc,CACf,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"appendObjectLogTool.test.js","sourceRoot":"","sources":["../../../src/tools/__tests__/appendObjectLogTool.test.ts"],"names":[],"mappings":";;AAEA,gEAA+D;AAE/D,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,IAAI,WAA+B,CAAC;IACpC,IAAI,cAAuC,CAAC;IAC5C,IAAI,kBAA6B,CAAC;IAElC,UAAU,CAAC,GAAG,EAAE;QACd,kBAAkB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAC/B,WAAW,GAAG;YACZ,eAAe,EAAE,kBAAkB;SACH,CAAC;QAEnC,cAAc,GAAG;YACf,aAAa,EAAE,IAAI,CAAC,EAAE,EAAE;YACxB,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE;YACrB,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE;YACrB,YAAY,EAAE,IAAI,CAAC,EAAE,EAAE;YACvB,aAAa,EAAE,IAAI,CAAC,EAAE,EAAE;SACzB,CAAC;QAEF,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;QACrC,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;YAC3E,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,qCAAqC;qBAC5C;iBACF;aACF,CAAC;YAEF,kBAAkB,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;YAEjD,MAAM,IAAI,GAAG;gBACX,EAAE,EAAE,aAAa;gBACjB,QAAQ,EAAE,eAAe;aAC1B,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,IAAA,2CAAqB,EACxC,WAAW,EACX,cAAc,EACd,IAAI,CACL,CAAC;YAEF,MAAM,CAAC,kBAAkB,CAAC,CAAC,oBAAoB,CAC7C,cAAc,EACd,aAAa,EACb,eAAe,CAChB,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;YAC9C,MAAM,UAAU,GAAG;gBACjB,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,SAAS;qBAChB;iBACF;aACF,CAAC;YAEF,kBAAkB,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;YAEjD,MAAM,IAAI,GAAG;gBACX,EAAE,EAAE,WAAW;gBACf,QAAQ,EAAE,cAAc;aACzB,CAAC;YAEF,MAAM,IAAA,2CAAqB,EAAC,WAAW,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;YAE/D,MAAM,CAAC,kBAAkB,CAAC,CAAC,oBAAoB,CAC7C,cAAc,EACd,WAAW,EACX,cAAc,CACf,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -10,6 +10,7 @@ describe("claimTaskTool", () => {
10
10
  getObjects: jest.fn(),
11
11
  saveObject: jest.fn(),
12
12
  deleteObject: jest.fn(),
13
+ getChildrenOf: jest.fn(),
13
14
  };
14
15
  mockService = {
15
16
  createObject: jest.fn(),
@@ -19,7 +20,6 @@ describe("claimTaskTool", () => {
19
20
  listObjects: jest.fn(),
20
21
  appendObjectLog: jest.fn(),
21
22
  pruneClosed: jest.fn(),
22
- replaceObjectBodyRegex: jest.fn(),
23
23
  appendModifiedFiles: jest.fn(),
24
24
  };
25
25
  });
@@ -1 +1 @@
1
- {"version":3,"file":"claimTaskTool.test.js","sourceRoot":"","sources":["../../../src/tools/__tests__/claimTaskTool.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claimTaskTool.test.js","sourceRoot":"","sources":["../../../src/tools/__tests__/claimTaskTool.test.ts"],"names":[],"mappings":"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"}