@langadventurellc/task-trellis-mcp 0.1.0-rc.3

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 (343) hide show
  1. package/LICENSE +674 -0
  2. package/README.md +81 -0
  3. package/dist/configuration/ServerConfig.d.ts +8 -0
  4. package/dist/configuration/ServerConfig.d.ts.map +1 -0
  5. package/dist/configuration/ServerConfig.js +3 -0
  6. package/dist/configuration/ServerConfig.js.map +1 -0
  7. package/dist/configuration/index.d.ts +2 -0
  8. package/dist/configuration/index.d.ts.map +1 -0
  9. package/dist/configuration/index.js +18 -0
  10. package/dist/configuration/index.js.map +1 -0
  11. package/dist/models/TrellisObject.d.ts +18 -0
  12. package/dist/models/TrellisObject.d.ts.map +1 -0
  13. package/dist/models/TrellisObject.js +3 -0
  14. package/dist/models/TrellisObject.js.map +1 -0
  15. package/dist/models/TrellisObjectPriority.d.ts +6 -0
  16. package/dist/models/TrellisObjectPriority.d.ts.map +1 -0
  17. package/dist/models/TrellisObjectPriority.js +10 -0
  18. package/dist/models/TrellisObjectPriority.js.map +1 -0
  19. package/dist/models/TrellisObjectStatus.d.ts +8 -0
  20. package/dist/models/TrellisObjectStatus.d.ts.map +1 -0
  21. package/dist/models/TrellisObjectStatus.js +12 -0
  22. package/dist/models/TrellisObjectStatus.js.map +1 -0
  23. package/dist/models/TrellisObjectType.d.ts +7 -0
  24. package/dist/models/TrellisObjectType.d.ts.map +1 -0
  25. package/dist/models/TrellisObjectType.js +11 -0
  26. package/dist/models/TrellisObjectType.js.map +1 -0
  27. package/dist/models/__tests__/isClaimable.test.d.ts +2 -0
  28. package/dist/models/__tests__/isClaimable.test.d.ts.map +1 -0
  29. package/dist/models/__tests__/isClaimable.test.js +101 -0
  30. package/dist/models/__tests__/isClaimable.test.js.map +1 -0
  31. package/dist/models/__tests__/isClosed.test.d.ts +2 -0
  32. package/dist/models/__tests__/isClosed.test.d.ts.map +1 -0
  33. package/dist/models/__tests__/isClosed.test.js +84 -0
  34. package/dist/models/__tests__/isClosed.test.js.map +1 -0
  35. package/dist/models/__tests__/isOpen.test.d.ts +2 -0
  36. package/dist/models/__tests__/isOpen.test.d.ts.map +1 -0
  37. package/dist/models/__tests__/isOpen.test.js +84 -0
  38. package/dist/models/__tests__/isOpen.test.js.map +1 -0
  39. package/dist/models/index.d.ts +8 -0
  40. package/dist/models/index.d.ts.map +1 -0
  41. package/dist/models/index.js +16 -0
  42. package/dist/models/index.js.map +1 -0
  43. package/dist/models/isClaimable.d.ts +10 -0
  44. package/dist/models/isClaimable.d.ts.map +1 -0
  45. package/dist/models/isClaimable.js +16 -0
  46. package/dist/models/isClaimable.js.map +1 -0
  47. package/dist/models/isClosed.d.ts +10 -0
  48. package/dist/models/isClosed.d.ts.map +1 -0
  49. package/dist/models/isClosed.js +16 -0
  50. package/dist/models/isClosed.js.map +1 -0
  51. package/dist/models/isOpen.d.ts +10 -0
  52. package/dist/models/isOpen.d.ts.map +1 -0
  53. package/dist/models/isOpen.js +16 -0
  54. package/dist/models/isOpen.js.map +1 -0
  55. package/dist/repositories/Repository.d.ts +8 -0
  56. package/dist/repositories/Repository.d.ts.map +1 -0
  57. package/dist/repositories/Repository.js +3 -0
  58. package/dist/repositories/Repository.js.map +1 -0
  59. package/dist/repositories/index.d.ts +3 -0
  60. package/dist/repositories/index.d.ts.map +1 -0
  61. package/dist/repositories/index.js +19 -0
  62. package/dist/repositories/index.js.map +1 -0
  63. package/dist/repositories/local/LocalRepository.d.ts +21 -0
  64. package/dist/repositories/local/LocalRepository.d.ts.map +1 -0
  65. package/dist/repositories/local/LocalRepository.js +75 -0
  66. package/dist/repositories/local/LocalRepository.js.map +1 -0
  67. package/dist/repositories/local/__tests__/deleteObjectById.test.d.ts +2 -0
  68. package/dist/repositories/local/__tests__/deleteObjectById.test.d.ts.map +1 -0
  69. package/dist/repositories/local/__tests__/deleteObjectById.test.js +228 -0
  70. package/dist/repositories/local/__tests__/deleteObjectById.test.js.map +1 -0
  71. package/dist/repositories/local/__tests__/extractMarkdownIds.test.d.ts +2 -0
  72. package/dist/repositories/local/__tests__/extractMarkdownIds.test.d.ts.map +1 -0
  73. package/dist/repositories/local/__tests__/extractMarkdownIds.test.js +135 -0
  74. package/dist/repositories/local/__tests__/extractMarkdownIds.test.js.map +1 -0
  75. package/dist/repositories/local/__tests__/findMarkdownFiles.test.d.ts +2 -0
  76. package/dist/repositories/local/__tests__/findMarkdownFiles.test.d.ts.map +1 -0
  77. package/dist/repositories/local/__tests__/findMarkdownFiles.test.js +236 -0
  78. package/dist/repositories/local/__tests__/findMarkdownFiles.test.js.map +1 -0
  79. package/dist/repositories/local/__tests__/getObjectByFilePath.test.d.ts +2 -0
  80. package/dist/repositories/local/__tests__/getObjectByFilePath.test.d.ts.map +1 -0
  81. package/dist/repositories/local/__tests__/getObjectByFilePath.test.js +96 -0
  82. package/dist/repositories/local/__tests__/getObjectByFilePath.test.js.map +1 -0
  83. package/dist/repositories/local/__tests__/getObjectById.test.d.ts +2 -0
  84. package/dist/repositories/local/__tests__/getObjectById.test.d.ts.map +1 -0
  85. package/dist/repositories/local/__tests__/getObjectById.test.js +46 -0
  86. package/dist/repositories/local/__tests__/getObjectById.test.js.map +1 -0
  87. package/dist/repositories/local/__tests__/getObjectFilePath.test.d.ts +2 -0
  88. package/dist/repositories/local/__tests__/getObjectFilePath.test.d.ts.map +1 -0
  89. package/dist/repositories/local/__tests__/getObjectFilePath.test.js +172 -0
  90. package/dist/repositories/local/__tests__/getObjectFilePath.test.js.map +1 -0
  91. package/dist/repositories/local/__tests__/getObjects.test.d.ts +2 -0
  92. package/dist/repositories/local/__tests__/getObjects.test.d.ts.map +1 -0
  93. package/dist/repositories/local/__tests__/getObjects.test.js +351 -0
  94. package/dist/repositories/local/__tests__/getObjects.test.js.map +1 -0
  95. package/dist/repositories/local/__tests__/scopeFilter.test.d.ts +2 -0
  96. package/dist/repositories/local/__tests__/scopeFilter.test.d.ts.map +1 -0
  97. package/dist/repositories/local/__tests__/scopeFilter.test.js +109 -0
  98. package/dist/repositories/local/__tests__/scopeFilter.test.js.map +1 -0
  99. package/dist/repositories/local/deleteObjectById.d.ts +16 -0
  100. package/dist/repositories/local/deleteObjectById.d.ts.map +1 -0
  101. package/dist/repositories/local/deleteObjectById.js +108 -0
  102. package/dist/repositories/local/deleteObjectById.js.map +1 -0
  103. package/dist/repositories/local/extractMarkdownIds.d.ts +17 -0
  104. package/dist/repositories/local/extractMarkdownIds.d.ts.map +1 -0
  105. package/dist/repositories/local/extractMarkdownIds.js +34 -0
  106. package/dist/repositories/local/extractMarkdownIds.js.map +1 -0
  107. package/dist/repositories/local/filterByScope.d.ts +8 -0
  108. package/dist/repositories/local/filterByScope.d.ts.map +1 -0
  109. package/dist/repositories/local/filterByScope.js +17 -0
  110. package/dist/repositories/local/filterByScope.js.map +1 -0
  111. package/dist/repositories/local/findMarkdownFiles.d.ts +9 -0
  112. package/dist/repositories/local/findMarkdownFiles.d.ts.map +1 -0
  113. package/dist/repositories/local/findMarkdownFiles.js +47 -0
  114. package/dist/repositories/local/findMarkdownFiles.js.map +1 -0
  115. package/dist/repositories/local/getObjectByFilePath.d.ts +9 -0
  116. package/dist/repositories/local/getObjectByFilePath.d.ts.map +1 -0
  117. package/dist/repositories/local/getObjectByFilePath.js +16 -0
  118. package/dist/repositories/local/getObjectByFilePath.js.map +1 -0
  119. package/dist/repositories/local/getObjectById.d.ts +10 -0
  120. package/dist/repositories/local/getObjectById.d.ts.map +1 -0
  121. package/dist/repositories/local/getObjectById.js +36 -0
  122. package/dist/repositories/local/getObjectById.js.map +1 -0
  123. package/dist/repositories/local/getObjectFilePath.d.ts +7 -0
  124. package/dist/repositories/local/getObjectFilePath.d.ts.map +1 -0
  125. package/dist/repositories/local/getObjectFilePath.js +90 -0
  126. package/dist/repositories/local/getObjectFilePath.js.map +1 -0
  127. package/dist/repositories/local/getObjects.d.ts +3 -0
  128. package/dist/repositories/local/getObjects.d.ts.map +1 -0
  129. package/dist/repositories/local/getObjects.js +64 -0
  130. package/dist/repositories/local/getObjects.js.map +1 -0
  131. package/dist/repositories/local/index.d.ts +8 -0
  132. package/dist/repositories/local/index.d.ts.map +1 -0
  133. package/dist/repositories/local/index.js +24 -0
  134. package/dist/repositories/local/index.js.map +1 -0
  135. package/dist/repositories/local/saveObject.d.ts +12 -0
  136. package/dist/repositories/local/saveObject.d.ts.map +1 -0
  137. package/dist/repositories/local/saveObject.js +27 -0
  138. package/dist/repositories/local/saveObject.js.map +1 -0
  139. package/dist/repositories/local/scopeFilter.d.ts +12 -0
  140. package/dist/repositories/local/scopeFilter.d.ts.map +1 -0
  141. package/dist/repositories/local/scopeFilter.js +21 -0
  142. package/dist/repositories/local/scopeFilter.js.map +1 -0
  143. package/dist/server.d.ts +3 -0
  144. package/dist/server.d.ts.map +1 -0
  145. package/dist/server.js +138 -0
  146. package/dist/server.js.map +1 -0
  147. package/dist/tools/__tests__/appendObjectLogTool.test.d.ts +2 -0
  148. package/dist/tools/__tests__/appendObjectLogTool.test.d.ts.map +1 -0
  149. package/dist/tools/__tests__/appendObjectLogTool.test.js +125 -0
  150. package/dist/tools/__tests__/appendObjectLogTool.test.js.map +1 -0
  151. package/dist/tools/__tests__/claimTaskTool.test.d.ts +2 -0
  152. package/dist/tools/__tests__/claimTaskTool.test.d.ts.map +1 -0
  153. package/dist/tools/__tests__/claimTaskTool.test.js +348 -0
  154. package/dist/tools/__tests__/claimTaskTool.test.js.map +1 -0
  155. package/dist/tools/__tests__/completeTaskTool.test.d.ts +2 -0
  156. package/dist/tools/__tests__/completeTaskTool.test.d.ts.map +1 -0
  157. package/dist/tools/__tests__/completeTaskTool.test.js +221 -0
  158. package/dist/tools/__tests__/completeTaskTool.test.js.map +1 -0
  159. package/dist/tools/__tests__/createObjectTool.test.d.ts +2 -0
  160. package/dist/tools/__tests__/createObjectTool.test.d.ts.map +1 -0
  161. package/dist/tools/__tests__/createObjectTool.test.js +387 -0
  162. package/dist/tools/__tests__/createObjectTool.test.js.map +1 -0
  163. package/dist/tools/__tests__/deleteObjectTool.test.d.ts +2 -0
  164. package/dist/tools/__tests__/deleteObjectTool.test.d.ts.map +1 -0
  165. package/dist/tools/__tests__/deleteObjectTool.test.js +169 -0
  166. package/dist/tools/__tests__/deleteObjectTool.test.js.map +1 -0
  167. package/dist/tools/__tests__/getObjectTool.test.d.ts +2 -0
  168. package/dist/tools/__tests__/getObjectTool.test.d.ts.map +1 -0
  169. package/dist/tools/__tests__/getObjectTool.test.js +124 -0
  170. package/dist/tools/__tests__/getObjectTool.test.js.map +1 -0
  171. package/dist/tools/__tests__/listObjectsTool.test.d.ts +2 -0
  172. package/dist/tools/__tests__/listObjectsTool.test.d.ts.map +1 -0
  173. package/dist/tools/__tests__/listObjectsTool.test.js +266 -0
  174. package/dist/tools/__tests__/listObjectsTool.test.js.map +1 -0
  175. package/dist/tools/__tests__/updateObjectTool.test.d.ts +2 -0
  176. package/dist/tools/__tests__/updateObjectTool.test.d.ts.map +1 -0
  177. package/dist/tools/__tests__/updateObjectTool.test.js +208 -0
  178. package/dist/tools/__tests__/updateObjectTool.test.js.map +1 -0
  179. package/dist/tools/activateTool.d.ts +38 -0
  180. package/dist/tools/activateTool.d.ts.map +1 -0
  181. package/dist/tools/activateTool.js +48 -0
  182. package/dist/tools/activateTool.js.map +1 -0
  183. package/dist/tools/appendObjectLogTool.d.ts +26 -0
  184. package/dist/tools/appendObjectLogTool.d.ts.map +1 -0
  185. package/dist/tools/appendObjectLogTool.js +65 -0
  186. package/dist/tools/appendObjectLogTool.js.map +1 -0
  187. package/dist/tools/claimTaskTool.d.ts +30 -0
  188. package/dist/tools/claimTaskTool.d.ts.map +1 -0
  189. package/dist/tools/claimTaskTool.js +109 -0
  190. package/dist/tools/claimTaskTool.js.map +1 -0
  191. package/dist/tools/completeTaskTool.d.ts +33 -0
  192. package/dist/tools/completeTaskTool.d.ts.map +1 -0
  193. package/dist/tools/completeTaskTool.js +61 -0
  194. package/dist/tools/completeTaskTool.js.map +1 -0
  195. package/dist/tools/createObjectTool.d.ts +52 -0
  196. package/dist/tools/createObjectTool.d.ts.map +1 -0
  197. package/dist/tools/createObjectTool.js +87 -0
  198. package/dist/tools/createObjectTool.js.map +1 -0
  199. package/dist/tools/deleteObjectTool.d.ts +27 -0
  200. package/dist/tools/deleteObjectTool.d.ts.map +1 -0
  201. package/dist/tools/deleteObjectTool.js +48 -0
  202. package/dist/tools/deleteObjectTool.js.map +1 -0
  203. package/dist/tools/getObjectTool.d.ts +22 -0
  204. package/dist/tools/getObjectTool.d.ts.map +1 -0
  205. package/dist/tools/getObjectTool.js +53 -0
  206. package/dist/tools/getObjectTool.js.map +1 -0
  207. package/dist/tools/index.d.ts +11 -0
  208. package/dist/tools/index.d.ts.map +1 -0
  209. package/dist/tools/index.js +34 -0
  210. package/dist/tools/index.js.map +1 -0
  211. package/dist/tools/listObjectsTool.d.ts +39 -0
  212. package/dist/tools/listObjectsTool.d.ts.map +1 -0
  213. package/dist/tools/listObjectsTool.js +87 -0
  214. package/dist/tools/listObjectsTool.js.map +1 -0
  215. package/dist/tools/pruneClosedTool.d.ts +26 -0
  216. package/dist/tools/pruneClosedTool.d.ts.map +1 -0
  217. package/dist/tools/pruneClosedTool.js +35 -0
  218. package/dist/tools/pruneClosedTool.js.map +1 -0
  219. package/dist/tools/updateObjectTool.d.ts +46 -0
  220. package/dist/tools/updateObjectTool.d.ts.map +1 -0
  221. package/dist/tools/updateObjectTool.js +93 -0
  222. package/dist/tools/updateObjectTool.js.map +1 -0
  223. package/dist/utils/__tests__/checkPrerequisitesComplete.test.d.ts +2 -0
  224. package/dist/utils/__tests__/checkPrerequisitesComplete.test.d.ts.map +1 -0
  225. package/dist/utils/__tests__/checkPrerequisitesComplete.test.js +200 -0
  226. package/dist/utils/__tests__/checkPrerequisitesComplete.test.js.map +1 -0
  227. package/dist/utils/__tests__/deserializeTrellisObject.test.d.ts +2 -0
  228. package/dist/utils/__tests__/deserializeTrellisObject.test.d.ts.map +1 -0
  229. package/dist/utils/__tests__/deserializeTrellisObject.test.js +329 -0
  230. package/dist/utils/__tests__/deserializeTrellisObject.test.js.map +1 -0
  231. package/dist/utils/__tests__/filterUnavailableObjects.test.d.ts +2 -0
  232. package/dist/utils/__tests__/filterUnavailableObjects.test.d.ts.map +1 -0
  233. package/dist/utils/__tests__/filterUnavailableObjects.test.js +172 -0
  234. package/dist/utils/__tests__/filterUnavailableObjects.test.js.map +1 -0
  235. package/dist/utils/__tests__/generateUniqueId.test.d.ts +2 -0
  236. package/dist/utils/__tests__/generateUniqueId.test.d.ts.map +1 -0
  237. package/dist/utils/__tests__/generateUniqueId.test.js +186 -0
  238. package/dist/utils/__tests__/generateUniqueId.test.js.map +1 -0
  239. package/dist/utils/__tests__/inferObjectType.test.d.ts +2 -0
  240. package/dist/utils/__tests__/inferObjectType.test.d.ts.map +1 -0
  241. package/dist/utils/__tests__/inferObjectType.test.js +43 -0
  242. package/dist/utils/__tests__/inferObjectType.test.js.map +1 -0
  243. package/dist/utils/__tests__/isRequiredForOtherObjects.test.d.ts +2 -0
  244. package/dist/utils/__tests__/isRequiredForOtherObjects.test.d.ts.map +1 -0
  245. package/dist/utils/__tests__/isRequiredForOtherObjects.test.js +229 -0
  246. package/dist/utils/__tests__/isRequiredForOtherObjects.test.js.map +1 -0
  247. package/dist/utils/__tests__/serializationRoundTrip.test.d.ts +2 -0
  248. package/dist/utils/__tests__/serializationRoundTrip.test.d.ts.map +1 -0
  249. package/dist/utils/__tests__/serializationRoundTrip.test.js +389 -0
  250. package/dist/utils/__tests__/serializationRoundTrip.test.js.map +1 -0
  251. package/dist/utils/__tests__/serializeTrellisObject.test.d.ts +2 -0
  252. package/dist/utils/__tests__/serializeTrellisObject.test.d.ts.map +1 -0
  253. package/dist/utils/__tests__/serializeTrellisObject.test.js +192 -0
  254. package/dist/utils/__tests__/serializeTrellisObject.test.js.map +1 -0
  255. package/dist/utils/__tests__/sortTrellisObjects.test.d.ts +2 -0
  256. package/dist/utils/__tests__/sortTrellisObjects.test.d.ts.map +1 -0
  257. package/dist/utils/__tests__/sortTrellisObjects.test.js +114 -0
  258. package/dist/utils/__tests__/sortTrellisObjects.test.js.map +1 -0
  259. package/dist/utils/checkPrerequisitesComplete.d.ts +12 -0
  260. package/dist/utils/checkPrerequisitesComplete.d.ts.map +1 -0
  261. package/dist/utils/checkPrerequisitesComplete.js +38 -0
  262. package/dist/utils/checkPrerequisitesComplete.js.map +1 -0
  263. package/dist/utils/deserializeTrellisObject.d.ts +9 -0
  264. package/dist/utils/deserializeTrellisObject.d.ts.map +1 -0
  265. package/dist/utils/deserializeTrellisObject.js +134 -0
  266. package/dist/utils/deserializeTrellisObject.js.map +1 -0
  267. package/dist/utils/filterUnavailableObjects.d.ts +13 -0
  268. package/dist/utils/filterUnavailableObjects.d.ts.map +1 -0
  269. package/dist/utils/filterUnavailableObjects.js +40 -0
  270. package/dist/utils/filterUnavailableObjects.js.map +1 -0
  271. package/dist/utils/generateUniqueId.d.ts +10 -0
  272. package/dist/utils/generateUniqueId.d.ts.map +1 -0
  273. package/dist/utils/generateUniqueId.js +67 -0
  274. package/dist/utils/generateUniqueId.js.map +1 -0
  275. package/dist/utils/index.d.ts +9 -0
  276. package/dist/utils/index.d.ts.map +1 -0
  277. package/dist/utils/index.js +20 -0
  278. package/dist/utils/index.js.map +1 -0
  279. package/dist/utils/inferObjectType.d.ts +3 -0
  280. package/dist/utils/inferObjectType.d.ts.map +1 -0
  281. package/dist/utils/inferObjectType.js +26 -0
  282. package/dist/utils/inferObjectType.js.map +1 -0
  283. package/dist/utils/isRequiredForOtherObjects.d.ts +12 -0
  284. package/dist/utils/isRequiredForOtherObjects.d.ts.map +1 -0
  285. package/dist/utils/isRequiredForOtherObjects.js +33 -0
  286. package/dist/utils/isRequiredForOtherObjects.js.map +1 -0
  287. package/dist/utils/serializeTrellisObject.d.ts +8 -0
  288. package/dist/utils/serializeTrellisObject.d.ts.map +1 -0
  289. package/dist/utils/serializeTrellisObject.js +35 -0
  290. package/dist/utils/serializeTrellisObject.js.map +1 -0
  291. package/dist/utils/sortTrellisObjects.d.ts +8 -0
  292. package/dist/utils/sortTrellisObjects.d.ts.map +1 -0
  293. package/dist/utils/sortTrellisObjects.js +20 -0
  294. package/dist/utils/sortTrellisObjects.js.map +1 -0
  295. package/dist/validation/ValidationError.d.ts +9 -0
  296. package/dist/validation/ValidationError.d.ts.map +1 -0
  297. package/dist/validation/ValidationError.js +18 -0
  298. package/dist/validation/ValidationError.js.map +1 -0
  299. package/dist/validation/ValidationErrorCode.d.ts +3 -0
  300. package/dist/validation/ValidationErrorCode.d.ts.map +1 -0
  301. package/dist/validation/ValidationErrorCode.js +3 -0
  302. package/dist/validation/ValidationErrorCode.js.map +1 -0
  303. package/dist/validation/ValidationErrorCodes.d.ts +8 -0
  304. package/dist/validation/ValidationErrorCodes.d.ts.map +1 -0
  305. package/dist/validation/ValidationErrorCodes.js +11 -0
  306. package/dist/validation/ValidationErrorCodes.js.map +1 -0
  307. package/dist/validation/__tests__/ValidationError.test.d.ts +2 -0
  308. package/dist/validation/__tests__/ValidationError.test.d.ts.map +1 -0
  309. package/dist/validation/__tests__/ValidationError.test.js +32 -0
  310. package/dist/validation/__tests__/ValidationError.test.js.map +1 -0
  311. package/dist/validation/__tests__/validateObjectCreation.test.d.ts +2 -0
  312. package/dist/validation/__tests__/validateObjectCreation.test.d.ts.map +1 -0
  313. package/dist/validation/__tests__/validateObjectCreation.test.js +93 -0
  314. package/dist/validation/__tests__/validateObjectCreation.test.js.map +1 -0
  315. package/dist/validation/__tests__/validateParentExists.test.d.ts +2 -0
  316. package/dist/validation/__tests__/validateParentExists.test.d.ts.map +1 -0
  317. package/dist/validation/__tests__/validateParentExists.test.js +62 -0
  318. package/dist/validation/__tests__/validateParentExists.test.js.map +1 -0
  319. package/dist/validation/__tests__/validateParentType.test.d.ts +2 -0
  320. package/dist/validation/__tests__/validateParentType.test.d.ts.map +1 -0
  321. package/dist/validation/__tests__/validateParentType.test.js +125 -0
  322. package/dist/validation/__tests__/validateParentType.test.js.map +1 -0
  323. package/dist/validation/__tests__/validateStatusTransition.test.d.ts +2 -0
  324. package/dist/validation/__tests__/validateStatusTransition.test.d.ts.map +1 -0
  325. package/dist/validation/__tests__/validateStatusTransition.test.js +103 -0
  326. package/dist/validation/__tests__/validateStatusTransition.test.js.map +1 -0
  327. package/dist/validation/validateObjectCreation.d.ts +12 -0
  328. package/dist/validation/validateObjectCreation.d.ts.map +1 -0
  329. package/dist/validation/validateObjectCreation.js +24 -0
  330. package/dist/validation/validateObjectCreation.js.map +1 -0
  331. package/dist/validation/validateParentExists.d.ts +10 -0
  332. package/dist/validation/validateParentExists.d.ts.map +1 -0
  333. package/dist/validation/validateParentExists.js +23 -0
  334. package/dist/validation/validateParentExists.js.map +1 -0
  335. package/dist/validation/validateParentType.d.ts +16 -0
  336. package/dist/validation/validateParentType.d.ts.map +1 -0
  337. package/dist/validation/validateParentType.js +48 -0
  338. package/dist/validation/validateParentType.js.map +1 -0
  339. package/dist/validation/validateStatusTransition.d.ts +12 -0
  340. package/dist/validation/validateStatusTransition.d.ts.map +1 -0
  341. package/dist/validation/validateStatusTransition.js +29 -0
  342. package/dist/validation/validateStatusTransition.js.map +1 -0
  343. package/package.json +78 -0
@@ -0,0 +1,200 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const models_1 = require("../../models");
4
+ const checkPrerequisitesComplete_1 = require("../checkPrerequisitesComplete");
5
+ // Mock repository implementation for testing
6
+ class MockRepository {
7
+ objects = new Map();
8
+ constructor(objects = []) {
9
+ objects.forEach((obj) => this.objects.set(obj.id, obj));
10
+ }
11
+ async getObjectById(id) {
12
+ return Promise.resolve(this.objects.get(id) || null);
13
+ }
14
+ async getObjects(_includeClosed) {
15
+ return Promise.resolve(Array.from(this.objects.values()));
16
+ }
17
+ async saveObject(trellisObject) {
18
+ this.objects.set(trellisObject.id, trellisObject);
19
+ return Promise.resolve();
20
+ }
21
+ async deleteObject(id) {
22
+ this.objects.delete(id);
23
+ return Promise.resolve();
24
+ }
25
+ }
26
+ describe("checkPrerequisitesComplete", () => {
27
+ const createMockObject = (id, status, prerequisites = []) => ({
28
+ id,
29
+ title: `Task ${id}`,
30
+ status,
31
+ priority: models_1.TrellisObjectPriority.MEDIUM,
32
+ prerequisites,
33
+ affectedFiles: new Map(),
34
+ log: [],
35
+ schema: "v1.0",
36
+ childrenIds: [],
37
+ body: `Body for ${id}`,
38
+ type: models_1.TrellisObjectType.TASK,
39
+ });
40
+ it("should return true when object has no prerequisites", async () => {
41
+ const object = createMockObject("task-1", models_1.TrellisObjectStatus.OPEN, []);
42
+ const repository = new MockRepository();
43
+ const result = await (0, checkPrerequisitesComplete_1.checkPrerequisitesComplete)(object, repository);
44
+ expect(result).toBe(true);
45
+ });
46
+ it("should return true when object has empty prerequisites array", async () => {
47
+ const object = createMockObject("task-1", models_1.TrellisObjectStatus.OPEN);
48
+ // Ensure prerequisites is an empty array
49
+ object.prerequisites = [];
50
+ const repository = new MockRepository();
51
+ const result = await (0, checkPrerequisitesComplete_1.checkPrerequisitesComplete)(object, repository);
52
+ expect(result).toBe(true);
53
+ });
54
+ it("should return true when all prerequisites are DONE", async () => {
55
+ const prereq1 = createMockObject("prereq-1", models_1.TrellisObjectStatus.DONE);
56
+ const prereq2 = createMockObject("prereq-2", models_1.TrellisObjectStatus.DONE);
57
+ const object = createMockObject("task-1", models_1.TrellisObjectStatus.OPEN, [
58
+ "prereq-1",
59
+ "prereq-2",
60
+ ]);
61
+ const repository = new MockRepository([prereq1, prereq2]);
62
+ const result = await (0, checkPrerequisitesComplete_1.checkPrerequisitesComplete)(object, repository);
63
+ expect(result).toBe(true);
64
+ });
65
+ it("should return true when all prerequisites are WONT_DO", async () => {
66
+ const prereq1 = createMockObject("prereq-1", models_1.TrellisObjectStatus.WONT_DO);
67
+ const prereq2 = createMockObject("prereq-2", models_1.TrellisObjectStatus.WONT_DO);
68
+ const object = createMockObject("task-1", models_1.TrellisObjectStatus.OPEN, [
69
+ "prereq-1",
70
+ "prereq-2",
71
+ ]);
72
+ const repository = new MockRepository([prereq1, prereq2]);
73
+ const result = await (0, checkPrerequisitesComplete_1.checkPrerequisitesComplete)(object, repository);
74
+ expect(result).toBe(true);
75
+ });
76
+ it("should return true when prerequisites are mix of DONE and WONT_DO", async () => {
77
+ const prereq1 = createMockObject("prereq-1", models_1.TrellisObjectStatus.DONE);
78
+ const prereq2 = createMockObject("prereq-2", models_1.TrellisObjectStatus.WONT_DO);
79
+ const object = createMockObject("task-1", models_1.TrellisObjectStatus.OPEN, [
80
+ "prereq-1",
81
+ "prereq-2",
82
+ ]);
83
+ const repository = new MockRepository([prereq1, prereq2]);
84
+ const result = await (0, checkPrerequisitesComplete_1.checkPrerequisitesComplete)(object, repository);
85
+ expect(result).toBe(true);
86
+ });
87
+ it("should return false when prerequisite is OPEN", async () => {
88
+ const prereq1 = createMockObject("prereq-1", models_1.TrellisObjectStatus.OPEN);
89
+ const object = createMockObject("task-1", models_1.TrellisObjectStatus.OPEN, [
90
+ "prereq-1",
91
+ ]);
92
+ const repository = new MockRepository([prereq1]);
93
+ const result = await (0, checkPrerequisitesComplete_1.checkPrerequisitesComplete)(object, repository);
94
+ expect(result).toBe(false);
95
+ });
96
+ it("should return false when prerequisite is IN_PROGRESS", async () => {
97
+ const prereq1 = createMockObject("prereq-1", models_1.TrellisObjectStatus.IN_PROGRESS);
98
+ const object = createMockObject("task-1", models_1.TrellisObjectStatus.OPEN, [
99
+ "prereq-1",
100
+ ]);
101
+ const repository = new MockRepository([prereq1]);
102
+ const result = await (0, checkPrerequisitesComplete_1.checkPrerequisitesComplete)(object, repository);
103
+ expect(result).toBe(false);
104
+ });
105
+ it("should return false when prerequisite is DRAFT", async () => {
106
+ const prereq1 = createMockObject("prereq-1", models_1.TrellisObjectStatus.DRAFT);
107
+ const object = createMockObject("task-1", models_1.TrellisObjectStatus.OPEN, [
108
+ "prereq-1",
109
+ ]);
110
+ const repository = new MockRepository([prereq1]);
111
+ const result = await (0, checkPrerequisitesComplete_1.checkPrerequisitesComplete)(object, repository);
112
+ expect(result).toBe(false);
113
+ });
114
+ it("should return false when any prerequisite is incomplete", async () => {
115
+ const prereq1 = createMockObject("prereq-1", models_1.TrellisObjectStatus.DONE);
116
+ const prereq2 = createMockObject("prereq-2", models_1.TrellisObjectStatus.OPEN);
117
+ const prereq3 = createMockObject("prereq-3", models_1.TrellisObjectStatus.WONT_DO);
118
+ const object = createMockObject("task-1", models_1.TrellisObjectStatus.OPEN, [
119
+ "prereq-1",
120
+ "prereq-2",
121
+ "prereq-3",
122
+ ]);
123
+ const repository = new MockRepository([prereq1, prereq2, prereq3]);
124
+ const result = await (0, checkPrerequisitesComplete_1.checkPrerequisitesComplete)(object, repository);
125
+ expect(result).toBe(false);
126
+ });
127
+ it("should return true when prerequisite does not exist in repository (external dependency)", async () => {
128
+ const object = createMockObject("task-1", models_1.TrellisObjectStatus.OPEN, [
129
+ "nonexistent-prereq",
130
+ ]);
131
+ const repository = new MockRepository([]);
132
+ const result = await (0, checkPrerequisitesComplete_1.checkPrerequisitesComplete)(object, repository);
133
+ expect(result).toBe(true);
134
+ });
135
+ it("should return true when some prerequisites exist (complete) and some don't (external)", async () => {
136
+ const prereq1 = createMockObject("prereq-1", models_1.TrellisObjectStatus.DONE);
137
+ const object = createMockObject("task-1", models_1.TrellisObjectStatus.OPEN, [
138
+ "prereq-1",
139
+ "nonexistent-prereq",
140
+ ]);
141
+ const repository = new MockRepository([prereq1]);
142
+ const result = await (0, checkPrerequisitesComplete_1.checkPrerequisitesComplete)(object, repository);
143
+ expect(result).toBe(true);
144
+ });
145
+ it("should return false when some prerequisites exist (incomplete) and some don't (external)", async () => {
146
+ const prereq1 = createMockObject("prereq-1", models_1.TrellisObjectStatus.IN_PROGRESS);
147
+ const object = createMockObject("task-1", models_1.TrellisObjectStatus.OPEN, [
148
+ "prereq-1",
149
+ "nonexistent-prereq",
150
+ ]);
151
+ const repository = new MockRepository([prereq1]);
152
+ const result = await (0, checkPrerequisitesComplete_1.checkPrerequisitesComplete)(object, repository);
153
+ expect(result).toBe(false);
154
+ });
155
+ it("should handle multiple prerequisites with various statuses", async () => {
156
+ const prereq1 = createMockObject("prereq-1", models_1.TrellisObjectStatus.DONE);
157
+ const prereq2 = createMockObject("prereq-2", models_1.TrellisObjectStatus.WONT_DO);
158
+ const prereq3 = createMockObject("prereq-3", models_1.TrellisObjectStatus.DONE);
159
+ const object = createMockObject("task-1", models_1.TrellisObjectStatus.OPEN, [
160
+ "prereq-1",
161
+ "prereq-2",
162
+ "prereq-3",
163
+ ]);
164
+ const repository = new MockRepository([prereq1, prereq2, prereq3]);
165
+ const result = await (0, checkPrerequisitesComplete_1.checkPrerequisitesComplete)(object, repository);
166
+ expect(result).toBe(true);
167
+ });
168
+ it("should handle single prerequisite", async () => {
169
+ const prereq1 = createMockObject("prereq-1", models_1.TrellisObjectStatus.DONE);
170
+ const object = createMockObject("task-1", models_1.TrellisObjectStatus.OPEN, [
171
+ "prereq-1",
172
+ ]);
173
+ const repository = new MockRepository([prereq1]);
174
+ const result = await (0, checkPrerequisitesComplete_1.checkPrerequisitesComplete)(object, repository);
175
+ expect(result).toBe(true);
176
+ });
177
+ it("should work regardless of the main object's status", async () => {
178
+ const prereq1 = createMockObject("prereq-1", models_1.TrellisObjectStatus.DONE);
179
+ const object = createMockObject("task-1", models_1.TrellisObjectStatus.IN_PROGRESS, [
180
+ "prereq-1",
181
+ ]);
182
+ const repository = new MockRepository([prereq1]);
183
+ const result = await (0, checkPrerequisitesComplete_1.checkPrerequisitesComplete)(object, repository);
184
+ expect(result).toBe(true);
185
+ });
186
+ it("should handle repository errors gracefully", async () => {
187
+ const object = createMockObject("task-1", models_1.TrellisObjectStatus.OPEN, [
188
+ "prereq-1",
189
+ ]);
190
+ // Mock repository that throws an error on getObjects
191
+ const mockRepository = {
192
+ getObjectById: jest.fn(),
193
+ getObjects: jest.fn().mockRejectedValue(new Error("Repository error")),
194
+ saveObject: jest.fn(),
195
+ deleteObject: jest.fn(),
196
+ };
197
+ await expect((0, checkPrerequisitesComplete_1.checkPrerequisitesComplete)(object, mockRepository)).rejects.toThrow("Repository error");
198
+ });
199
+ });
200
+ //# sourceMappingURL=checkPrerequisitesComplete.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkPrerequisitesComplete.test.js","sourceRoot":"","sources":["../../../src/utils/__tests__/checkPrerequisitesComplete.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=deserializeTrellisObject.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deserializeTrellisObject.test.d.ts","sourceRoot":"","sources":["../../../src/utils/__tests__/deserializeTrellisObject.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,329 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const models_1 = require("../../models");
4
+ const deserializeTrellisObject_1 = require("../deserializeTrellisObject");
5
+ const serializeTrellisObject_1 = require("../serializeTrellisObject");
6
+ describe("deserializeTrellisObject", () => {
7
+ it("should deserialize a basic markdown string with YAML frontmatter", () => {
8
+ const markdownString = `---
9
+ id: T-test-id-123
10
+ title: Test Task
11
+ status: in-progress
12
+ priority: high
13
+ prerequisites:
14
+ - prereq-1
15
+ - prereq-2
16
+ affectedFiles:
17
+ src/file1.ts: modified
18
+ src/file2.ts: created
19
+ log:
20
+ - Initial commit
21
+ - Updated implementation
22
+ schema: v1.0
23
+ childrenIds:
24
+ - child-1
25
+ - child-2
26
+ ---
27
+
28
+ This is the main content of the task.`;
29
+ const result = (0, deserializeTrellisObject_1.deserializeTrellisObject)(markdownString);
30
+ expect(result).toEqual({
31
+ id: "T-test-id-123",
32
+ type: models_1.TrellisObjectType.TASK,
33
+ title: "Test Task",
34
+ status: models_1.TrellisObjectStatus.IN_PROGRESS,
35
+ priority: models_1.TrellisObjectPriority.HIGH,
36
+ prerequisites: ["prereq-1", "prereq-2"],
37
+ affectedFiles: new Map([
38
+ ["src/file1.ts", "modified"],
39
+ ["src/file2.ts", "created"],
40
+ ]),
41
+ log: ["Initial commit", "Updated implementation"],
42
+ schema: "v1.0",
43
+ childrenIds: ["child-1", "child-2"],
44
+ body: "This is the main content of the task.",
45
+ });
46
+ });
47
+ it("should handle multi-line log entries correctly", () => {
48
+ const markdownString = `---
49
+ id: T-multiline-test
50
+ title: Multi-line Log Test
51
+ status: open
52
+ priority: medium
53
+ prerequisites: []
54
+ affectedFiles: {}
55
+ log:
56
+ - Single line entry
57
+ - |-
58
+ Multi-line entry:
59
+ This spans multiple lines
60
+ With various details
61
+ And even more information
62
+ - Another single line
63
+ - |-
64
+ Complex multi-line:
65
+ - Bullet point 1
66
+ - Bullet point 2
67
+ - Nested point
68
+ - Final point
69
+ schema: v1.0
70
+ childrenIds: []
71
+ ---
72
+
73
+ Test body content`;
74
+ const result = (0, deserializeTrellisObject_1.deserializeTrellisObject)(markdownString);
75
+ expect(result.log).toHaveLength(4);
76
+ expect(result.log[0]).toBe("Single line entry");
77
+ expect(result.log[1]).toBe("Multi-line entry:\nThis spans multiple lines\nWith various details\nAnd even more information");
78
+ expect(result.log[2]).toBe("Another single line");
79
+ expect(result.log[3]).toBe("Complex multi-line:\n- Bullet point 1\n- Bullet point 2\n - Nested point\n- Final point");
80
+ });
81
+ it("should handle empty arrays and objects correctly", () => {
82
+ const markdownString = `---
83
+ id: T-empty-test
84
+ title: Empty Collections Test
85
+ status: draft
86
+ priority: low
87
+ prerequisites: []
88
+ affectedFiles: {}
89
+ log: []
90
+ schema: v1.0
91
+ childrenIds: []
92
+ ---
93
+
94
+ `;
95
+ const result = (0, deserializeTrellisObject_1.deserializeTrellisObject)(markdownString);
96
+ expect(result.prerequisites).toEqual([]);
97
+ expect(result.affectedFiles).toEqual(new Map());
98
+ expect(result.log).toEqual([]);
99
+ expect(result.childrenIds).toEqual([]);
100
+ expect(result.body).toBe("");
101
+ });
102
+ it("should handle special characters in strings", () => {
103
+ const markdownString = `---
104
+ id: T-special-chars-test
105
+ title: 'Title with "quotes" and symbols: @#$%'
106
+ status: in-progress
107
+ priority: high
108
+ prerequisites:
109
+ - prereq with spaces
110
+ - prereq-with-dashes
111
+ affectedFiles:
112
+ 'src/file with spaces.ts': 'status with "quotes"'
113
+ 'src/file-with-dashes.ts': 'status: with: colons'
114
+ log:
115
+ - 'Log entry with "double quotes"'
116
+ - "Log entry with 'single quotes'"
117
+ - 'Log entry with: colons and @symbols'
118
+ schema: v2.0-beta
119
+ childrenIds:
120
+ - child-with-dashes
121
+ - child with spaces
122
+ ---
123
+
124
+ Body with "quotes", symbols: @#$%, and other special characters!`;
125
+ const result = (0, deserializeTrellisObject_1.deserializeTrellisObject)(markdownString);
126
+ expect(result.title).toBe('Title with "quotes" and symbols: @#$%');
127
+ expect(result.affectedFiles.get("src/file with spaces.ts")).toBe('status with "quotes"');
128
+ expect(result.log[0]).toBe('Log entry with "double quotes"');
129
+ expect(result.body).toBe('Body with "quotes", symbols: @#$%, and other special characters!');
130
+ });
131
+ it("should throw error for invalid format without frontmatter delimiters", () => {
132
+ const invalidString = `id: test
133
+ title: Test
134
+ body content`;
135
+ expect(() => (0, deserializeTrellisObject_1.deserializeTrellisObject)(invalidString)).toThrow("Invalid format: Expected YAML frontmatter delimited by --- markers");
136
+ });
137
+ it("should throw error for invalid YAML syntax", () => {
138
+ const invalidYamlString = `---
139
+ id: test
140
+ title: Test
141
+ invalid: [unclosed array
142
+ ---
143
+
144
+ body content`;
145
+ expect(() => (0, deserializeTrellisObject_1.deserializeTrellisObject)(invalidYamlString)).toThrow(/Invalid YAML frontmatter:/);
146
+ });
147
+ it("should throw error for missing required fields", () => {
148
+ const missingFieldString = `---
149
+ id: test
150
+ title: Test Task
151
+ status: open
152
+ # priority is missing
153
+ schema: v1.0
154
+ ---
155
+
156
+ body content`;
157
+ expect(() => (0, deserializeTrellisObject_1.deserializeTrellisObject)(missingFieldString)).toThrow("Missing required field: priority");
158
+ });
159
+ it("should throw error for invalid field types", () => {
160
+ const invalidTypeString = `---
161
+ id: test
162
+ title: Test Task
163
+ status: open
164
+ priority: 123 # should be string, not number
165
+ schema: v1.0
166
+ ---
167
+
168
+ body content`;
169
+ expect(() => (0, deserializeTrellisObject_1.deserializeTrellisObject)(invalidTypeString)).toThrow("Invalid type for field priority: Expected string");
170
+ });
171
+ it("should handle non-string values in arrays by filtering them out", () => {
172
+ const mixedArrayString = `---
173
+ id: T-test
174
+ title: Test Task
175
+ status: open
176
+ priority: high
177
+ prerequisites:
178
+ - valid string
179
+ - 123
180
+ - another string
181
+ - true
182
+ - null
183
+ log:
184
+ - valid log entry
185
+ - 456
186
+ - another valid entry
187
+ schema: v1.0
188
+ childrenIds:
189
+ - valid-child
190
+ - 789
191
+ ---
192
+
193
+ body content`;
194
+ const result = (0, deserializeTrellisObject_1.deserializeTrellisObject)(mixedArrayString);
195
+ expect(result.prerequisites).toEqual(["valid string", "another string"]);
196
+ expect(result.log).toEqual(["valid log entry", "another valid entry"]);
197
+ expect(result.childrenIds).toEqual(["valid-child"]);
198
+ });
199
+ it("should handle non-string values in affectedFiles by filtering them out", () => {
200
+ const mixedObjectString = `---
201
+ id: T-test
202
+ title: Test Task
203
+ status: open
204
+ priority: high
205
+ prerequisites: []
206
+ affectedFiles:
207
+ 'valid-file.ts': modified
208
+ 'another-file.js': created
209
+ 'invalid-number': 123
210
+ 'invalid-boolean': true
211
+ log: []
212
+ schema: v1.0
213
+ childrenIds: []
214
+ ---
215
+
216
+ body content`;
217
+ const result = (0, deserializeTrellisObject_1.deserializeTrellisObject)(mixedObjectString);
218
+ expect(result.affectedFiles.size).toBe(2);
219
+ expect(result.affectedFiles.get("valid-file.ts")).toBe("modified");
220
+ expect(result.affectedFiles.get("another-file.js")).toBe("created");
221
+ expect(result.affectedFiles.has("invalid-number")).toBe(false);
222
+ expect(result.affectedFiles.has("invalid-boolean")).toBe(false);
223
+ });
224
+ it("should handle complex markdown body content", () => {
225
+ const complexBodyString = `---
226
+ id: T-complex-body-test
227
+ title: Complex Body Test
228
+ status: open
229
+ priority: medium
230
+ prerequisites: []
231
+ affectedFiles: {}
232
+ log: []
233
+ schema: v1.0
234
+ childrenIds: []
235
+ ---
236
+
237
+ # Main Task Description
238
+
239
+ This is a detailed description of the task.
240
+
241
+ ## Steps to Complete
242
+
243
+ 1. First step
244
+ 2. Second step
245
+ 3. Final step
246
+
247
+ > Important note about the implementation
248
+
249
+ \`\`\`typescript
250
+ const example = "code block";
251
+ \`\`\`
252
+
253
+ ### Additional Notes
254
+
255
+ - Bullet point 1
256
+ - Bullet point 2
257
+ - Nested point
258
+ - Final point`;
259
+ const result = (0, deserializeTrellisObject_1.deserializeTrellisObject)(complexBodyString);
260
+ expect(result.body).toContain("# Main Task Description");
261
+ expect(result.body).toContain("## Steps to Complete");
262
+ expect(result.body).toContain("```typescript");
263
+ expect(result.body).toContain("- Bullet point 1");
264
+ });
265
+ it("should perform round-trip serialization/deserialization correctly", () => {
266
+ const originalObject = {
267
+ id: "T-round-trip-test",
268
+ title: "Round Trip Test",
269
+ status: models_1.TrellisObjectStatus.IN_PROGRESS,
270
+ priority: models_1.TrellisObjectPriority.HIGH,
271
+ prerequisites: ["prereq-1", "prereq-2"],
272
+ affectedFiles: new Map([
273
+ ["src/file1.ts", "modified"],
274
+ ["src/file2.ts", "created"],
275
+ ["config/settings.json", "deleted"],
276
+ ]),
277
+ log: [
278
+ "Initial implementation",
279
+ "Multi-line log entry:\nWith multiple lines\nAnd details",
280
+ "Final commit",
281
+ ],
282
+ schema: "v1.0",
283
+ childrenIds: ["child-1", "child-2"],
284
+ body: "# Task Description\n\nThis is the task body with **markdown** formatting.",
285
+ type: models_1.TrellisObjectType.TASK,
286
+ };
287
+ // Serialize then deserialize
288
+ const serialized = (0, serializeTrellisObject_1.serializeTrellisObject)(originalObject);
289
+ const deserialized = (0, deserializeTrellisObject_1.deserializeTrellisObject)(serialized);
290
+ // Should be identical
291
+ expect(deserialized).toEqual(originalObject);
292
+ });
293
+ it("should handle frontmatter that is not an object", () => {
294
+ const nonObjectString = `---
295
+ "just a string"
296
+ ---
297
+
298
+ body content`;
299
+ expect(() => (0, deserializeTrellisObject_1.deserializeTrellisObject)(nonObjectString)).toThrow("Invalid frontmatter: Expected an object");
300
+ });
301
+ it("should handle body content with --- markers", () => {
302
+ const bodyWithDelimitersString = `---
303
+ id: T-delim-test
304
+ title: Delimiter Test
305
+ status: open
306
+ priority: medium
307
+ prerequisites: []
308
+ affectedFiles: {}
309
+ log: []
310
+ schema: v1.0
311
+ childrenIds: []
312
+ ---
313
+
314
+ This body contains --- markers
315
+ and should handle them correctly.
316
+
317
+ ---
318
+
319
+ Even multiple --- sections should work.`;
320
+ const result = (0, deserializeTrellisObject_1.deserializeTrellisObject)(bodyWithDelimitersString);
321
+ expect(result.body).toBe(`This body contains --- markers
322
+ and should handle them correctly.
323
+
324
+ ---
325
+
326
+ Even multiple --- sections should work.`);
327
+ });
328
+ });
329
+ //# sourceMappingURL=deserializeTrellisObject.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deserializeTrellisObject.test.js","sourceRoot":"","sources":["../../../src/utils/__tests__/deserializeTrellisObject.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=filterUnavailableObjects.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filterUnavailableObjects.test.d.ts","sourceRoot":"","sources":["../../../src/utils/__tests__/filterUnavailableObjects.test.ts"],"names":[],"mappings":""}