rhachet 1.12.1 → 1.12.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 (295) hide show
  1. package/dist/contract/cli/invoke.js +1 -1
  2. package/dist/contract/cli/invoke.js.map +1 -1
  3. package/dist/contract/cli/invokeAsk.d.ts +3 -3
  4. package/dist/contract/cli/invokeBriefs.d.ts +2 -2
  5. package/dist/contract/cli/invokeBriefsBoot.d.ts +1 -1
  6. package/dist/contract/cli/invokeBriefsBoot.js +2 -2
  7. package/dist/contract/cli/invokeBriefsBoot.js.map +1 -1
  8. package/dist/contract/cli/invokeBriefsLink.d.ts +2 -2
  9. package/dist/contract/cli/invokeBriefsLink.js +1 -1
  10. package/dist/contract/cli/invokeBriefsLink.js.map +1 -1
  11. package/dist/contract/cli/invokeChoose.d.ts +1 -1
  12. package/dist/contract/cli/invokeInit.d.ts +1 -1
  13. package/dist/contract/cli/invokeInit.js +1 -1
  14. package/dist/contract/cli/invokeInit.js.map +1 -1
  15. package/dist/contract/cli/invokeList.d.ts +2 -2
  16. package/dist/contract/cli/invokeReadme.d.ts +2 -2
  17. package/dist/contract/cli/invokeRoles.d.ts +2 -2
  18. package/dist/contract/cli/invokeRolesBoot.d.ts +1 -1
  19. package/dist/contract/cli/invokeRolesBoot.js +2 -2
  20. package/dist/contract/cli/invokeRolesBoot.js.map +1 -1
  21. package/dist/contract/cli/invokeRolesLink.d.ts +2 -2
  22. package/dist/contract/cli/invokeRolesLink.js +1 -1
  23. package/dist/contract/cli/invokeRolesLink.js.map +1 -1
  24. package/dist/contract/sdk.d.ts +13 -13
  25. package/dist/contract/sdk.js +25 -25
  26. package/dist/contract/sdk.js.map +1 -1
  27. package/dist/domain/constants.d.ts +3 -0
  28. package/dist/domain/constants.js +5 -0
  29. package/dist/domain/constants.js.map +1 -0
  30. package/dist/domain/objects/InvokeHooks.d.ts +1 -1
  31. package/dist/domain/objects/InvokeOpts.d.ts +1 -1
  32. package/dist/domain/objects/Role.d.ts +2 -2
  33. package/dist/domain/objects/RoleContext.d.ts +1 -1
  34. package/dist/domain/objects/RoleSkill.d.ts +2 -2
  35. package/dist/domain/objects/RoleSkillArgGetter.d.ts +3 -3
  36. package/dist/domain/objects/RoleTrait.d.ts +2 -2
  37. package/dist/domain/objects/Stitch.d.ts +4 -4
  38. package/dist/domain/objects/Stitch.js.map +1 -1
  39. package/dist/domain/objects/StitchChoice.d.ts +2 -2
  40. package/dist/domain/objects/StitchChoice.js.map +1 -1
  41. package/dist/domain/objects/StitchCycle.d.ts +4 -4
  42. package/dist/domain/objects/StitchCycle.js.map +1 -1
  43. package/dist/domain/objects/StitchFanout.d.ts +4 -4
  44. package/dist/domain/objects/StitchFanout.js.map +1 -1
  45. package/dist/domain/objects/StitchRoute.d.ts +1 -1
  46. package/dist/domain/objects/StitchRoute.js.map +1 -1
  47. package/dist/domain/objects/StitchSetEvent.d.ts +3 -3
  48. package/dist/domain/objects/StitchStep.d.ts +3 -3
  49. package/dist/domain/objects/Stitcher.d.ts +9 -9
  50. package/dist/domain/objects/Stitcher.js.map +1 -1
  51. package/dist/domain/objects/Template.d.ts +2 -2
  52. package/dist/domain/objects/Template.js.map +1 -1
  53. package/dist/domain/objects/Thread.d.ts +2 -2
  54. package/dist/domain/objects/Threads.d.ts +2 -2
  55. package/dist/domain/objects/Threads.js.map +1 -1
  56. package/dist/domain/objects/index.d.ts +2 -2
  57. package/dist/domain/objects/index.js +2 -2
  58. package/dist/domain/objects/index.js.map +1 -1
  59. package/dist/logic/context/genContextStitchTrail.d.ts +1 -1
  60. package/dist/logic/context/genContextStitchTrail.js.map +1 -1
  61. package/dist/logic/invoke/assureFindRole.d.ts +2 -2
  62. package/dist/logic/invoke/assureUniqueRoles.d.ts +1 -1
  63. package/dist/logic/invoke/getInvokeHooksByOpts.d.ts +2 -2
  64. package/dist/logic/invoke/getRegistriesByOpts.d.ts +2 -2
  65. package/dist/logic/invoke/getSkillContext.d.ts +3 -3
  66. package/dist/logic/invoke/getSkillThreads.d.ts +4 -4
  67. package/dist/logic/invoke/hooks/onInvokeAskInput.d.ts +2 -2
  68. package/dist/logic/invoke/performInCurrentThread.d.ts +2 -2
  69. package/dist/logic/invoke/performInIsolatedThread.execute.d.ts +1 -1
  70. package/dist/logic/invoke/performInIsolatedThread.invoke.d.ts +2 -2
  71. package/dist/logic/invoke/performInIsolatedThread.invoke.js +3 -3
  72. package/dist/logic/invoke/performInIsolatedThread.invoke.js.map +1 -1
  73. package/dist/logic/invoke/performInIsolatedThreads.d.ts +1 -1
  74. package/dist/logic/role/addRoleTraits.d.ts +5 -5
  75. package/dist/logic/role/enrollThread.d.ts +4 -4
  76. package/dist/logic/role/genRoleSkill.d.ts +1 -1
  77. package/dist/logic/stitch/adapters/imagineViaOpenAI.d.ts +1 -1
  78. package/dist/logic/stitch/enstitch.d.ts +3 -3
  79. package/dist/logic/stitch/enstitch.js +1 -1
  80. package/dist/logic/stitch/enstitch.js.map +1 -1
  81. package/dist/logic/stitch/invokeImagineStitcher.d.ts +3 -3
  82. package/dist/logic/stitch/withStitchTrail.d.ts +4 -4
  83. package/dist/logic/stitch/withStitchTrail.js +1 -1
  84. package/dist/logic/stitch/withStitchTrail.js.map +1 -1
  85. package/dist/logic/template/genStepImagineViaTemplate.d.ts +2 -2
  86. package/dist/logic/template/genStepImagineViaTemplate.js.map +1 -1
  87. package/dist/logic/template/genTemplate.d.ts +3 -3
  88. package/dist/logic/template/getTemplatePathByCallerPath.d.ts +1 -1
  89. package/dist/logic/template/getTemplatePathByCallerPath.js +2 -2
  90. package/dist/logic/template/getTemplatePathByCallerPath.js.map +1 -1
  91. package/dist/logic/template/getTemplateValFromArtifacts.d.ts +2 -2
  92. package/dist/logic/template/getTemplateValFromArtifacts.js.map +1 -1
  93. package/dist/logic/template/getTemplateVarsFromInheritance.d.ts +1 -1
  94. package/dist/logic/template/useTemplate.d.ts +2 -2
  95. package/dist/logic/thread/getStitch.d.ts +1 -1
  96. package/dist/logic/weave/compose/GStitcherInferredFromChoice.generic.d.ts +3 -3
  97. package/dist/logic/weave/compose/GStitcherInferredFromCycle.generic.d.ts +4 -4
  98. package/dist/logic/weave/compose/GStitcherInferredFromFanout.generic.d.ts +6 -6
  99. package/dist/logic/weave/compose/GStitcherInferredFromRoute.generic.d.ts +4 -4
  100. package/dist/logic/weave/compose/ProcedureContextMerged.generic.d.ts +1 -1
  101. package/dist/logic/weave/compose/ThreadsMerged.generic.d.ts +4 -4
  102. package/dist/logic/weave/compose/asStitcher.d.ts +3 -3
  103. package/dist/logic/weave/compose/asStitcherFlat.d.ts +2 -2
  104. package/dist/logic/weave/compose/genStitchChoice.d.ts +3 -3
  105. package/dist/logic/weave/compose/genStitchCycle.d.ts +5 -5
  106. package/dist/logic/weave/compose/genStitchFanout.d.ts +5 -5
  107. package/dist/logic/weave/compose/genStitchFanout.js.map +1 -1
  108. package/dist/logic/weave/compose/genStitchRoute.d.ts +3 -3
  109. package/dist/logic/weave/compose/genStitchRoute.js.map +1 -1
  110. package/dist/logic/weave/enweaveOneChoice.d.ts +2 -2
  111. package/dist/logic/weave/enweaveOneChoice.js.map +1 -1
  112. package/dist/logic/weave/enweaveOneCycle.d.ts +2 -2
  113. package/dist/logic/weave/enweaveOneCycle.js.map +1 -1
  114. package/dist/logic/weave/enweaveOneFanout.d.ts +2 -2
  115. package/dist/logic/weave/enweaveOneFanout.js.map +1 -1
  116. package/dist/logic/weave/enweaveOneRoute.d.ts +2 -2
  117. package/dist/logic/weave/enweaveOneRoute.js.map +1 -1
  118. package/dist/logic/weave/enweaveOneStitcher.d.ts +2 -2
  119. package/dist/logic/weave/enweaveOneStitcher.js.map +1 -1
  120. package/license.md +21 -0
  121. package/package.json +38 -38
  122. package/dist/.test/directory.d.ts +0 -2
  123. package/dist/.test/directory.js +0 -6
  124. package/dist/.test/directory.js.map +0 -1
  125. package/dist/.test/example.use.repo/example.echoRegistry.d.ts +0 -2
  126. package/dist/.test/example.use.repo/example.echoRegistry.js +0 -108
  127. package/dist/.test/example.use.repo/example.echoRegistry.js.map +0 -1
  128. package/dist/.test/genContextLogTrail.d.ts +0 -2
  129. package/dist/.test/genContextLogTrail.js +0 -12
  130. package/dist/.test/genContextLogTrail.js.map +0 -1
  131. package/dist/.test/getContextOpenAI.d.ts +0 -2
  132. package/dist/.test/getContextOpenAI.js +0 -18
  133. package/dist/.test/getContextOpenAI.js.map +0 -1
  134. package/dist/.test/stitchers/genStitcherCodeFileRead.d.ts +0 -14
  135. package/dist/.test/stitchers/genStitcherCodeFileRead.js +0 -23
  136. package/dist/.test/stitchers/genStitcherCodeFileRead.js.map +0 -1
  137. package/dist/.test/stitchers/genStitcherCodeFileWrite.d.ts +0 -16
  138. package/dist/.test/stitchers/genStitcherCodeFileWrite.js +0 -29
  139. package/dist/.test/stitchers/genStitcherCodeFileWrite.js.map +0 -1
  140. package/dist/.test/stitchers/genStitcherCodeReviewImagine.d.ts +0 -15
  141. package/dist/.test/stitchers/genStitcherCodeReviewImagine.js +0 -97
  142. package/dist/.test/stitchers/genStitcherCodeReviewImagine.js.map +0 -1
  143. package/dist/.test/stitchers/stitcherCodeDiffImagine.d.ts +0 -13
  144. package/dist/.test/stitchers/stitcherCodeDiffImagine.js +0 -33
  145. package/dist/.test/stitchers/stitcherCodeDiffImagine.js.map +0 -1
  146. package/dist/.test/stitchers/stitcherFanoutRandomSum.d.ts +0 -13
  147. package/dist/.test/stitchers/stitcherFanoutRandomSum.js +0 -45
  148. package/dist/.test/stitchers/stitcherFanoutRandomSum.js.map +0 -1
  149. package/dist/.test/stitchers/stitcherFanoutSubroutes.d.ts +0 -35
  150. package/dist/.test/stitchers/stitcherFanoutSubroutes.js +0 -76
  151. package/dist/.test/stitchers/stitcherFanoutSubroutes.js.map +0 -1
  152. package/dist/.test/threads/codeArtist.d.ts +0 -6
  153. package/dist/.test/threads/codeArtist.js +0 -26
  154. package/dist/.test/threads/codeArtist.js.map +0 -1
  155. package/dist/.test/threads/codeCritic.d.ts +0 -6
  156. package/dist/.test/threads/codeCritic.js +0 -21
  157. package/dist/.test/threads/codeCritic.js.map +0 -1
  158. package/dist/.test/threads/director.d.ts +0 -6
  159. package/dist/.test/threads/director.js +0 -14
  160. package/dist/.test/threads/director.js.map +0 -1
  161. package/dist/contract/cli/invoke.integration.test.d.ts +0 -1
  162. package/dist/contract/cli/invoke.integration.test.js +0 -39
  163. package/dist/contract/cli/invoke.integration.test.js.map +0 -1
  164. package/dist/contract/cli/invokeAsk.integration.test.d.ts +0 -1
  165. package/dist/contract/cli/invokeAsk.integration.test.js +0 -69
  166. package/dist/contract/cli/invokeAsk.integration.test.js.map +0 -1
  167. package/dist/contract/cli/invokeBriefsBoot.integration.test.d.ts +0 -1
  168. package/dist/contract/cli/invokeBriefsBoot.integration.test.js +0 -159
  169. package/dist/contract/cli/invokeBriefsBoot.integration.test.js.map +0 -1
  170. package/dist/contract/cli/invokeBriefsLink.integration.test.d.ts +0 -1
  171. package/dist/contract/cli/invokeBriefsLink.integration.test.js +0 -100
  172. package/dist/contract/cli/invokeBriefsLink.integration.test.js.map +0 -1
  173. package/dist/contract/cli/invokeChoose.integration.test.d.ts +0 -1
  174. package/dist/contract/cli/invokeChoose.integration.test.js +0 -111
  175. package/dist/contract/cli/invokeChoose.integration.test.js.map +0 -1
  176. package/dist/contract/cli/invokeInit.integration.test.d.ts +0 -1
  177. package/dist/contract/cli/invokeInit.integration.test.js +0 -123
  178. package/dist/contract/cli/invokeInit.integration.test.js.map +0 -1
  179. package/dist/contract/cli/invokeReadme.integration.test.d.ts +0 -1
  180. package/dist/contract/cli/invokeReadme.integration.test.js +0 -62
  181. package/dist/contract/cli/invokeReadme.integration.test.js.map +0 -1
  182. package/dist/contract/cli/invokeRolesBoot.integration.test.d.ts +0 -1
  183. package/dist/contract/cli/invokeRolesBoot.integration.test.js +0 -152
  184. package/dist/contract/cli/invokeRolesBoot.integration.test.js.map +0 -1
  185. package/dist/contract/cli/invokeRolesLink.integration.test.d.ts +0 -1
  186. package/dist/contract/cli/invokeRolesLink.integration.test.js +0 -117
  187. package/dist/contract/cli/invokeRolesLink.integration.test.js.map +0 -1
  188. package/dist/domain/objects/InvokeOpts.test.d.ts +0 -1
  189. package/dist/domain/objects/InvokeOpts.test.js +0 -41
  190. package/dist/domain/objects/InvokeOpts.test.js.map +0 -1
  191. package/dist/domain/objects/Stitcher.test.d.ts +0 -1
  192. package/dist/domain/objects/Stitcher.test.js +0 -78
  193. package/dist/domain/objects/Stitcher.test.js.map +0 -1
  194. package/dist/domain/objects/Template.test.d.ts +0 -1
  195. package/dist/domain/objects/Template.test.js +0 -48
  196. package/dist/domain/objects/Template.test.js.map +0 -1
  197. package/dist/logic/init/generateRhachetConfig.test.d.ts +0 -1
  198. package/dist/logic/init/generateRhachetConfig.test.js +0 -35
  199. package/dist/logic/init/generateRhachetConfig.test.js.map +0 -1
  200. package/dist/logic/invoke/addAttemptQualifierToOutputPath.test.d.ts +0 -1
  201. package/dist/logic/invoke/addAttemptQualifierToOutputPath.test.js +0 -130
  202. package/dist/logic/invoke/addAttemptQualifierToOutputPath.test.js.map +0 -1
  203. package/dist/logic/invoke/getPeerQualifiersOfOutputChoice.test.d.ts +0 -1
  204. package/dist/logic/invoke/getPeerQualifiersOfOutputChoice.test.js +0 -77
  205. package/dist/logic/invoke/getPeerQualifiersOfOutputChoice.test.js.map +0 -1
  206. package/dist/logic/invoke/getSkillContext.test.d.ts +0 -1
  207. package/dist/logic/invoke/getSkillContext.test.js +0 -85
  208. package/dist/logic/invoke/getSkillContext.test.js.map +0 -1
  209. package/dist/logic/invoke/getSkillThread.test.d.ts +0 -1
  210. package/dist/logic/invoke/getSkillThread.test.js +0 -115
  211. package/dist/logic/invoke/getSkillThread.test.js.map +0 -1
  212. package/dist/logic/invoke/performInIsolatedThread.invoke.integration.test.d.ts +0 -1
  213. package/dist/logic/invoke/performInIsolatedThread.invoke.integration.test.js +0 -74
  214. package/dist/logic/invoke/performInIsolatedThread.invoke.integration.test.js.map +0 -1
  215. package/dist/logic/invoke/performInIsolatedThreads.integration.test.d.ts +0 -1
  216. package/dist/logic/invoke/performInIsolatedThreads.integration.test.js +0 -75
  217. package/dist/logic/invoke/performInIsolatedThreads.integration.test.js.map +0 -1
  218. package/dist/logic/role/addRoleTraits.test.d.ts +0 -1
  219. package/dist/logic/role/addRoleTraits.test.js +0 -93
  220. package/dist/logic/role/addRoleTraits.test.js.map +0 -1
  221. package/dist/logic/role/enrollThread.integration.test.d.ts +0 -1
  222. package/dist/logic/role/enrollThread.integration.test.js +0 -79
  223. package/dist/logic/role/enrollThread.integration.test.js.map +0 -1
  224. package/dist/logic/role/genRoleSkill.test.d.ts +0 -1
  225. package/dist/logic/role/genRoleSkill.test.js +0 -79
  226. package/dist/logic/role/genRoleSkill.test.js.map +0 -1
  227. package/dist/logic/stitch/enstitch.test.d.ts +0 -1
  228. package/dist/logic/stitch/enstitch.test.js +0 -112
  229. package/dist/logic/stitch/enstitch.test.js.map +0 -1
  230. package/dist/logic/stitch/invokeImagineStitcher.integration.test.d.ts +0 -1
  231. package/dist/logic/stitch/invokeImagineStitcher.integration.test.js +0 -195
  232. package/dist/logic/stitch/invokeImagineStitcher.integration.test.js.map +0 -1
  233. package/dist/logic/template/genStepImagineViaTemplate.test.d.ts +0 -1
  234. package/dist/logic/template/genStepImagineViaTemplate.test.js +0 -126
  235. package/dist/logic/template/genStepImagineViaTemplate.test.js.map +0 -1
  236. package/dist/logic/template/genTemplate.test.d.ts +0 -1
  237. package/dist/logic/template/genTemplate.test.js +0 -118
  238. package/dist/logic/template/genTemplate.test.js.map +0 -1
  239. package/dist/logic/template/useTemplate.integration.test.d.ts +0 -1
  240. package/dist/logic/template/useTemplate.integration.test.js +0 -28
  241. package/dist/logic/template/useTemplate.integration.test.js.map +0 -1
  242. package/dist/logic/thread/getStitch.test.d.ts +0 -1
  243. package/dist/logic/thread/getStitch.test.js +0 -73
  244. package/dist/logic/thread/getStitch.test.js.map +0 -1
  245. package/dist/logic/weave/compose/GStitcherInferredFromChoice.generic.test.d.ts +0 -1
  246. package/dist/logic/weave/compose/GStitcherInferredFromChoice.generic.test.js +0 -67
  247. package/dist/logic/weave/compose/GStitcherInferredFromChoice.generic.test.js.map +0 -1
  248. package/dist/logic/weave/compose/GStitcherInferredFromCycle.generic.test.d.ts +0 -1
  249. package/dist/logic/weave/compose/GStitcherInferredFromCycle.generic.test.js +0 -132
  250. package/dist/logic/weave/compose/GStitcherInferredFromCycle.generic.test.js.map +0 -1
  251. package/dist/logic/weave/compose/GStitcherInferredFromFanout.generic.test.d.ts +0 -1
  252. package/dist/logic/weave/compose/GStitcherInferredFromFanout.generic.test.js +0 -74
  253. package/dist/logic/weave/compose/GStitcherInferredFromFanout.generic.test.js.map +0 -1
  254. package/dist/logic/weave/compose/GStitcherInferredFromRoute.generic.test.d.ts +0 -1
  255. package/dist/logic/weave/compose/GStitcherInferredFromRoute.generic.test.js +0 -190
  256. package/dist/logic/weave/compose/GStitcherInferredFromRoute.generic.test.js.map +0 -1
  257. package/dist/logic/weave/compose/ProcedureContextMerged.generic.test.d.ts +0 -1
  258. package/dist/logic/weave/compose/ProcedureContextMerged.generic.test.js +0 -29
  259. package/dist/logic/weave/compose/ProcedureContextMerged.generic.test.js.map +0 -1
  260. package/dist/logic/weave/compose/ThreadsMerged.generic.test.d.ts +0 -1
  261. package/dist/logic/weave/compose/ThreadsMerged.generic.test.js +0 -420
  262. package/dist/logic/weave/compose/ThreadsMerged.generic.test.js.map +0 -1
  263. package/dist/logic/weave/compose/asStitcher.test.d.ts +0 -1
  264. package/dist/logic/weave/compose/asStitcher.test.js +0 -95
  265. package/dist/logic/weave/compose/asStitcher.test.js.map +0 -1
  266. package/dist/logic/weave/compose/asStitcherFlat.test.d.ts +0 -1
  267. package/dist/logic/weave/compose/asStitcherFlat.test.js +0 -96
  268. package/dist/logic/weave/compose/asStitcherFlat.test.js.map +0 -1
  269. package/dist/logic/weave/compose/genStitchChoice.test.d.ts +0 -1
  270. package/dist/logic/weave/compose/genStitchChoice.test.js +0 -200
  271. package/dist/logic/weave/compose/genStitchChoice.test.js.map +0 -1
  272. package/dist/logic/weave/compose/genStitchCycle.test.d.ts +0 -1
  273. package/dist/logic/weave/compose/genStitchCycle.test.js +0 -267
  274. package/dist/logic/weave/compose/genStitchCycle.test.js.map +0 -1
  275. package/dist/logic/weave/compose/genStitchFanout.test.d.ts +0 -1
  276. package/dist/logic/weave/compose/genStitchFanout.test.js +0 -79
  277. package/dist/logic/weave/compose/genStitchFanout.test.js.map +0 -1
  278. package/dist/logic/weave/compose/genStitchRoute.test.d.ts +0 -1
  279. package/dist/logic/weave/compose/genStitchRoute.test.js +0 -120
  280. package/dist/logic/weave/compose/genStitchRoute.test.js.map +0 -1
  281. package/dist/logic/weave/enweaveOneChoice.test.d.ts +0 -1
  282. package/dist/logic/weave/enweaveOneChoice.test.js +0 -181
  283. package/dist/logic/weave/enweaveOneChoice.test.js.map +0 -1
  284. package/dist/logic/weave/enweaveOneCycle.test.d.ts +0 -1
  285. package/dist/logic/weave/enweaveOneCycle.test.js +0 -180
  286. package/dist/logic/weave/enweaveOneCycle.test.js.map +0 -1
  287. package/dist/logic/weave/enweaveOneFanout.integration.test.d.ts +0 -1
  288. package/dist/logic/weave/enweaveOneFanout.integration.test.js +0 -166
  289. package/dist/logic/weave/enweaveOneFanout.integration.test.js.map +0 -1
  290. package/dist/logic/weave/enweaveOneRoute.integration.test.d.ts +0 -1
  291. package/dist/logic/weave/enweaveOneRoute.integration.test.js +0 -159
  292. package/dist/logic/weave/enweaveOneRoute.integration.test.js.map +0 -1
  293. package/dist/logic/weave/enweaveOneStitcher.integration.test.d.ts +0 -2
  294. package/dist/logic/weave/enweaveOneStitcher.integration.test.js +0 -258
  295. package/dist/logic/weave/enweaveOneStitcher.integration.test.js.map +0 -1
@@ -1,120 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const test_fns_1 = require("test-fns");
4
- const StitchStep_1 = require("../../../domain/objects/StitchStep");
5
- const asStitcher_1 = require("./asStitcher");
6
- const genStitchRoute_1 = require("./genStitchRoute");
7
- describe('genStitchRoute type preservation', () => {
8
- (0, test_fns_1.given)('a route with two compute steps on the same thread', () => {
9
- const step1 = new StitchStep_1.StitchStepCompute({
10
- slug: 'step-1',
11
- readme: null,
12
- form: 'COMPUTE',
13
- stitchee: 'main',
14
- invoke: () => ({ input: null, output: 1 }),
15
- });
16
- const check1 = true;
17
- expect(check1);
18
- const step2 = new StitchStep_1.StitchStepCompute({
19
- slug: 'step-2',
20
- readme: null,
21
- form: 'COMPUTE',
22
- stitchee: 'main',
23
- invoke: () => ({ input: null, output: 2 }),
24
- });
25
- const check2 = true;
26
- expect(check2);
27
- const route = (0, genStitchRoute_1.genStitchRoute)({
28
- slug: 'route:example',
29
- readme: null,
30
- sequence: [step1, step2],
31
- });
32
- (0, test_fns_1.when)('checking assignability to Stitcher<GStitcher>', () => {
33
- (0, test_fns_1.then)('it should produce single threads', () => {
34
- const isSingle = true;
35
- expect(isSingle);
36
- });
37
- (0, test_fns_1.then)('it should produce a valid gstitcher', () => {
38
- const isValid = true;
39
- expect(isValid);
40
- });
41
- (0, test_fns_1.then)('it should be assignable to StitchRoute<T extends GStitcher>', () => {
42
- const isAssignable = true;
43
- expect(isAssignable);
44
- });
45
- (0, test_fns_1.then)('it cannot be assignable to StitchRoute<GStitcher>', () => {
46
- // @ts-expect-error: due to Generic Invariance on Classes
47
- const isAssignable = true;
48
- expect(isAssignable);
49
- });
50
- (0, test_fns_1.then)('it should be assignable generically', () => {
51
- const checkA = true;
52
- expect(checkA);
53
- const checkB = true;
54
- expect(checkB);
55
- const checkC = true;
56
- expect(checkC);
57
- });
58
- (0, test_fns_1.then)('it cannot be assignable exactly', () => {
59
- // @ts-expect-error: due to Generic Invariance on Classes
60
- const checkA = true;
61
- expect(checkA);
62
- // @ts-expect-error: due to Generic Invariance on Classes
63
- const checkB = true;
64
- expect(checkB);
65
- });
66
- });
67
- (0, test_fns_1.then)('you can still cast it manually with loss of type safety', () => {
68
- const forced = route;
69
- expect(forced.slug).toBe('route:example');
70
- });
71
- (0, test_fns_1.then)('it should be assignable if you normalize threads to Threads<..., "single">', () => {
72
- const normalized = route;
73
- expect(normalized.slug).toBe('route:example');
74
- });
75
- });
76
- (0, test_fns_1.given)('a route within a route', () => {
77
- const step1 = new StitchStep_1.StitchStepCompute({
78
- slug: 'step-1',
79
- readme: null,
80
- form: 'COMPUTE',
81
- stitchee: 'main',
82
- invoke: () => ({ input: null, output: 1 }),
83
- });
84
- const step2 = new StitchStep_1.StitchStepCompute({
85
- slug: 'step-2',
86
- readme: null,
87
- form: 'COMPUTE',
88
- stitchee: 'main',
89
- invoke: () => ({ input: null, output: 2 }),
90
- });
91
- const innerRoute = (0, genStitchRoute_1.genStitchRoute)({
92
- slug: 'route:inner',
93
- readme: null,
94
- sequence: [step1, step2],
95
- });
96
- const outerRoute = (0, genStitchRoute_1.genStitchRoute)({
97
- slug: 'route:outer',
98
- readme: null,
99
- sequence: [(0, asStitcher_1.asStitcher)(innerRoute)],
100
- });
101
- (0, test_fns_1.then)('innerRoute should be assignable to Stitcher<GStitcher>', () => {
102
- const result = true;
103
- expect(result);
104
- });
105
- (0, test_fns_1.then)('outerRoute should be assignable to Stitcher<GStitcher>', () => {
106
- const result = true;
107
- expect(result);
108
- });
109
- (0, test_fns_1.then)('innerRoute should be assignable to StitchRoute<GStitcher>', () => {
110
- const result = true;
111
- expect(result);
112
- });
113
- (0, test_fns_1.then)('outerRoute stitches should include the inner step structure', () => {
114
- const slug = outerRoute.slug;
115
- expect(slug).toBe('route:outer');
116
- expect(outerRoute.sequence[0].slug).toBe('route:inner');
117
- });
118
- });
119
- });
120
- //# sourceMappingURL=genStitchRoute.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"genStitchRoute.test.js","sourceRoot":"","sources":["../../../../src/logic/weave/compose/genStitchRoute.test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,181 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const uni_time_1 = require("@ehmpathy/uni-time");
4
- const test_fns_1 = require("test-fns");
5
- const genContextLogTrail_1 = require("../../.test/genContextLogTrail");
6
- const StitchStep_1 = require("../../domain/objects/StitchStep");
7
- const genContextStitchTrail_1 = require("../context/genContextStitchTrail");
8
- const genThread_1 = require("../thread/genThread");
9
- const asStitcher_1 = require("./compose/asStitcher");
10
- const genStitchChoice_1 = require("./compose/genStitchChoice");
11
- const enweaveOneChoice_1 = require("./enweaveOneChoice");
12
- describe('enweaveOneChoice', () => {
13
- const context = {
14
- ...(0, genContextLogTrail_1.genContextLogTrail)(),
15
- ...(0, genContextStitchTrail_1.genContextStitchTrail)(),
16
- };
17
- (0, test_fns_1.given)('a release decision with 3 options: release, iterate, abort', () => {
18
- const stitcherOptionRelease = new StitchStep_1.StitchStepCompute({
19
- slug: 'stitcherOptionRelease',
20
- readme: 'Push this to prod',
21
- form: 'COMPUTE',
22
- stitchee: 'main',
23
- invoke: () => ({ input: null, output: 'released' }),
24
- });
25
- const stitcherOptionIterate = new StitchStep_1.StitchStepCompute({
26
- slug: 'stitcherOptionIterate',
27
- readme: 'Keep improving before release',
28
- form: 'COMPUTE',
29
- stitchee: 'main',
30
- invoke: () => ({ input: null, output: 'iterated' }),
31
- });
32
- const stitcherOptionAbort = new StitchStep_1.StitchStepCompute({
33
- slug: 'stitcherOptionAbort',
34
- readme: 'Stop this effort',
35
- form: 'COMPUTE',
36
- stitchee: 'main',
37
- invoke: () => ({ input: null, output: 'aborted' }),
38
- });
39
- const stitcherDecideNextStep = new StitchStep_1.StitchStepCompute({
40
- slug: 'stitcherDecideNextStep',
41
- readme: 'Choose next step based on quality',
42
- form: 'COMPUTE',
43
- stitchee: 'main',
44
- invoke: () => ({
45
- input: null,
46
- output: { choice: { slug: 'stitcherOptionIterate' } },
47
- }),
48
- });
49
- const chooseNextStep = (0, genStitchChoice_1.genStitchChoice)({
50
- slug: 'chooseNextStep',
51
- readme: 'Should we now release, iterate, or abort?',
52
- decider: stitcherDecideNextStep,
53
- options: [
54
- stitcherOptionRelease,
55
- stitcherOptionIterate,
56
- stitcherOptionAbort,
57
- ],
58
- });
59
- (0, test_fns_1.when)('evaluating whether to release', () => {
60
- const threads = {
61
- main: (0, genThread_1.genThread)({ role: 'main' }),
62
- };
63
- (0, test_fns_1.then)('it should select "iterate" as next step', async () => {
64
- const result = await (0, enweaveOneChoice_1.enweaveOneChoice)({
65
- stitcher: chooseNextStep,
66
- threads,
67
- }, context);
68
- console.log(JSON.stringify(result, null, 2));
69
- expect(result.stitch.output).toBe('iterated');
70
- expect(result.threads.main.stitches.length).toBe(2);
71
- expect(result.occurredAt).toEqual((0, uni_time_1.asUniDateTime)(result.occurredAt));
72
- });
73
- });
74
- });
75
- (0, test_fns_1.given)('a nested decision tree for triaging a home issue', () => {
76
- // Leaf stitchers
77
- const stitcherOptionPlumberUrgent = new StitchStep_1.StitchStepCompute({
78
- slug: 'plumber-urgent',
79
- readme: null,
80
- form: 'COMPUTE',
81
- stitchee: 'main',
82
- invoke: () => ({ input: null, output: 'plumber-urgent' }),
83
- });
84
- const stitcherOptionPlumberSchedule = new StitchStep_1.StitchStepCompute({
85
- slug: 'inspect-later',
86
- readme: null,
87
- form: 'COMPUTE',
88
- stitchee: 'main',
89
- invoke: () => ({ input: null, output: 'inspection-scheduled' }),
90
- });
91
- const stitcherOptionElectricianRefer = new StitchStep_1.StitchStepCompute({
92
- slug: 'refer-utility',
93
- readme: null,
94
- form: 'COMPUTE',
95
- stitchee: 'main',
96
- invoke: () => ({ input: null, output: 'refer-utility' }),
97
- });
98
- const stitcherOptionElectricianDispatch = new StitchStep_1.StitchStepCompute({
99
- slug: 'dispatch-electrician',
100
- readme: null,
101
- form: 'COMPUTE',
102
- stitchee: 'main',
103
- invoke: () => ({ input: null, output: 'dispatch-electrician' }),
104
- });
105
- // Inner choice for "leaking water"
106
- const leakDecider = new StitchStep_1.StitchStepCompute({
107
- slug: 'decide-leak-type',
108
- readme: null,
109
- form: 'COMPUTE',
110
- stitchee: 'main',
111
- invoke: () => ({
112
- input: null,
113
- output: { choice: { slug: 'inspect-later' } },
114
- }),
115
- });
116
- const leakChoice = (0, genStitchChoice_1.genStitchChoice)({
117
- slug: 'choice:leak',
118
- readme: null,
119
- decider: leakDecider,
120
- options: [stitcherOptionPlumberUrgent, stitcherOptionPlumberSchedule],
121
- });
122
- // Root decision tree
123
- const rootDecider = new StitchStep_1.StitchStepCompute({
124
- slug: 'decide-main-issue',
125
- readme: null,
126
- form: 'COMPUTE',
127
- stitchee: 'main',
128
- invoke: () => ({
129
- input: null,
130
- output: { choice: { slug: 'choice:leak' } },
131
- }),
132
- });
133
- const rootChoice = (0, genStitchChoice_1.genStitchChoice)({
134
- slug: 'choice:root',
135
- readme: 'What kind of issue is this?',
136
- decider: rootDecider,
137
- options: [
138
- (0, asStitcher_1.asStitcher)(leakChoice),
139
- stitcherOptionElectricianRefer,
140
- stitcherOptionElectricianDispatch,
141
- ],
142
- });
143
- (0, test_fns_1.when)('executing a multi-level decision tree', () => {
144
- const threads = {
145
- main: (0, genThread_1.genThread)({ role: 'main' }),
146
- };
147
- (0, test_fns_1.then)('it should follow nested decisions and reach final output', async () => {
148
- const result = await (0, enweaveOneChoice_1.enweaveOneChoice)({
149
- stitcher: rootChoice,
150
- threads,
151
- }, context);
152
- expect(result.stitch.output).toEqual('inspection-scheduled');
153
- expect(result.threads.main.stitches.length).toBeGreaterThanOrEqual(2);
154
- expect(result.occurredAt).toEqual((0, uni_time_1.asUniDateTime)(result.occurredAt));
155
- });
156
- (0, test_fns_1.then)('it should error if decider picks an invalid slug', async () => {
157
- const badDecider = new StitchStep_1.StitchStepCompute({
158
- slug: 'bad-decider',
159
- readme: null,
160
- form: 'COMPUTE',
161
- stitchee: 'main',
162
- invoke: () => ({
163
- input: null,
164
- output: { choice: { slug: 'not-real' } },
165
- }),
166
- });
167
- const brokenChoice = (0, genStitchChoice_1.genStitchChoice)({
168
- slug: 'broken-choice',
169
- readme: null,
170
- decider: badDecider,
171
- options: [stitcherOptionPlumberUrgent],
172
- });
173
- await expect((0, enweaveOneChoice_1.enweaveOneChoice)({
174
- stitcher: brokenChoice,
175
- threads,
176
- }, context)).rejects.toThrow('could not find chosen option');
177
- });
178
- });
179
- });
180
- });
181
- //# sourceMappingURL=enweaveOneChoice.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"enweaveOneChoice.test.js","sourceRoot":"","sources":["../../../src/logic/weave/enweaveOneChoice.test.ts"],"names":[],"mappings":";;AAAA,iDAAmD;AACnD,uCAA6C;AAG7C,uEAAoE;AACpE,gEAAoE;AAGpE,4EAAyE;AACzE,mDAAgD;AAChD,qDAAkD;AAClD,+DAA4D;AAC5D,yDAAsD;AAEtD,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,MAAM,OAAO,GAAG;QACd,GAAG,IAAA,uCAAkB,GAAE;QACvB,GAAG,IAAA,6CAAqB,GAAE;KAC3B,CAAC;IAEF,IAAA,gBAAK,EAAC,4DAA4D,EAAE,GAAG,EAAE;QACvE,MAAM,qBAAqB,GAAG,IAAI,8BAAiB,CAEjD;YACA,IAAI,EAAE,uBAAuB;YAC7B,MAAM,EAAE,mBAAmB;YAC3B,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,MAAM;YAChB,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;SACpD,CAAC,CAAC;QAEH,MAAM,qBAAqB,GAAG,IAAI,8BAAiB,CAEjD;YACA,IAAI,EAAE,uBAAuB;YAC7B,MAAM,EAAE,+BAA+B;YACvC,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,MAAM;YAChB,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;SACpD,CAAC,CAAC;QAEH,MAAM,mBAAmB,GAAG,IAAI,8BAAiB,CAE/C;YACA,IAAI,EAAE,qBAAqB;YAC3B,MAAM,EAAE,kBAAkB;YAC1B,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,MAAM;YAChB,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;SACnD,CAAC,CAAC;QAEH,MAAM,sBAAsB,GAAG,IAAI,8BAAiB,CAMlD;YACA,IAAI,EAAE,wBAAwB;YAC9B,MAAM,EAAE,mCAAmC;YAC3C,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,MAAM;YAChB,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;gBACb,KAAK,EAAE,IAAI;gBACX,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,EAAE;aACtD,CAAC;SACH,CAAC,CAAC;QAEH,MAAM,cAAc,GAAG,IAAA,iCAAe,EAAC;YACrC,IAAI,EAAE,gBAAgB;YACtB,MAAM,EAAE,2CAA2C;YACnD,OAAO,EAAE,sBAAsB;YAC/B,OAAO,EAAE;gBACP,qBAAqB;gBACrB,qBAAqB;gBACrB,mBAAmB;aACpB;SACF,CAAC,CAAC;QAEH,IAAA,eAAI,EAAC,+BAA+B,EAAE,GAAG,EAAE;YACzC,MAAM,OAAO,GAA6B;gBACxC,IAAI,EAAE,IAAA,qBAAS,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;aAClC,CAAC;YAEF,IAAA,eAAI,EAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;gBACzD,MAAM,MAAM,GAAG,MAAM,IAAA,mCAAgB,EACnC;oBACE,QAAQ,EAAE,cAAc;oBACxB,OAAO;iBACR,EACD,OAAO,CACR,CAAC;gBAEF,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBAE7C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC9C,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACpD,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,IAAA,wBAAa,EAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;YACtE,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,gBAAK,EAAC,kDAAkD,EAAE,GAAG,EAAE;QAC7D,iBAAiB;QACjB,MAAM,2BAA2B,GAAG,IAAI,8BAAiB,CAMvD;YACA,IAAI,EAAE,gBAAgB;YACtB,MAAM,EAAE,IAAI;YACZ,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,MAAM;YAChB,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;SAC1D,CAAC,CAAC;QAEH,MAAM,6BAA6B,GAAG,IAAI,8BAAiB,CAMzD;YACA,IAAI,EAAE,eAAe;YACrB,MAAM,EAAE,IAAI;YACZ,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,MAAM;YAChB,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC;SAChE,CAAC,CAAC;QAEH,MAAM,8BAA8B,GAAG,IAAI,8BAAiB,CAE1D;YACA,IAAI,EAAE,eAAe;YACrB,MAAM,EAAE,IAAI;YACZ,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,MAAM;YAChB,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;SACzD,CAAC,CAAC;QAEH,MAAM,iCAAiC,GAAG,IAAI,8BAAiB,CAM7D;YACA,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EAAE,IAAI;YACZ,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,MAAM;YAChB,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC;SAChE,CAAC,CAAC;QAEH,mCAAmC;QACnC,MAAM,WAAW,GAAG,IAAI,8BAAiB,CAMvC;YACA,IAAI,EAAE,kBAAkB;YACxB,MAAM,EAAE,IAAI;YACZ,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,MAAM;YAChB,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;gBACb,KAAK,EAAE,IAAI;gBACX,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE;aAC9C,CAAC;SACH,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,IAAA,iCAAe,EAAC;YACjC,IAAI,EAAE,aAAa;YACnB,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,WAAW;YACpB,OAAO,EAAE,CAAC,2BAA2B,EAAE,6BAA6B,CAAC;SACtE,CAAC,CAAC;QAEH,qBAAqB;QACrB,MAAM,WAAW,GAAG,IAAI,8BAAiB,CAMvC;YACA,IAAI,EAAE,mBAAmB;YACzB,MAAM,EAAE,IAAI;YACZ,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,MAAM;YAChB,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;gBACb,KAAK,EAAE,IAAI;gBACX,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE;aAC5C,CAAC;SACH,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,IAAA,iCAAe,EAAC;YACjC,IAAI,EAAE,aAAa;YACnB,MAAM,EAAE,6BAA6B;YACrC,OAAO,EAAE,WAAW;YACpB,OAAO,EAAE;gBACP,IAAA,uBAAU,EAAC,UAAU,CAAC;gBACtB,8BAA8B;gBAC9B,iCAAiC;aAClC;SACF,CAAC,CAAC;QAEH,IAAA,eAAI,EAAC,uCAAuC,EAAE,GAAG,EAAE;YACjD,MAAM,OAAO,GAA6B;gBACxC,IAAI,EAAE,IAAA,qBAAS,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;aAClC,CAAC;YAEF,IAAA,eAAI,EACF,0DAA0D,EAC1D,KAAK,IAAI,EAAE;gBACT,MAAM,MAAM,GAAG,MAAM,IAAA,mCAAgB,EACnC;oBACE,QAAQ,EAAE,UAAU;oBACpB,OAAO;iBACR,EACD,OAAO,CACR,CAAC;gBAEF,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;gBAC7D,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;gBACtE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,IAAA,wBAAa,EAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;YACtE,CAAC,CACF,CAAC;YAEF,IAAA,eAAI,EAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;gBAClE,MAAM,UAAU,GAAG,IAAI,8BAAiB,CAMtC;oBACA,IAAI,EAAE,aAAa;oBACnB,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,SAAS;oBACf,QAAQ,EAAE,MAAM;oBAChB,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;wBACb,KAAK,EAAE,IAAI;wBACX,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE;qBACzC,CAAC;iBACH,CAAC,CAAC;gBAEH,MAAM,YAAY,GAAG,IAAA,iCAAe,EAAC;oBACnC,IAAI,EAAE,eAAe;oBACrB,MAAM,EAAE,IAAI;oBACZ,OAAO,EAAE,UAAU;oBACnB,OAAO,EAAE,CAAC,2BAA2B,CAAC;iBACvC,CAAC,CAAC;gBAEH,MAAM,MAAM,CACV,IAAA,mCAAgB,EACd;oBACE,QAAQ,EAAE,YAAY;oBACtB,OAAO;iBACR,EACD,OAAO,CACR,CACF,CAAC,OAAO,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC;YACpD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,180 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const uni_time_1 = require("@ehmpathy/uni-time");
4
- const test_fns_1 = require("test-fns");
5
- const genContextLogTrail_1 = require("../../.test/genContextLogTrail");
6
- const StitchStep_1 = require("../../domain/objects/StitchStep");
7
- const genContextStitchTrail_1 = require("../context/genContextStitchTrail");
8
- const genThread_1 = require("../thread/genThread");
9
- const genStitchCycle_1 = require("./compose/genStitchCycle");
10
- const enweaveOneCycle_1 = require("./enweaveOneCycle");
11
- describe('enweaveOneCycle', () => {
12
- const context = {
13
- ...(0, genContextLogTrail_1.genContextLogTrail)(),
14
- ...(0, genContextStitchTrail_1.genContextStitchTrail)(),
15
- };
16
- (0, test_fns_1.given)('a simple repeatee that gets released', () => {
17
- const repeatee = new StitchStep_1.StitchStepCompute({
18
- slug: 'repeatee',
19
- readme: 'Repeat logic',
20
- form: 'COMPUTE',
21
- stitchee: 'main',
22
- invoke: () => ({ input: null, output: 'A' }),
23
- });
24
- const decider = new StitchStep_1.StitchStepCompute({
25
- slug: 'decider',
26
- readme: 'Choose to stop after one',
27
- form: 'COMPUTE',
28
- stitchee: 'main',
29
- invoke: () => ({ input: null, output: { choice: 'release' } }),
30
- });
31
- const stitcher = (0, genStitchCycle_1.genStitchCycle)({
32
- slug: 'release-after-one',
33
- readme: null,
34
- repeatee,
35
- decider,
36
- });
37
- (0, test_fns_1.when)('run once and released', () => {
38
- const threads = {
39
- main: (0, genThread_1.genThread)({ role: 'main' }),
40
- };
41
- (0, test_fns_1.then)('it should return after one cycle with A', async () => {
42
- const result = await (0, enweaveOneCycle_1.enweaveOneCycle)({ stitcher, threads }, context);
43
- expect(result.stitch.output).toBe('A');
44
- expect(result.threads.main.stitches.length).toBe(2);
45
- });
46
- });
47
- });
48
- (0, test_fns_1.given)('a cycle that repeats twice then releases', () => {
49
- let callCount = 0;
50
- const repeatee = new StitchStep_1.StitchStepCompute({
51
- slug: 'repeatee-twice',
52
- readme: null,
53
- form: 'COMPUTE',
54
- stitchee: 'main',
55
- invoke: () => ({ input: null, output: `call-${++callCount}` }),
56
- });
57
- const decider = new StitchStep_1.StitchStepCompute({
58
- slug: 'decider-twice',
59
- readme: null,
60
- form: 'COMPUTE',
61
- stitchee: 'main',
62
- invoke: () => ({
63
- input: null,
64
- output: { choice: callCount === 2 ? 'release' : 'repeat' },
65
- }),
66
- });
67
- const stitcher = (0, genStitchCycle_1.genStitchCycle)({
68
- slug: 'repeat-twice-then-release',
69
- readme: null,
70
- repeatee,
71
- decider,
72
- });
73
- (0, test_fns_1.when)('run until released', () => {
74
- const threads = {
75
- main: (0, genThread_1.genThread)({ role: 'main' }),
76
- };
77
- (0, test_fns_1.then)('it should run repeatee twice and return second output', async () => {
78
- const result = await (0, enweaveOneCycle_1.enweaveOneCycle)({ stitcher, threads }, context);
79
- expect(result.stitch.output).toBe('call-2');
80
- expect(result.threads.main.stitches.length).toBe(4); // 2 repeatee + 2 decider
81
- });
82
- });
83
- });
84
- (0, test_fns_1.given)('a halting decider', () => {
85
- const repeatee = new StitchStep_1.StitchStepCompute({
86
- slug: 'rep',
87
- readme: null,
88
- form: 'COMPUTE',
89
- stitchee: 'main',
90
- invoke: () => ({ input: null, output: 'A' }),
91
- });
92
- const decider = new StitchStep_1.StitchStepCompute({
93
- slug: 'halt-me',
94
- readme: null,
95
- form: 'COMPUTE',
96
- stitchee: 'main',
97
- invoke: () => ({ input: null, output: { choice: 'halt' } }),
98
- });
99
- const stitcher = (0, genStitchCycle_1.genStitchCycle)({
100
- slug: 'halt-once',
101
- readme: null,
102
- repeatee,
103
- decider,
104
- });
105
- (0, test_fns_1.when)('run and told to halt', () => {
106
- const threads = {
107
- main: (0, genThread_1.genThread)({ role: 'main' }),
108
- };
109
- (0, test_fns_1.then)('it should throw a StitcherHaltedError(reason=DECIDED)', async () => {
110
- await expect((0, enweaveOneCycle_1.enweaveOneCycle)({ stitcher, threads }, context)).rejects.toThrowError(/DECIDED/);
111
- });
112
- });
113
- });
114
- (0, test_fns_1.given)('a repeatee that never releases, with halter on repetitions', () => {
115
- const stitcherRepeatee = new StitchStep_1.StitchStepCompute({
116
- slug: 'infinite-step',
117
- readme: 'Always increment',
118
- form: 'COMPUTE',
119
- stitchee: 'main',
120
- invoke: () => ({ input: null, output: 'tick' }),
121
- });
122
- const stitcherDecider = new StitchStep_1.StitchStepCompute({
123
- slug: 'always-repeat',
124
- readme: null,
125
- form: 'COMPUTE',
126
- stitchee: 'main',
127
- invoke: () => ({ input: null, output: { choice: 'repeat' } }),
128
- });
129
- const stitcherCycle = (0, genStitchCycle_1.genStitchCycle)({
130
- slug: 'cycle-infinite-haltered',
131
- readme: null,
132
- repeatee: stitcherRepeatee,
133
- decider: stitcherDecider,
134
- halter: { threshold: { repetitions: 5 } },
135
- });
136
- (0, test_fns_1.when)('executed', () => {
137
- const threads = {
138
- main: (0, genThread_1.genThread)({ role: 'main' }),
139
- };
140
- (0, test_fns_1.then)('it should halt after 5 repetitions', async () => {
141
- await expect((0, enweaveOneCycle_1.enweaveOneCycle)({ stitcher: stitcherCycle, threads }, context)).rejects.toThrow(enweaveOneCycle_1.StitcherHaltedError);
142
- });
143
- });
144
- });
145
- (0, test_fns_1.given)('a repeatee that exceeds time halter', () => {
146
- const stitcherRepeatee = new StitchStep_1.StitchStepCompute({
147
- slug: 'sleepy-step',
148
- readme: 'Sleeps each run',
149
- form: 'COMPUTE',
150
- stitchee: 'main',
151
- invoke: async () => {
152
- await (0, uni_time_1.sleep)({ seconds: 2 });
153
- return { input: null, output: 'zzz' };
154
- },
155
- });
156
- const stitcherDecider = new StitchStep_1.StitchStepCompute({
157
- slug: 'always-repeat-sleepy',
158
- readme: null,
159
- form: 'COMPUTE',
160
- stitchee: 'main',
161
- invoke: () => ({ input: null, output: { choice: 'repeat' } }),
162
- });
163
- const stitcherCycle = (0, genStitchCycle_1.genStitchCycle)({
164
- slug: 'cycle-timeout-halter',
165
- readme: null,
166
- repeatee: stitcherRepeatee,
167
- decider: stitcherDecider,
168
- halter: { threshold: { duration: { seconds: 3 } } },
169
- });
170
- (0, test_fns_1.when)('executed', () => {
171
- const threads = {
172
- main: (0, genThread_1.genThread)({ role: 'main' }),
173
- };
174
- (0, test_fns_1.then)('it should halt due to time threshold', async () => {
175
- await expect((0, enweaveOneCycle_1.enweaveOneCycle)({ stitcher: stitcherCycle, threads }, context)).rejects.toThrow(enweaveOneCycle_1.StitcherHaltedError);
176
- });
177
- });
178
- });
179
- });
180
- //# sourceMappingURL=enweaveOneCycle.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"enweaveOneCycle.test.js","sourceRoot":"","sources":["../../../src/logic/weave/enweaveOneCycle.test.ts"],"names":[],"mappings":";;AAAA,iDAA2C;AAC3C,uCAA6C;AAG7C,uEAAoE;AACpE,gEAAoE;AAGpE,4EAAyE;AACzE,mDAAgD;AAChD,6DAA0D;AAC1D,uDAAyE;AAEzE,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,MAAM,OAAO,GAAG;QACd,GAAG,IAAA,uCAAkB,GAAE;QACvB,GAAG,IAAA,6CAAqB,GAAE;KAC3B,CAAC;IAEF,IAAA,gBAAK,EAAC,sCAAsC,EAAE,GAAG,EAAE;QACjD,MAAM,QAAQ,GAAG,IAAI,8BAAiB,CAEpC;YACA,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,cAAc;YACtB,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,MAAM;YAChB,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;SAC7C,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,IAAI,8BAAiB,CAMnC;YACA,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,0BAA0B;YAClC,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,MAAM;YAChB,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC;SAC/D,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,IAAA,+BAAc,EAAC;YAC9B,IAAI,EAAE,mBAAmB;YACzB,MAAM,EAAE,IAAI;YACZ,QAAQ;YACR,OAAO;SACR,CAAC,CAAC;QAEH,IAAA,eAAI,EAAC,uBAAuB,EAAE,GAAG,EAAE;YACjC,MAAM,OAAO,GAA6B;gBACxC,IAAI,EAAE,IAAA,qBAAS,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;aAClC,CAAC;YAEF,IAAA,eAAI,EAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;gBACzD,MAAM,MAAM,GAAG,MAAM,IAAA,iCAAe,EAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;gBACrE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACvC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACtD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,gBAAK,EAAC,0CAA0C,EAAE,GAAG,EAAE;QACrD,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,MAAM,QAAQ,GAAG,IAAI,8BAAiB,CAEpC;YACA,IAAI,EAAE,gBAAgB;YACtB,MAAM,EAAE,IAAI;YACZ,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,MAAM;YAChB,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,CAAC;SAC/D,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,IAAI,8BAAiB,CAMnC;YACA,IAAI,EAAE,eAAe;YACrB,MAAM,EAAE,IAAI;YACZ,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,MAAM;YAChB,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;gBACb,KAAK,EAAE,IAAI;gBACX,MAAM,EAAE,EAAE,MAAM,EAAE,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE;aAC3D,CAAC;SACH,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,IAAA,+BAAc,EAAC;YAC9B,IAAI,EAAE,2BAA2B;YACjC,MAAM,EAAE,IAAI;YACZ,QAAQ;YACR,OAAO;SACR,CAAC,CAAC;QAEH,IAAA,eAAI,EAAC,oBAAoB,EAAE,GAAG,EAAE;YAC9B,MAAM,OAAO,GAA6B;gBACxC,IAAI,EAAE,IAAA,qBAAS,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;aAClC,CAAC;YAEF,IAAA,eAAI,EACF,uDAAuD,EACvD,KAAK,IAAI,EAAE;gBACT,MAAM,MAAM,GAAG,MAAM,IAAA,iCAAe,EAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;gBACrE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC5C,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,yBAAyB;YAChF,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,gBAAK,EAAC,mBAAmB,EAAE,GAAG,EAAE;QAC9B,MAAM,QAAQ,GAAG,IAAI,8BAAiB,CAEpC;YACA,IAAI,EAAE,KAAK;YACX,MAAM,EAAE,IAAI;YACZ,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,MAAM;YAChB,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;SAC7C,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,IAAI,8BAAiB,CAMnC;YACA,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,IAAI;YACZ,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,MAAM;YAChB,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;SAC5D,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,IAAA,+BAAc,EAAC;YAC9B,IAAI,EAAE,WAAW;YACjB,MAAM,EAAE,IAAI;YACZ,QAAQ;YACR,OAAO;SACR,CAAC,CAAC;QAEH,IAAA,eAAI,EAAC,sBAAsB,EAAE,GAAG,EAAE;YAChC,MAAM,OAAO,GAA6B;gBACxC,IAAI,EAAE,IAAA,qBAAS,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;aAClC,CAAC;YAEF,IAAA,eAAI,EACF,uDAAuD,EACvD,KAAK,IAAI,EAAE;gBACT,MAAM,MAAM,CACV,IAAA,iCAAe,EAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,CAChD,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YACpC,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,gBAAK,EAAC,4DAA4D,EAAE,GAAG,EAAE;QACvE,MAAM,gBAAgB,GAAG,IAAI,8BAAiB,CAE5C;YACA,IAAI,EAAE,eAAe;YACrB,MAAM,EAAE,kBAAkB;YAC1B,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,MAAM;YAChB,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;SAChD,CAAC,CAAC;QAEH,MAAM,eAAe,GAAG,IAAI,8BAAiB,CAM3C;YACA,IAAI,EAAE,eAAe;YACrB,MAAM,EAAE,IAAI;YACZ,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,MAAM;YAChB,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC;SAC9D,CAAC,CAAC;QAEH,MAAM,aAAa,GAAG,IAAA,+BAAc,EAAC;YACnC,IAAI,EAAE,yBAAyB;YAC/B,MAAM,EAAE,IAAI;YACZ,QAAQ,EAAE,gBAAgB;YAC1B,OAAO,EAAE,eAAe;YACxB,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE;SAC1C,CAAC,CAAC;QAEH,IAAA,eAAI,EAAC,UAAU,EAAE,GAAG,EAAE;YACpB,MAAM,OAAO,GAA6B;gBACxC,IAAI,EAAE,IAAA,qBAAS,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;aAClC,CAAC;YAEF,IAAA,eAAI,EAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;gBACpD,MAAM,MAAM,CACV,IAAA,iCAAe,EAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,CAC/D,CAAC,OAAO,CAAC,OAAO,CAAC,qCAAmB,CAAC,CAAC;YACzC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,gBAAK,EAAC,qCAAqC,EAAE,GAAG,EAAE;QAChD,MAAM,gBAAgB,GAAG,IAAI,8BAAiB,CAE5C;YACA,IAAI,EAAE,aAAa;YACnB,MAAM,EAAE,iBAAiB;YACzB,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,MAAM;YAChB,MAAM,EAAE,KAAK,IAAI,EAAE;gBACjB,MAAM,IAAA,gBAAK,EAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC5B,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;YACxC,CAAC;SACF,CAAC,CAAC;QAEH,MAAM,eAAe,GAAG,IAAI,8BAAiB,CAM3C;YACA,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EAAE,IAAI;YACZ,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,MAAM;YAChB,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC;SAC9D,CAAC,CAAC;QAEH,MAAM,aAAa,GAAG,IAAA,+BAAc,EAAC;YACnC,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EAAE,IAAI;YACZ,QAAQ,EAAE,gBAAgB;YAC1B,OAAO,EAAE,eAAe;YACxB,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE;SACpD,CAAC,CAAC;QAEH,IAAA,eAAI,EAAC,UAAU,EAAE,GAAG,EAAE;YACpB,MAAM,OAAO,GAA6B;gBACxC,IAAI,EAAE,IAAA,qBAAS,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;aAClC,CAAC;YAEF,IAAA,eAAI,EAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;gBACtD,MAAM,MAAM,CACV,IAAA,iCAAe,EAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,CAC/D,CAAC,OAAO,CAAC,OAAO,CAAC,qCAAmB,CAAC,CAAC;YACzC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}