@slope-dev/slope 1.64.1 → 2.0.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 (461) hide show
  1. package/README.md +4 -0
  2. package/dist/cli/commands/agent.d.ts +3 -3
  3. package/dist/cli/commands/agent.d.ts.map +1 -1
  4. package/dist/cli/commands/agent.js +20 -12
  5. package/dist/cli/commands/agent.js.map +1 -1
  6. package/dist/cli/commands/auto-card.d.ts +2 -1
  7. package/dist/cli/commands/auto-card.d.ts.map +1 -1
  8. package/dist/cli/commands/auto-card.js +7 -7
  9. package/dist/cli/commands/auto-card.js.map +1 -1
  10. package/dist/cli/commands/briefing.d.ts.map +1 -1
  11. package/dist/cli/commands/briefing.js +16 -9
  12. package/dist/cli/commands/briefing.js.map +1 -1
  13. package/dist/cli/commands/claim.d.ts.map +1 -1
  14. package/dist/cli/commands/claim.js +6 -4
  15. package/dist/cli/commands/claim.js.map +1 -1
  16. package/dist/cli/commands/commit-ready.d.ts.map +1 -1
  17. package/dist/cli/commands/commit-ready.js.map +1 -1
  18. package/dist/cli/commands/context.d.ts.map +1 -1
  19. package/dist/cli/commands/context.js +2 -1
  20. package/dist/cli/commands/context.js.map +1 -1
  21. package/dist/cli/commands/dashboard.d.ts.map +1 -1
  22. package/dist/cli/commands/dashboard.js +3 -3
  23. package/dist/cli/commands/dashboard.js.map +1 -1
  24. package/dist/cli/commands/distill.d.ts.map +1 -1
  25. package/dist/cli/commands/distill.js +8 -20
  26. package/dist/cli/commands/distill.js.map +1 -1
  27. package/dist/cli/commands/enrich.d.ts.map +1 -1
  28. package/dist/cli/commands/enrich.js +2 -1
  29. package/dist/cli/commands/enrich.js.map +1 -1
  30. package/dist/cli/commands/escalate.d.ts.map +1 -1
  31. package/dist/cli/commands/escalate.js +11 -3
  32. package/dist/cli/commands/escalate.js.map +1 -1
  33. package/dist/cli/commands/extract.d.ts.map +1 -1
  34. package/dist/cli/commands/extract.js +20 -6
  35. package/dist/cli/commands/extract.js.map +1 -1
  36. package/dist/cli/commands/gate.d.ts.map +1 -1
  37. package/dist/cli/commands/gate.js +10 -7
  38. package/dist/cli/commands/gate.js.map +1 -1
  39. package/dist/cli/commands/index-cmd.d.ts.map +1 -1
  40. package/dist/cli/commands/index-cmd.js +2 -1
  41. package/dist/cli/commands/index-cmd.js.map +1 -1
  42. package/dist/cli/commands/init.d.ts.map +1 -1
  43. package/dist/cli/commands/init.js +26 -12
  44. package/dist/cli/commands/init.js.map +1 -1
  45. package/dist/cli/commands/initiative.d.ts.map +1 -1
  46. package/dist/cli/commands/initiative.js +9 -8
  47. package/dist/cli/commands/initiative.js.map +1 -1
  48. package/dist/cli/commands/inspirations.js +5 -5
  49. package/dist/cli/commands/inspirations.js.map +1 -1
  50. package/dist/cli/commands/interview.d.ts.map +1 -1
  51. package/dist/cli/commands/interview.js +2 -2
  52. package/dist/cli/commands/interview.js.map +1 -1
  53. package/dist/cli/commands/issue.d.ts.map +1 -1
  54. package/dist/cli/commands/issue.js +6 -9
  55. package/dist/cli/commands/issue.js.map +1 -1
  56. package/dist/cli/commands/map.d.ts +1 -1
  57. package/dist/cli/commands/map.d.ts.map +1 -1
  58. package/dist/cli/commands/map.js +34 -10
  59. package/dist/cli/commands/map.js.map +1 -1
  60. package/dist/cli/commands/next.js +2 -2
  61. package/dist/cli/commands/next.js.map +1 -1
  62. package/dist/cli/commands/now.d.ts +2 -2
  63. package/dist/cli/commands/now.d.ts.map +1 -1
  64. package/dist/cli/commands/now.js +23 -15
  65. package/dist/cli/commands/now.js.map +1 -1
  66. package/dist/cli/commands/pr.d.ts +3 -3
  67. package/dist/cli/commands/pr.d.ts.map +1 -1
  68. package/dist/cli/commands/pr.js +9 -8
  69. package/dist/cli/commands/pr.js.map +1 -1
  70. package/dist/cli/commands/prep.d.ts.map +1 -1
  71. package/dist/cli/commands/prep.js +2 -1
  72. package/dist/cli/commands/prep.js.map +1 -1
  73. package/dist/cli/commands/release.d.ts.map +1 -1
  74. package/dist/cli/commands/release.js +9 -11
  75. package/dist/cli/commands/release.js.map +1 -1
  76. package/dist/cli/commands/retro.d.ts +1 -1
  77. package/dist/cli/commands/retro.d.ts.map +1 -1
  78. package/dist/cli/commands/retro.js +35 -11
  79. package/dist/cli/commands/retro.js.map +1 -1
  80. package/dist/cli/commands/review-packet.d.ts +2 -2
  81. package/dist/cli/commands/review-packet.d.ts.map +1 -1
  82. package/dist/cli/commands/review-packet.js +3 -3
  83. package/dist/cli/commands/review-packet.js.map +1 -1
  84. package/dist/cli/commands/review-run.d.ts +3 -2
  85. package/dist/cli/commands/review-run.d.ts.map +1 -1
  86. package/dist/cli/commands/review-run.js +4 -4
  87. package/dist/cli/commands/review-run.js.map +1 -1
  88. package/dist/cli/commands/review-state.d.ts.map +1 -1
  89. package/dist/cli/commands/review-state.js +57 -30
  90. package/dist/cli/commands/review-state.js.map +1 -1
  91. package/dist/cli/commands/review.js +6 -6
  92. package/dist/cli/commands/review.js.map +1 -1
  93. package/dist/cli/commands/roadmap.d.ts.map +1 -1
  94. package/dist/cli/commands/roadmap.js +138 -78
  95. package/dist/cli/commands/roadmap.js.map +1 -1
  96. package/dist/cli/commands/session.d.ts.map +1 -1
  97. package/dist/cli/commands/session.js +47 -16
  98. package/dist/cli/commands/session.js.map +1 -1
  99. package/dist/cli/commands/sprint-plan.d.ts.map +1 -1
  100. package/dist/cli/commands/sprint-plan.js +10 -8
  101. package/dist/cli/commands/sprint-plan.js.map +1 -1
  102. package/dist/cli/commands/sprint.d.ts.map +1 -1
  103. package/dist/cli/commands/sprint.js +253 -38
  104. package/dist/cli/commands/sprint.js.map +1 -1
  105. package/dist/cli/commands/standup.d.ts.map +1 -1
  106. package/dist/cli/commands/standup.js +9 -4
  107. package/dist/cli/commands/standup.js.map +1 -1
  108. package/dist/cli/commands/start.js +2 -2
  109. package/dist/cli/commands/start.js.map +1 -1
  110. package/dist/cli/commands/stats.d.ts +4 -4
  111. package/dist/cli/commands/stats.d.ts.map +1 -1
  112. package/dist/cli/commands/stats.js +5 -5
  113. package/dist/cli/commands/stats.js.map +1 -1
  114. package/dist/cli/commands/status.d.ts +1 -1
  115. package/dist/cli/commands/status.d.ts.map +1 -1
  116. package/dist/cli/commands/status.js +12 -8
  117. package/dist/cli/commands/status.js.map +1 -1
  118. package/dist/cli/commands/store.d.ts +37 -0
  119. package/dist/cli/commands/store.d.ts.map +1 -1
  120. package/dist/cli/commands/store.js +262 -12
  121. package/dist/cli/commands/store.js.map +1 -1
  122. package/dist/cli/commands/ticket.d.ts.map +1 -1
  123. package/dist/cli/commands/ticket.js +4 -4
  124. package/dist/cli/commands/ticket.js.map +1 -1
  125. package/dist/cli/commands/tournament.d.ts.map +1 -1
  126. package/dist/cli/commands/tournament.js +7 -6
  127. package/dist/cli/commands/tournament.js.map +1 -1
  128. package/dist/cli/commands/validate.d.ts +4 -3
  129. package/dist/cli/commands/validate.d.ts.map +1 -1
  130. package/dist/cli/commands/validate.js +37 -10
  131. package/dist/cli/commands/validate.js.map +1 -1
  132. package/dist/cli/commands/version.d.ts +1 -1
  133. package/dist/cli/commands/version.d.ts.map +1 -1
  134. package/dist/cli/commands/version.js +13 -10
  135. package/dist/cli/commands/version.js.map +1 -1
  136. package/dist/cli/commands/worktree.d.ts.map +1 -1
  137. package/dist/cli/commands/worktree.js +36 -31
  138. package/dist/cli/commands/worktree.js.map +1 -1
  139. package/dist/cli/guards/claim-required.d.ts.map +1 -1
  140. package/dist/cli/guards/claim-required.js +2 -3
  141. package/dist/cli/guards/claim-required.js.map +1 -1
  142. package/dist/cli/guards/compaction.d.ts.map +1 -1
  143. package/dist/cli/guards/git-utils.d.ts +5 -0
  144. package/dist/cli/guards/git-utils.d.ts.map +1 -1
  145. package/dist/cli/guards/git-utils.js +36 -8
  146. package/dist/cli/guards/git-utils.js.map +1 -1
  147. package/dist/cli/guards/hazard.d.ts.map +1 -1
  148. package/dist/cli/guards/hazard.js +8 -7
  149. package/dist/cli/guards/hazard.js.map +1 -1
  150. package/dist/cli/guards/next-action.d.ts +5 -5
  151. package/dist/cli/guards/next-action.d.ts.map +1 -1
  152. package/dist/cli/guards/next-action.js +8 -8
  153. package/dist/cli/guards/next-action.js.map +1 -1
  154. package/dist/cli/guards/phase-boundary.d.ts.map +1 -1
  155. package/dist/cli/guards/phase-boundary.js +24 -14
  156. package/dist/cli/guards/phase-boundary.js.map +1 -1
  157. package/dist/cli/guards/post-hole-enforcement.d.ts.map +1 -1
  158. package/dist/cli/guards/post-hole-enforcement.js +9 -8
  159. package/dist/cli/guards/post-hole-enforcement.js.map +1 -1
  160. package/dist/cli/guards/post-push.d.ts.map +1 -1
  161. package/dist/cli/guards/post-push.js +7 -3
  162. package/dist/cli/guards/post-push.js.map +1 -1
  163. package/dist/cli/guards/review-stale.d.ts.map +1 -1
  164. package/dist/cli/guards/review-stale.js +6 -4
  165. package/dist/cli/guards/review-stale.js.map +1 -1
  166. package/dist/cli/guards/review-tier.d.ts.map +1 -1
  167. package/dist/cli/guards/review-tier.js +6 -7
  168. package/dist/cli/guards/review-tier.js.map +1 -1
  169. package/dist/cli/guards/roadmap-edit-shipped.d.ts.map +1 -1
  170. package/dist/cli/guards/roadmap-edit-shipped.js +34 -21
  171. package/dist/cli/guards/roadmap-edit-shipped.js.map +1 -1
  172. package/dist/cli/guards/scope-drift.d.ts.map +1 -1
  173. package/dist/cli/guards/scope-drift.js +2 -1
  174. package/dist/cli/guards/scope-drift.js.map +1 -1
  175. package/dist/cli/guards/session-briefing.d.ts.map +1 -1
  176. package/dist/cli/guards/session-briefing.js +34 -13
  177. package/dist/cli/guards/session-briefing.js.map +1 -1
  178. package/dist/cli/guards/sprint-completion.d.ts.map +1 -1
  179. package/dist/cli/guards/sprint-completion.js +32 -16
  180. package/dist/cli/guards/sprint-completion.js.map +1 -1
  181. package/dist/cli/guards/stop-check.d.ts.map +1 -1
  182. package/dist/cli/guards/stop-check.js +8 -10
  183. package/dist/cli/guards/stop-check.js.map +1 -1
  184. package/dist/cli/guards/transcript.d.ts.map +1 -1
  185. package/dist/cli/guards/transcript.js +2 -1
  186. package/dist/cli/guards/transcript.js.map +1 -1
  187. package/dist/cli/guards/workflow-step-gate.d.ts.map +1 -1
  188. package/dist/cli/guards/workflow-step-gate.js +25 -28
  189. package/dist/cli/guards/workflow-step-gate.js.map +1 -1
  190. package/dist/cli/guards/worktree-check.d.ts.map +1 -1
  191. package/dist/cli/guards/worktree-check.js +38 -13
  192. package/dist/cli/guards/worktree-check.js.map +1 -1
  193. package/dist/cli/hooks-config.d.ts.map +1 -1
  194. package/dist/cli/hooks-config.js +6 -4
  195. package/dist/cli/hooks-config.js.map +1 -1
  196. package/dist/cli/index.js +1 -1
  197. package/dist/cli/index.js.map +1 -1
  198. package/dist/cli/loop/executor.d.ts +1 -0
  199. package/dist/cli/loop/executor.d.ts.map +1 -1
  200. package/dist/cli/loop/executor.js +20 -13
  201. package/dist/cli/loop/executor.js.map +1 -1
  202. package/dist/cli/loop/pr-lifecycle.d.ts +2 -1
  203. package/dist/cli/loop/pr-lifecycle.d.ts.map +1 -1
  204. package/dist/cli/loop/pr-lifecycle.js +14 -8
  205. package/dist/cli/loop/pr-lifecycle.js.map +1 -1
  206. package/dist/cli/loop/worktree.d.ts.map +1 -1
  207. package/dist/cli/loop/worktree.js +1 -48
  208. package/dist/cli/loop/worktree.js.map +1 -1
  209. package/dist/cli/pr-closeout.d.ts +3 -2
  210. package/dist/cli/pr-closeout.d.ts.map +1 -1
  211. package/dist/cli/pr-closeout.js +14 -6
  212. package/dist/cli/pr-closeout.js.map +1 -1
  213. package/dist/cli/pr-review-state.d.ts +8 -7
  214. package/dist/cli/pr-review-state.d.ts.map +1 -1
  215. package/dist/cli/pr-review-state.js +3 -2
  216. package/dist/cli/pr-review-state.js.map +1 -1
  217. package/dist/cli/pre-sprint-reality.d.ts +4 -4
  218. package/dist/cli/pre-sprint-reality.d.ts.map +1 -1
  219. package/dist/cli/pre-sprint-reality.js +9 -2
  220. package/dist/cli/pre-sprint-reality.js.map +1 -1
  221. package/dist/cli/registries/api-registry.d.ts +2 -2
  222. package/dist/cli/registries/api-registry.d.ts.map +1 -1
  223. package/dist/cli/registries/api-registry.js +1 -1
  224. package/dist/cli/registries/api-registry.js.map +1 -1
  225. package/dist/cli/registries/file-registry.d.ts +3 -3
  226. package/dist/cli/registries/file-registry.d.ts.map +1 -1
  227. package/dist/cli/registries/file-registry.js +12 -2
  228. package/dist/cli/registries/file-registry.js.map +1 -1
  229. package/dist/cli/registries/index.d.ts +1 -1
  230. package/dist/cli/registries/index.d.ts.map +1 -1
  231. package/dist/cli/registries/index.js +2 -2
  232. package/dist/cli/registries/index.js.map +1 -1
  233. package/dist/cli/registry.d.ts.map +1 -1
  234. package/dist/cli/registry.js +4 -0
  235. package/dist/cli/registry.js.map +1 -1
  236. package/dist/cli/reviewer-agents.d.ts +2 -1
  237. package/dist/cli/reviewer-agents.d.ts.map +1 -1
  238. package/dist/cli/reviewer-agents.js.map +1 -1
  239. package/dist/cli/roadmap-source-migration.d.ts.map +1 -1
  240. package/dist/cli/roadmap-source-migration.js +15 -13
  241. package/dist/cli/roadmap-source-migration.js.map +1 -1
  242. package/dist/cli/roadmap-source-store.d.ts +4 -4
  243. package/dist/cli/roadmap-source-store.d.ts.map +1 -1
  244. package/dist/cli/roadmap-source-store.js +38 -32
  245. package/dist/cli/roadmap-source-store.js.map +1 -1
  246. package/dist/cli/session-heartbeat.d.ts +12 -0
  247. package/dist/cli/session-heartbeat.d.ts.map +1 -0
  248. package/dist/cli/session-heartbeat.js +46 -0
  249. package/dist/cli/session-heartbeat.js.map +1 -0
  250. package/dist/cli/session-scope.d.ts.map +1 -1
  251. package/dist/cli/session-scope.js +4 -16
  252. package/dist/cli/session-scope.js.map +1 -1
  253. package/dist/cli/session-state.js +5 -5
  254. package/dist/cli/session-state.js.map +1 -1
  255. package/dist/cli/sprint-inference.d.ts +5 -5
  256. package/dist/cli/sprint-inference.d.ts.map +1 -1
  257. package/dist/cli/sprint-inference.js +63 -33
  258. package/dist/cli/sprint-inference.js.map +1 -1
  259. package/dist/cli/sprint-resume.d.ts +7 -7
  260. package/dist/cli/sprint-resume.d.ts.map +1 -1
  261. package/dist/cli/sprint-resume.js +43 -21
  262. package/dist/cli/sprint-resume.js.map +1 -1
  263. package/dist/cli/sprint-rollover.d.ts +19 -19
  264. package/dist/cli/sprint-rollover.d.ts.map +1 -1
  265. package/dist/cli/sprint-rollover.js +116 -69
  266. package/dist/cli/sprint-rollover.js.map +1 -1
  267. package/dist/cli/sprint-state.d.ts +8 -6
  268. package/dist/cli/sprint-state.d.ts.map +1 -1
  269. package/dist/cli/sprint-state.js +39 -12
  270. package/dist/cli/sprint-state.js.map +1 -1
  271. package/dist/cli/store.d.ts.map +1 -1
  272. package/dist/cli/store.js +5 -3
  273. package/dist/cli/store.js.map +1 -1
  274. package/dist/cli/workflow-closeout.d.ts +11 -0
  275. package/dist/cli/workflow-closeout.d.ts.map +1 -0
  276. package/dist/cli/workflow-closeout.js +30 -0
  277. package/dist/cli/workflow-closeout.js.map +1 -0
  278. package/dist/cli/workflow-resync.d.ts +13 -9
  279. package/dist/cli/workflow-resync.d.ts.map +1 -1
  280. package/dist/cli/workflow-resync.js +75 -22
  281. package/dist/cli/workflow-resync.js.map +1 -1
  282. package/dist/core/advisor.d.ts.map +1 -1
  283. package/dist/core/advisor.js +5 -2
  284. package/dist/core/advisor.js.map +1 -1
  285. package/dist/core/analytics.d.ts +2 -2
  286. package/dist/core/analytics.d.ts.map +1 -1
  287. package/dist/core/analytics.js +4 -3
  288. package/dist/core/analytics.js.map +1 -1
  289. package/dist/core/analyzers/git.d.ts +3 -2
  290. package/dist/core/analyzers/git.d.ts.map +1 -1
  291. package/dist/core/analyzers/git.js +6 -5
  292. package/dist/core/analyzers/git.js.map +1 -1
  293. package/dist/core/briefing.d.ts +6 -5
  294. package/dist/core/briefing.d.ts.map +1 -1
  295. package/dist/core/briefing.js +52 -36
  296. package/dist/core/briefing.js.map +1 -1
  297. package/dist/core/builder.d.ts +3 -1
  298. package/dist/core/builder.d.ts.map +1 -1
  299. package/dist/core/builder.js +6 -4
  300. package/dist/core/builder.js.map +1 -1
  301. package/dist/core/config.d.ts +2 -1
  302. package/dist/core/config.d.ts.map +1 -1
  303. package/dist/core/config.js +26 -6
  304. package/dist/core/config.js.map +1 -1
  305. package/dist/core/dashboard.d.ts +2 -2
  306. package/dist/core/dashboard.d.ts.map +1 -1
  307. package/dist/core/dashboard.js +2 -1
  308. package/dist/core/dashboard.js.map +1 -1
  309. package/dist/core/deferred.d.ts +7 -6
  310. package/dist/core/deferred.d.ts.map +1 -1
  311. package/dist/core/deferred.js +30 -7
  312. package/dist/core/deferred.js.map +1 -1
  313. package/dist/core/enrich.d.ts +1 -1
  314. package/dist/core/escalation.d.ts +2 -1
  315. package/dist/core/escalation.d.ts.map +1 -1
  316. package/dist/core/escalation.js +3 -1
  317. package/dist/core/escalation.js.map +1 -1
  318. package/dist/core/event-ingestion.d.ts.map +1 -1
  319. package/dist/core/event-ingestion.js +8 -3
  320. package/dist/core/event-ingestion.js.map +1 -1
  321. package/dist/core/findings.d.ts +6 -4
  322. package/dist/core/findings.d.ts.map +1 -1
  323. package/dist/core/findings.js +30 -7
  324. package/dist/core/findings.js.map +1 -1
  325. package/dist/core/formatter.d.ts +2 -1
  326. package/dist/core/formatter.d.ts.map +1 -1
  327. package/dist/core/formatter.js.map +1 -1
  328. package/dist/core/generators/roadmap.js +2 -2
  329. package/dist/core/generators/roadmap.js.map +1 -1
  330. package/dist/core/index.d.ts +8 -5
  331. package/dist/core/index.d.ts.map +1 -1
  332. package/dist/core/index.js +4 -2
  333. package/dist/core/index.js.map +1 -1
  334. package/dist/core/initiative.d.ts +5 -4
  335. package/dist/core/initiative.d.ts.map +1 -1
  336. package/dist/core/initiative.js +39 -11
  337. package/dist/core/initiative.js.map +1 -1
  338. package/dist/core/inspirations.d.ts +4 -3
  339. package/dist/core/inspirations.d.ts.map +1 -1
  340. package/dist/core/inspirations.js +19 -4
  341. package/dist/core/inspirations.js.map +1 -1
  342. package/dist/core/interview-engine.d.ts +2 -1
  343. package/dist/core/interview-engine.d.ts.map +1 -1
  344. package/dist/core/interview-engine.js +26 -17
  345. package/dist/core/interview-engine.js.map +1 -1
  346. package/dist/core/interview-steps.d.ts.map +1 -1
  347. package/dist/core/interview-steps.js +7 -6
  348. package/dist/core/interview-steps.js.map +1 -1
  349. package/dist/core/interview.d.ts +2 -1
  350. package/dist/core/interview.d.ts.map +1 -1
  351. package/dist/core/interview.js +13 -7
  352. package/dist/core/interview.js.map +1 -1
  353. package/dist/core/issue-scout.d.ts +2 -1
  354. package/dist/core/issue-scout.d.ts.map +1 -1
  355. package/dist/core/issue-scout.js.map +1 -1
  356. package/dist/core/loader.d.ts +4 -4
  357. package/dist/core/loader.d.ts.map +1 -1
  358. package/dist/core/loader.js +71 -33
  359. package/dist/core/loader.js.map +1 -1
  360. package/dist/core/memory.d.ts.map +1 -1
  361. package/dist/core/memory.js +16 -6
  362. package/dist/core/memory.js.map +1 -1
  363. package/dist/core/org.d.ts +1 -1
  364. package/dist/core/org.d.ts.map +1 -1
  365. package/dist/core/org.js +2 -1
  366. package/dist/core/org.js.map +1 -1
  367. package/dist/core/pipeline.d.ts +1 -1
  368. package/dist/core/pipeline.d.ts.map +1 -1
  369. package/dist/core/pipeline.js +10 -6
  370. package/dist/core/pipeline.js.map +1 -1
  371. package/dist/core/player.d.ts.map +1 -1
  372. package/dist/core/player.js +2 -1
  373. package/dist/core/player.js.map +1 -1
  374. package/dist/core/prep.d.ts +3 -3
  375. package/dist/core/registry.d.ts +6 -2
  376. package/dist/core/registry.d.ts.map +1 -1
  377. package/dist/core/registry.js +2 -1
  378. package/dist/core/registry.js.map +1 -1
  379. package/dist/core/repo-state-scope.d.ts +27 -0
  380. package/dist/core/repo-state-scope.d.ts.map +1 -0
  381. package/dist/core/repo-state-scope.js +105 -0
  382. package/dist/core/repo-state-scope.js.map +1 -0
  383. package/dist/core/report.d.ts +1 -1
  384. package/dist/core/report.d.ts.map +1 -1
  385. package/dist/core/report.js +2 -1
  386. package/dist/core/report.js.map +1 -1
  387. package/dist/core/retro.d.ts +3 -2
  388. package/dist/core/retro.d.ts.map +1 -1
  389. package/dist/core/retro.js +6 -3
  390. package/dist/core/retro.js.map +1 -1
  391. package/dist/core/roadmap-focus.d.ts +8 -7
  392. package/dist/core/roadmap-focus.d.ts.map +1 -1
  393. package/dist/core/roadmap-focus.js +45 -34
  394. package/dist/core/roadmap-focus.js.map +1 -1
  395. package/dist/core/roadmap-migration.d.ts +2 -1
  396. package/dist/core/roadmap-migration.d.ts.map +1 -1
  397. package/dist/core/roadmap-migration.js +110 -51
  398. package/dist/core/roadmap-migration.js.map +1 -1
  399. package/dist/core/roadmap-source-patch.d.ts +2 -1
  400. package/dist/core/roadmap-source-patch.d.ts.map +1 -1
  401. package/dist/core/roadmap-source-patch.js +9 -4
  402. package/dist/core/roadmap-source-patch.js.map +1 -1
  403. package/dist/core/roadmap-sources.d.ts +2 -1
  404. package/dist/core/roadmap-sources.d.ts.map +1 -1
  405. package/dist/core/roadmap-sources.js +38 -26
  406. package/dist/core/roadmap-sources.js.map +1 -1
  407. package/dist/core/roadmap.d.ts +22 -16
  408. package/dist/core/roadmap.d.ts.map +1 -1
  409. package/dist/core/roadmap.js +152 -84
  410. package/dist/core/roadmap.js.map +1 -1
  411. package/dist/core/session-branch.d.ts +17 -0
  412. package/dist/core/session-branch.d.ts.map +1 -0
  413. package/dist/core/session-branch.js +85 -0
  414. package/dist/core/session-branch.js.map +1 -0
  415. package/dist/core/sprint-id.d.ts +13 -5
  416. package/dist/core/sprint-id.d.ts.map +1 -1
  417. package/dist/core/sprint-id.js +16 -0
  418. package/dist/core/sprint-id.js.map +1 -1
  419. package/dist/core/standup.d.ts +2 -1
  420. package/dist/core/standup.d.ts.map +1 -1
  421. package/dist/core/standup.js.map +1 -1
  422. package/dist/core/store.d.ts +16 -8
  423. package/dist/core/store.d.ts.map +1 -1
  424. package/dist/core/store.js +34 -0
  425. package/dist/core/store.js.map +1 -1
  426. package/dist/core/tournament.d.ts.map +1 -1
  427. package/dist/core/tournament.js +4 -3
  428. package/dist/core/tournament.js.map +1 -1
  429. package/dist/core/types.d.ts +9 -7
  430. package/dist/core/types.d.ts.map +1 -1
  431. package/dist/core/validation.d.ts +2 -1
  432. package/dist/core/validation.d.ts.map +1 -1
  433. package/dist/core/validation.js +2 -1
  434. package/dist/core/validation.js.map +1 -1
  435. package/dist/core/webhooks.d.ts +3 -2
  436. package/dist/core/webhooks.d.ts.map +1 -1
  437. package/dist/core/webhooks.js +9 -2
  438. package/dist/core/webhooks.js.map +1 -1
  439. package/dist/core/workflow-loader.d.ts.map +1 -1
  440. package/dist/core/workflow-loader.js +2 -1
  441. package/dist/core/workflow-loader.js.map +1 -1
  442. package/dist/mcp/index.d.ts +5 -1
  443. package/dist/mcp/index.d.ts.map +1 -1
  444. package/dist/mcp/index.js +97 -59
  445. package/dist/mcp/index.js.map +1 -1
  446. package/dist/mcp/index.test.js +14 -3
  447. package/dist/mcp/index.test.js.map +1 -1
  448. package/dist/mcp/registry.d.ts +1 -1
  449. package/dist/mcp/registry.d.ts.map +1 -1
  450. package/dist/mcp/registry.js +36 -28
  451. package/dist/mcp/registry.js.map +1 -1
  452. package/dist/store/index.d.ts +13 -11
  453. package/dist/store/index.d.ts.map +1 -1
  454. package/dist/store/index.js +217 -36
  455. package/dist/store/index.js.map +1 -1
  456. package/dist/store-pg/index.d.ts +18 -12
  457. package/dist/store-pg/index.d.ts.map +1 -1
  458. package/dist/store-pg/index.js +124 -38
  459. package/dist/store-pg/index.js.map +1 -1
  460. package/package.json +1 -1
  461. package/templates/codex/plugins/slope/.codex-plugin/plugin.json +1 -1
@@ -1,7 +1,7 @@
1
1
  import { createHash } from 'node:crypto';
2
2
  import { existsSync, readFileSync, realpathSync } from 'node:fs';
3
3
  import { dirname, isAbsolute, join, relative, resolve } from 'node:path';
4
- import { castRoadmapStructure, discoverScorecardFiles, formatRoadmapSprintLabel, isRoadmapSprintPending, isRoadmapSprintTerminal, parseRoadmap, roadmapSprintOrderValue, sprintNumberFromScorecardFile, validateScorecard, } from '../core/index.js';
4
+ import { castRoadmapStructure, compareSprintIdKeys, discoverScorecardFiles, formatRoadmapSprintLabel, isRoadmapSprintPending, isRoadmapSprintTerminal, parseRoadmap, roadmapSprintKey, roadmapSprintKeyFromId, sprintNumberFromScorecardFile, sprintIdKey, sprintIdsEqual, validateScorecard, } from '../core/index.js';
5
5
  import { atomicWriteFileSync, withFileLockSync } from './atomic-write.js';
6
6
  import { loadConfig } from './config.js';
7
7
  import { createSprintState, isSprintComplete, isValidSprintStateEvidence, loadSprintStateResult, replaceSprintState, } from './sprint-state.js';
@@ -34,11 +34,11 @@ export function trackedContentMatches(content, expected) {
34
34
  return true;
35
35
  return createHash('sha256').update(content).digest('hex') === expected;
36
36
  }
37
- function roadmapIdsEqual(roadmap, left, right) {
38
- return roadmapSprintOrderValue(roadmap, left) === roadmapSprintOrderValue(roadmap, right);
39
- }
40
37
  function roadmapSprintsById(roadmap, sprint) {
41
- return roadmap.sprints.filter(candidate => roadmapIdsEqual(roadmap, candidate.id, sprint));
38
+ const key = roadmapSprintKeyFromId(roadmap, sprint);
39
+ if (key === null)
40
+ return [];
41
+ return roadmap.sprints.filter(candidate => roadmapSprintKey(roadmap, candidate) === key);
42
42
  }
43
43
  function loadRolloverRoadmap(cwd) {
44
44
  const config = loadConfig(cwd);
@@ -70,7 +70,8 @@ function loadCompletionEvidence(cwd) {
70
70
  const recorded = new Set();
71
71
  for (const discovered of discoverScorecardFiles(config, cwd)) {
72
72
  const fileSprint = sprintNumberFromScorecardFile(discovered, config);
73
- if (fileSprint == null || recorded.has(fileSprint))
73
+ const fileSprintKey = fileSprint == null ? null : sprintIdKey(fileSprint);
74
+ if (fileSprintKey == null || recorded.has(fileSprintKey))
74
75
  continue;
75
76
  const absolutePath = ensureTrackedPath(cwd, resolve(cwd, discovered));
76
77
  const source = readFileSync(absolutePath);
@@ -82,31 +83,31 @@ function loadCompletionEvidence(cwd) {
82
83
  continue;
83
84
  }
84
85
  const sprint = raw.sprint_number ?? raw.sprint;
85
- if (sprint !== fileSprint
86
+ if (sprintIdKey(sprint) !== fileSprintKey
86
87
  || !validateScorecard(raw).valid)
87
88
  continue;
88
89
  scorecards.push({
89
- sprint: fileSprint,
90
+ sprint: fileSprintKey,
90
91
  path: relative(cwd, absolutePath).replaceAll('\\', '/'),
91
92
  sha256: hashTrackedContent(source),
92
93
  });
93
- recorded.add(fileSprint);
94
+ recorded.add(fileSprintKey);
94
95
  }
95
96
  return { sprintIds: [...recorded], scorecards };
96
97
  }
97
98
  function effectiveCompletedOrders(roadmap, fromSprint, fromTerminal, completionEvidence) {
98
- const fromOrder = fromSprint ? roadmapSprintOrderValue(roadmap, fromSprint.id) : null;
99
+ const fromKey = fromSprint ? roadmapSprintKey(roadmap, fromSprint) : null;
99
100
  const completed = new Set(roadmap.sprints
100
101
  .filter(sprint => sprint.status === 'complete'
101
- && (fromTerminal || roadmapSprintOrderValue(roadmap, sprint.id) !== fromOrder))
102
- .map(sprint => roadmapSprintOrderValue(roadmap, sprint.id)));
102
+ && (fromTerminal || roadmapSprintKey(roadmap, sprint) !== fromKey))
103
+ .map(sprint => roadmapSprintKey(roadmap, sprint)));
103
104
  for (const sprint of completionEvidence) {
104
- const order = roadmapSprintOrderValue(roadmap, sprint);
105
- if (fromTerminal || order !== fromOrder)
106
- completed.add(order);
105
+ const key = roadmapSprintKeyFromId(roadmap, sprint);
106
+ if (key !== null && (fromTerminal || key !== fromKey))
107
+ completed.add(key);
107
108
  }
108
109
  if (fromTerminal && fromSprint)
109
- completed.add(roadmapSprintOrderValue(roadmap, fromSprint.id));
110
+ completed.add(roadmapSprintKey(roadmap, fromSprint));
110
111
  return completed;
111
112
  }
112
113
  function boundedMessages(messages, limit = 5) {
@@ -120,17 +121,27 @@ function boundedSprintLabels(roadmap, ids, limit = 5) {
120
121
  return `${shown.join(', ')}${omitted > 0 ? `, … ${omitted} additional sprint(s)` : ''}`;
121
122
  }
122
123
  function dependencyBlockers(roadmap, sprint, completed) {
123
- return (sprint.depends_on ?? []).filter(dependency => !completed.has(roadmapSprintOrderValue(roadmap, dependency)));
124
+ return (sprint.depends_on ?? [])
125
+ .map(dependency => roadmapSprintKeyFromId(roadmap, dependency))
126
+ .filter((dependency) => dependency !== null && !completed.has(dependency));
124
127
  }
125
128
  export function assessSprintRollover(state, roadmap, roadmapPath, input, completionEvidence = [], roadmapSha256 = '') {
126
129
  const force = input.force === true;
127
130
  const reason = input.reason?.trim();
131
+ const fromInputKey = sprintIdKey(input.from) ?? String(input.from);
132
+ const toInputKey = sprintIdKey(input.to) ?? String(input.to);
128
133
  const fromMatches = roadmapSprintsById(roadmap, input.from);
129
134
  const toMatches = roadmapSprintsById(roadmap, input.to);
130
135
  const fromSprint = fromMatches.length === 1 ? fromMatches[0] : undefined;
131
136
  const toSprint = toMatches.length === 1 ? toMatches[0] : undefined;
132
- const fromLabel = fromSprint ? formatRoadmapSprintLabel(roadmap, fromSprint.id) : `S${input.from}`;
133
- const toLabel = toSprint ? formatRoadmapSprintLabel(roadmap, toSprint.id) : `S${input.to}`;
137
+ const fromKey = fromSprint ? roadmapSprintKey(roadmap, fromSprint) : null;
138
+ const toKey = toSprint ? roadmapSprintKey(roadmap, toSprint) : null;
139
+ const fromLabel = fromSprint
140
+ ? formatRoadmapSprintLabel(roadmap, roadmapSprintKey(roadmap, fromSprint))
141
+ : `S${input.from}`;
142
+ const toLabel = toSprint
143
+ ? formatRoadmapSprintLabel(roadmap, roadmapSprintKey(roadmap, toSprint))
144
+ : `S${input.to}`;
134
145
  const terminal = Boolean(state && isSprintComplete(state));
135
146
  const issues = [];
136
147
  if (!state)
@@ -143,14 +154,15 @@ export function assessSprintRollover(state, roadmap, roadmapPath, input, complet
143
154
  issues.push({ code: 'target_roadmap_missing', message: `${toLabel} is not present in the roadmap.` });
144
155
  if (toMatches.length > 1)
145
156
  issues.push({ code: 'target_roadmap_ambiguous', message: `${toLabel} resolves to multiple roadmap rows.` });
146
- if (state && fromSprint && !roadmapIdsEqual(roadmap, state.sprint, fromSprint.id)) {
157
+ if (state && fromSprint
158
+ && roadmapSprintKeyFromId(roadmap, state.sprint) !== fromKey) {
147
159
  issues.push({
148
160
  code: 'from_state_mismatch',
149
161
  message: `sprint-state.json is for ${formatRoadmapSprintLabel(roadmap, state.sprint)}, not ${fromLabel}.`,
150
162
  });
151
163
  }
152
164
  if (fromSprint && toSprint
153
- && roadmapSprintOrderValue(roadmap, toSprint.id) <= roadmapSprintOrderValue(roadmap, fromSprint.id)) {
165
+ && compareSprintIdKeys(toKey, fromKey) <= 0) {
154
166
  issues.push({ code: 'target_not_later', message: `${toLabel} is not later than ${fromLabel}.` });
155
167
  }
156
168
  if (toSprint && isRoadmapSprintTerminal(toSprint)) {
@@ -160,9 +172,8 @@ export function assessSprintRollover(state, roadmap, roadmapPath, input, complet
160
172
  // made the last sprint of a phase permanently un-PR-able once `slope validate`
161
173
  // had reconciled it to complete, and `--force` did not help because this check
162
174
  // ignored it (GH #641).
163
- const toOrder = roadmapSprintOrderValue(roadmap, toSprint.id);
164
175
  const toHasEvidence = completionEvidence
165
- .some(id => roadmapSprintOrderValue(roadmap, id) === toOrder);
176
+ .some(id => roadmapSprintKeyFromId(roadmap, id) === toKey);
166
177
  if (!toHasEvidence && !force) {
167
178
  issues.push({
168
179
  code: 'target_not_pending',
@@ -182,24 +193,32 @@ export function assessSprintRollover(state, roadmap, roadmapPath, input, complet
182
193
  if (!force && reason) {
183
194
  issues.push({ code: 'reason_without_force', message: '--reason is only valid with --force.' });
184
195
  }
185
- const fromOrderForEvidence = fromSprint ? roadmapSprintOrderValue(roadmap, fromSprint.id) : Number.NEGATIVE_INFINITY;
186
- const relevantDependencyOrders = new Set(roadmap.sprints
187
- .filter(sprint => roadmapSprintOrderValue(roadmap, sprint.id) > fromOrderForEvidence)
196
+ const relevantDependencyKeys = new Set(roadmap.sprints
197
+ .filter(sprint => fromKey === null
198
+ || compareSprintIdKeys(roadmapSprintKey(roadmap, sprint), fromKey) > 0)
188
199
  .flatMap(sprint => sprint.depends_on ?? [])
189
- .map(id => roadmapSprintOrderValue(roadmap, id)));
200
+ .map(id => roadmapSprintKeyFromId(roadmap, id))
201
+ .filter((id) => id !== null));
190
202
  const relevantCompletionEvidence = completionEvidence
191
- .filter(id => relevantDependencyOrders.has(roadmapSprintOrderValue(roadmap, id)));
203
+ .filter(id => {
204
+ const key = roadmapSprintKeyFromId(roadmap, id);
205
+ return key !== null && relevantDependencyKeys.has(key);
206
+ });
192
207
  const completed = effectiveCompletedOrders(roadmap, fromSprint, terminal, relevantCompletionEvidence);
193
208
  const roadmapComplete = roadmap.sprints
194
209
  .filter(sprint => sprint.status === 'complete'
195
210
  && (terminal || !fromSprint
196
- || roadmapSprintOrderValue(roadmap, sprint.id) !== roadmapSprintOrderValue(roadmap, fromSprint.id)))
197
- .map(sprint => roadmapSprintOrderValue(roadmap, sprint.id));
198
- const scorecardCompletions = [...new Set(relevantCompletionEvidence.map(sprint => roadmapSprintOrderValue(roadmap, sprint)))];
199
- const fromOrder = fromSprint ? roadmapSprintOrderValue(roadmap, fromSprint.id) : Number.POSITIVE_INFINITY;
211
+ || roadmapSprintKey(roadmap, sprint) !== fromKey))
212
+ .map(sprint => roadmapSprintKey(roadmap, sprint));
213
+ const scorecardCompletions = [...new Set(relevantCompletionEvidence
214
+ .map(sprint => roadmapSprintKeyFromId(roadmap, sprint))
215
+ .filter((sprint) => sprint !== null))];
200
216
  const candidates = roadmap.sprints
201
- .filter(sprint => isRoadmapSprintPending(sprint) && roadmapSprintOrderValue(roadmap, sprint.id) > fromOrder)
202
- .filter(sprint => dependencyBlockers(roadmap, sprint, completed).length === 0);
217
+ .filter(sprint => isRoadmapSprintPending(sprint)
218
+ && fromKey !== null
219
+ && compareSprintIdKeys(roadmapSprintKey(roadmap, sprint), fromKey) > 0)
220
+ .filter(sprint => dependencyBlockers(roadmap, sprint, completed).length === 0)
221
+ .sort((left, right) => compareSprintIdKeys(roadmapSprintKey(roadmap, left), roadmapSprintKey(roadmap, right)));
203
222
  const expectedNext = candidates.find(sprint => sprint.status === 'active') ?? candidates[0];
204
223
  const blockers = toSprint ? dependencyBlockers(roadmap, toSprint, completed) : [];
205
224
  if (toSprint && blockers.length > 0) {
@@ -220,31 +239,32 @@ export function assessSprintRollover(state, roadmap, roadmapPath, input, complet
220
239
  message: `No dependency-eligible pending sprint follows ${fromLabel}.`,
221
240
  });
222
241
  }
223
- else if (toSprint && expectedNext && !roadmapIdsEqual(roadmap, toSprint.id, expectedNext.id)) {
242
+ else if (toSprint && expectedNext
243
+ && roadmapSprintKey(roadmap, toSprint) !== roadmapSprintKey(roadmap, expectedNext)) {
224
244
  issues.push({
225
245
  code: 'target_not_next_eligible',
226
- message: `${toLabel} is not the next dependency-eligible sprint; use ${formatRoadmapSprintLabel(roadmap, expectedNext.id)}.`,
246
+ message: `${toLabel} is not the next dependency-eligible sprint; use ${formatRoadmapSprintLabel(roadmap, roadmapSprintKey(roadmap, expectedNext))}.`,
227
247
  });
228
248
  }
229
249
  return {
230
250
  valid: issues.length === 0,
231
- from: fromSprint ? roadmapSprintOrderValue(roadmap, fromSprint.id) : input.from,
232
- to: toSprint ? roadmapSprintOrderValue(roadmap, toSprint.id) : input.to,
251
+ from: fromKey ?? fromInputKey,
252
+ to: toKey ?? toInputKey,
233
253
  from_label: fromLabel,
234
254
  to_label: toLabel,
235
255
  from_terminal: terminal,
236
256
  forced: force,
237
257
  ...(reason ? { reason } : {}),
238
258
  ...(expectedNext ? {
239
- expected_next: roadmapSprintOrderValue(roadmap, expectedNext.id),
240
- expected_next_label: formatRoadmapSprintLabel(roadmap, expectedNext.id),
259
+ expected_next: roadmapSprintKey(roadmap, expectedNext),
260
+ expected_next_label: formatRoadmapSprintLabel(roadmap, roadmapSprintKey(roadmap, expectedNext)),
241
261
  } : {}),
242
- blocking_dependencies: blockers.map(id => roadmapSprintOrderValue(roadmap, id)),
262
+ blocking_dependencies: blockers,
243
263
  blocking_dependency_labels: blockers.map(id => formatRoadmapSprintLabel(roadmap, id)),
244
264
  completion_evidence: {
245
265
  roadmap_complete: roadmapComplete,
246
266
  scorecards: scorecardCompletions,
247
- local_terminal: terminal && fromSprint ? [roadmapSprintOrderValue(roadmap, fromSprint.id)] : [],
267
+ local_terminal: terminal && fromSprint ? [roadmapSprintKey(roadmap, fromSprint)] : [],
248
268
  },
249
269
  issues,
250
270
  roadmap,
@@ -287,8 +307,8 @@ function ensureTrackedPath(cwd, path) {
287
307
  function transactionKey(priorState, input) {
288
308
  return createHash('sha256').update(JSON.stringify({
289
309
  prior_state_sha256: stateDigest(priorState),
290
- requested_from: input.from,
291
- requested_to: input.to,
310
+ requested_from: sprintIdKey(input.from),
311
+ requested_to: sprintIdKey(input.to),
292
312
  force: input.force === true,
293
313
  reason: input.reason?.trim() || null,
294
314
  })).digest('hex').slice(0, 16);
@@ -296,7 +316,7 @@ function transactionKey(priorState, input) {
296
316
  function auditPathFor(cwd, input, key) {
297
317
  const config = loadConfig(cwd);
298
318
  const auditRoot = ensureTrackedPath(cwd, resolve(cwd, config.scorecardDir, 'rollovers'));
299
- return ensureTrackedPath(cwd, join(auditRoot, `sprint-${input.from}-to-${input.to}-${key}.json`));
319
+ return ensureTrackedPath(cwd, join(auditRoot, `sprint-${sprintIdKey(input.from)}-to-${sprintIdKey(input.to)}-${key}.json`));
300
320
  }
301
321
  function auditIntegrityPayload(record) {
302
322
  const rollover = record.next_state.rollover;
@@ -356,7 +376,7 @@ function validScorecardArtifact(value) {
356
376
  if (!value || typeof value !== 'object')
357
377
  return false;
358
378
  const artifact = value;
359
- return typeof artifact.sprint === 'number' && Number.isFinite(artifact.sprint) && artifact.sprint > 0
379
+ return sprintIdKey(artifact.sprint) !== null
360
380
  && typeof artifact.path === 'string' && artifact.path.length > 0 && !isAbsolute(artifact.path)
361
381
  && typeof artifact.sha256 === 'string' && /^[a-f0-9]{64}$/.test(artifact.sha256);
362
382
  }
@@ -378,9 +398,9 @@ function readAudit(cwd, path) {
378
398
  if (stateDigest(complete.prior_state) !== complete.prior_state_sha256
379
399
  || complete.transition_id !== auditTransitionId(complete)
380
400
  || !isCanonicalRolloverNextState(complete.next_state)
381
- || complete.next_state.sprint !== complete.to_sprint
401
+ || !sprintIdsEqual(complete.next_state.sprint, complete.to_sprint)
382
402
  || complete.next_state.rollover?.transition_id !== complete.transition_id
383
- || complete.next_state.rollover?.from_sprint !== complete.from_sprint
403
+ || !sprintIdsEqual(complete.next_state.rollover?.from_sprint ?? '', complete.from_sprint)
384
404
  || complete.next_state.rollover?.recorded_at !== complete.recorded_at
385
405
  || complete.next_state.rollover?.forced !== complete.forced
386
406
  || (complete.next_state.rollover?.reason ?? '') !== (complete.reason ?? '')
@@ -393,8 +413,8 @@ function readAudit(cwd, path) {
393
413
  return complete;
394
414
  }
395
415
  function auditRequestMatches(record, input) {
396
- return record.request.from === input.from
397
- && record.request.to === input.to
416
+ return sprintIdsEqual(record.request.from, input.from)
417
+ && sprintIdsEqual(record.request.to, input.to)
398
418
  && record.request.force === (input.force === true)
399
419
  && (record.request.reason?.trim() ?? '') === (input.reason?.trim() ?? '');
400
420
  }
@@ -442,7 +462,8 @@ function buildAuditRecord(assessment, priorState, nextState, actor, recordedAt,
442
462
  target_dependency_eligible: assessment.blocking_dependencies.length === 0,
443
463
  blocking_dependencies: assessment.blocking_dependencies,
444
464
  target_dependencies: (assessment.to_sprint?.depends_on ?? [])
445
- .map(id => roadmapSprintOrderValue(assessment.roadmap, id)),
465
+ .map(id => roadmapSprintKeyFromId(assessment.roadmap, id))
466
+ .filter((id) => id !== null),
446
467
  completion_evidence: assessment.completion_evidence,
447
468
  scorecard_artifacts: scorecards,
448
469
  ...(assessment.expected_next != null ? { expected_next: assessment.expected_next } : {}),
@@ -473,6 +494,27 @@ function buildAuditRecord(assessment, priorState, nextState, actor, recordedAt,
473
494
  * turned out to be a field that was *absent* rather than malformed, which the
474
495
  * message gave no way to guess (GH #646).
475
496
  */
497
+ function isValidEmbeddedSprintState(value) {
498
+ if (isValidSprintStateEvidence(value))
499
+ return true;
500
+ if (!value || typeof value !== 'object' || Array.isArray(value))
501
+ return false;
502
+ const state = value;
503
+ const sprint = sprintIdKey(state.sprint);
504
+ if (sprint === null)
505
+ return false;
506
+ const fromSprint = state.rollover ? sprintIdKey(state.rollover.from_sprint) : null;
507
+ return isValidSprintStateEvidence({
508
+ ...state,
509
+ sprint,
510
+ ...(state.rollover ? {
511
+ rollover: {
512
+ ...state.rollover,
513
+ from_sprint: fromSprint,
514
+ },
515
+ } : {}),
516
+ });
517
+ }
476
518
  function describeAuditShapeProblem(record) {
477
519
  const nonEmptyString = (value) => typeof value === 'string' && value.trim().length > 0;
478
520
  if (record.version !== 1)
@@ -481,10 +523,10 @@ function describeAuditShapeProblem(record) {
481
523
  return "kind must be 'sprint_rollover'";
482
524
  if (typeof record.transition_id !== 'string')
483
525
  return 'transition_id must be a string';
484
- if (typeof record.from_sprint !== 'number')
485
- return 'from_sprint must be a number';
486
- if (typeof record.to_sprint !== 'number')
487
- return 'to_sprint must be a number';
526
+ if (record.from_sprint === undefined || sprintIdKey(record.from_sprint) === null)
527
+ return 'from_sprint must be a sprint id';
528
+ if (record.to_sprint === undefined || sprintIdKey(record.to_sprint) === null)
529
+ return 'to_sprint must be a sprint id';
488
530
  if (typeof record.from_label !== 'string')
489
531
  return 'from_label must be a string';
490
532
  if (typeof record.to_label !== 'string')
@@ -501,10 +543,10 @@ function describeAuditShapeProblem(record) {
501
543
  return 'actor.source must be a non-empty string';
502
544
  if (!record.request)
503
545
  return 'request is missing';
504
- if (typeof record.request.from !== 'number')
505
- return 'request.from must be a number';
506
- if (typeof record.request.to !== 'number')
507
- return 'request.to must be a number';
546
+ if (sprintIdKey(record.request.from) === null)
547
+ return 'request.from must be a sprint id';
548
+ if (sprintIdKey(record.request.to) === null)
549
+ return 'request.to must be a sprint id';
508
550
  if (typeof record.request.force !== 'boolean')
509
551
  return 'request.force must be a boolean';
510
552
  if (record.request.reason !== undefined && typeof record.request.reason !== 'string') {
@@ -519,8 +561,8 @@ function describeAuditShapeProblem(record) {
519
561
  if (!eligibility)
520
562
  return 'eligibility is missing';
521
563
  // Absent is valid: no pending successor exists once a phase is fully complete.
522
- if (eligibility.expected_next !== undefined && typeof eligibility.expected_next !== 'number') {
523
- return 'eligibility.expected_next must be a number when present';
564
+ if (eligibility.expected_next !== undefined && sprintIdKey(eligibility.expected_next) === null) {
565
+ return 'eligibility.expected_next must be a sprint id when present';
524
566
  }
525
567
  if (typeof eligibility.from_terminal !== 'boolean')
526
568
  return 'eligibility.from_terminal must be a boolean';
@@ -560,9 +602,9 @@ function describeAuditShapeProblem(record) {
560
602
  return 'roadmap.sha256 must be a string';
561
603
  if (typeof record.prior_state_sha256 !== 'string')
562
604
  return 'prior_state_sha256 must be a string';
563
- if (!isValidSprintStateEvidence(record.prior_state))
605
+ if (!isValidEmbeddedSprintState(record.prior_state))
564
606
  return 'prior_state is not valid sprint state';
565
- if (!isValidSprintStateEvidence(record.next_state))
607
+ if (!isValidEmbeddedSprintState(record.next_state))
566
608
  return 'next_state is not valid sprint state';
567
609
  if (record.claims_policy !== 'unchanged')
568
610
  return "claims_policy must be 'unchanged'";
@@ -583,10 +625,10 @@ export function verifySprintRolloverLineage(cwd, state) {
583
625
  const record = readAudit(cwd, path);
584
626
  assertAuditPathIdentity(cwd, path, record);
585
627
  assertRecordedScorecardEvidenceAvailable(cwd, record);
586
- if (state.sprint !== record.next_state.sprint
628
+ if (!sprintIdsEqual(state.sprint, record.next_state.sprint)
587
629
  || state.started_at !== record.next_state.started_at
588
630
  || lineage.transition_id !== record.transition_id
589
- || lineage.from_sprint !== record.from_sprint
631
+ || !sprintIdsEqual(lineage.from_sprint, record.from_sprint)
590
632
  || lineage.recorded_at !== record.recorded_at
591
633
  || lineage.forced !== record.forced
592
634
  || (lineage.reason ?? '') !== (record.reason ?? '')) {
@@ -595,9 +637,12 @@ export function verifySprintRolloverLineage(cwd, state) {
595
637
  return record;
596
638
  }
597
639
  export function performSprintRollover(cwd, input, actor) {
598
- if (!Number.isFinite(input.from) || input.from <= 0 || !Number.isFinite(input.to) || input.to <= 0) {
599
- throw new SprintRolloverError('Rollover sprint ids must be positive finite numbers.');
640
+ const from = sprintIdKey(input.from);
641
+ const to = sprintIdKey(input.to);
642
+ if (from === null || to === null) {
643
+ throw new SprintRolloverError('Rollover sprint ids must be positive sprint ids.');
600
644
  }
645
+ input = { ...input, from, to };
601
646
  if (input.reason?.trim() && input.force !== true) {
602
647
  throw new SprintRolloverError('--reason is only valid with --force.');
603
648
  }
@@ -647,8 +692,10 @@ export function performSprintRollover(cwd, input, actor) {
647
692
  }
648
693
  const recordedAt = new Date().toISOString();
649
694
  const nextState = createSprintState(assessment.to, 'planning');
650
- const usedScorecardOrders = new Set(assessment.completion_evidence.scorecards);
651
- const usedScorecards = completion.scorecards.filter(item => usedScorecardOrders.has(roadmapSprintOrderValue(loaded.roadmap, item.sprint)));
695
+ const usedScorecardKeys = new Set(assessment.completion_evidence.scorecards
696
+ .map(sprint => roadmapSprintKeyFromId(loaded.roadmap, sprint))
697
+ .filter((sprint) => sprint !== null));
698
+ const usedScorecards = completion.scorecards.filter(item => usedScorecardKeys.has(roadmapSprintKeyFromId(loaded.roadmap, item.sprint) ?? ''));
652
699
  const lineage = {
653
700
  transition_id: '',
654
701
  from_sprint: assessment.from,
@@ -1 +1 @@
1
- {"version":3,"file":"sprint-rollover.js","sourceRoot":"","sources":["../../src/cli/sprint-rollover.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sprint-rollover.js","sourceRoot":"","sources":["../../src/cli/sprint-rollover.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzE,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,EACtB,uBAAuB,EACvB,YAAY,EACZ,gBAAgB,EAChB,sBAAsB,EACtB,6BAA6B,EAC7B,WAAW,EACX,cAAc,EACd,iBAAiB,GAIlB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1E,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,0BAA0B,EAC1B,qBAAqB,EACrB,kBAAkB,GAGnB,MAAM,mBAAmB,CAAC;AAkH3B,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IACN;IAAtC,YAAY,OAAe,EAAW,UAAqC;QACzE,KAAK,CAAC,OAAO,CAAC,CAAC;QADqB,eAAU,GAAV,UAAU,CAA2B;QAEzE,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AAOD;;;;;;;;;GASG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAwB;IACzD,MAAM,IAAI,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC9E,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAChF,CAAC;AAED;uDACuD;AACvD,MAAM,UAAU,qBAAqB,CAAC,OAAe,EAAE,QAAgB;IACrE,IAAI,kBAAkB,CAAC,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC1D,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,QAAQ,CAAC;AACzE,CAAC;AAED,SAAS,kBAAkB,CAAC,OAA0B,EAAE,MAAgB;IACtE,MAAM,GAAG,GAAG,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACpD,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,EAAE,CAAC;IAC5B,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC;AAC3F,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAW;IACtC,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAC/B,MAAM,YAAY,GAAG,iBAAiB,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;IAC9E,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC/D,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,mBAAmB,CAAC,wBAAwB,IAAI,+CAA+C,CAAC,CAAC;IAC7G,CAAC;IACD,IAAI,GAAY,CAAC;IACjB,IAAI,MAAc,CAAC;IACnB,IAAI,CAAC;QACH,MAAM,GAAG,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAC5C,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,mBAAmB,CAAC,8BAA8B,IAAI,KAAM,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;IACnG,CAAC;IACD,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IACjC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,oBAAoB,CAAC,GAAG,CAAC,CAAC;IAC5D,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpD,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QACrF,MAAM,IAAI,mBAAmB,CAAC,mCAAmC,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IACnG,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;AAC/D,CAAC;AAED,SAAS,sBAAsB,CAAC,GAAW;IACzC,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAC/B,MAAM,UAAU,GAAsC,EAAE,CAAC;IACzD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,KAAK,MAAM,UAAU,IAAI,sBAAsB,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;QAC7D,MAAM,UAAU,GAAG,6BAA6B,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QACrE,MAAM,aAAa,GAAG,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAC1E,IAAI,aAAa,IAAI,IAAI,IAAI,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC;YAAE,SAAS;QACnE,MAAM,YAAY,GAAG,iBAAiB,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC;QACtE,MAAM,MAAM,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;QAC1C,IAAI,GAA4B,CAAC;QACjC,IAAI,CAAC;YACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAA4B,CAAC;QACvE,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QACD,MAAM,MAAM,GAAG,GAAG,CAAC,aAAa,IAAI,GAAG,CAAC,MAAM,CAAC;QAC/C,IAAI,WAAW,CAAC,MAAkB,CAAC,KAAK,aAAa;eAChD,CAAC,iBAAiB,CAAC,GAAyD,CAAC,CAAC,KAAK;YAAE,SAAS;QACnG,UAAU,CAAC,IAAI,CAAC;YACd,MAAM,EAAE,aAAa;YACrB,IAAI,EAAE,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC;YACvD,MAAM,EAAE,kBAAkB,CAAC,MAAM,CAAC;SACnC,CAAC,CAAC;QACH,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC9B,CAAC;IACD,OAAO,EAAE,SAAS,EAAE,CAAC,GAAG,QAAQ,CAAC,EAAE,UAAU,EAAE,CAAC;AAClD,CAAC;AAED,SAAS,wBAAwB,CAC/B,OAA0B,EAC1B,UAAqC,EACrC,YAAqB,EACrB,kBAA8B;IAE9B,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1E,MAAM,SAAS,GAAG,IAAI,GAAG,CACvB,OAAO,CAAC,OAAO;SACZ,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,UAAU;WACzC,CAAC,YAAY,IAAI,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,OAAO,CAAC,CAAC;SACpE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CACpD,CAAC;IACF,KAAK,MAAM,MAAM,IAAI,kBAAkB,EAAE,CAAC;QACxC,MAAM,GAAG,GAAG,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACpD,IAAI,GAAG,KAAK,IAAI,IAAI,CAAC,YAAY,IAAI,GAAG,KAAK,OAAO,CAAC;YAAE,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5E,CAAC;IACD,IAAI,YAAY,IAAI,UAAU;QAAE,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;IACrF,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,eAAe,CAAC,QAAkB,EAAE,KAAK,GAAG,CAAC;IACpD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC/C,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,OAAO,8BAA8B,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AACjG,CAAC;AAED,SAAS,mBAAmB,CAAC,OAA0B,EAAE,GAAe,EAAE,KAAK,GAAG,CAAC;IACjF,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,wBAAwB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IACnF,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC1C,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,OAAO,uBAAuB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AAC1F,CAAC;AAED,SAAS,kBAAkB,CACzB,OAA0B,EAC1B,MAAqB,EACrB,SAAsB;IAEtB,OAAO,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;SAC7B,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,sBAAsB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;SAC9D,MAAM,CAAC,CAAC,UAAU,EAAwB,EAAE,CAC3C,UAAU,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,KAAyB,EACzB,OAA0B,EAC1B,WAAmB,EACnB,KAA0B,EAC1B,qBAAiC,EAAE,EACnC,aAAa,GAAG,EAAE;IAElB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC;IACnC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;IACpC,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnE,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC7D,MAAM,WAAW,GAAG,kBAAkB,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,kBAAkB,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;IACxD,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACzE,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACnE,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1E,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACpE,MAAM,SAAS,GAAG,UAAU;QAC1B,CAAC,CAAC,wBAAwB,CAAC,OAAO,EAAE,gBAAgB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAC1E,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;IACrB,MAAM,OAAO,GAAG,QAAQ;QACtB,CAAC,CAAC,wBAAwB,CAAC,OAAO,EAAE,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACxE,CAAC,CAAC,IAAI,KAAK,CAAC,EAAE,EAAE,CAAC;IACnB,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3D,MAAM,MAAM,GAA0B,EAAE,CAAC;IAEzC,IAAI,CAAC,KAAK;QAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,sCAAsC,EAAE,CAAC,CAAC;IACpG,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE,OAAO,EAAE,GAAG,SAAS,iCAAiC,EAAE,CAAC,CAAC;IACpI,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,wBAAwB,EAAE,OAAO,EAAE,GAAG,SAAS,qCAAqC,EAAE,CAAC,CAAC;IACxI,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,wBAAwB,EAAE,OAAO,EAAE,GAAG,OAAO,iCAAiC,EAAE,CAAC,CAAC;IAClI,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,0BAA0B,EAAE,OAAO,EAAE,GAAG,OAAO,qCAAqC,EAAE,CAAC,CAAC;IACtI,IAAI,KAAK,IAAI,UAAU;WAClB,sBAAsB,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,OAAO,EAAE,CAAC;QAC/D,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,qBAAqB;YAC3B,OAAO,EAAE,4BAA4B,wBAAwB,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,SAAS,GAAG;SAC1G,CAAC,CAAC;IACL,CAAC;IACD,IAAI,UAAU,IAAI,QAAQ;WACrB,mBAAmB,CAAC,KAAM,EAAE,OAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAChD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,GAAG,OAAO,sBAAsB,SAAS,GAAG,EAAE,CAAC,CAAC;IACnG,CAAC;IACD,IAAI,QAAQ,IAAI,uBAAuB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClD,4EAA4E;QAC5E,4EAA4E;QAC5E,6EAA6E;QAC7E,+EAA+E;QAC/E,+EAA+E;QAC/E,wBAAwB;QACxB,MAAM,aAAa,GAAG,kBAAkB;aACrC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,sBAAsB,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,KAAK,CAAC,CAAC;QAC7D,IAAI,CAAC,aAAa,IAAI,CAAC,KAAK,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,oBAAoB;gBAC1B,OAAO,EAAE,GAAG,OAAO,yCAAyC,QAAQ,CAAC,MAAM,IAAI,OAAO,qGAAqG;aAC5L,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,IAAI,KAAK,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,mBAAmB;YACzB,OAAO,EAAE,GAAG,SAAS,iCAAiC,KAAK,CAAC,KAAK,oBAAoB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,iBAAiB,IAAI;SACvM,CAAC,CAAC;IACL,CAAC;IACD,IAAI,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;QACrB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,OAAO,EAAE,0EAA0E,EAAE,CAAC,CAAC;IACtI,CAAC;IACD,IAAI,CAAC,KAAK,IAAI,MAAM,EAAE,CAAC;QACrB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE,OAAO,EAAE,sCAAsC,EAAE,CAAC,CAAC;IACjG,CAAC;IAED,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO;SACnD,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,KAAK,IAAI;WAC7B,mBAAmB,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;SACxE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;SAC1C,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,sBAAsB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;SAC9C,MAAM,CAAC,CAAC,EAAE,EAAgB,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC;IAC9C,MAAM,0BAA0B,GAAG,kBAAkB;SAClD,MAAM,CAAC,EAAE,CAAC,EAAE;QACX,MAAM,GAAG,GAAG,sBAAsB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAChD,OAAO,GAAG,KAAK,IAAI,IAAI,sBAAsB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IACL,MAAM,SAAS,GAAG,wBAAwB,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,0BAA0B,CAAC,CAAC;IACtG,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO;SACpC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,UAAU;WACzC,CAAC,QAAQ,IAAI,CAAC,UAAU;eACtB,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,OAAO,CAAC,CAAC;SACrD,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IACpD,MAAM,oBAAoB,GAAG,CAAC,GAAG,IAAI,GAAG,CACtC,0BAA0B;aACvB,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;aACtD,MAAM,CAAC,CAAC,MAAM,EAAoB,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,CACzD,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO;SAC/B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,sBAAsB,CAAC,MAAM,CAAC;WAC3C,OAAO,KAAK,IAAI;WAChB,mBAAmB,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;SACxE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;SAC7E,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,mBAAmB,CACxC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,EAC/B,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,CACjC,CAAC,CAAC;IACL,MAAM,YAAY,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;IAC5F,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAElF,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,2BAA2B;YACjC,OAAO,EAAE,GAAG,OAAO,kBAAkB,mBAAmB,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG;SAC/E,CAAC,CAAC;IACL,CAAC;IACD,gFAAgF;IAChF,wEAAwE;IACxE,wEAAwE;IACxE,gFAAgF;IAChF,wEAAwE;IACxE,aAAa;IACb,IAAI,UAAU,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;QACtE,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,uBAAuB;YAC7B,OAAO,EAAE,iDAAiD,SAAS,GAAG;SACvE,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,QAAQ,IAAI,YAAY;WAC9B,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,gBAAgB,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,CAAC;QACrF,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,0BAA0B;YAChC,OAAO,EAAE,GAAG,OAAO,oDAAoD,wBAAwB,CAAC,OAAO,EAAE,gBAAgB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,GAAG;SACrJ,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;QAC1B,IAAI,EAAE,OAAO,IAAI,YAAY;QAC7B,EAAE,EAAE,KAAK,IAAI,UAAU;QACvB,UAAU,EAAE,SAAS;QACrB,QAAQ,EAAE,OAAO;QACjB,aAAa,EAAE,QAAQ;QACvB,MAAM,EAAE,KAAK;QACb,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7B,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;YACjB,aAAa,EAAE,gBAAgB,CAAC,OAAO,EAAE,YAAY,CAAC;YACtD,mBAAmB,EAAE,wBAAwB,CAAC,OAAO,EAAE,gBAAgB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;SAChG,CAAC,CAAC,CAAC,EAAE,CAAC;QACP,qBAAqB,EAAE,QAAQ;QAC/B,0BAA0B,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,wBAAwB,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACrF,mBAAmB,EAAE;YACnB,gBAAgB,EAAE,eAAe;YACjC,UAAU,EAAE,oBAAoB;YAChC,cAAc,EAAE,QAAQ,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;SACtF;QACD,MAAM;QACN,OAAO;QACP,YAAY,EAAE,WAAW;QACzB,cAAc,EAAE,aAAa;QAC7B,WAAW,EAAE,UAAU;QACvB,SAAS,EAAE,QAAQ;KACpB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,GAAW,EAAE,KAA0B;IAC3E,MAAM,MAAM,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACxC,MAAM,WAAW,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC;IAC/C,IAAI,WAAW,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACrC,MAAM,IAAI,mBAAmB,CAAC,gDAAgD,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpH,CAAC;IACD,MAAM,SAAS,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC;IACxD,OAAO,oBAAoB,CACzB,WAAW,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EACzD,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,IAAI,EACX,KAAK,EACL,SAAS,EACT,MAAM,CAAC,MAAM,CACd,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,KAAkB;IACrC,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC1E,CAAC;AAED,SAAS,iBAAiB,CAAC,GAAW,EAAE,IAAY;IAClD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC1B,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAC7C,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACpH,MAAM,IAAI,mBAAmB,CAAC,uDAAuD,YAAY,EAAE,CAAC,CAAC;IACvG,CAAC;IACD,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACpC,IAAI,QAAQ,GAAG,YAAY,CAAC;IAC5B,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,QAAQ;QAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC7F,MAAM,YAAY,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IACjD,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACpH,MAAM,IAAI,mBAAmB,CAAC,gEAAgE,YAAY,EAAE,CAAC,CAAC;IAChH,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,SAAS,cAAc,CAAC,UAAuB,EAAE,KAA0B;IACzE,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;QAChD,kBAAkB,EAAE,WAAW,CAAC,UAAU,CAAC;QAC3C,cAAc,EAAE,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC;QACvC,YAAY,EAAE,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;QACnC,KAAK,EAAE,KAAK,CAAC,KAAK,KAAK,IAAI;QAC3B,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,IAAI;KACrC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,YAAY,CAAC,GAAW,EAAE,KAA0B,EAAE,GAAW;IACxE,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAC/B,MAAM,SAAS,GAAG,iBAAiB,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC;IACzF,OAAO,iBAAiB,CAAC,GAAG,EAAE,IAAI,CAChC,SAAS,EACT,UAAU,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,GAAG,OAAO,CAC5E,CAAC,CAAC;AACL,CAAC;AAED,SAAS,qBAAqB,CAAC,MAAiC;IAC9D,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC;IAC5C,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,IAAI;QAC7B,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;QAC7C,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,UAAU,EAAE;YACV,GAAG,MAAM,CAAC,UAAU;YACpB,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,GAAG,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACxE;QACD,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,eAAe,EAAE,MAAM,CAAC,eAAe;KACxC,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAiC;IAC1D,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC/G,CAAC;AAED,SAAS,4BAA4B,CAAC,KAAkB;IACtD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC;QAC1B,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,qBAAqB;QACjE,YAAY,EAAE,YAAY,EAAE,UAAU;KACvC,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACxE,IAAI,KAAK,CAAC,KAAK,KAAK,UAAU,IAAI,KAAK,CAAC,UAAU,KAAK,KAAK,CAAC,UAAU;QAAE,OAAO,KAAK,CAAC;IACtF,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3D,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,KAAK,CAAC,mBAAmB;QAAE,OAAO,KAAK,CAAC;IACpE,KAAK,MAAM,IAAI,IAAI,CAAC,aAAa,EAAE,kBAAkB,CAAU,EAAE,CAAC;QAChE,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;eACzE,MAAM,CAAC,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QAClH,MAAM,WAAW,GAAG,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,QAAQ,KAAK,aAAa;eACrD,WAAW,CAAC,MAAM,KAAK,SAAS,IAAI,WAAW,CAAC,MAAM,KAAK,SAAS,IAAI,WAAW,CAAC,UAAU,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;IAClI,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAc;IAC5C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACtD,MAAM,QAAQ,GAAG,KAAiD,CAAC;IACnE,OAAO,WAAW,CAAC,QAAQ,CAAC,MAAkB,CAAC,KAAK,IAAI;WACnD,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC;WAC3F,OAAO,QAAQ,CAAC,MAAM,KAAK,QAAQ,IAAI,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACrF,CAAC;AAED,SAAS,SAAS,CAAC,GAAW,EAAE,IAAY;IAC1C,IAAI,GAAY,CAAC;IACjB,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IAC/C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,mBAAmB,CAAC,0CAA2C,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;IACtG,CAAC;IACD,MAAM,MAAM,GAAG,GAAyC,CAAC;IACzD,MAAM,YAAY,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAC;IACvD,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,IAAI,mBAAmB,CAC3B,yCAAyC,YAAY,2BAA2B,CACjF,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GAAG,MAAmC,CAAC;IACrD,iBAAiB,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5D,IAAI,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,QAAQ,CAAC,kBAAkB;WAChE,QAAQ,CAAC,aAAa,KAAK,iBAAiB,CAAC,QAAQ,CAAC;WACtD,CAAC,4BAA4B,CAAC,QAAQ,CAAC,UAAU,CAAC;WAClD,CAAC,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC;WAC/D,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,aAAa,KAAK,QAAQ,CAAC,aAAa;WACtE,CAAC,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,WAAW,IAAI,EAAE,EAAE,QAAQ,CAAC,WAAW,CAAC;WACtF,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,WAAW,KAAK,QAAQ,CAAC,WAAW;WAClE,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,KAAK,QAAQ,CAAC,MAAM;WACxD,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC;WACxE,QAAQ,CAAC,OAAO,CAAC,KAAK,KAAK,QAAQ,CAAC,MAAM;WAC1C,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC;WACnE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC9E,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,mBAAmB,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5E,MAAM,IAAI,mBAAmB,CAAC,iEAAiE,CAAC,CAAC;IACnG,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAiC,EAAE,KAA0B;IACxF,OAAO,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC;WACjD,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC;WAC3C,MAAM,CAAC,OAAO,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC;WAC/C,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,uBAAuB,CAC9B,GAAW,EACX,IAAY,EACZ,MAAiC;IAEjC,MAAM,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC;IAC5D,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC/D,IAAI,CAAC,YAAY,IAAI,UAAU,CAAC,YAAY,CAAC,IAAI,YAAY,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,YAAY,EAAE,CAAC;QACrG,MAAM,IAAI,mBAAmB,CAAC,mEAAmE,CAAC,CAAC;IACrG,CAAC;AACH,CAAC;AAED,SAAS,wCAAwC,CAC/C,GAAW,EACX,MAAiC;IAEjC,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,WAAW,CAAC,mBAAmB,EAAE,CAAC;QAC9D,MAAM,IAAI,GAAG,iBAAiB,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QACjE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,mBAAmB,CAAC,kEAAkE,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC;QACpH,CAAC;QACD,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAChE,MAAM,IAAI,mBAAmB,CAC3B,uDAAuD,QAAQ,CAAC,IAAI,GAAG;kBACrE,4FAA4F;kBAC5F,qCAAqC,CACxC,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CACvB,UAAoC,EACpC,UAAuB,EACvB,SAAsB,EACtB,KAAoB,EACpB,UAAkB,EAClB,KAA0B,EAC1B,UAA6C;IAE7C,MAAM,MAAM,GAA8B;QACxC,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,iBAAiB;QACvB,aAAa,EAAE,EAAE;QACjB,WAAW,EAAE,UAAU,CAAC,IAAI;QAC5B,SAAS,EAAE,UAAU,CAAC,EAAE;QACxB,UAAU,EAAE,UAAU,CAAC,UAAU;QACjC,QAAQ,EAAE,UAAU,CAAC,QAAQ;QAC7B,WAAW,EAAE,UAAU;QACvB,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE;QACjD,OAAO,EAAE;YACP,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,KAAK,EAAE,KAAK,CAAC,KAAK,KAAK,IAAI;YAC3B,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5D;QACD,MAAM,EAAE,UAAU,CAAC,MAAM;QACzB,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,WAAW,EAAE;YACX,aAAa,EAAE,UAAU,CAAC,aAAa;YACvC,0BAA0B,EAAE,UAAU,CAAC,qBAAqB,CAAC,MAAM,KAAK,CAAC;YACzE,qBAAqB,EAAE,UAAU,CAAC,qBAAqB;YACvD,mBAAmB,EAAE,CAAC,UAAU,CAAC,SAAS,EAAE,UAAU,IAAI,EAAE,CAAC;iBAC1D,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,sBAAsB,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;iBACzD,MAAM,CAAC,CAAC,EAAE,EAAgB,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC;YAC5C,mBAAmB,EAAE,UAAU,CAAC,mBAAmB;YACnD,mBAAmB,EAAE,UAAU;YAC/B,GAAG,CAAC,UAAU,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,UAAU,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACzF;QACD,OAAO,EAAE;YACP,IAAI,EAAE,UAAU,CAAC,YAAY;YAC7B,MAAM,EAAE,UAAU,CAAC,cAAc;YACjC,GAAG,CAAC,UAAU,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,UAAU,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzF,GAAG,CAAC,UAAU,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACpF;QACD,kBAAkB,EAAE,WAAW,CAAC,UAAU,CAAC;QAC3C,WAAW,EAAE,UAAU;QACvB,UAAU,EAAE,SAAS;QACrB,aAAa,EAAE,WAAW;QAC1B,eAAe,EAAE,WAAW;KAC7B,CAAC;IACF,MAAM,CAAC,aAAa,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACjD,MAAM,CAAC,UAAU,CAAC,QAAS,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;IACjE,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,kFAAkF;AAClF;;;;;;;;GAQG;AACH,SAAS,0BAA0B,CAAC,KAAc;IAChD,IAAI,0BAA0B,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACnD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9E,MAAM,KAAK,GAAG,KAAoB,CAAC;IACnC,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACzC,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAClC,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACnF,OAAO,0BAA0B,CAAC;QAChC,GAAG,KAAK;QACR,MAAM;QACN,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;YACnB,QAAQ,EAAE;gBACR,GAAG,KAAK,CAAC,QAAQ;gBACjB,WAAW,EAAE,UAAU;aACxB;SACF,CAAC,CAAC,CAAC,EAAE,CAAC;KACR,CAAC,CAAC;AACL,CAAC;AAED,SAAS,yBAAyB,CAAC,MAA0C;IAC3E,MAAM,cAAc,GAAG,CAAC,KAAc,EAAW,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;IAEzG,IAAI,MAAM,CAAC,OAAO,KAAK,CAAC;QAAE,OAAO,mBAAmB,CAAC;IACrD,IAAI,MAAM,CAAC,IAAI,KAAK,iBAAiB;QAAE,OAAO,gCAAgC,CAAC;IAC/E,IAAI,OAAO,MAAM,CAAC,aAAa,KAAK,QAAQ;QAAE,OAAO,gCAAgC,CAAC;IACtF,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,IAAI,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,IAAI;QAAE,OAAO,iCAAiC,CAAC;IAC3H,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,IAAI,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,IAAI;QAAE,OAAO,+BAA+B,CAAC;IACrH,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ;QAAE,OAAO,6BAA6B,CAAC;IAChF,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ;QAAE,OAAO,2BAA2B,CAAC;IAC5E,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ;QAAE,OAAO,8BAA8B,CAAC;IAClF,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAAE,OAAO,2CAA2C,CAAC;IAEzG,IAAI,CAAC,MAAM,CAAC,KAAK;QAAE,OAAO,kBAAkB,CAAC;IAC7C,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;QAAE,OAAO,uCAAuC,CAAC;IACvF,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;QAAE,OAAO,yCAAyC,CAAC;IAE3F,IAAI,CAAC,MAAM,CAAC,OAAO;QAAE,OAAO,oBAAoB,CAAC;IACjD,IAAI,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,kCAAkC,CAAC;IACzF,IAAI,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,IAAI;QAAE,OAAO,gCAAgC,CAAC;IACrF,IAAI,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS;QAAE,OAAO,iCAAiC,CAAC;IACxF,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACrF,OAAO,8CAA8C,CAAC;IACxD,CAAC;IAED,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,SAAS;QAAE,OAAO,0BAA0B,CAAC;IAC1E,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACrE,OAAO,sCAAsC,CAAC;IAChD,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IACvC,IAAI,CAAC,WAAW;QAAE,OAAO,wBAAwB,CAAC;IAClD,+EAA+E;IAC/E,IAAI,WAAW,CAAC,aAAa,KAAK,SAAS,IAAI,WAAW,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,IAAI,EAAE,CAAC;QAC/F,OAAO,4DAA4D,CAAC;IACtE,CAAC;IACD,IAAI,OAAO,WAAW,CAAC,aAAa,KAAK,SAAS;QAAE,OAAO,6CAA6C,CAAC;IACzG,IAAI,OAAO,WAAW,CAAC,0BAA0B,KAAK,SAAS,EAAE,CAAC;QAChE,OAAO,0DAA0D,CAAC;IACpE,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,qBAAqB,CAAC,EAAE,CAAC;QACtD,OAAO,oDAAoD,CAAC;IAC9D,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,mBAAmB,CAAC,EAAE,CAAC;QACpD,OAAO,kDAAkD,CAAC;IAC5D,CAAC;IAED,MAAM,QAAQ,GAAG,WAAW,CAAC,mBAAmB,CAAC;IACjD,IAAI,CAAC,QAAQ;QAAE,OAAO,4CAA4C,CAAC;IACnE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAC9C,OAAO,mEAAmE,CAAC;IAC7E,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QACxC,OAAO,6DAA6D,CAAC;IACvE,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QAC5C,OAAO,iEAAiE,CAAC;IAC3E,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,mBAAmB,CAAC,EAAE,CAAC;QACpD,OAAO,kDAAkD,CAAC;IAC5D,CAAC;IACD,MAAM,WAAW,GAAG,WAAW,CAAC,mBAAmB,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC7G,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC;QACrB,OAAO,mCAAmC,WAAW,qCAAqC,CAAC;IAC7F,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,OAAO;QAAE,OAAO,oBAAoB,CAAC;IACjD,IAAI,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,+BAA+B,CAAC;IACpF,IAAI,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,QAAQ;QAAE,OAAO,iCAAiC,CAAC;IAExF,IAAI,OAAO,MAAM,CAAC,kBAAkB,KAAK,QAAQ;QAAE,OAAO,qCAAqC,CAAC;IAChG,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,WAAW,CAAC;QAAE,OAAO,uCAAuC,CAAC;IACpG,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,UAAU,CAAC;QAAE,OAAO,sCAAsC,CAAC;IAClG,IAAI,MAAM,CAAC,aAAa,KAAK,WAAW;QAAE,OAAO,mCAAmC,CAAC;IACrF,IAAI,MAAM,CAAC,eAAe,KAAK,WAAW;QAAE,OAAO,qCAAqC,CAAC;IAEzF,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,GAAW,EAAE,KAAkB;IACzE,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC;IAC/B,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,mBAAmB,CAAC,6EAA6E,CAAC,CAAC;IAC/G,CAAC;IACD,MAAM,IAAI,GAAG,iBAAiB,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IACtE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,MAAM,IAAI,mBAAmB,CAAC,4CAA4C,CAAC,CAAC;IACnG,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACpC,uBAAuB,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAC3C,wCAAwC,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACtD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC;WACtD,KAAK,CAAC,UAAU,KAAK,MAAM,CAAC,UAAU,CAAC,UAAU;WACjD,OAAO,CAAC,aAAa,KAAK,MAAM,CAAC,aAAa;WAC9C,CAAC,cAAc,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC;WACxD,OAAO,CAAC,WAAW,KAAK,MAAM,CAAC,WAAW;WAC1C,OAAO,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM;WAChC,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,mBAAmB,CAAC,mEAAmE,CAAC,CAAC;IACrG,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,GAAW,EACX,KAA0B,EAC1B,KAAoB;IAEpB,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACjC,IAAI,IAAI,KAAK,IAAI,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;QACjC,MAAM,IAAI,mBAAmB,CAAC,kDAAkD,CAAC,CAAC;IACpF,CAAC;IACD,KAAK,GAAG,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IAC/B,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;QACjD,MAAM,IAAI,mBAAmB,CAAC,sCAAsC,CAAC,CAAC;IACxE,CAAC;IACD,MAAM,YAAY,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC;IAChD,IAAI,YAAY,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACtC,MAAM,IAAI,mBAAmB,CAAC,sCAAsC,CAAC,CAAC;IACxE,CAAC;IACD,IAAI,YAAY,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACtC,MAAM,IAAI,mBAAmB,CAAC,gDAAgD,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrH,CAAC;IAED,IAAI,MAA6C,CAAC;IAClD,IAAI,cAAc,GAAG,KAAK,CAAC;IAC3B,IAAI,iBAAqC,CAAC;IAE1C,MAAM,WAAW,GAAG,kBAAkB,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE;QACpD,MAAM,aAAa,GAAG,2BAA2B,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAChE,IAAI,aAAa,IAAI,mBAAmB,CAAC,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC;YAC/D,MAAM,GAAG,aAAa,CAAC;YACvB,iBAAiB,GAAG,iBAAiB,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,QAAS,CAAC,UAAU,CAAC,CAAC,CAAC;YACvF,cAAc,GAAG,IAAI,CAAC;YACtB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,GAAG,GAAG,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC3C,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QAChD,MAAM,iBAAiB,GAAG,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACzE,iBAAiB,GAAG,SAAS,CAAC;QAE9B,MAAM,GAAG,gBAAgB,CAAC,SAAS,EAAE,GAAG,EAAE;YACxC,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC1B,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;gBAC3C,uBAAuB,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;gBAClD,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;oBAC1C,MAAM,IAAI,mBAAmB,CAAC,6DAA6D,CAAC,CAAC;gBAC/F,CAAC;gBACD,IAAI,QAAQ,CAAC,kBAAkB,KAAK,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;oBACzD,MAAM,IAAI,mBAAmB,CAAC,wEAAwE,CAAC,CAAC;gBAC1G,CAAC;gBACD,wCAAwC,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;gBACxD,OAAO,QAAQ,CAAC;YAClB,CAAC;YAED,yEAAyE;YACzE,yEAAyE;YACzE,6DAA6D;YAC7D,MAAM,MAAM,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;YACxC,MAAM,UAAU,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC;YAC/C,MAAM,UAAU,GAAG,oBAAoB,CACrC,OAAO,EACP,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,IAAI,EACX,KAAK,EACL,UAAU,CAAC,SAAS,EACpB,MAAM,CAAC,MAAM,CACd,CAAC;YACF,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBACtB,MAAM,IAAI,mBAAmB,CAAC,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;YAC5G,CAAC;YAED,MAAM,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAC5C,MAAM,SAAS,GAAG,iBAAiB,CAAC,UAAU,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;YAC/D,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAC/B,UAAU,CAAC,mBAAmB,CAAC,UAAU;iBACtC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,sBAAsB,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;iBAC7D,MAAM,CAAC,CAAC,MAAM,EAAoB,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,CACzD,CAAC;YACF,MAAM,cAAc,GAAG,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CACzD,iBAAiB,CAAC,GAAG,CAAC,sBAAsB,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACpF,MAAM,OAAO,GAA0B;gBACrC,aAAa,EAAE,EAAE;gBACjB,WAAW,EAAE,UAAU,CAAC,IAAI;gBAC5B,UAAU,EAAE,iBAAiB;gBAC7B,WAAW,EAAE,UAAU;gBACvB,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC5D,CAAC;YACF,SAAS,CAAC,QAAQ,GAAG,OAAO,CAAC;YAC7B,MAAM,OAAO,GAAG,gBAAgB,CAC9B,UAAU,EACV,OAAO,EACP,SAAS,EACT,KAAK,EACL,UAAU,EACV,KAAK,EACL,cAAc,CACf,CAAC;YACF,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;YACxE,wCAAwC,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YACvD,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,UAAU,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,WAAW;QAAE,MAAM,IAAI,mBAAmB,CAAC,sCAAsC,CAAC,CAAC;IACxF,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,mBAAmB,CAAC,8CAA8C,CAAC,CAAC;IAC3F,IAAI,CAAC,iBAAiB;QAAE,MAAM,IAAI,mBAAmB,CAAC,uCAAuC,CAAC,CAAC;IAC/F,OAAO;QACL,UAAU,EAAE,QAAQ,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC;QAClE,MAAM;QACN,KAAK,EAAE,WAAW,CAAC,OAAO;QAC1B,eAAe,EAAE,cAAc;KAChC,CAAC;AACJ,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { type SprintId } from '../core/sprint-id.js';
1
2
  /** Sprint lifecycle phases */
2
3
  export declare const SPRINT_PHASES: readonly ["planning", "reviewing", "implementing", "scoring", "complete"];
3
4
  export type SprintPhase = typeof SPRINT_PHASES[number];
@@ -50,7 +51,8 @@ export interface UpdateGateOptions {
50
51
  }
51
52
  /** Sprint state persisted to .slope/sprint-state.json */
52
53
  export interface SprintState {
53
- sprint: number;
54
+ /** Canonical sprint key. Legacy numeric files normalize at load time. */
55
+ sprint: string;
54
56
  phase: SprintPhase;
55
57
  gates: Record<GateName, boolean>;
56
58
  review_gates: Record<ReviewGateName, ReviewGateState>;
@@ -61,7 +63,7 @@ export interface SprintState {
61
63
  }
62
64
  export interface SprintRolloverLineage {
63
65
  transition_id: string;
64
- from_sprint: number;
66
+ from_sprint: string;
65
67
  audit_path: string;
66
68
  recorded_at: string;
67
69
  forced: boolean;
@@ -124,7 +126,7 @@ export interface SprintStateReplacement {
124
126
  */
125
127
  export declare function replaceSprintState(cwd: string, replacer: (state: SprintState) => SprintState | null): SprintStateReplacement | null;
126
128
  /** Persist review priorities inferred by `slope review recommend` for the matching active sprint. */
127
- export declare function updateReviewRequirements(cwd: string, sprint: number, inputs: ReviewGateRequirementInput[]): boolean;
129
+ export declare function updateReviewRequirements(cwd: string, sprint: SprintId, inputs: ReviewGateRequirementInput[]): boolean;
128
130
  /** Update the current sprint lifecycle phase. */
129
131
  export declare function updateSprintPhase(cwd: string, phase: SprintPhase): SprintState | null;
130
132
  export interface ConditionalSprintPhaseUpdate {
@@ -133,7 +135,7 @@ export interface ConditionalSprintPhaseUpdate {
133
135
  changed: boolean;
134
136
  }
135
137
  /** Update phase only if the state still represents the observed sprint. */
136
- export declare function updateSprintPhaseForSprint(cwd: string, expectedSprint: number, phase: SprintPhase): ConditionalSprintPhaseUpdate;
138
+ export declare function updateSprintPhaseForSprint(cwd: string, expectedSprint: SprintId, phase: SprintPhase): ConditionalSprintPhaseUpdate;
137
139
  export interface WorktreePhaseReconcile {
138
140
  /** Checkout root whose sprint state was inspected. */
139
141
  path: string;
@@ -151,7 +153,7 @@ export interface WorktreePhaseReconcile {
151
153
  * Checkouts whose state is for a different sprint are reported as unmatched and
152
154
  * left untouched, so unrelated in-flight work is never clobbered.
153
155
  */
154
- export declare function updateSprintPhaseForSprintAcrossWorktrees(cwd: string, expectedSprint: number, phase: SprintPhase): WorktreePhaseReconcile[];
156
+ export declare function updateSprintPhaseForSprintAcrossWorktrees(cwd: string, expectedSprint: SprintId, phase: SprintPhase): WorktreePhaseReconcile[];
155
157
  /** Check if all gates are true. */
156
158
  export declare function isSprintComplete(state: SprintState): boolean;
157
159
  /** Return machine-readable names of incomplete gates. */
@@ -159,7 +161,7 @@ export declare function pendingGateNames(state: SprintState): GateName[];
159
161
  /** Return human-readable list of incomplete gates. */
160
162
  export declare function pendingGates(state: SprintState): string[];
161
163
  /** Create a fresh sprint state with all gates false. */
162
- export declare function createSprintState(sprint: number, phase?: SprintPhase): SprintState;
164
+ export declare function createSprintState(sprint: SprintId, phase?: SprintPhase): SprintState;
163
165
  /** Delete the sprint state file. */
164
166
  export declare function clearSprintState(cwd: string): void;
165
167
  //# sourceMappingURL=sprint-state.d.ts.map