@pennyfarthing/core 7.4.0 → 7.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (369) hide show
  1. package/dist/cli/utils/files.d.ts +0 -1
  2. package/dist/cli/utils/files.js +73 -56
  3. package/dist/cli/utils/manifest.d.ts +0 -1
  4. package/dist/cli/utils/manifest.js +48 -45
  5. package/dist/cli/utils/version.d.ts +0 -1
  6. package/dist/cli/utils/version.js +38 -32
  7. package/dist/index.d.ts +0 -1
  8. package/dist/index.js +39 -11
  9. package/dist/permissions/index.d.ts +0 -1
  10. package/dist/permissions/index.js +7 -4
  11. package/dist/permissions/permission-schema.d.ts +0 -1
  12. package/dist/permissions/permission-schema.js +13 -9
  13. package/dist/scripts/job-fair-aggregator.d.ts +0 -1
  14. package/dist/scripts/job-fair-aggregator.js +484 -341
  15. package/dist/workflow/index.d.ts +0 -1
  16. package/dist/workflow/index.js +12 -5
  17. package/dist/workflow/workflow-loader.d.ts +0 -1
  18. package/dist/workflow/workflow-loader.js +40 -34
  19. package/dist/workflow/workflow-permissions.d.ts +0 -1
  20. package/dist/workflow/workflow-permissions.js +14 -8
  21. package/dist/workflow/workflow-router.d.ts +0 -1
  22. package/dist/workflow/workflow-router.js +70 -51
  23. package/dist/workflow/workflow-schema.d.ts +0 -1
  24. package/dist/workflow/workflow-schema.js +62 -59
  25. package/package.json +1 -1
  26. package/dist/bmad/context-reader.d.ts +0 -71
  27. package/dist/bmad/context-reader.d.ts.map +0 -1
  28. package/dist/bmad/context-reader.js +0 -369
  29. package/dist/bmad/context-reader.js.map +0 -1
  30. package/dist/bmad/context-reader.test.d.ts +0 -71
  31. package/dist/bmad/context-reader.test.d.ts.map +0 -1
  32. package/dist/bmad/context-reader.test.js +0 -878
  33. package/dist/bmad/context-reader.test.js.map +0 -1
  34. package/dist/bmad/epics-parser.d.ts +0 -61
  35. package/dist/bmad/epics-parser.d.ts.map +0 -1
  36. package/dist/bmad/epics-parser.js +0 -331
  37. package/dist/bmad/epics-parser.js.map +0 -1
  38. package/dist/bmad/epics-parser.test.d.ts +0 -7
  39. package/dist/bmad/epics-parser.test.d.ts.map +0 -1
  40. package/dist/bmad/epics-parser.test.js +0 -449
  41. package/dist/bmad/epics-parser.test.js.map +0 -1
  42. package/dist/bmad/index.d.ts +0 -11
  43. package/dist/bmad/index.d.ts.map +0 -1
  44. package/dist/bmad/index.js +0 -24
  45. package/dist/bmad/index.js.map +0 -1
  46. package/dist/bmad/status-sync.d.ts +0 -173
  47. package/dist/bmad/status-sync.d.ts.map +0 -1
  48. package/dist/bmad/status-sync.js +0 -463
  49. package/dist/bmad/status-sync.js.map +0 -1
  50. package/dist/bmad/status-sync.test.d.ts +0 -7
  51. package/dist/bmad/status-sync.test.d.ts.map +0 -1
  52. package/dist/bmad/status-sync.test.js +0 -702
  53. package/dist/bmad/status-sync.test.js.map +0 -1
  54. package/dist/bmad/story-exporter.d.ts +0 -55
  55. package/dist/bmad/story-exporter.d.ts.map +0 -1
  56. package/dist/bmad/story-exporter.js +0 -170
  57. package/dist/bmad/story-exporter.js.map +0 -1
  58. package/dist/bmad/story-exporter.test.d.ts +0 -51
  59. package/dist/bmad/story-exporter.test.d.ts.map +0 -1
  60. package/dist/bmad/story-exporter.test.js +0 -603
  61. package/dist/bmad/story-exporter.test.js.map +0 -1
  62. package/dist/bmad/story-parser.d.ts +0 -44
  63. package/dist/bmad/story-parser.d.ts.map +0 -1
  64. package/dist/bmad/story-parser.js +0 -307
  65. package/dist/bmad/story-parser.js.map +0 -1
  66. package/dist/bmad/story-parser.test.d.ts +0 -44
  67. package/dist/bmad/story-parser.test.d.ts.map +0 -1
  68. package/dist/bmad/story-parser.test.js +0 -693
  69. package/dist/bmad/story-parser.test.js.map +0 -1
  70. package/dist/cli/commands/command.d.ts +0 -28
  71. package/dist/cli/commands/command.d.ts.map +0 -1
  72. package/dist/cli/commands/command.js +0 -399
  73. package/dist/cli/commands/command.js.map +0 -1
  74. package/dist/cli/commands/cyclist.d.ts +0 -46
  75. package/dist/cli/commands/cyclist.d.ts.map +0 -1
  76. package/dist/cli/commands/cyclist.js +0 -196
  77. package/dist/cli/commands/cyclist.js.map +0 -1
  78. package/dist/cli/commands/cyclist.test.d.ts +0 -13
  79. package/dist/cli/commands/cyclist.test.d.ts.map +0 -1
  80. package/dist/cli/commands/cyclist.test.js +0 -245
  81. package/dist/cli/commands/cyclist.test.js.map +0 -1
  82. package/dist/cli/commands/doctor.d.ts +0 -9
  83. package/dist/cli/commands/doctor.d.ts.map +0 -1
  84. package/dist/cli/commands/doctor.js +0 -652
  85. package/dist/cli/commands/doctor.js.map +0 -1
  86. package/dist/cli/commands/init.d.ts +0 -8
  87. package/dist/cli/commands/init.d.ts.map +0 -1
  88. package/dist/cli/commands/init.js +0 -524
  89. package/dist/cli/commands/init.js.map +0 -1
  90. package/dist/cli/commands/skill.d.ts +0 -28
  91. package/dist/cli/commands/skill.d.ts.map +0 -1
  92. package/dist/cli/commands/skill.js +0 -416
  93. package/dist/cli/commands/skill.js.map +0 -1
  94. package/dist/cli/commands/theme.d.ts +0 -21
  95. package/dist/cli/commands/theme.d.ts.map +0 -1
  96. package/dist/cli/commands/theme.js +0 -201
  97. package/dist/cli/commands/theme.js.map +0 -1
  98. package/dist/cli/commands/uninstall.d.ts +0 -8
  99. package/dist/cli/commands/uninstall.d.ts.map +0 -1
  100. package/dist/cli/commands/uninstall.js +0 -237
  101. package/dist/cli/commands/uninstall.js.map +0 -1
  102. package/dist/cli/commands/update.d.ts +0 -9
  103. package/dist/cli/commands/update.d.ts.map +0 -1
  104. package/dist/cli/commands/update.js +0 -418
  105. package/dist/cli/commands/update.js.map +0 -1
  106. package/dist/cli/commands/version.d.ts +0 -2
  107. package/dist/cli/commands/version.d.ts.map +0 -1
  108. package/dist/cli/commands/version.js +0 -28
  109. package/dist/cli/commands/version.js.map +0 -1
  110. package/dist/cli/customization.test.d.ts +0 -12
  111. package/dist/cli/customization.test.d.ts.map +0 -1
  112. package/dist/cli/customization.test.js +0 -84
  113. package/dist/cli/customization.test.js.map +0 -1
  114. package/dist/cli/cyclist-migration.test.d.ts +0 -16
  115. package/dist/cli/cyclist-migration.test.d.ts.map +0 -1
  116. package/dist/cli/cyclist-migration.test.js +0 -225
  117. package/dist/cli/cyclist-migration.test.js.map +0 -1
  118. package/dist/cli/index.d.ts +0 -3
  119. package/dist/cli/index.d.ts.map +0 -1
  120. package/dist/cli/index.js +0 -174
  121. package/dist/cli/index.js.map +0 -1
  122. package/dist/cli/ocean-profiles.test.d.ts +0 -13
  123. package/dist/cli/ocean-profiles.test.d.ts.map +0 -1
  124. package/dist/cli/ocean-profiles.test.js +0 -134
  125. package/dist/cli/ocean-profiles.test.js.map +0 -1
  126. package/dist/cli/theme-maker.test.d.ts +0 -11
  127. package/dist/cli/theme-maker.test.d.ts.map +0 -1
  128. package/dist/cli/theme-maker.test.js +0 -356
  129. package/dist/cli/theme-maker.test.js.map +0 -1
  130. package/dist/cli/utils/constants.d.ts +0 -66
  131. package/dist/cli/utils/constants.d.ts.map +0 -1
  132. package/dist/cli/utils/constants.js +0 -54
  133. package/dist/cli/utils/constants.js.map +0 -1
  134. package/dist/cli/utils/files.d.ts.map +0 -1
  135. package/dist/cli/utils/files.js.map +0 -1
  136. package/dist/cli/utils/logger.d.ts +0 -26
  137. package/dist/cli/utils/logger.d.ts.map +0 -1
  138. package/dist/cli/utils/logger.js +0 -88
  139. package/dist/cli/utils/logger.js.map +0 -1
  140. package/dist/cli/utils/manifest.d.ts.map +0 -1
  141. package/dist/cli/utils/manifest.js.map +0 -1
  142. package/dist/cli/utils/node-modules.d.ts +0 -6
  143. package/dist/cli/utils/node-modules.d.ts.map +0 -1
  144. package/dist/cli/utils/node-modules.js +0 -31
  145. package/dist/cli/utils/node-modules.js.map +0 -1
  146. package/dist/cli/utils/prompts.d.ts +0 -34
  147. package/dist/cli/utils/prompts.d.ts.map +0 -1
  148. package/dist/cli/utils/prompts.js +0 -93
  149. package/dist/cli/utils/prompts.js.map +0 -1
  150. package/dist/cli/utils/symlinks.d.ts +0 -29
  151. package/dist/cli/utils/symlinks.d.ts.map +0 -1
  152. package/dist/cli/utils/symlinks.js +0 -181
  153. package/dist/cli/utils/symlinks.js.map +0 -1
  154. package/dist/cli/utils/themes.d.ts +0 -101
  155. package/dist/cli/utils/themes.d.ts.map +0 -1
  156. package/dist/cli/utils/themes.js +0 -373
  157. package/dist/cli/utils/themes.js.map +0 -1
  158. package/dist/cli/utils/themes.test.d.ts +0 -12
  159. package/dist/cli/utils/themes.test.d.ts.map +0 -1
  160. package/dist/cli/utils/themes.test.js +0 -147
  161. package/dist/cli/utils/themes.test.js.map +0 -1
  162. package/dist/cli/utils/version.d.ts.map +0 -1
  163. package/dist/cli/utils/version.js.map +0 -1
  164. package/dist/cli/workspace.test.d.ts +0 -8
  165. package/dist/cli/workspace.test.d.ts.map +0 -1
  166. package/dist/cli/workspace.test.js +0 -151
  167. package/dist/cli/workspace.test.js.map +0 -1
  168. package/dist/index.d.ts.map +0 -1
  169. package/dist/index.js.map +0 -1
  170. package/dist/jira/jira-epic-creation.d.ts +0 -109
  171. package/dist/jira/jira-epic-creation.d.ts.map +0 -1
  172. package/dist/jira/jira-epic-creation.js +0 -253
  173. package/dist/jira/jira-epic-creation.js.map +0 -1
  174. package/dist/jira/jira-epic-creation.test.d.ts +0 -16
  175. package/dist/jira/jira-epic-creation.test.d.ts.map +0 -1
  176. package/dist/jira/jira-epic-creation.test.js +0 -387
  177. package/dist/jira/jira-epic-creation.test.js.map +0 -1
  178. package/dist/jira/jira-sprint-sync.d.ts +0 -247
  179. package/dist/jira/jira-sprint-sync.d.ts.map +0 -1
  180. package/dist/jira/jira-sprint-sync.js +0 -670
  181. package/dist/jira/jira-sprint-sync.js.map +0 -1
  182. package/dist/jira/jira-sprint-sync.test.d.ts +0 -16
  183. package/dist/jira/jira-sprint-sync.test.d.ts.map +0 -1
  184. package/dist/jira/jira-sprint-sync.test.js +0 -845
  185. package/dist/jira/jira-sprint-sync.test.js.map +0 -1
  186. package/dist/permissions/index.d.ts.map +0 -1
  187. package/dist/permissions/index.js.map +0 -1
  188. package/dist/permissions/permission-schema.d.ts.map +0 -1
  189. package/dist/permissions/permission-schema.js.map +0 -1
  190. package/dist/permissions/permission-schema.test.d.ts +0 -40
  191. package/dist/permissions/permission-schema.test.d.ts.map +0 -1
  192. package/dist/permissions/permission-schema.test.js +0 -367
  193. package/dist/permissions/permission-schema.test.js.map +0 -1
  194. package/dist/scripts/add-ocean-profiles.d.ts +0 -9
  195. package/dist/scripts/add-ocean-profiles.d.ts.map +0 -1
  196. package/dist/scripts/add-ocean-profiles.js +0 -695
  197. package/dist/scripts/add-ocean-profiles.js.map +0 -1
  198. package/dist/scripts/benchmark-integration.d.ts +0 -182
  199. package/dist/scripts/benchmark-integration.d.ts.map +0 -1
  200. package/dist/scripts/benchmark-integration.js +0 -691
  201. package/dist/scripts/benchmark-integration.js.map +0 -1
  202. package/dist/scripts/benchmark-integration.test.d.ts +0 -13
  203. package/dist/scripts/benchmark-integration.test.d.ts.map +0 -1
  204. package/dist/scripts/benchmark-integration.test.js +0 -680
  205. package/dist/scripts/benchmark-integration.test.js.map +0 -1
  206. package/dist/scripts/debugging-scenarios.test.d.ts +0 -18
  207. package/dist/scripts/debugging-scenarios.test.d.ts.map +0 -1
  208. package/dist/scripts/debugging-scenarios.test.js +0 -317
  209. package/dist/scripts/debugging-scenarios.test.js.map +0 -1
  210. package/dist/scripts/generate-all-spiders.d.ts +0 -10
  211. package/dist/scripts/generate-all-spiders.d.ts.map +0 -1
  212. package/dist/scripts/generate-all-spiders.js +0 -306
  213. package/dist/scripts/generate-all-spiders.js.map +0 -1
  214. package/dist/scripts/generate-report.d.ts +0 -65
  215. package/dist/scripts/generate-report.d.ts.map +0 -1
  216. package/dist/scripts/generate-report.js +0 -378
  217. package/dist/scripts/generate-report.js.map +0 -1
  218. package/dist/scripts/generate-report.test.d.ts +0 -13
  219. package/dist/scripts/generate-report.test.d.ts.map +0 -1
  220. package/dist/scripts/generate-report.test.js +0 -363
  221. package/dist/scripts/generate-report.test.js.map +0 -1
  222. package/dist/scripts/generate-spider-report.d.ts +0 -65
  223. package/dist/scripts/generate-spider-report.d.ts.map +0 -1
  224. package/dist/scripts/generate-spider-report.js +0 -366
  225. package/dist/scripts/generate-spider-report.js.map +0 -1
  226. package/dist/scripts/generate-spider-report.test.d.ts +0 -13
  227. package/dist/scripts/generate-spider-report.test.d.ts.map +0 -1
  228. package/dist/scripts/generate-spider-report.test.js +0 -367
  229. package/dist/scripts/generate-spider-report.test.js.map +0 -1
  230. package/dist/scripts/generate-spider.d.ts +0 -47
  231. package/dist/scripts/generate-spider.d.ts.map +0 -1
  232. package/dist/scripts/generate-spider.js +0 -338
  233. package/dist/scripts/generate-spider.js.map +0 -1
  234. package/dist/scripts/generate-spider.test.d.ts +0 -14
  235. package/dist/scripts/generate-spider.test.d.ts.map +0 -1
  236. package/dist/scripts/generate-spider.test.js +0 -271
  237. package/dist/scripts/generate-spider.test.js.map +0 -1
  238. package/dist/scripts/job-fair-aggregator.d.ts.map +0 -1
  239. package/dist/scripts/job-fair-aggregator.js.map +0 -1
  240. package/dist/scripts/job-fair-aggregator.test.d.ts +0 -14
  241. package/dist/scripts/job-fair-aggregator.test.d.ts.map +0 -1
  242. package/dist/scripts/job-fair-aggregator.test.js +0 -616
  243. package/dist/scripts/job-fair-aggregator.test.js.map +0 -1
  244. package/dist/scripts/run-ci.test.d.ts +0 -20
  245. package/dist/scripts/run-ci.test.d.ts.map +0 -1
  246. package/dist/scripts/run-ci.test.js +0 -127
  247. package/dist/scripts/run-ci.test.js.map +0 -1
  248. package/dist/scripts/theme-detail.test.d.ts +0 -10
  249. package/dist/scripts/theme-detail.test.d.ts.map +0 -1
  250. package/dist/scripts/theme-detail.test.js +0 -199
  251. package/dist/scripts/theme-detail.test.js.map +0 -1
  252. package/dist/scripts/validate-ocean-profiles.d.ts +0 -9
  253. package/dist/scripts/validate-ocean-profiles.d.ts.map +0 -1
  254. package/dist/scripts/validate-ocean-profiles.js +0 -130
  255. package/dist/scripts/validate-ocean-profiles.js.map +0 -1
  256. package/dist/workflow/gate-handler.d.ts +0 -94
  257. package/dist/workflow/gate-handler.d.ts.map +0 -1
  258. package/dist/workflow/gate-handler.js +0 -189
  259. package/dist/workflow/gate-handler.js.map +0 -1
  260. package/dist/workflow/gate-handler.test.d.ts +0 -14
  261. package/dist/workflow/gate-handler.test.d.ts.map +0 -1
  262. package/dist/workflow/gate-handler.test.js +0 -543
  263. package/dist/workflow/gate-handler.test.js.map +0 -1
  264. package/dist/workflow/generic-handoff.d.ts +0 -281
  265. package/dist/workflow/generic-handoff.d.ts.map +0 -1
  266. package/dist/workflow/generic-handoff.js +0 -411
  267. package/dist/workflow/generic-handoff.js.map +0 -1
  268. package/dist/workflow/generic-handoff.test.d.ts +0 -21
  269. package/dist/workflow/generic-handoff.test.d.ts.map +0 -1
  270. package/dist/workflow/generic-handoff.test.js +0 -499
  271. package/dist/workflow/generic-handoff.test.js.map +0 -1
  272. package/dist/workflow/generic-sm-finish.d.ts +0 -89
  273. package/dist/workflow/generic-sm-finish.d.ts.map +0 -1
  274. package/dist/workflow/generic-sm-finish.js +0 -157
  275. package/dist/workflow/generic-sm-finish.js.map +0 -1
  276. package/dist/workflow/generic-sm-setup.d.ts +0 -138
  277. package/dist/workflow/generic-sm-setup.d.ts.map +0 -1
  278. package/dist/workflow/generic-sm-setup.js +0 -382
  279. package/dist/workflow/generic-sm-setup.js.map +0 -1
  280. package/dist/workflow/index.d.ts.map +0 -1
  281. package/dist/workflow/index.js.map +0 -1
  282. package/dist/workflow/session-state.d.ts +0 -92
  283. package/dist/workflow/session-state.d.ts.map +0 -1
  284. package/dist/workflow/session-state.js +0 -198
  285. package/dist/workflow/session-state.js.map +0 -1
  286. package/dist/workflow/session-state.test.d.ts +0 -8
  287. package/dist/workflow/session-state.test.d.ts.map +0 -1
  288. package/dist/workflow/session-state.test.js +0 -551
  289. package/dist/workflow/session-state.test.js.map +0 -1
  290. package/dist/workflow/sm-subagents.test.d.ts +0 -23
  291. package/dist/workflow/sm-subagents.test.d.ts.map +0 -1
  292. package/dist/workflow/sm-subagents.test.js +0 -727
  293. package/dist/workflow/sm-subagents.test.js.map +0 -1
  294. package/dist/workflow/step-parser.d.ts +0 -45
  295. package/dist/workflow/step-parser.d.ts.map +0 -1
  296. package/dist/workflow/step-parser.js +0 -147
  297. package/dist/workflow/step-parser.js.map +0 -1
  298. package/dist/workflow/step-parser.test.d.ts +0 -14
  299. package/dist/workflow/step-parser.test.d.ts.map +0 -1
  300. package/dist/workflow/step-parser.test.js +0 -470
  301. package/dist/workflow/step-parser.test.js.map +0 -1
  302. package/dist/workflow/story-workflow-routing.test.d.ts +0 -17
  303. package/dist/workflow/story-workflow-routing.test.d.ts.map +0 -1
  304. package/dist/workflow/story-workflow-routing.test.js +0 -559
  305. package/dist/workflow/story-workflow-routing.test.js.map +0 -1
  306. package/dist/workflow/test-cache.d.ts +0 -131
  307. package/dist/workflow/test-cache.d.ts.map +0 -1
  308. package/dist/workflow/test-cache.js +0 -226
  309. package/dist/workflow/test-cache.js.map +0 -1
  310. package/dist/workflow/test-cache.test.d.ts +0 -17
  311. package/dist/workflow/test-cache.test.d.ts.map +0 -1
  312. package/dist/workflow/test-cache.test.js +0 -438
  313. package/dist/workflow/test-cache.test.js.map +0 -1
  314. package/dist/workflow/trimodal.d.ts +0 -86
  315. package/dist/workflow/trimodal.d.ts.map +0 -1
  316. package/dist/workflow/trimodal.js +0 -118
  317. package/dist/workflow/trimodal.js.map +0 -1
  318. package/dist/workflow/trimodal.test.d.ts +0 -11
  319. package/dist/workflow/trimodal.test.d.ts.map +0 -1
  320. package/dist/workflow/trimodal.test.js +0 -395
  321. package/dist/workflow/trimodal.test.js.map +0 -1
  322. package/dist/workflow/variable-resolver.d.ts +0 -67
  323. package/dist/workflow/variable-resolver.d.ts.map +0 -1
  324. package/dist/workflow/variable-resolver.js +0 -156
  325. package/dist/workflow/variable-resolver.js.map +0 -1
  326. package/dist/workflow/variable-resolver.test.d.ts +0 -14
  327. package/dist/workflow/variable-resolver.test.d.ts.map +0 -1
  328. package/dist/workflow/variable-resolver.test.js +0 -400
  329. package/dist/workflow/variable-resolver.test.js.map +0 -1
  330. package/dist/workflow/workflow-executor.d.ts +0 -163
  331. package/dist/workflow/workflow-executor.d.ts.map +0 -1
  332. package/dist/workflow/workflow-executor.js +0 -197
  333. package/dist/workflow/workflow-executor.js.map +0 -1
  334. package/dist/workflow/workflow-executor.test.d.ts +0 -8
  335. package/dist/workflow/workflow-executor.test.d.ts.map +0 -1
  336. package/dist/workflow/workflow-executor.test.js +0 -444
  337. package/dist/workflow/workflow-executor.test.js.map +0 -1
  338. package/dist/workflow/workflow-loader.d.ts.map +0 -1
  339. package/dist/workflow/workflow-loader.js.map +0 -1
  340. package/dist/workflow/workflow-loader.test.d.ts +0 -15
  341. package/dist/workflow/workflow-loader.test.d.ts.map +0 -1
  342. package/dist/workflow/workflow-loader.test.js +0 -354
  343. package/dist/workflow/workflow-loader.test.js.map +0 -1
  344. package/dist/workflow/workflow-migration.test.d.ts +0 -17
  345. package/dist/workflow/workflow-migration.test.d.ts.map +0 -1
  346. package/dist/workflow/workflow-migration.test.js +0 -371
  347. package/dist/workflow/workflow-migration.test.js.map +0 -1
  348. package/dist/workflow/workflow-permissions.d.ts.map +0 -1
  349. package/dist/workflow/workflow-permissions.js.map +0 -1
  350. package/dist/workflow/workflow-permissions.test.d.ts +0 -15
  351. package/dist/workflow/workflow-permissions.test.d.ts.map +0 -1
  352. package/dist/workflow/workflow-permissions.test.js +0 -301
  353. package/dist/workflow/workflow-permissions.test.js.map +0 -1
  354. package/dist/workflow/workflow-router.d.ts.map +0 -1
  355. package/dist/workflow/workflow-router.js.map +0 -1
  356. package/dist/workflow/workflow-router.test.d.ts +0 -20
  357. package/dist/workflow/workflow-router.test.d.ts.map +0 -1
  358. package/dist/workflow/workflow-router.test.js +0 -607
  359. package/dist/workflow/workflow-router.test.js.map +0 -1
  360. package/dist/workflow/workflow-schema.d.ts.map +0 -1
  361. package/dist/workflow/workflow-schema.js.map +0 -1
  362. package/dist/workflow/workflow-schema.test.d.ts +0 -45
  363. package/dist/workflow/workflow-schema.test.d.ts.map +0 -1
  364. package/dist/workflow/workflow-schema.test.js +0 -512
  365. package/dist/workflow/workflow-schema.test.js.map +0 -1
  366. package/dist/workflow/workflow-stepped-schema.test.d.ts +0 -18
  367. package/dist/workflow/workflow-stepped-schema.test.d.ts.map +0 -1
  368. package/dist/workflow/workflow-stepped-schema.test.js +0 -608
  369. package/dist/workflow/workflow-stepped-schema.test.js.map +0 -1
@@ -1,607 +0,0 @@
1
- /**
2
- * Tests for Story 31-3: Story-to-workflow Routing Engine
3
- *
4
- * These tests define the contract for routing stories to workflows based on:
5
- * - Explicit workflow tags (highest priority)
6
- * - Trigger matching (tags, types, points)
7
- * - Default fallback workflow
8
- *
9
- * The router (workflow-router.ts) will implement these functions to pass these tests.
10
- *
11
- * Acceptance Criteria:
12
- * - AC1: Stories with workflow tag use specified workflow
13
- * - AC2: Story type mapping to workflows configurable
14
- * - AC3: Default workflow when no match
15
- * - AC4: Routing decision logged for debugging
16
- *
17
- * Run with: npm test
18
- */
19
- import { describe, it } from 'node:test';
20
- import assert from 'node:assert';
21
- import { dirname, join } from 'node:path';
22
- import { fileURLToPath } from 'node:url';
23
- import { existsSync } from 'node:fs';
24
- // Import the router function
25
- import { routeStoryToWorkflow } from './workflow-router.js';
26
- // =============================================================================
27
- // Test Fixtures - Workflow definitions for testing
28
- // =============================================================================
29
- /**
30
- * Creates a minimal valid workflow for testing
31
- */
32
- function createWorkflow(name, triggers) {
33
- return {
34
- name,
35
- phases: [{ name: 'work', agent: 'dev' }],
36
- triggers
37
- };
38
- }
39
- // Standard test workflows
40
- const tddWorkflow = createWorkflow('tdd', {
41
- types: ['feature'],
42
- default: true
43
- });
44
- const trivialWorkflow = createWorkflow('trivial', {
45
- types: ['chore', 'fix'],
46
- points: { max: 2 }
47
- });
48
- const docsWorkflow = createWorkflow('docs', {
49
- types: ['docs'],
50
- tags: ['documentation']
51
- });
52
- const debugWorkflow = createWorkflow('debug', {
53
- tags: ['debug', 'investigation']
54
- });
55
- const pointsWorkflow = createWorkflow('complex', {
56
- points: { min: 8 }
57
- });
58
- const midRangeWorkflow = createWorkflow('mid-range', {
59
- points: { min: 3, max: 5 }
60
- });
61
- // =============================================================================
62
- // AC1: Stories with workflow tag use specified workflow
63
- // =============================================================================
64
- describe('AC1: Explicit workflow tag routing', () => {
65
- it('should route story with workflow:tdd tag to tdd workflow', () => {
66
- const story = {
67
- id: '31-3',
68
- tags: ['workflow:tdd', 'feature']
69
- };
70
- const workflows = [tddWorkflow, trivialWorkflow, docsWorkflow];
71
- const result = routeStoryToWorkflow(story, workflows);
72
- assert.ok(result, 'Should return a result');
73
- assert.strictEqual(result.workflow.name, 'tdd', 'Should match tdd workflow');
74
- assert.ok(result.reason.includes('tag'), 'Reason should mention tag match');
75
- });
76
- it('should route story with workflow:trivial tag to trivial workflow', () => {
77
- const story = {
78
- id: '31-3',
79
- tags: ['workflow:trivial']
80
- };
81
- const workflows = [tddWorkflow, trivialWorkflow, docsWorkflow];
82
- const result = routeStoryToWorkflow(story, workflows);
83
- assert.ok(result, 'Should return a result');
84
- assert.strictEqual(result.workflow.name, 'trivial', 'Should match trivial workflow');
85
- });
86
- it('should prioritize explicit tag over type match', () => {
87
- // Story has type=feature (would match tdd) but explicit workflow:trivial tag
88
- const story = {
89
- id: '31-3',
90
- type: 'feature',
91
- tags: ['workflow:trivial']
92
- };
93
- const workflows = [tddWorkflow, trivialWorkflow];
94
- const result = routeStoryToWorkflow(story, workflows);
95
- assert.ok(result, 'Should return a result');
96
- assert.strictEqual(result.workflow.name, 'trivial', 'Explicit tag should win over type');
97
- });
98
- it('should prioritize explicit tag over default workflow', () => {
99
- const story = {
100
- id: '31-3',
101
- tags: ['workflow:docs']
102
- };
103
- const workflows = [tddWorkflow, docsWorkflow]; // tdd has default: true
104
- const result = routeStoryToWorkflow(story, workflows);
105
- assert.ok(result, 'Should return a result');
106
- assert.strictEqual(result.workflow.name, 'docs', 'Explicit tag should win over default');
107
- });
108
- it('should return null if explicit tag references non-existent workflow', () => {
109
- const story = {
110
- id: '31-3',
111
- tags: ['workflow:nonexistent']
112
- };
113
- const workflows = [tddWorkflow, trivialWorkflow];
114
- const result = routeStoryToWorkflow(story, workflows);
115
- // When explicit tag doesn't match, fall back to other rules
116
- // If nothing matches, should return null or default
117
- // This tests that we don't crash on bad tags
118
- assert.ok(result === null || result.workflow.name === 'tdd', 'Should return null or fall back to default');
119
- });
120
- });
121
- // =============================================================================
122
- // AC2: Story type mapping to workflows configurable
123
- // =============================================================================
124
- describe('AC2: Type-based routing', () => {
125
- it('should route feature type to workflow with types: [feature]', () => {
126
- const story = {
127
- id: '31-3',
128
- type: 'feature'
129
- };
130
- const workflows = [tddWorkflow, trivialWorkflow, docsWorkflow];
131
- const result = routeStoryToWorkflow(story, workflows);
132
- assert.ok(result, 'Should return a result');
133
- assert.strictEqual(result.workflow.name, 'tdd', 'Should match tdd workflow');
134
- assert.ok(result.reason.includes('type'), 'Reason should mention type match');
135
- });
136
- it('should route chore type to workflow with types: [chore, fix]', () => {
137
- const story = {
138
- id: '31-3',
139
- type: 'chore',
140
- points: 1
141
- };
142
- const workflows = [tddWorkflow, trivialWorkflow, docsWorkflow];
143
- const result = routeStoryToWorkflow(story, workflows);
144
- assert.ok(result, 'Should return a result');
145
- assert.strictEqual(result.workflow.name, 'trivial', 'Should match trivial workflow');
146
- });
147
- it('should route docs type to docs workflow', () => {
148
- const story = {
149
- id: '31-3',
150
- type: 'docs'
151
- };
152
- const workflows = [tddWorkflow, trivialWorkflow, docsWorkflow];
153
- const result = routeStoryToWorkflow(story, workflows);
154
- assert.ok(result, 'Should return a result');
155
- assert.strictEqual(result.workflow.name, 'docs', 'Should match docs workflow');
156
- });
157
- it('should handle story with type not matching any workflow triggers', () => {
158
- const story = {
159
- id: '31-3',
160
- type: 'unknown-type'
161
- };
162
- const noDefaultWorkflows = [trivialWorkflow, docsWorkflow]; // No default
163
- const result = routeStoryToWorkflow(story, noDefaultWorkflows);
164
- assert.strictEqual(result, null, 'Should return null when no match and no default');
165
- });
166
- });
167
- // =============================================================================
168
- // AC2 Continued: Tag-based routing (from triggers.tags, not workflow: prefix)
169
- // =============================================================================
170
- describe('AC2: Tag-based routing (trigger tags)', () => {
171
- it('should route story with matching trigger tag', () => {
172
- const story = {
173
- id: '31-3',
174
- tags: ['debug', 'urgent']
175
- };
176
- const workflows = [tddWorkflow, debugWorkflow];
177
- const result = routeStoryToWorkflow(story, workflows);
178
- assert.ok(result, 'Should return a result');
179
- assert.strictEqual(result.workflow.name, 'debug', 'Should match debug workflow via tag');
180
- });
181
- it('should match if any story tag matches any workflow trigger tag', () => {
182
- const story = {
183
- id: '31-3',
184
- tags: ['other', 'investigation'] // investigation matches debugWorkflow
185
- };
186
- const workflows = [tddWorkflow, debugWorkflow];
187
- const result = routeStoryToWorkflow(story, workflows);
188
- assert.ok(result, 'Should return a result');
189
- assert.strictEqual(result.workflow.name, 'debug', 'Should match via investigation tag');
190
- });
191
- it('should match documentation tag for docs workflow', () => {
192
- const story = {
193
- id: '31-3',
194
- tags: ['documentation']
195
- };
196
- const workflows = [tddWorkflow, docsWorkflow];
197
- const result = routeStoryToWorkflow(story, workflows);
198
- assert.ok(result, 'Should return a result');
199
- assert.strictEqual(result.workflow.name, 'docs', 'Should match docs via tag');
200
- });
201
- });
202
- // =============================================================================
203
- // AC2 Continued: Points-based routing
204
- // =============================================================================
205
- describe('AC2: Points-based routing', () => {
206
- it('should route low-point story to workflow with points.max', () => {
207
- const story = {
208
- id: '31-3',
209
- type: 'chore',
210
- points: 1
211
- };
212
- const workflows = [tddWorkflow, trivialWorkflow];
213
- const result = routeStoryToWorkflow(story, workflows);
214
- assert.ok(result, 'Should return a result');
215
- assert.strictEqual(result.workflow.name, 'trivial', 'Should match trivial (max: 2)');
216
- });
217
- it('should route high-point story to workflow with points.min', () => {
218
- const story = {
219
- id: '31-3',
220
- points: 13
221
- };
222
- const workflows = [tddWorkflow, pointsWorkflow];
223
- const result = routeStoryToWorkflow(story, workflows);
224
- assert.ok(result, 'Should return a result');
225
- assert.strictEqual(result.workflow.name, 'complex', 'Should match complex (min: 8)');
226
- });
227
- it('should route mid-point story to workflow with points range', () => {
228
- const story = {
229
- id: '31-3',
230
- points: 4
231
- };
232
- const workflows = [tddWorkflow, midRangeWorkflow, pointsWorkflow];
233
- const result = routeStoryToWorkflow(story, workflows);
234
- assert.ok(result, 'Should return a result');
235
- assert.strictEqual(result.workflow.name, 'mid-range', 'Should match mid-range (3-5)');
236
- });
237
- it('should not match points.max if story points exceed it', () => {
238
- const story = {
239
- id: '31-3',
240
- type: 'chore',
241
- points: 5 // exceeds trivialWorkflow max: 2
242
- };
243
- const workflows = [trivialWorkflow]; // Only trivial, no default
244
- const result = routeStoryToWorkflow(story, workflows);
245
- assert.strictEqual(result, null, 'Should not match trivial when points > max');
246
- });
247
- it('should not match points.min if story points below it', () => {
248
- const story = {
249
- id: '31-3',
250
- points: 3 // below pointsWorkflow min: 8
251
- };
252
- const workflows = [pointsWorkflow]; // Only complex, no default
253
- const result = routeStoryToWorkflow(story, workflows);
254
- assert.strictEqual(result, null, 'Should not match complex when points < min');
255
- });
256
- it('should handle boundary case: points exactly at min', () => {
257
- const story = {
258
- id: '31-3',
259
- points: 8 // exactly at pointsWorkflow min
260
- };
261
- const workflows = [pointsWorkflow];
262
- const result = routeStoryToWorkflow(story, workflows);
263
- assert.ok(result, 'Should return a result');
264
- assert.strictEqual(result.workflow.name, 'complex', 'Should match at exact min boundary');
265
- });
266
- it('should handle boundary case: points exactly at max', () => {
267
- const story = {
268
- id: '31-3',
269
- type: 'chore',
270
- points: 2 // exactly at trivialWorkflow max
271
- };
272
- const workflows = [trivialWorkflow];
273
- const result = routeStoryToWorkflow(story, workflows);
274
- assert.ok(result, 'Should return a result');
275
- assert.strictEqual(result.workflow.name, 'trivial', 'Should match at exact max boundary');
276
- });
277
- });
278
- // =============================================================================
279
- // AC3: Default workflow when no match
280
- // =============================================================================
281
- describe('AC3: Default workflow fallback', () => {
282
- it('should use default workflow when no other triggers match', () => {
283
- const story = {
284
- id: '31-3',
285
- type: 'random-type'
286
- };
287
- const workflows = [tddWorkflow, trivialWorkflow]; // tdd has default: true
288
- const result = routeStoryToWorkflow(story, workflows);
289
- assert.ok(result, 'Should return a result');
290
- assert.strictEqual(result.workflow.name, 'tdd', 'Should fall back to default');
291
- assert.ok(result.reason.includes('default'), 'Reason should mention default');
292
- });
293
- it('should use default workflow for story with no metadata', () => {
294
- const story = {
295
- id: '31-3'
296
- // No type, tags, or points
297
- };
298
- const workflows = [tddWorkflow, trivialWorkflow];
299
- const result = routeStoryToWorkflow(story, workflows);
300
- assert.ok(result, 'Should return a result');
301
- assert.strictEqual(result.workflow.name, 'tdd', 'Should use default for bare story');
302
- });
303
- it('should return null when no workflows loaded', () => {
304
- const story = {
305
- id: '31-3',
306
- type: 'feature'
307
- };
308
- const workflows = [];
309
- const result = routeStoryToWorkflow(story, workflows);
310
- assert.strictEqual(result, null, 'Should return null for empty workflow list');
311
- });
312
- it('should return null when no match and no default workflow', () => {
313
- const story = {
314
- id: '31-3',
315
- type: 'feature'
316
- };
317
- const noDefaultWorkflows = [docsWorkflow, debugWorkflow]; // Neither has default
318
- const result = routeStoryToWorkflow(story, noDefaultWorkflows);
319
- assert.strictEqual(result, null, 'Should return null when no match and no default');
320
- });
321
- it('should handle multiple workflows with default: true (first wins)', () => {
322
- const defaultWorkflow1 = createWorkflow('default1', { default: true });
323
- const defaultWorkflow2 = createWorkflow('default2', { default: true });
324
- const story = { id: '31-3' };
325
- const workflows = [defaultWorkflow1, defaultWorkflow2];
326
- const result = routeStoryToWorkflow(story, workflows);
327
- assert.ok(result, 'Should return a result');
328
- assert.strictEqual(result.workflow.name, 'default1', 'First default should win');
329
- });
330
- });
331
- // =============================================================================
332
- // AC4: Routing decision logged for debugging
333
- // =============================================================================
334
- describe('AC4: Routing reason for debugging', () => {
335
- it('should include reason mentioning explicit tag for tag match', () => {
336
- const story = {
337
- id: '31-3',
338
- tags: ['workflow:trivial']
339
- };
340
- const workflows = [tddWorkflow, trivialWorkflow];
341
- const result = routeStoryToWorkflow(story, workflows);
342
- assert.ok(result, 'Should return a result');
343
- assert.ok(result.reason, 'Should have a reason');
344
- assert.ok(result.reason.toLowerCase().includes('tag') ||
345
- result.reason.toLowerCase().includes('workflow:trivial'), `Reason should mention tag match: "${result.reason}"`);
346
- });
347
- it('should include reason mentioning type for type match', () => {
348
- const story = {
349
- id: '31-3',
350
- type: 'feature'
351
- };
352
- const workflows = [tddWorkflow];
353
- const result = routeStoryToWorkflow(story, workflows);
354
- assert.ok(result, 'Should return a result');
355
- assert.ok(result.reason, 'Should have a reason');
356
- assert.ok(result.reason.toLowerCase().includes('type') ||
357
- result.reason.toLowerCase().includes('feature'), `Reason should mention type match: "${result.reason}"`);
358
- });
359
- it('should include reason mentioning points for points match', () => {
360
- const story = {
361
- id: '31-3',
362
- points: 10
363
- };
364
- const workflows = [pointsWorkflow];
365
- const result = routeStoryToWorkflow(story, workflows);
366
- assert.ok(result, 'Should return a result');
367
- assert.ok(result.reason, 'Should have a reason');
368
- assert.ok(result.reason.toLowerCase().includes('point'), `Reason should mention points match: "${result.reason}"`);
369
- });
370
- it('should include reason mentioning default for default fallback', () => {
371
- const story = {
372
- id: '31-3'
373
- };
374
- const workflows = [tddWorkflow];
375
- const result = routeStoryToWorkflow(story, workflows);
376
- assert.ok(result, 'Should return a result');
377
- assert.ok(result.reason, 'Should have a reason');
378
- assert.ok(result.reason.toLowerCase().includes('default'), `Reason should mention default: "${result.reason}"`);
379
- });
380
- it('should include workflow name in reason', () => {
381
- const story = {
382
- id: '31-3',
383
- type: 'feature'
384
- };
385
- const workflows = [tddWorkflow];
386
- const result = routeStoryToWorkflow(story, workflows);
387
- assert.ok(result, 'Should return a result');
388
- assert.ok(result.reason.includes('tdd'), `Reason should include workflow name: "${result.reason}"`);
389
- });
390
- });
391
- // =============================================================================
392
- // Priority Algorithm Tests
393
- // =============================================================================
394
- describe('Priority Algorithm', () => {
395
- it('priority: explicit tag > trigger tag > type > points > default', () => {
396
- // Workflow that matches by type, tag, AND has default
397
- const multiMatchWorkflow = createWorkflow('multi', {
398
- tags: ['special'],
399
- types: ['feature'],
400
- default: true
401
- });
402
- // Workflow that only matches by explicit tag
403
- const explicitOnlyWorkflow = createWorkflow('explicit-only', {});
404
- const story = {
405
- id: '31-3',
406
- type: 'feature',
407
- tags: ['workflow:explicit-only', 'special'],
408
- points: 3
409
- };
410
- const workflows = [multiMatchWorkflow, explicitOnlyWorkflow];
411
- const result = routeStoryToWorkflow(story, workflows);
412
- assert.ok(result, 'Should return a result');
413
- assert.strictEqual(result.workflow.name, 'explicit-only', 'Explicit workflow: tag should have highest priority');
414
- });
415
- it('priority: trigger tag should beat type match', () => {
416
- const tagWorkflow = createWorkflow('tag-match', {
417
- tags: ['priority-test']
418
- });
419
- const typeWorkflow = createWorkflow('type-match', {
420
- types: ['feature']
421
- });
422
- const story = {
423
- id: '31-3',
424
- type: 'feature',
425
- tags: ['priority-test']
426
- };
427
- const workflows = [typeWorkflow, tagWorkflow];
428
- const result = routeStoryToWorkflow(story, workflows);
429
- assert.ok(result, 'Should return a result');
430
- assert.strictEqual(result.workflow.name, 'tag-match', 'Tag match should beat type match');
431
- });
432
- it('priority: type match should beat points match', () => {
433
- const typeWorkflow = createWorkflow('type-match', {
434
- types: ['feature']
435
- });
436
- const pointsOnlyWorkflow = createWorkflow('points-match', {
437
- points: { min: 1, max: 10 }
438
- });
439
- const story = {
440
- id: '31-3',
441
- type: 'feature',
442
- points: 5
443
- };
444
- const workflows = [pointsOnlyWorkflow, typeWorkflow];
445
- const result = routeStoryToWorkflow(story, workflows);
446
- assert.ok(result, 'Should return a result');
447
- assert.strictEqual(result.workflow.name, 'type-match', 'Type match should beat points-only match');
448
- });
449
- it('priority: any specific match should beat default', () => {
450
- const defaultWorkflow = createWorkflow('default-wf', {
451
- default: true
452
- });
453
- const pointsWorkflow = createWorkflow('points-wf', {
454
- points: { min: 3 }
455
- });
456
- const story = {
457
- id: '31-3',
458
- points: 5
459
- };
460
- const workflows = [defaultWorkflow, pointsWorkflow];
461
- const result = routeStoryToWorkflow(story, workflows);
462
- assert.ok(result, 'Should return a result');
463
- assert.strictEqual(result.workflow.name, 'points-wf', 'Points match should beat default');
464
- });
465
- });
466
- // =============================================================================
467
- // Edge Cases
468
- // =============================================================================
469
- describe('Edge Cases', () => {
470
- it('should handle story with empty tags array', () => {
471
- const story = {
472
- id: '31-3',
473
- tags: []
474
- };
475
- const workflows = [tddWorkflow];
476
- const result = routeStoryToWorkflow(story, workflows);
477
- assert.ok(result, 'Should return default workflow');
478
- assert.strictEqual(result.workflow.name, 'tdd');
479
- });
480
- it('should handle workflow with empty triggers object', () => {
481
- const emptyTriggersWorkflow = createWorkflow('empty-triggers', {});
482
- const story = {
483
- id: '31-3',
484
- type: 'feature'
485
- };
486
- const workflows = [emptyTriggersWorkflow];
487
- const result = routeStoryToWorkflow(story, workflows);
488
- // Empty triggers shouldn't match anything specific
489
- assert.strictEqual(result, null, 'Empty triggers should not match');
490
- });
491
- it('should handle workflow with undefined triggers', () => {
492
- const noTriggersWorkflow = createWorkflow('no-triggers');
493
- const story = {
494
- id: '31-3',
495
- type: 'feature'
496
- };
497
- const workflows = [noTriggersWorkflow];
498
- const result = routeStoryToWorkflow(story, workflows);
499
- assert.strictEqual(result, null, 'Undefined triggers should not match');
500
- });
501
- it('should handle story with undefined points for points-based workflow', () => {
502
- const story = {
503
- id: '31-3'
504
- // No points defined
505
- };
506
- const workflows = [pointsWorkflow]; // Requires min: 8
507
- const result = routeStoryToWorkflow(story, workflows);
508
- assert.strictEqual(result, null, 'Should not match points trigger when story has no points');
509
- });
510
- it('should handle story with zero points', () => {
511
- const story = {
512
- id: '31-3',
513
- type: 'chore',
514
- points: 0
515
- };
516
- const workflows = [trivialWorkflow]; // max: 2
517
- const result = routeStoryToWorkflow(story, workflows);
518
- assert.ok(result, 'Should match (0 <= 2)');
519
- assert.strictEqual(result.workflow.name, 'trivial');
520
- });
521
- it('should be case-sensitive for workflow names in tags', () => {
522
- const story = {
523
- id: '31-3',
524
- tags: ['workflow:TDD'] // Uppercase
525
- };
526
- const workflows = [tddWorkflow]; // name is 'tdd' lowercase
527
- const result = routeStoryToWorkflow(story, workflows);
528
- // Should NOT match because TDD !== tdd
529
- assert.ok(result === null || result.reason.includes('default'), 'Should not match case-mismatched workflow name (or fall to default)');
530
- });
531
- it('should handle multiple workflow: tags (first wins)', () => {
532
- const story = {
533
- id: '31-3',
534
- tags: ['workflow:trivial', 'workflow:tdd']
535
- };
536
- const workflows = [tddWorkflow, trivialWorkflow];
537
- const result = routeStoryToWorkflow(story, workflows);
538
- assert.ok(result, 'Should return a result');
539
- assert.strictEqual(result.workflow.name, 'trivial', 'First workflow: tag should win');
540
- });
541
- });
542
- // =============================================================================
543
- // Integration Tests with Real Workflows
544
- // =============================================================================
545
- describe('Integration: Real workflow files', () => {
546
- // Helper to find monorepo root
547
- function findMonorepoRoot(startDir) {
548
- let dir = startDir;
549
- for (let i = 0; i < 10; i++) {
550
- if (existsSync(join(dir, 'pennyfarthing-dist'))) {
551
- return dir;
552
- }
553
- const parent = dirname(dir);
554
- if (parent === dir)
555
- break;
556
- dir = parent;
557
- }
558
- return null;
559
- }
560
- const __dirname = dirname(fileURLToPath(import.meta.url));
561
- const monorepoRoot = findMonorepoRoot(__dirname);
562
- it('should route feature story to tdd workflow from real files', async () => {
563
- if (!monorepoRoot) {
564
- console.log('Skipping: monorepo root not found');
565
- return;
566
- }
567
- // Import loader to get real workflows
568
- const { loadWorkflowsFromDir } = await import('./workflow-loader.js');
569
- const workflowsDir = join(monorepoRoot, 'pennyfarthing-dist', 'workflows');
570
- const { workflows } = loadWorkflowsFromDir(workflowsDir);
571
- if (workflows.length === 0) {
572
- console.log('Skipping: no workflows found');
573
- return;
574
- }
575
- const story = {
576
- id: '31-3',
577
- type: 'feature',
578
- points: 3
579
- };
580
- const result = routeStoryToWorkflow(story, workflows);
581
- assert.ok(result, 'Should route to a workflow');
582
- // tdd.yaml should be the default for features
583
- console.log(`Routed to: ${result.workflow.name} (${result.reason})`);
584
- });
585
- it('should route chore story to trivial workflow from real files', async () => {
586
- if (!monorepoRoot) {
587
- console.log('Skipping: monorepo root not found');
588
- return;
589
- }
590
- const { loadWorkflowsFromDir } = await import('./workflow-loader.js');
591
- const workflowsDir = join(monorepoRoot, 'pennyfarthing-dist', 'workflows');
592
- const { workflows } = loadWorkflowsFromDir(workflowsDir);
593
- if (workflows.length === 0) {
594
- console.log('Skipping: no workflows found');
595
- return;
596
- }
597
- const story = {
598
- id: '31-3',
599
- type: 'chore',
600
- points: 1
601
- };
602
- const result = routeStoryToWorkflow(story, workflows);
603
- assert.ok(result, 'Should route to a workflow');
604
- console.log(`Routed to: ${result.workflow.name} (${result.reason})`);
605
- });
606
- });
607
- //# sourceMappingURL=workflow-router.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"workflow-router.test.js","sourceRoot":"","sources":["../../src/workflow/workflow-router.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,6BAA6B;AAC7B,OAAO,EACL,oBAAoB,EAGrB,MAAM,sBAAsB,CAAC;AAK9B,gFAAgF;AAChF,mDAAmD;AACnD,gFAAgF;AAEhF;;GAEG;AACH,SAAS,cAAc,CACrB,IAAY,EACZ,QAAyC;IAEzC,OAAO;QACL,IAAI;QACJ,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QACxC,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,0BAA0B;AAC1B,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,EAAE;IACxC,KAAK,EAAE,CAAC,SAAS,CAAC;IAClB,OAAO,EAAE,IAAI;CACd,CAAC,CAAC;AAEH,MAAM,eAAe,GAAG,cAAc,CAAC,SAAS,EAAE;IAChD,KAAK,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC;IACvB,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE;CACnB,CAAC,CAAC;AAEH,MAAM,YAAY,GAAG,cAAc,CAAC,MAAM,EAAE;IAC1C,KAAK,EAAE,CAAC,MAAM,CAAC;IACf,IAAI,EAAE,CAAC,eAAe,CAAC;CACxB,CAAC,CAAC;AAEH,MAAM,aAAa,GAAG,cAAc,CAAC,OAAO,EAAE;IAC5C,IAAI,EAAE,CAAC,OAAO,EAAE,eAAe,CAAC;CACjC,CAAC,CAAC;AAEH,MAAM,cAAc,GAAG,cAAc,CAAC,SAAS,EAAE;IAC/C,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE;CACnB,CAAC,CAAC;AAEH,MAAM,gBAAgB,GAAG,cAAc,CAAC,WAAW,EAAE;IACnD,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;CAC3B,CAAC,CAAC;AAEH,gFAAgF;AAChF,wDAAwD;AACxD,gFAAgF;AAEhF,QAAQ,CAAC,oCAAoC,EAAE,GAAG,EAAE;IAElD,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;QAClE,MAAM,KAAK,GAAkB;YAC3B,EAAE,EAAE,MAAM;YACV,IAAI,EAAE,CAAC,cAAc,EAAE,SAAS,CAAC;SAClC,CAAC;QACF,MAAM,SAAS,GAAG,CAAC,WAAW,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC;QAE/D,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAEtD,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;QAC5C,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,2BAA2B,CAAC,CAAC;QAC7E,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,iCAAiC,CAAC,CAAC;IAC9E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kEAAkE,EAAE,GAAG,EAAE;QAC1E,MAAM,KAAK,GAAkB;YAC3B,EAAE,EAAE,MAAM;YACV,IAAI,EAAE,CAAC,kBAAkB,CAAC;SAC3B,CAAC;QACF,MAAM,SAAS,GAAG,CAAC,WAAW,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC;QAE/D,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAEtD,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;QAC5C,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,+BAA+B,CAAC,CAAC;IACvF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACxD,6EAA6E;QAC7E,MAAM,KAAK,GAAkB;YAC3B,EAAE,EAAE,MAAM;YACV,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,CAAC,kBAAkB,CAAC;SAC3B,CAAC;QACF,MAAM,SAAS,GAAG,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QAEjD,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAEtD,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;QAC5C,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,mCAAmC,CAAC,CAAC;IAC3F,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC9D,MAAM,KAAK,GAAkB;YAC3B,EAAE,EAAE,MAAM;YACV,IAAI,EAAE,CAAC,eAAe,CAAC;SACxB,CAAC;QACF,MAAM,SAAS,GAAG,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC,wBAAwB;QAEvE,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAEtD,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;QAC5C,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,sCAAsC,CAAC,CAAC;IAC3F,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qEAAqE,EAAE,GAAG,EAAE;QAC7E,MAAM,KAAK,GAAkB;YAC3B,EAAE,EAAE,MAAM;YACV,IAAI,EAAE,CAAC,sBAAsB,CAAC;SAC/B,CAAC;QACF,MAAM,SAAS,GAAG,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QAEjD,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAEtD,4DAA4D;QAC5D,oDAAoD;QACpD,6CAA6C;QAC7C,MAAM,CAAC,EAAE,CACP,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,KAAK,EACjD,4CAA4C,CAC7C,CAAC;IACJ,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC;AAEH,gFAAgF;AAChF,oDAAoD;AACpD,gFAAgF;AAEhF,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IAEvC,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;QACrE,MAAM,KAAK,GAAkB;YAC3B,EAAE,EAAE,MAAM;YACV,IAAI,EAAE,SAAS;SAChB,CAAC;QACF,MAAM,SAAS,GAAG,CAAC,WAAW,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC;QAE/D,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAEtD,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;QAC5C,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,2BAA2B,CAAC,CAAC;QAC7E,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,kCAAkC,CAAC,CAAC;IAChF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8DAA8D,EAAE,GAAG,EAAE;QACtE,MAAM,KAAK,GAAkB;YAC3B,EAAE,EAAE,MAAM;YACV,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,CAAC;SACV,CAAC;QACF,MAAM,SAAS,GAAG,CAAC,WAAW,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC;QAE/D,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAEtD,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;QAC5C,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,+BAA+B,CAAC,CAAC;IACvF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,KAAK,GAAkB;YAC3B,EAAE,EAAE,MAAM;YACV,IAAI,EAAE,MAAM;SACb,CAAC;QACF,MAAM,SAAS,GAAG,CAAC,WAAW,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC;QAE/D,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAEtD,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;QAC5C,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,4BAA4B,CAAC,CAAC;IACjF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kEAAkE,EAAE,GAAG,EAAE;QAC1E,MAAM,KAAK,GAAkB;YAC3B,EAAE,EAAE,MAAM;YACV,IAAI,EAAE,cAAc;SACrB,CAAC;QACF,MAAM,kBAAkB,GAAG,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC,CAAC,aAAa;QAEzE,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;QAE/D,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,iDAAiD,CAAC,CAAC;IACtF,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC;AAEH,gFAAgF;AAChF,8EAA8E;AAC9E,gFAAgF;AAEhF,QAAQ,CAAC,uCAAuC,EAAE,GAAG,EAAE;IAErD,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,KAAK,GAAkB;YAC3B,EAAE,EAAE,MAAM;YACV,IAAI,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;SAC1B,CAAC;QACF,MAAM,SAAS,GAAG,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;QAE/C,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAEtD,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;QAC5C,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,qCAAqC,CAAC,CAAC;IAC3F,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE,GAAG,EAAE;QACxE,MAAM,KAAK,GAAkB;YAC3B,EAAE,EAAE,MAAM;YACV,IAAI,EAAE,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,sCAAsC;SACxE,CAAC;QACF,MAAM,SAAS,GAAG,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;QAE/C,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAEtD,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;QAC5C,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,oCAAoC,CAAC,CAAC;IAC1F,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAC1D,MAAM,KAAK,GAAkB;YAC3B,EAAE,EAAE,MAAM;YACV,IAAI,EAAE,CAAC,eAAe,CAAC;SACxB,CAAC;QACF,MAAM,SAAS,GAAG,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAE9C,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAEtD,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;QAC5C,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,2BAA2B,CAAC,CAAC;IAChF,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC;AAEH,gFAAgF;AAChF,sCAAsC;AACtC,gFAAgF;AAEhF,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IAEzC,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;QAClE,MAAM,KAAK,GAAkB;YAC3B,EAAE,EAAE,MAAM;YACV,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,CAAC;SACV,CAAC;QACF,MAAM,SAAS,GAAG,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QAEjD,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAEtD,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;QAC5C,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,+BAA+B,CAAC,CAAC;IACvF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACnE,MAAM,KAAK,GAAkB;YAC3B,EAAE,EAAE,MAAM;YACV,MAAM,EAAE,EAAE;SACX,CAAC;QACF,MAAM,SAAS,GAAG,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QAEhD,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAEtD,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;QAC5C,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,+BAA+B,CAAC,CAAC;IACvF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;QACpE,MAAM,KAAK,GAAkB;YAC3B,EAAE,EAAE,MAAM;YACV,MAAM,EAAE,CAAC;SACV,CAAC;QACF,MAAM,SAAS,GAAG,CAAC,WAAW,EAAE,gBAAgB,EAAE,cAAc,CAAC,CAAC;QAElE,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAEtD,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;QAC5C,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,EAAE,8BAA8B,CAAC,CAAC;IACxF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,KAAK,GAAkB;YAC3B,EAAE,EAAE,MAAM;YACV,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,CAAC,CAAC,iCAAiC;SAC5C,CAAC;QACF,MAAM,SAAS,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,2BAA2B;QAEhE,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAEtD,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,4CAA4C,CAAC,CAAC;IACjF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC9D,MAAM,KAAK,GAAkB;YAC3B,EAAE,EAAE,MAAM;YACV,MAAM,EAAE,CAAC,CAAC,8BAA8B;SACzC,CAAC;QACF,MAAM,SAAS,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,2BAA2B;QAE/D,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAEtD,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,4CAA4C,CAAC,CAAC;IACjF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,MAAM,KAAK,GAAkB;YAC3B,EAAE,EAAE,MAAM;YACV,MAAM,EAAE,CAAC,CAAC,gCAAgC;SAC3C,CAAC;QACF,MAAM,SAAS,GAAG,CAAC,cAAc,CAAC,CAAC;QAEnC,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAEtD,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;QAC5C,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,oCAAoC,CAAC,CAAC;IAC5F,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,MAAM,KAAK,GAAkB;YAC3B,EAAE,EAAE,MAAM;YACV,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,CAAC,CAAC,iCAAiC;SAC5C,CAAC;QACF,MAAM,SAAS,GAAG,CAAC,eAAe,CAAC,CAAC;QAEpC,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAEtD,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;QAC5C,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,oCAAoC,CAAC,CAAC;IAC5F,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC;AAEH,gFAAgF;AAChF,sCAAsC;AACtC,gFAAgF;AAEhF,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;IAE9C,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;QAClE,MAAM,KAAK,GAAkB;YAC3B,EAAE,EAAE,MAAM;YACV,IAAI,EAAE,aAAa;SACpB,CAAC;QACF,MAAM,SAAS,GAAG,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC,CAAC,wBAAwB;QAE1E,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAEtD,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;QAC5C,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,6BAA6B,CAAC,CAAC;QAC/E,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,+BAA+B,CAAC,CAAC;IAChF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAChE,MAAM,KAAK,GAAkB;YAC3B,EAAE,EAAE,MAAM;YACV,2BAA2B;SAC5B,CAAC;QACF,MAAM,SAAS,GAAG,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QAEjD,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAEtD,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;QAC5C,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,mCAAmC,CAAC,CAAC;IACvF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,KAAK,GAAkB;YAC3B,EAAE,EAAE,MAAM;YACV,IAAI,EAAE,SAAS;SAChB,CAAC;QACF,MAAM,SAAS,GAAyB,EAAE,CAAC;QAE3C,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAEtD,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,4CAA4C,CAAC,CAAC;IACjF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;QAClE,MAAM,KAAK,GAAkB;YAC3B,EAAE,EAAE,MAAM;YACV,IAAI,EAAE,SAAS;SAChB,CAAC;QACF,MAAM,kBAAkB,GAAG,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC,CAAC,sBAAsB;QAEhF,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;QAE/D,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,iDAAiD,CAAC,CAAC;IACtF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kEAAkE,EAAE,GAAG,EAAE;QAC1E,MAAM,gBAAgB,GAAG,cAAc,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACvE,MAAM,gBAAgB,GAAG,cAAc,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACvE,MAAM,KAAK,GAAkB,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;QAE5C,MAAM,SAAS,GAAG,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAEtD,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;QAC5C,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,0BAA0B,CAAC,CAAC;IACnF,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC;AAEH,gFAAgF;AAChF,6CAA6C;AAC7C,gFAAgF;AAEhF,QAAQ,CAAC,mCAAmC,EAAE,GAAG,EAAE;IAEjD,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;QACrE,MAAM,KAAK,GAAkB;YAC3B,EAAE,EAAE,MAAM;YACV,IAAI,EAAE,CAAC,kBAAkB,CAAC;SAC3B,CAAC;QACF,MAAM,SAAS,GAAG,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QAEjD,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAEtD,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;QAC5C,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;QACjD,MAAM,CAAC,EAAE,CACP,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;YAC3C,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EACxD,qCAAqC,MAAM,CAAC,MAAM,GAAG,CACtD,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC9D,MAAM,KAAK,GAAkB;YAC3B,EAAE,EAAE,MAAM;YACV,IAAI,EAAE,SAAS;SAChB,CAAC;QACF,MAAM,SAAS,GAAG,CAAC,WAAW,CAAC,CAAC;QAEhC,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAEtD,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;QAC5C,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;QACjD,MAAM,CAAC,EAAE,CACP,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC5C,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,EAC/C,sCAAsC,MAAM,CAAC,MAAM,GAAG,CACvD,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;QAClE,MAAM,KAAK,GAAkB;YAC3B,EAAE,EAAE,MAAM;YACV,MAAM,EAAE,EAAE;SACX,CAAC;QACF,MAAM,SAAS,GAAG,CAAC,cAAc,CAAC,CAAC;QAEnC,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAEtD,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;QAC5C,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;QACjD,MAAM,CAAC,EAAE,CACP,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,EAC7C,wCAAwC,MAAM,CAAC,MAAM,GAAG,CACzD,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;QACvE,MAAM,KAAK,GAAkB;YAC3B,EAAE,EAAE,MAAM;SACX,CAAC;QACF,MAAM,SAAS,GAAG,CAAC,WAAW,CAAC,CAAC;QAEhC,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAEtD,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;QAC5C,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;QACjD,MAAM,CAAC,EAAE,CACP,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,EAC/C,mCAAmC,MAAM,CAAC,MAAM,GAAG,CACpD,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,KAAK,GAAkB;YAC3B,EAAE,EAAE,MAAM;YACV,IAAI,EAAE,SAAS;SAChB,CAAC;QACF,MAAM,SAAS,GAAG,CAAC,WAAW,CAAC,CAAC;QAEhC,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAEtD,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;QAC5C,MAAM,CAAC,EAAE,CACP,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAC7B,yCAAyC,MAAM,CAAC,MAAM,GAAG,CAC1D,CAAC;IACJ,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC;AAEH,gFAAgF;AAChF,2BAA2B;AAC3B,gFAAgF;AAEhF,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAElC,EAAE,CAAC,gEAAgE,EAAE,GAAG,EAAE;QACxE,sDAAsD;QACtD,MAAM,kBAAkB,GAAG,cAAc,CAAC,OAAO,EAAE;YACjD,IAAI,EAAE,CAAC,SAAS,CAAC;YACjB,KAAK,EAAE,CAAC,SAAS,CAAC;YAClB,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;QACH,6CAA6C;QAC7C,MAAM,oBAAoB,GAAG,cAAc,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;QAEjE,MAAM,KAAK,GAAkB;YAC3B,EAAE,EAAE,MAAM;YACV,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,CAAC,wBAAwB,EAAE,SAAS,CAAC;YAC3C,MAAM,EAAE,CAAC;SACV,CAAC;QACF,MAAM,SAAS,GAAG,CAAC,kBAAkB,EAAE,oBAAoB,CAAC,CAAC;QAE7D,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAEtD,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;QAC5C,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,QAAQ,CAAC,IAAI,EACpB,eAAe,EACf,qDAAqD,CACtD,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,WAAW,GAAG,cAAc,CAAC,WAAW,EAAE;YAC9C,IAAI,EAAE,CAAC,eAAe,CAAC;SACxB,CAAC,CAAC;QACH,MAAM,YAAY,GAAG,cAAc,CAAC,YAAY,EAAE;YAChD,KAAK,EAAE,CAAC,SAAS,CAAC;SACnB,CAAC,CAAC;QAEH,MAAM,KAAK,GAAkB;YAC3B,EAAE,EAAE,MAAM;YACV,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,CAAC,eAAe,CAAC;SACxB,CAAC;QACF,MAAM,SAAS,GAAG,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;QAE9C,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAEtD,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;QAC5C,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,EAAE,kCAAkC,CAAC,CAAC;IAC5F,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACvD,MAAM,YAAY,GAAG,cAAc,CAAC,YAAY,EAAE;YAChD,KAAK,EAAE,CAAC,SAAS,CAAC;SACnB,CAAC,CAAC;QACH,MAAM,kBAAkB,GAAG,cAAc,CAAC,cAAc,EAAE;YACxD,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE;SAC5B,CAAC,CAAC;QAEH,MAAM,KAAK,GAAkB;YAC3B,EAAE,EAAE,MAAM;YACV,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,CAAC;SACV,CAAC;QACF,MAAM,SAAS,GAAG,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC;QAErD,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAEtD,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;QAC5C,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,YAAY,EAAE,0CAA0C,CAAC,CAAC;IACrG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAC1D,MAAM,eAAe,GAAG,cAAc,CAAC,YAAY,EAAE;YACnD,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;QACH,MAAM,cAAc,GAAG,cAAc,CAAC,WAAW,EAAE;YACjD,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE;SACnB,CAAC,CAAC;QAEH,MAAM,KAAK,GAAkB;YAC3B,EAAE,EAAE,MAAM;YACV,MAAM,EAAE,CAAC;SACV,CAAC;QACF,MAAM,SAAS,GAAG,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;QAEpD,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAEtD,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;QAC5C,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,EAAE,kCAAkC,CAAC,CAAC;IAC5F,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC;AAEH,gFAAgF;AAChF,aAAa;AACb,gFAAgF;AAEhF,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAE1B,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,KAAK,GAAkB;YAC3B,EAAE,EAAE,MAAM;YACV,IAAI,EAAE,EAAE;SACT,CAAC;QACF,MAAM,SAAS,GAAG,CAAC,WAAW,CAAC,CAAC;QAEhC,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAEtD,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,gCAAgC,CAAC,CAAC;QACpD,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAC3D,MAAM,qBAAqB,GAAG,cAAc,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;QACnE,MAAM,KAAK,GAAkB;YAC3B,EAAE,EAAE,MAAM;YACV,IAAI,EAAE,SAAS;SAChB,CAAC;QACF,MAAM,SAAS,GAAG,CAAC,qBAAqB,CAAC,CAAC;QAE1C,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAEtD,mDAAmD;QACnD,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,iCAAiC,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACxD,MAAM,kBAAkB,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC;QACzD,MAAM,KAAK,GAAkB;YAC3B,EAAE,EAAE,MAAM;YACV,IAAI,EAAE,SAAS;SAChB,CAAC;QACF,MAAM,SAAS,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAEvC,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAEtD,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,qCAAqC,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qEAAqE,EAAE,GAAG,EAAE;QAC7E,MAAM,KAAK,GAAkB;YAC3B,EAAE,EAAE,MAAM;YACV,oBAAoB;SACrB,CAAC;QACF,MAAM,SAAS,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,kBAAkB;QAEtD,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAEtD,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,0DAA0D,CAAC,CAAC;IAC/F,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,KAAK,GAAkB;YAC3B,EAAE,EAAE,MAAM;YACV,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,CAAC;SACV,CAAC;QACF,MAAM,SAAS,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS;QAE9C,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAEtD,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;QAC3C,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,MAAM,KAAK,GAAkB;YAC3B,EAAE,EAAE,MAAM;YACV,IAAI,EAAE,CAAC,cAAc,CAAC,CAAC,YAAY;SACpC,CAAC;QACF,MAAM,SAAS,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,0BAA0B;QAE3D,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAEtD,uCAAuC;QACvC,MAAM,CAAC,EAAE,CACP,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EACpD,qEAAqE,CACtE,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,MAAM,KAAK,GAAkB;YAC3B,EAAE,EAAE,MAAM;YACV,IAAI,EAAE,CAAC,kBAAkB,EAAE,cAAc,CAAC;SAC3C,CAAC;QACF,MAAM,SAAS,GAAG,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QAEjD,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAEtD,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;QAC5C,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,gCAAgC,CAAC,CAAC;IACxF,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC;AAEH,gFAAgF;AAChF,wCAAwC;AACxC,gFAAgF;AAEhF,QAAQ,CAAC,kCAAkC,EAAE,GAAG,EAAE;IAEhD,+BAA+B;IAC/B,SAAS,gBAAgB,CAAC,QAAgB;QACxC,IAAI,GAAG,GAAG,QAAQ,CAAC;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5B,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,oBAAoB,CAAC,CAAC,EAAE,CAAC;gBAChD,OAAO,GAAG,CAAC;YACb,CAAC;YACD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;YAC5B,IAAI,MAAM,KAAK,GAAG;gBAAE,MAAM;YAC1B,GAAG,GAAG,MAAM,CAAC;QACf,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1D,MAAM,YAAY,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAEjD,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;QAC1E,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;YACjD,OAAO;QACT,CAAC;QAED,sCAAsC;QACtC,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;QACtE,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE,oBAAoB,EAAE,WAAW,CAAC,CAAC;QAC3E,MAAM,EAAE,SAAS,EAAE,GAAG,oBAAoB,CAAC,YAAY,CAAC,CAAC;QAEzD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;YAC5C,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAkB;YAC3B,EAAE,EAAE,MAAM;YACV,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,CAAC;SACV,CAAC;QAEF,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAEtD,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAC;QAChD,8CAA8C;QAC9C,OAAO,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;QAC5E,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;YACjD,OAAO;QACT,CAAC;QAED,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;QACtE,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE,oBAAoB,EAAE,WAAW,CAAC,CAAC;QAC3E,MAAM,EAAE,SAAS,EAAE,GAAG,oBAAoB,CAAC,YAAY,CAAC,CAAC;QAEzD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;YAC5C,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAkB;YAC3B,EAAE,EAAE,MAAM;YACV,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,CAAC;SACV,CAAC;QAEF,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAEtD,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"workflow-schema.d.ts","sourceRoot":"","sources":["../../src/workflow/workflow-schema.ts"],"names":[],"mappings":"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"}