@cleocode/core 2026.9.21 → 2026.9.23

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 (491) hide show
  1. package/dist/agents/scaffold.d.ts.map +1 -1
  2. package/dist/agents/scaffold.js +0 -1
  3. package/dist/agents/scaffold.js.map +1 -1
  4. package/dist/bootstrap.d.ts.map +1 -1
  5. package/dist/bootstrap.js +4 -0
  6. package/dist/bootstrap.js.map +1 -1
  7. package/dist/build-provenance.json +6 -0
  8. package/dist/decide/audit.d.ts +7 -1
  9. package/dist/decide/audit.d.ts.map +1 -1
  10. package/dist/decide/audit.js.map +1 -1
  11. package/dist/decide/client.d.ts +46 -4
  12. package/dist/decide/client.d.ts.map +1 -1
  13. package/dist/decide/client.js +328 -33
  14. package/dist/decide/client.js.map +1 -1
  15. package/dist/decide/credentials.d.ts +28 -4
  16. package/dist/decide/credentials.d.ts.map +1 -1
  17. package/dist/decide/credentials.js +50 -12
  18. package/dist/decide/credentials.js.map +1 -1
  19. package/dist/decide/index.d.ts +10 -4
  20. package/dist/decide/index.d.ts.map +1 -1
  21. package/dist/decide/index.js +10 -4
  22. package/dist/decide/index.js.map +1 -1
  23. package/dist/decide/jev-wire.d.ts +100 -8
  24. package/dist/decide/jev-wire.d.ts.map +1 -1
  25. package/dist/decide/jev-wire.js +402 -55
  26. package/dist/decide/jev-wire.js.map +1 -1
  27. package/dist/decide/operations.d.ts +97 -20
  28. package/dist/decide/operations.d.ts.map +1 -1
  29. package/dist/decide/operations.js +180 -28
  30. package/dist/decide/operations.js.map +1 -1
  31. package/dist/decide/provider-state.d.ts +89 -0
  32. package/dist/decide/provider-state.d.ts.map +1 -0
  33. package/dist/decide/provider-state.js +134 -0
  34. package/dist/decide/provider-state.js.map +1 -0
  35. package/dist/decide/provider.d.ts +26 -5
  36. package/dist/decide/provider.d.ts.map +1 -1
  37. package/dist/decide/provider.js.map +1 -1
  38. package/dist/decide/providers.d.ts +58 -0
  39. package/dist/decide/providers.d.ts.map +1 -0
  40. package/dist/decide/providers.js +69 -0
  41. package/dist/decide/providers.js.map +1 -0
  42. package/dist/decide/site.d.ts +2 -2
  43. package/dist/decide/site.d.ts.map +1 -1
  44. package/dist/decide/site.js +2 -0
  45. package/dist/decide/site.js.map +1 -1
  46. package/dist/decide/sites/list.d.ts +46 -0
  47. package/dist/decide/sites/list.d.ts.map +1 -0
  48. package/dist/decide/sites/list.js +206 -0
  49. package/dist/decide/sites/list.js.map +1 -0
  50. package/dist/decide/sites/registry.d.ts +130 -0
  51. package/dist/decide/sites/registry.d.ts.map +1 -0
  52. package/dist/decide/sites/registry.js +375 -0
  53. package/dist/decide/sites/registry.js.map +1 -0
  54. package/dist/decide/spend.d.ts +196 -0
  55. package/dist/decide/spend.d.ts.map +1 -0
  56. package/dist/decide/spend.js +387 -0
  57. package/dist/decide/spend.js.map +1 -0
  58. package/dist/decide/wizard.d.ts +53 -0
  59. package/dist/decide/wizard.d.ts.map +1 -0
  60. package/dist/decide/wizard.js +144 -0
  61. package/dist/decide/wizard.js.map +1 -0
  62. package/dist/dispatch/mutate-projection.d.ts.map +1 -1
  63. package/dist/dispatch/mutate-projection.js +5 -0
  64. package/dist/dispatch/mutate-projection.js.map +1 -1
  65. package/dist/docs/docs-audit.d.ts.map +1 -1
  66. package/dist/docs/docs-audit.js +1 -2
  67. package/dist/docs/docs-audit.js.map +1 -1
  68. package/dist/docs/docs-update.d.ts.map +1 -1
  69. package/dist/docs/docs-update.js +25 -9
  70. package/dist/docs/docs-update.js.map +1 -1
  71. package/dist/docs/export-document.js +1073 -628
  72. package/dist/docs/export-document.js.map +3 -3
  73. package/dist/doctor/knowledge.d.ts +16 -1
  74. package/dist/doctor/knowledge.d.ts.map +1 -1
  75. package/dist/doctor/knowledge.js +53 -17
  76. package/dist/doctor/knowledge.js.map +1 -1
  77. package/dist/engine/engine-ops.d.ts +36 -6
  78. package/dist/engine/engine-ops.d.ts.map +1 -1
  79. package/dist/engine/engine-ops.js +115 -14
  80. package/dist/engine/engine-ops.js.map +1 -1
  81. package/dist/gateway-client/generated/types.gen.d.ts +1 -1
  82. package/dist/index.d.ts +2 -0
  83. package/dist/index.d.ts.map +1 -1
  84. package/dist/index.js +1 -0
  85. package/dist/index.js.map +1 -1
  86. package/dist/init/scaffold-workflows.d.ts.map +1 -1
  87. package/dist/init/scaffold-workflows.js +6 -3
  88. package/dist/init/scaffold-workflows.js.map +1 -1
  89. package/dist/init/upgrade-workflows.d.ts.map +1 -1
  90. package/dist/init/upgrade-workflows.js +6 -3
  91. package/dist/init/upgrade-workflows.js.map +1 -1
  92. package/dist/init.d.ts.map +1 -1
  93. package/dist/init.js +51 -11
  94. package/dist/init.js.map +1 -1
  95. package/dist/inject/index.d.ts.map +1 -1
  96. package/dist/inject/index.js +8 -3
  97. package/dist/inject/index.js.map +1 -1
  98. package/dist/internal.d.ts +3 -3
  99. package/dist/internal.d.ts.map +1 -1
  100. package/dist/internal.js +2 -2
  101. package/dist/internal.js.map +1 -1
  102. package/dist/llm/plugin-facade.js +1184 -739
  103. package/dist/llm/plugin-facade.js.map +3 -3
  104. package/dist/memory/attention.d.ts.map +1 -1
  105. package/dist/memory/attention.js +2 -2
  106. package/dist/memory/attention.js.map +1 -1
  107. package/dist/memory/decision-contradiction.d.ts +3 -3
  108. package/dist/memory/decision-contradiction.d.ts.map +1 -1
  109. package/dist/memory/decision-contradiction.js +4 -3
  110. package/dist/memory/decision-contradiction.js.map +1 -1
  111. package/dist/memory/graph-memory-bridge.d.ts.map +1 -1
  112. package/dist/memory/graph-memory-bridge.js +2 -0
  113. package/dist/memory/graph-memory-bridge.js.map +1 -1
  114. package/dist/memory/observation-type-decision.d.ts +2 -2
  115. package/dist/memory/observation-type-decision.d.ts.map +1 -1
  116. package/dist/memory/observation-type-decision.js +3 -2
  117. package/dist/memory/observation-type-decision.js.map +1 -1
  118. package/dist/memory/pipeline-manifest-sqlite.d.ts +111 -0
  119. package/dist/memory/pipeline-manifest-sqlite.d.ts.map +1 -1
  120. package/dist/memory/pipeline-manifest-sqlite.js +230 -2
  121. package/dist/memory/pipeline-manifest-sqlite.js.map +1 -1
  122. package/dist/nexus/analyze-orchestrator.d.ts +38 -0
  123. package/dist/nexus/analyze-orchestrator.d.ts.map +1 -1
  124. package/dist/nexus/analyze-orchestrator.js +96 -21
  125. package/dist/nexus/analyze-orchestrator.js.map +1 -1
  126. package/dist/nexus/knowledge.d.ts.map +1 -1
  127. package/dist/nexus/knowledge.js +15 -4
  128. package/dist/nexus/knowledge.js.map +1 -1
  129. package/dist/nexus/migrations/M-split-graph.d.ts.map +1 -1
  130. package/dist/nexus/migrations/M-split-graph.js +4 -0
  131. package/dist/nexus/migrations/M-split-graph.js.map +1 -1
  132. package/dist/nexus/store.d.ts.map +1 -1
  133. package/dist/nexus/store.js +2 -0
  134. package/dist/nexus/store.js.map +1 -1
  135. package/dist/nexus/stored-roots.d.ts +65 -0
  136. package/dist/nexus/stored-roots.d.ts.map +1 -1
  137. package/dist/nexus/stored-roots.js +73 -0
  138. package/dist/nexus/stored-roots.js.map +1 -1
  139. package/dist/orchestrate/lifecycle-ops.d.ts.map +1 -1
  140. package/dist/orchestrate/lifecycle-ops.js +4 -1
  141. package/dist/orchestrate/lifecycle-ops.js.map +1 -1
  142. package/dist/orchestrate/pivot.d.ts.map +1 -1
  143. package/dist/orchestrate/pivot.js +13 -8
  144. package/dist/orchestrate/pivot.js.map +1 -1
  145. package/dist/orchestrate/plan.d.ts.map +1 -1
  146. package/dist/orchestrate/plan.js +8 -2
  147. package/dist/orchestrate/plan.js.map +1 -1
  148. package/dist/orchestrate/query-ops.d.ts +7 -2
  149. package/dist/orchestrate/query-ops.d.ts.map +1 -1
  150. package/dist/orchestrate/query-ops.js +17 -6
  151. package/dist/orchestrate/query-ops.js.map +1 -1
  152. package/dist/orchestrate/spawn-ops.d.ts.map +1 -1
  153. package/dist/orchestrate/spawn-ops.js +5 -14
  154. package/dist/orchestrate/spawn-ops.js.map +1 -1
  155. package/dist/orchestration/bootstrap.d.ts.map +1 -1
  156. package/dist/orchestration/bootstrap.js +4 -2
  157. package/dist/orchestration/bootstrap.js.map +1 -1
  158. package/dist/orchestration/index.d.ts +1 -0
  159. package/dist/orchestration/index.d.ts.map +1 -1
  160. package/dist/orchestration/index.js +4 -3
  161. package/dist/orchestration/index.js.map +1 -1
  162. package/dist/orchestration/lead-rollup.d.ts +8 -5
  163. package/dist/orchestration/lead-rollup.d.ts.map +1 -1
  164. package/dist/orchestration/lead-rollup.js +46 -17
  165. package/dist/orchestration/lead-rollup.js.map +1 -1
  166. package/dist/orchestration/owner-decision-readiness.d.ts +2 -2
  167. package/dist/orchestration/owner-decision-readiness.d.ts.map +1 -1
  168. package/dist/orchestration/owner-decision-readiness.js +3 -2
  169. package/dist/orchestration/owner-decision-readiness.js.map +1 -1
  170. package/dist/orchestration/parallel.d.ts.map +1 -1
  171. package/dist/orchestration/parallel.js +10 -17
  172. package/dist/orchestration/parallel.js.map +1 -1
  173. package/dist/orchestration/spawn-prompt.d.ts +4 -1
  174. package/dist/orchestration/spawn-prompt.d.ts.map +1 -1
  175. package/dist/orchestration/spawn-prompt.js +3 -2
  176. package/dist/orchestration/spawn-prompt.js.map +1 -1
  177. package/dist/orchestration/status.d.ts +8 -3
  178. package/dist/orchestration/status.d.ts.map +1 -1
  179. package/dist/orchestration/status.js +9 -6
  180. package/dist/orchestration/status.js.map +1 -1
  181. package/dist/orchestration/validate-spawn.d.ts.map +1 -1
  182. package/dist/orchestration/validate-spawn.js +2 -0
  183. package/dist/orchestration/validate-spawn.js.map +1 -1
  184. package/dist/orchestration/wave-topic.d.ts +54 -0
  185. package/dist/orchestration/wave-topic.d.ts.map +1 -0
  186. package/dist/orchestration/wave-topic.js +68 -0
  187. package/dist/orchestration/wave-topic.js.map +1 -0
  188. package/dist/orchestration/waves.d.ts +47 -8
  189. package/dist/orchestration/waves.d.ts.map +1 -1
  190. package/dist/orchestration/waves.js +152 -43
  191. package/dist/orchestration/waves.js.map +1 -1
  192. package/dist/phases/index.d.ts.map +1 -1
  193. package/dist/phases/index.js +6 -2
  194. package/dist/phases/index.js.map +1 -1
  195. package/dist/project-scope.d.ts +34 -0
  196. package/dist/project-scope.d.ts.map +1 -1
  197. package/dist/project-scope.js +73 -0
  198. package/dist/project-scope.js.map +1 -1
  199. package/dist/release/ci-evidence.d.ts +10 -0
  200. package/dist/release/ci-evidence.d.ts.map +1 -1
  201. package/dist/release/ci-evidence.js +23 -7
  202. package/dist/release/ci-evidence.js.map +1 -1
  203. package/dist/release/github-pr.d.ts +30 -0
  204. package/dist/release/github-pr.d.ts.map +1 -1
  205. package/dist/release/github-pr.js +42 -1
  206. package/dist/release/github-pr.js.map +1 -1
  207. package/dist/release/plan.d.ts.map +1 -1
  208. package/dist/release/plan.js +6 -3
  209. package/dist/release/plan.js.map +1 -1
  210. package/dist/release/pr-evidence.d.ts.map +1 -1
  211. package/dist/release/pr-evidence.js +12 -4
  212. package/dist/release/pr-evidence.js.map +1 -1
  213. package/dist/routing/capability-matrix.d.ts.map +1 -1
  214. package/dist/routing/capability-matrix.js +7 -0
  215. package/dist/routing/capability-matrix.js.map +1 -1
  216. package/dist/security/input-sanitization.d.ts.map +1 -1
  217. package/dist/security/input-sanitization.js +9 -2
  218. package/dist/security/input-sanitization.js.map +1 -1
  219. package/dist/selfimprove/fix-gen.js +1193 -748
  220. package/dist/selfimprove/fix-gen.js.map +3 -3
  221. package/dist/session/engine-ops.d.ts +6 -0
  222. package/dist/session/engine-ops.d.ts.map +1 -1
  223. package/dist/session/engine-ops.js +36 -4
  224. package/dist/session/engine-ops.js.map +1 -1
  225. package/dist/sessions/briefing.d.ts +17 -0
  226. package/dist/sessions/briefing.d.ts.map +1 -1
  227. package/dist/sessions/briefing.js +68 -68
  228. package/dist/sessions/briefing.js.map +1 -1
  229. package/dist/sessions/drift-watchdog.d.ts.map +1 -1
  230. package/dist/sessions/drift-watchdog.js +4 -3
  231. package/dist/sessions/drift-watchdog.js.map +1 -1
  232. package/dist/sessions/focus-state-store.d.ts +94 -1
  233. package/dist/sessions/focus-state-store.d.ts.map +1 -1
  234. package/dist/sessions/focus-state-store.js +100 -1
  235. package/dist/sessions/focus-state-store.js.map +1 -1
  236. package/dist/sessions/index.d.ts +2 -2
  237. package/dist/sessions/index.d.ts.map +1 -1
  238. package/dist/sessions/index.js +1 -1
  239. package/dist/sessions/index.js.map +1 -1
  240. package/dist/sessions/session-drift.d.ts.map +1 -1
  241. package/dist/sessions/session-drift.js +4 -3
  242. package/dist/sessions/session-drift.js.map +1 -1
  243. package/dist/setup/config-json-merge.d.ts +28 -0
  244. package/dist/setup/config-json-merge.d.ts.map +1 -1
  245. package/dist/setup/config-json-merge.js +51 -0
  246. package/dist/setup/config-json-merge.js.map +1 -1
  247. package/dist/setup/index.d.ts +13 -10
  248. package/dist/setup/index.d.ts.map +1 -1
  249. package/dist/setup/index.js +15 -10
  250. package/dist/setup/index.js.map +1 -1
  251. package/dist/setup/sections/llm.js +1 -1
  252. package/dist/setup/sections/llm.js.map +1 -1
  253. package/dist/setup/sections/system-one.d.ts +28 -0
  254. package/dist/setup/sections/system-one.d.ts.map +1 -0
  255. package/dist/setup/sections/system-one.js +53 -0
  256. package/dist/setup/sections/system-one.js.map +1 -0
  257. package/dist/setup/wizard.d.ts +15 -1
  258. package/dist/setup/wizard.d.ts.map +1 -1
  259. package/dist/setup/wizard.js +15 -0
  260. package/dist/setup/wizard.js.map +1 -1
  261. package/dist/skills/discovery.d.ts +12 -1
  262. package/dist/skills/discovery.d.ts.map +1 -1
  263. package/dist/skills/discovery.js +27 -2
  264. package/dist/skills/discovery.js.map +1 -1
  265. package/dist/skills/orchestrator/startup.d.ts.map +1 -1
  266. package/dist/skills/orchestrator/startup.js +10 -5
  267. package/dist/skills/orchestrator/startup.js.map +1 -1
  268. package/dist/skills/prune-bundled.d.ts +306 -0
  269. package/dist/skills/prune-bundled.d.ts.map +1 -0
  270. package/dist/skills/prune-bundled.js +652 -0
  271. package/dist/skills/prune-bundled.js.map +1 -0
  272. package/dist/skills/types.d.ts +9 -1
  273. package/dist/skills/types.d.ts.map +1 -1
  274. package/dist/skills/types.js +17 -34
  275. package/dist/skills/types.js.map +1 -1
  276. package/dist/spawn/branch-lock.d.ts.map +1 -1
  277. package/dist/spawn/branch-lock.js +26 -2
  278. package/dist/spawn/branch-lock.js.map +1 -1
  279. package/dist/stats/index.d.ts.map +1 -1
  280. package/dist/stats/index.js +4 -2
  281. package/dist/stats/index.js.map +1 -1
  282. package/dist/store/agent-registry-accessor.d.ts.map +1 -1
  283. package/dist/store/agent-registry-accessor.js +2 -0
  284. package/dist/store/agent-registry-accessor.js.map +1 -1
  285. package/dist/store/backup-pack.js +1 -1
  286. package/dist/store/backup-pack.js.map +1 -1
  287. package/dist/store/backup.d.ts +15 -1
  288. package/dist/store/backup.d.ts.map +1 -1
  289. package/dist/store/backup.js +18 -2
  290. package/dist/store/backup.js.map +1 -1
  291. package/dist/store/conduit-sqlite.d.ts.map +1 -1
  292. package/dist/store/conduit-sqlite.js +3 -0
  293. package/dist/store/conduit-sqlite.js.map +1 -1
  294. package/dist/store/credential-transfer.d.ts.map +1 -1
  295. package/dist/store/credential-transfer.js +2 -0
  296. package/dist/store/credential-transfer.js.map +1 -1
  297. package/dist/store/cross-db-cleanup.d.ts.map +1 -1
  298. package/dist/store/cross-db-cleanup.js +2 -0
  299. package/dist/store/cross-db-cleanup.js.map +1 -1
  300. package/dist/store/dual-scope-db.d.ts.map +1 -1
  301. package/dist/store/dual-scope-db.js +13 -2
  302. package/dist/store/dual-scope-db.js.map +1 -1
  303. package/dist/store/migrate-signaldock-to-conduit.d.ts.map +1 -1
  304. package/dist/store/migrate-signaldock-to-conduit.js +3 -0
  305. package/dist/store/migrate-signaldock-to-conduit.js.map +1 -1
  306. package/dist/store/migration-manager.d.ts.map +1 -1
  307. package/dist/store/migration-manager.js +37 -3
  308. package/dist/store/migration-manager.js.map +1 -1
  309. package/dist/store/migration-sqlite.d.ts.map +1 -1
  310. package/dist/store/migration-sqlite.js +2 -0
  311. package/dist/store/migration-sqlite.js.map +1 -1
  312. package/dist/store/nexus-sqlite.d.ts.map +1 -1
  313. package/dist/store/nexus-sqlite.js +3 -0
  314. package/dist/store/nexus-sqlite.js.map +1 -1
  315. package/dist/store/open-cleo-db.d.ts.map +1 -1
  316. package/dist/store/open-cleo-db.js +3 -0
  317. package/dist/store/open-cleo-db.js.map +1 -1
  318. package/dist/store/portable-bundle-import.d.ts.map +1 -1
  319. package/dist/store/portable-bundle-import.js +2 -0
  320. package/dist/store/portable-bundle-import.js.map +1 -1
  321. package/dist/store/portable-bundle-relocate.d.ts.map +1 -1
  322. package/dist/store/portable-bundle-relocate.js +2 -0
  323. package/dist/store/portable-bundle-relocate.js.map +1 -1
  324. package/dist/store/portable-bundle-scan.js +1 -1
  325. package/dist/store/portable-bundle-scan.js.map +1 -1
  326. package/dist/store/ports/domain-binding.d.ts.map +1 -1
  327. package/dist/store/ports/domain-binding.js +5 -0
  328. package/dist/store/ports/domain-binding.js.map +1 -1
  329. package/dist/store/skills-db.d.ts +17 -0
  330. package/dist/store/skills-db.d.ts.map +1 -1
  331. package/dist/store/skills-db.js +30 -0
  332. package/dist/store/skills-db.js.map +1 -1
  333. package/dist/store/snapshot-gate.d.ts.map +1 -1
  334. package/dist/store/snapshot-gate.js +3 -0
  335. package/dist/store/snapshot-gate.js.map +1 -1
  336. package/dist/store/split-brain-import.d.ts.map +1 -1
  337. package/dist/store/split-brain-import.js +2 -0
  338. package/dist/store/split-brain-import.js.map +1 -1
  339. package/dist/store/sqlite-data-accessor.d.ts.map +1 -1
  340. package/dist/store/sqlite-data-accessor.js +19 -2
  341. package/dist/store/sqlite-data-accessor.js.map +1 -1
  342. package/dist/store/sqlite-native.d.ts.map +1 -1
  343. package/dist/store/sqlite-native.js +1 -0
  344. package/dist/store/sqlite-native.js.map +1 -1
  345. package/dist/store/sqlite.d.ts +14 -0
  346. package/dist/store/sqlite.d.ts.map +1 -1
  347. package/dist/store/sqlite.js +31 -4
  348. package/dist/store/sqlite.js.map +1 -1
  349. package/dist/store/twin-collapse.d.ts +46 -1
  350. package/dist/store/twin-collapse.d.ts.map +1 -1
  351. package/dist/store/twin-collapse.js +131 -5
  352. package/dist/store/twin-collapse.js.map +1 -1
  353. package/dist/store/worktree-build-guard.d.ts +191 -0
  354. package/dist/store/worktree-build-guard.d.ts.map +1 -0
  355. package/dist/store/worktree-build-guard.js +486 -0
  356. package/dist/store/worktree-build-guard.js.map +1 -0
  357. package/dist/store/worktree-isolation-guard.d.ts +27 -0
  358. package/dist/store/worktree-isolation-guard.d.ts.map +1 -1
  359. package/dist/store/worktree-isolation-guard.js +71 -3
  360. package/dist/store/worktree-isolation-guard.js.map +1 -1
  361. package/dist/store/writer-lease.d.ts.map +1 -1
  362. package/dist/store/writer-lease.js +2 -0
  363. package/dist/store/writer-lease.js.map +1 -1
  364. package/dist/system/backup.d.ts +6 -2
  365. package/dist/system/backup.d.ts.map +1 -1
  366. package/dist/system/backup.js +6 -3
  367. package/dist/system/backup.js.map +1 -1
  368. package/dist/system/inject-generate.d.ts.map +1 -1
  369. package/dist/system/inject-generate.js +4 -4
  370. package/dist/system/inject-generate.js.map +1 -1
  371. package/dist/task-tools/index.d.ts +4 -2
  372. package/dist/task-tools/index.d.ts.map +1 -1
  373. package/dist/task-tools/index.js +3 -2
  374. package/dist/task-tools/index.js.map +1 -1
  375. package/dist/task-tools/score-task-priority.d.ts +93 -18
  376. package/dist/task-tools/score-task-priority.d.ts.map +1 -1
  377. package/dist/task-tools/score-task-priority.js +193 -81
  378. package/dist/task-tools/score-task-priority.js.map +1 -1
  379. package/dist/task-work/index.d.ts +6 -0
  380. package/dist/task-work/index.d.ts.map +1 -1
  381. package/dist/task-work/index.js +6 -3
  382. package/dist/task-work/index.js.map +1 -1
  383. package/dist/tasks/affected-packages.d.ts +62 -13
  384. package/dist/tasks/affected-packages.d.ts.map +1 -1
  385. package/dist/tasks/affected-packages.js +158 -33
  386. package/dist/tasks/affected-packages.js.map +1 -1
  387. package/dist/tasks/affected-scope.d.ts +59 -0
  388. package/dist/tasks/affected-scope.d.ts.map +1 -0
  389. package/dist/tasks/affected-scope.js +81 -0
  390. package/dist/tasks/affected-scope.js.map +1 -0
  391. package/dist/tasks/analyze.d.ts +29 -1
  392. package/dist/tasks/analyze.d.ts.map +1 -1
  393. package/dist/tasks/analyze.js +52 -36
  394. package/dist/tasks/analyze.js.map +1 -1
  395. package/dist/tasks/backfill-child-projections.d.ts.map +1 -1
  396. package/dist/tasks/backfill-child-projections.js +4 -1
  397. package/dist/tasks/backfill-child-projections.js.map +1 -1
  398. package/dist/tasks/change-set.d.ts +24 -0
  399. package/dist/tasks/change-set.d.ts.map +1 -1
  400. package/dist/tasks/change-set.js +143 -11
  401. package/dist/tasks/change-set.js.map +1 -1
  402. package/dist/tasks/command-line.d.ts +54 -0
  403. package/dist/tasks/command-line.d.ts.map +1 -0
  404. package/dist/tasks/command-line.js +151 -0
  405. package/dist/tasks/command-line.js.map +1 -0
  406. package/dist/tasks/complete.d.ts +10 -0
  407. package/dist/tasks/complete.d.ts.map +1 -1
  408. package/dist/tasks/complete.js +49 -0
  409. package/dist/tasks/complete.js.map +1 -1
  410. package/dist/tasks/component-pr.d.ts +106 -0
  411. package/dist/tasks/component-pr.d.ts.map +1 -0
  412. package/dist/tasks/component-pr.js +275 -0
  413. package/dist/tasks/component-pr.js.map +1 -0
  414. package/dist/tasks/delete.d.ts.map +1 -1
  415. package/dist/tasks/delete.js +20 -0
  416. package/dist/tasks/delete.js.map +1 -1
  417. package/dist/tasks/done-plan.d.ts +21 -1
  418. package/dist/tasks/done-plan.d.ts.map +1 -1
  419. package/dist/tasks/done-plan.js +170 -15
  420. package/dist/tasks/done-plan.js.map +1 -1
  421. package/dist/tasks/done-record.d.ts.map +1 -1
  422. package/dist/tasks/done-record.js +9 -80
  423. package/dist/tasks/done-record.js.map +1 -1
  424. package/dist/tasks/duplicate-detector.d.ts +3 -3
  425. package/dist/tasks/duplicate-detector.d.ts.map +1 -1
  426. package/dist/tasks/duplicate-detector.js +4 -3
  427. package/dist/tasks/duplicate-detector.js.map +1 -1
  428. package/dist/tasks/engine-wrap-ops.d.ts +29 -0
  429. package/dist/tasks/engine-wrap-ops.d.ts.map +1 -1
  430. package/dist/tasks/engine-wrap-ops.js +40 -0
  431. package/dist/tasks/engine-wrap-ops.js.map +1 -1
  432. package/dist/tasks/engine-wrap.d.ts +1 -1
  433. package/dist/tasks/engine-wrap.d.ts.map +1 -1
  434. package/dist/tasks/engine-wrap.js +1 -1
  435. package/dist/tasks/engine-wrap.js.map +1 -1
  436. package/dist/tasks/evidence.d.ts +49 -2
  437. package/dist/tasks/evidence.d.ts.map +1 -1
  438. package/dist/tasks/evidence.js +85 -9
  439. package/dist/tasks/evidence.js.map +1 -1
  440. package/dist/tasks/gate-runner.d.ts.map +1 -1
  441. package/dist/tasks/gate-runner.js +48 -12
  442. package/dist/tasks/gate-runner.js.map +1 -1
  443. package/dist/tasks/index.d.ts +1 -1
  444. package/dist/tasks/index.d.ts.map +1 -1
  445. package/dist/tasks/index.js +1 -1
  446. package/dist/tasks/index.js.map +1 -1
  447. package/dist/tasks/ops.d.ts +1 -0
  448. package/dist/tasks/ops.d.ts.map +1 -1
  449. package/dist/tasks/ranking-audit.d.ts +122 -0
  450. package/dist/tasks/ranking-audit.d.ts.map +1 -0
  451. package/dist/tasks/ranking-audit.js +193 -0
  452. package/dist/tasks/ranking-audit.js.map +1 -0
  453. package/dist/tasks/task-analyze.d.ts.map +1 -1
  454. package/dist/tasks/task-analyze.js +19 -32
  455. package/dist/tasks/task-analyze.js.map +1 -1
  456. package/dist/tasks/task-next.d.ts +48 -2
  457. package/dist/tasks/task-next.d.ts.map +1 -1
  458. package/dist/tasks/task-next.js +84 -102
  459. package/dist/tasks/task-next.js.map +1 -1
  460. package/dist/tasks/task-ops.d.ts +1 -1
  461. package/dist/tasks/task-ops.d.ts.map +1 -1
  462. package/dist/tasks/task-ops.js +1 -1
  463. package/dist/tasks/task-ops.js.map +1 -1
  464. package/dist/tasks/tool-resolver.d.ts +7 -1
  465. package/dist/tasks/tool-resolver.d.ts.map +1 -1
  466. package/dist/tasks/tool-resolver.js +24 -10
  467. package/dist/tasks/tool-resolver.js.map +1 -1
  468. package/dist/tasks/update.d.ts +8 -2
  469. package/dist/tasks/update.d.ts.map +1 -1
  470. package/dist/tasks/update.js +28 -1
  471. package/dist/tasks/update.js.map +1 -1
  472. package/dist/telemetry/sqlite.d.ts.map +1 -1
  473. package/dist/telemetry/sqlite.js +2 -0
  474. package/dist/telemetry/sqlite.js.map +1 -1
  475. package/dist/validation/doctor/checks.d.ts.map +1 -1
  476. package/dist/validation/doctor/checks.js +2 -2
  477. package/dist/validation/doctor/checks.js.map +1 -1
  478. package/dist/validation/engine-ops.d.ts +9 -1
  479. package/dist/validation/engine-ops.d.ts.map +1 -1
  480. package/dist/validation/engine-ops.js +24 -1
  481. package/dist/validation/engine-ops.js.map +1 -1
  482. package/dist/validation/validate-ops.d.ts.map +1 -1
  483. package/dist/validation/validate-ops.js +9 -3
  484. package/dist/validation/validate-ops.js.map +1 -1
  485. package/dist/worktree/worktree-adopt.d.ts.map +1 -1
  486. package/dist/worktree/worktree-adopt.js +5 -2
  487. package/dist/worktree/worktree-adopt.js.map +1 -1
  488. package/package.json +14 -14
  489. package/schemas/config.schema.json +13 -0
  490. package/templates/CLEO-INJECTION.md +1 -1
  491. package/templates/CLEO-REFERENCE.md +5 -1
@@ -21,10 +21,22 @@
21
21
  *
22
22
  * @task T12635
23
23
  */
24
- import { execFileSync } from 'node:child_process';
25
- import { existsSync, readdirSync, readFileSync } from 'node:fs';
24
+ import { execFile, execFileSync } from 'node:child_process';
25
+ import { createHash } from 'node:crypto';
26
+ import { existsSync, readdirSync, readFileSync, statSync } from 'node:fs';
26
27
  import { join, relative } from 'node:path';
28
+ import { promisify } from 'node:util';
27
29
  import { isCiDocumentPath } from '../release/ci-evidence.js';
30
+ import { splitCommandLine } from './command-line.js';
31
+ import { acquireGlobalSlot } from './tool-semaphore.js';
32
+ /**
33
+ * A path with `/` separators. `path.relative` and Windows callers produce `\`,
34
+ * while package directories and git paths are compared with `/` (T12657).
35
+ * Module-local: package-dir matching only, not a general path primitive.
36
+ */
37
+ function slashSeparated(path) {
38
+ return path.replace(/\\/g, '/');
39
+ }
28
40
  /** Workspace package patterns from `pnpm-workspace.yaml`, else `package.json#workspaces`. */
29
41
  function workspacePatterns(root) {
30
42
  const yaml = join(root, 'pnpm-workspace.yaml');
@@ -93,17 +105,24 @@ export function listWorkspacePackages(root) {
93
105
  'peerDependencies',
94
106
  'optionalDependencies',
95
107
  ].flatMap((field) => Object.keys(pkg[field] ?? {}));
96
- found.push({ name: pkg.name, dir: relative(root, join(root, dir)), all });
108
+ const scripts = (pkg.scripts ?? {});
109
+ found.push({
110
+ name: pkg.name,
111
+ dir: slashSeparated(relative(root, join(root, dir))),
112
+ all,
113
+ hasTestScript: typeof scripts['test'] === 'string' && scripts['test'].trim() !== '',
114
+ });
97
115
  }
98
116
  catch {
99
117
  // not a package
100
118
  }
101
119
  }
102
120
  const names = new Set(found.map((p) => p.name));
103
- return found.map(({ name, dir, all }) => ({
121
+ return found.map(({ name, dir, all, hasTestScript }) => ({
104
122
  name,
105
123
  dir,
106
124
  deps: [...new Set(all.filter((d) => names.has(d) && d !== name))],
125
+ hasTestScript,
107
126
  }));
108
127
  }
109
128
  /**
@@ -119,7 +138,7 @@ export function deriveAffectedPackages(root, changedPaths) {
119
138
  const packages = listWorkspacePackages(root).sort((a, b) => b.dir.length - a.dir.length);
120
139
  const direct = new Set();
121
140
  const workspaceWide = [];
122
- for (const path of changedPaths) {
141
+ for (const path of changedPaths.map(slashSeparated)) {
123
142
  const owner = packages.find((p) => path === p.dir || path.startsWith(`${p.dir}/`));
124
143
  if (owner)
125
144
  direct.add(owner.name);
@@ -147,6 +166,33 @@ export function deriveAffectedPackages(root, changedPaths) {
147
166
  }
148
167
  /** Marker that separates the resolver's JSON line from vite's own stdout noise. */
149
168
  const VITEST_PROJECTS_MARK = '__CLEO_VITEST_PROJECTS__';
169
+ /** The report a caller that will not wait gets while the `test` slot is held. */
170
+ export const TEST_SLOT_BUSY = 'scope pending: test slot busy';
171
+ /** Resolutions keyed by tree state, so plan + record in one `cleo done` resolve once. */
172
+ const vitestProjectsMemo = new Map();
173
+ /**
174
+ * Key for the tree's current state, or null outside git: HEAD, the tracked
175
+ * diff, and each untracked file's path, size and mtime — `status` alone names
176
+ * an untracked file but misses edits to it (T12656 review).
177
+ */
178
+ function treeStateKey(root) {
179
+ const head = git(root, ['rev-parse', 'HEAD']);
180
+ const diff = git(root, ['diff', 'HEAD']);
181
+ const untracked = git(root, ['ls-files', '--others', '--exclude-standard']);
182
+ if (head === null || diff === null || untracked === null)
183
+ return null;
184
+ const hash = createHash('sha256').update(diff);
185
+ for (const path of untracked.split('\n').filter(Boolean)) {
186
+ try {
187
+ const st = statSync(join(root, path));
188
+ hash.update(`\0${path}\0${st.size}\0${st.mtimeMs}`);
189
+ }
190
+ catch {
191
+ hash.update(`\0${path}\0gone`);
192
+ }
193
+ }
194
+ return `${root}\0${head}\0${hash.digest('hex')}`;
195
+ }
150
196
  /**
151
197
  * Ask vitest which projects the workspace config resolves to (T12635 review).
152
198
  *
@@ -155,11 +201,37 @@ const VITEST_PROJECTS_MARK = '__CLEO_VITEST_PROJECTS__';
155
201
  * unnamed projects and every future config shape are named exactly as
156
202
  * `--project` will match them. No config parsing happens here.
157
203
  *
204
+ * The child runs asynchronously under the heavy-tool `test` semaphore (loading
205
+ * a workspace's configs is test tooling), and results are memoized per tree
206
+ * state, so `cleo done` planning and recording resolve once (T12657).
207
+ *
158
208
  * @param root - Workspace root.
209
+ * @param opts - Slot acquisition override.
159
210
  * @returns The projects, or the reason they could not be resolved.
160
211
  * @task T12635
212
+ * @task T12657
161
213
  */
162
- export function listVitestProjects(root) {
214
+ export function listVitestProjects(root, opts = {}) {
215
+ const key = treeStateKey(root);
216
+ const hit = key === null ? undefined : vitestProjectsMemo.get(key);
217
+ if (hit)
218
+ return hit;
219
+ const acquire = opts.acquireSlot ??
220
+ (opts.wait === true
221
+ ? acquireGlobalSlot
222
+ : (canonical) => acquireGlobalSlot(canonical, { timeoutMs: 1, pollMs: 1 }));
223
+ const pending = resolveVitestProjects(root, acquire);
224
+ if (key !== null) {
225
+ vitestProjectsMemo.set(key, pending);
226
+ // A busy slot is not an answer about the tree: never remember it.
227
+ void pending.then((r) => {
228
+ if (!r.ok && r.busy)
229
+ vitestProjectsMemo.delete(key);
230
+ });
231
+ }
232
+ return pending;
233
+ }
234
+ async function resolveVitestProjects(root, acquireSlot) {
163
235
  const script = [
164
236
  "const { createVitest } = await import('vitest/node');",
165
237
  "const v = await createVitest('test', { watch: false }, {}, {});",
@@ -169,13 +241,15 @@ export function listVitestProjects(root) {
169
241
  'process.exit(0);',
170
242
  ].join('\n');
171
243
  let stdout;
244
+ let release;
172
245
  try {
173
- stdout = execFileSync(process.execPath, ['--input-type=module', '-e', script], {
174
- cwd: root,
175
- encoding: 'utf-8',
176
- stdio: ['ignore', 'pipe', 'pipe'],
177
- timeout: 120_000,
178
- });
246
+ release = await acquireSlot('test');
247
+ }
248
+ catch {
249
+ return { ok: false, busy: true, reason: TEST_SLOT_BUSY };
250
+ }
251
+ try {
252
+ ({ stdout } = await promisify(execFile)(process.execPath, ['--input-type=module', '-e', script], { cwd: root, encoding: 'utf-8', timeout: 120_000, maxBuffer: 16 * 1024 * 1024 }));
179
253
  }
180
254
  catch (err) {
181
255
  const stderr = err.stderr ?? '';
@@ -184,13 +258,16 @@ export function listVitestProjects(root) {
184
258
  reason: `vitest could not resolve its projects in ${root}: ${stderr.trim().slice(-300) || String(err)}`,
185
259
  };
186
260
  }
261
+ finally {
262
+ await release();
263
+ }
187
264
  const line = stdout.split('\n').find((l) => l.startsWith(VITEST_PROJECTS_MARK));
188
265
  try {
189
266
  const parsed = JSON.parse(line?.slice(VITEST_PROJECTS_MARK.length) ?? '');
190
267
  const projects = parsed.map((p) => {
191
268
  if (typeof p.name !== 'string' || typeof p.root !== 'string')
192
269
  throw new Error('bad entry');
193
- return { name: p.name, dir: relative(root, p.root) };
270
+ return { name: p.name, dir: slashSeparated(relative(root, p.root)) };
194
271
  });
195
272
  return { ok: true, projects };
196
273
  }
@@ -220,8 +297,8 @@ export function listVitestProjects(root) {
220
297
  * @returns Project names to run and the dependents that have none, or a refusal.
221
298
  * @task T12635
222
299
  */
223
- export function affectedTestTargets(root, packages, direct, resolve = listVitestProjects) {
224
- const resolved = resolve(root);
300
+ export async function affectedTestTargets(root, packages, direct, resolve = listVitestProjects) {
301
+ const resolved = await resolve(root);
225
302
  if (!resolved.ok)
226
303
  return resolved;
227
304
  const workspace = listWorkspacePackages(root);
@@ -254,19 +331,46 @@ export function affectedTestTargets(root, packages, direct, resolve = listVitest
254
331
  }
255
332
  return { ok: true, projects: selected, untested };
256
333
  }
334
+ /**
335
+ * The packages a `{filters}`/`{packages}` run tests (T12657): a package with no
336
+ * `scripts.test` runs nothing. A DIRECTLY changed one refuses the affected
337
+ * scope; an affected dependent with none is reported in `untested`.
338
+ *
339
+ * @param root - Workspace root.
340
+ * @param packages - Affected package names (direct plus dependents).
341
+ * @param direct - The directly changed packages.
342
+ * @returns The packages to pass and the dependents with no test script, or a refusal.
343
+ * @task T12657
344
+ */
345
+ export function scriptTestTargets(root, packages, direct) {
346
+ const workspace = listWorkspacePackages(root);
347
+ const untested = packages.filter((name) => workspace.find((p) => p.name === name)?.hasTestScript !== true);
348
+ const uncovered = direct.filter((name) => untested.includes(name));
349
+ if (uncovered.length > 0) {
350
+ return {
351
+ ok: false,
352
+ reason: `no test script in changed package(s) ${uncovered.join(', ')}`,
353
+ };
354
+ }
355
+ return { ok: true, projects: [...packages], untested };
356
+ }
257
357
  /**
258
358
  * Expand a `testing.affectedCommand` template into a spawnable command.
259
359
  * `{projects}` → `--project <name>` per package, `{filters}` → `--filter
260
360
  * <name>` per package, `{packages}` → the names. Each expands to separate
261
- * arguments; the template is split on whitespace (no shell).
361
+ * arguments. The template is split with POSIX `sh` quoting and run without a
362
+ * shell, so shell syntax (`&&`, `|`, `$`, …) is refused rather than passed to
363
+ * the target as literal words, which could run a different program and
364
+ * false-PASS (T12718).
262
365
  *
263
366
  * @param template - e.g. `pnpm exec vitest run {projects}`.
264
367
  * @param packages - Affected package names.
265
368
  * @returns The executable and its arguments.
369
+ * @throws When the template uses shell syntax or has an unterminated quote.
266
370
  * @task T12635
267
371
  */
268
372
  export function buildAffectedTestCommand(template, packages, projects = packages) {
269
- const words = template.trim().split(/\s+/).filter(Boolean);
373
+ const words = splitCommandLine(template, 'testing.affectedCommand');
270
374
  const expanded = words.flatMap((word) => {
271
375
  if (word === '{projects}')
272
376
  return projects.flatMap((p) => ['--project', p]);
@@ -292,11 +396,12 @@ function git(cwd, args) {
292
396
  }
293
397
  /**
294
398
  * Paths the tree under test changed relative to origin's default branch:
295
- * committed (`merge-base(origin/<default>, HEAD)..HEAD`) plus uncommitted
296
- * tracked edits — the tests run on the working tree, so both matter.
399
+ * committed (`merge-base(origin/<default>, HEAD)..HEAD`), uncommitted tracked
400
+ * edits and untracked files — the tests run on the working tree, so all matter.
297
401
  *
298
402
  * @param root - Execution root.
299
- * @returns The paths, or null when no origin default branch exists.
403
+ * @returns The paths (committed, uncommitted and untracked), or null when no
404
+ * origin default branch exists or git fails.
300
405
  * @task T12635
301
406
  */
302
407
  export function changedPathsSinceDefault(root) {
@@ -308,9 +413,15 @@ export function changedPathsSinceDefault(root) {
308
413
  const mergeBase = git(root, ['merge-base', base, 'HEAD']);
309
414
  if (!mergeBase)
310
415
  return null;
311
- const committed = git(root, ['diff', '--name-only', '--no-renames', mergeBase, 'HEAD']) ?? '';
312
- const uncommitted = git(root, ['diff', '--name-only', '--no-renames', 'HEAD']) ?? '';
313
- return [...new Set(`${committed}\n${uncommitted}`.split('\n').filter(Boolean))].sort();
416
+ // A git failure is not an empty diff (T12657): no answer, so no scoped run.
417
+ const committed = git(root, ['diff', '--name-only', '--no-renames', mergeBase, 'HEAD']);
418
+ const uncommitted = git(root, ['diff', '--name-only', '--no-renames', 'HEAD']);
419
+ const untracked = git(root, ['ls-files', '--others', '--exclude-standard']);
420
+ if (committed === null || uncommitted === null || untracked === null)
421
+ return null;
422
+ return [
423
+ ...new Set(`${committed}\n${uncommitted}\n${untracked}`.split('\n').filter(Boolean)),
424
+ ].sort();
314
425
  }
315
426
  /**
316
427
  * Plan the affected-scope test run for the tree at `root` — the one path both
@@ -320,10 +431,11 @@ export function changedPathsSinceDefault(root) {
320
431
  *
321
432
  * @param storeRoot - CLEO store root (project context).
322
433
  * @param root - Execution root whose diff defines the set.
434
+ * @param opts - `wait`: queue for the `test` slot (`cleo done`); `--plan` does not.
323
435
  * @returns The command and its receipt fields, or the refusal reason.
324
436
  * @task T12635
325
437
  */
326
- export async function planAffectedTestRun(storeRoot, root) {
438
+ export async function planAffectedTestRun(storeRoot, root, opts = {}) {
327
439
  const { readRawProjectContext } = await import('./tool-resolver.js');
328
440
  const testing = readRawProjectContext(storeRoot)?.testing;
329
441
  const template = typeof testing?.affectedCommand === 'string' ? testing.affectedCommand : '';
@@ -335,12 +447,25 @@ export async function planAffectedTestRun(storeRoot, root) {
335
447
  '"pnpm exec vitest run {projects}" ({projects}/{filters}/{packages} expand per package).',
336
448
  };
337
449
  }
450
+ // T12718: a template the runner cannot split without a shell is a config
451
+ // error, refused before anything runs — never a pass for a truncated argv.
452
+ let templateWords;
453
+ try {
454
+ templateWords = splitCommandLine(template, 'testing.affectedCommand');
455
+ }
456
+ catch (error) {
457
+ return {
458
+ ok: false,
459
+ codeName: 'E_EVIDENCE_TOOL_UNAVAILABLE',
460
+ reason: `${error instanceof Error ? error.message : String(error)} (.cleo/project-context.json)`,
461
+ };
462
+ }
338
463
  const changed = changedPathsSinceDefault(root);
339
464
  if (changed === null) {
340
465
  return {
341
466
  ok: false,
342
467
  codeName: 'E_EVIDENCE_INSUFFICIENT',
343
- reason: `tool:test-affected cannot find origin's default branch in ${root} to diff against; use tool:test.`,
468
+ reason: `tool:test-affected cannot diff ${root} against origin's default branch (none found, or git failed); use tool:test.`,
344
469
  };
345
470
  }
346
471
  const scope = deriveAffectedPackages(root, changed);
@@ -358,19 +483,19 @@ export async function planAffectedTestRun(storeRoot, root) {
358
483
  reason: 'The change touches no workspace package, so there is nothing to test by scope; use tool:test.',
359
484
  };
360
485
  }
361
- let projects = scope.packages;
362
- let untested = [];
363
- if (template.split(/\s+/).includes('{projects}')) {
364
- const targets = affectedTestTargets(root, scope.packages, scope.direct);
365
- if (!targets.ok)
366
- return {
486
+ const targets = templateWords.includes('{projects}')
487
+ ? await affectedTestTargets(root, scope.packages, scope.direct, (r) => listVitestProjects(r, { wait: opts.wait === true }))
488
+ : scriptTestTargets(root, scope.packages, scope.direct);
489
+ if (!targets.ok) {
490
+ return targets.busy
491
+ ? { ok: false, codeName: 'E_EVIDENCE_INSUFFICIENT', reason: targets.reason, pending: true }
492
+ : {
367
493
  ok: false,
368
494
  codeName: 'E_EVIDENCE_INSUFFICIENT',
369
495
  reason: `${targets.reason}; use tool:test.`,
370
496
  };
371
- projects = targets.projects;
372
- untested = targets.untested;
373
497
  }
498
+ const { projects, untested } = targets;
374
499
  const { cmd, args } = buildAffectedTestCommand(template, scope.packages, projects);
375
500
  return {
376
501
  ok: true,
@@ -1 +1 @@
1
- {"version":3,"file":"affected-packages.js","sourceRoot":"","sources":["../../src/tasks/affected-packages.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAChE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAkB7D,6FAA6F;AAC7F,SAAS,iBAAiB,CAAC,IAAY;IACrC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC;IAC/C,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACrB,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3D,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/B,UAAU,GAAG,IAAI,CAAC;gBAClB,SAAS;YACX,CAAC;YACD,IAAI,UAAU,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,UAAU,GAAG,KAAK,CAAC;YACvD,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC7E,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;gBAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAEvE,CAAC;QACF,MAAM,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;YACtC,CAAC,CAAC,GAAG,CAAC,UAAU;YAChB,CAAC,CAAE,GAAG,CAAC,UAAiD,EAAE,QAAQ,CAAC;QACrE,OAAO,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACvF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,SAAS,aAAa,CAAC,IAAY,EAAE,OAAe;IAClD,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IACvC,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACzC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9D,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAClC,IAAI,CAAC;YACH,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;iBAC5D,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;iBAC9B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,MAAM,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACvC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAC5C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAY;IAChD,MAAM,KAAK,GAAwD,EAAE,CAAC;IACtE,KAAK,MAAM,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjF,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAG5E,CAAC;YACF,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ;gBAAE,SAAS;YAC3C,MAAM,GAAG,GAAG;gBACV,cAAc;gBACd,iBAAiB;gBACjB,kBAAkB;gBAClB,sBAAsB;aACvB,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAE,GAAG,CAAC,KAAK,CAA6B,IAAI,EAAE,CAAC,CAAC,CAAC;YACjF,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;QAC5E,CAAC;QAAC,MAAM,CAAC;YACP,gBAAgB;QAClB,CAAC;IACH,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAChD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;QACxC,IAAI;QACJ,GAAG;QACH,IAAI,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;KAClE,CAAC,CAAC,CAAC;AACN,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,sBAAsB,CACpC,IAAY,EACZ,YAA+B;IAE/B,MAAM,QAAQ,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACzF,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,MAAM,aAAa,GAAa,EAAE,CAAC;IACnC,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QACnF,IAAI,KAAK;YAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aAC7B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;YAAE,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7D,CAAC;IACD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,OAAO;YACL,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,sEAAsE,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;SACzG,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;IACjC,IAAI,IAAI,GAAG,IAAI,CAAC;IAChB,OAAO,IAAI,EAAE,CAAC;QACZ,IAAI,GAAG,KAAK,CAAC;QACb,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACzB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACrB,IAAI,GAAG,IAAI,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;AAC3F,CAAC;AAUD,mFAAmF;AACnF,MAAM,oBAAoB,GAAG,0BAA0B,CAAC;AAExD;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,kBAAkB,CAChC,IAAY;IAEZ,MAAM,MAAM,GAAG;QACb,uDAAuD;QACvD,iEAAiE;QACjE,6EAA6E;QAC7E,kBAAkB;QAClB,4BAA4B,oBAAoB,mCAAmC;QACnF,kBAAkB;KACnB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACb,IAAI,MAAc,CAAC;IACnB,IAAI,CAAC;QACH,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,qBAAqB,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE;YAC7E,GAAG,EAAE,IAAI;YACT,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;YACjC,OAAO,EAAE,OAAO;SACjB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,MAAM,GAAI,GAA2B,CAAC,MAAM,IAAI,EAAE,CAAC;QACzD,OAAO;YACL,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,4CAA4C,IAAI,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE;SACxG,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAChF,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,oBAAoB,CAAC,MAAM,CAAC,IAAI,EAAE,CAGtE,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAChC,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC;YAC3F,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QACvD,CAAC,CAAC,CAAC;QACH,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,+CAA+C,IAAI,EAAE,EAAE,CAAC;IACtF,CAAC;AACH,CAAC;AAOD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,mBAAmB,CACjC,IAAY,EACZ,QAA2B,EAC3B,MAAyB,EACzB,UAAmE,kBAAkB;IAErF,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,OAAO,QAAQ,CAAC;IAClC,MAAM,SAAS,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,CAAC,OAAsB,EAAE,GAAqB,EAAW,EAAE,CACxE,OAAO,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC;IACvD,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QACnD,MAAM,OAAO,GAAG,GAAG;YACjB,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC;gBACnD,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YAChD,CAAC,CAAC,SAAS,CAAC;QACd,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;gBAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACpE,CAAC;;YAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IACnE,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO;YACL,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,0DAA0D,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;SACzF,CAAC;IACJ,CAAC;IACD,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACxC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;YACpF,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AACpD,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,wBAAwB,CACtC,QAAgB,EAChB,QAA2B,EAC3B,WAA8B,QAAQ;IAEtC,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC3D,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACtC,IAAI,IAAI,KAAK,YAAY;YAAE,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5E,IAAI,IAAI,KAAK,WAAW;YAAE,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;QAC1E,IAAI,IAAI,KAAK,YAAY;YAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC;QAChD,OAAO,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AAC7D,CAAC;AAED,SAAS,GAAG,CAAC,GAAW,EAAE,IAAuB;IAC/C,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE;YAC/B,GAAG;YACH,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;SACpC,CAAC,CAAC,IAAI,EAAE,CAAC;IACZ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,wBAAwB,CAAC,IAAY;IACnD,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,cAAc,EAAE,SAAS,EAAE,0BAA0B,CAAC,CAAC,CAAC;IACpF,MAAM,IAAI,GACR,QAAQ,EAAE,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;QACzC,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC,IAAI,CACnC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,gBAAgB,GAAG,EAAE,CAAC,CAAC,KAAK,IAAI,CACzF,CAAC;IACJ,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,YAAY,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IAC1D,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAC5B,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9F,MAAM,WAAW,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;IACrF,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,SAAS,KAAK,WAAW,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AACzF,CAAC;AAsBD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,SAAiB,EACjB,IAAY;IAEZ,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;IACrE,MAAM,OAAO,GACX,qBAAqB,CAAC,SAAS,CAChC,EAAE,OAAO,CAAC;IACX,MAAM,QAAQ,GAAG,OAAO,OAAO,EAAE,eAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7F,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAC3B,OAAO;YACL,EAAE,EAAE,KAAK;YACT,QAAQ,EAAE,6BAA6B;YACvC,MAAM,EACJ,uFAAuF;gBACvF,yFAAyF;SAC5F,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAC;IAC/C,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,OAAO;YACL,EAAE,EAAE,KAAK;YACT,QAAQ,EAAE,yBAAyB;YACnC,MAAM,EAAE,6DAA6D,IAAI,kCAAkC;SAC5G,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,sBAAsB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACpD,IAAI,KAAK,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;QAC3B,OAAO;YACL,EAAE,EAAE,KAAK;YACT,QAAQ,EAAE,yBAAyB;YACnC,MAAM,EAAE,4BAA4B,KAAK,CAAC,MAAM,kCAAkC;SACnF,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO;YACL,EAAE,EAAE,KAAK;YACT,QAAQ,EAAE,yBAAyB;YACnC,MAAM,EACJ,+FAA+F;SAClG,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;IAC9B,IAAI,QAAQ,GAAa,EAAE,CAAC;IAC5B,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QACjD,MAAM,OAAO,GAAG,mBAAmB,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACxE,IAAI,CAAC,OAAO,CAAC,EAAE;YACb,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,QAAQ,EAAE,yBAAyB;gBACnC,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,kBAAkB;aAC5C,CAAC;QACJ,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QAC5B,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAC9B,CAAC;IACD,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,wBAAwB,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACnF,OAAO;QACL,EAAE,EAAE,IAAI;QACR,OAAO,EAAE;YACP,SAAS,EAAE,MAAM;YACjB,WAAW,EAAE,eAAe;YAC5B,GAAG;YACH,IAAI;YACJ,MAAM,EAAE,iBAAiB;SAC1B;QACD,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,QAAQ;QACR,QAAQ;KACT,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"affected-packages.js","sourceRoot":"","sources":["../../src/tasks/affected-packages.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC1E,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,OAAO,EAAE,iBAAiB,EAAsB,MAAM,qBAAqB,CAAC;AAE5E;;;;GAIG;AACH,SAAS,cAAc,CAAC,IAAY;IAClC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAClC,CAAC;AAmBD,6FAA6F;AAC7F,SAAS,iBAAiB,CAAC,IAAY;IACrC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC;IAC/C,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACrB,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3D,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/B,UAAU,GAAG,IAAI,CAAC;gBAClB,SAAS;YACX,CAAC;YACD,IAAI,UAAU,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,UAAU,GAAG,KAAK,CAAC;YACvD,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC7E,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;gBAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAEvE,CAAC;QACF,MAAM,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;YACtC,CAAC,CAAC,GAAG,CAAC,UAAU;YAChB,CAAC,CAAE,GAAG,CAAC,UAAiD,EAAE,QAAQ,CAAC;QACrE,OAAO,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACvF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,SAAS,aAAa,CAAC,IAAY,EAAE,OAAe;IAClD,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IACvC,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACzC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9D,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAClC,IAAI,CAAC;YACH,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;iBAC5D,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;iBAC9B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,MAAM,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACvC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAC5C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAY;IAChD,MAAM,KAAK,GAAgF,EAAE,CAAC;IAC9F,KAAK,MAAM,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjF,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAG5E,CAAC;YACF,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ;gBAAE,SAAS;YAC3C,MAAM,GAAG,GAAG;gBACV,cAAc;gBACd,iBAAiB;gBACjB,kBAAkB;gBAClB,sBAAsB;aACvB,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAE,GAAG,CAAC,KAAK,CAA6B,IAAI,EAAE,CAAC,CAAC,CAAC;YACjF,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAA4B,CAAC;YAC/D,KAAK,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,GAAG,EAAE,cAAc,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;gBACpD,GAAG;gBACH,aAAa,EAAE,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE;aACpF,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,gBAAgB;QAClB,CAAC;IACH,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAChD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,CAAC;QACvD,IAAI;QACJ,GAAG;QACH,IAAI,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;QACjE,aAAa;KACd,CAAC,CAAC,CAAC;AACN,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,sBAAsB,CACpC,IAAY,EACZ,YAA+B;IAE/B,MAAM,QAAQ,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACzF,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,MAAM,aAAa,GAAa,EAAE,CAAC;IACnC,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;QACpD,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QACnF,IAAI,KAAK;YAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aAC7B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;YAAE,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7D,CAAC;IACD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,OAAO;YACL,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,sEAAsE,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;SACzG,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;IACjC,IAAI,IAAI,GAAG,IAAI,CAAC;IAChB,OAAO,IAAI,EAAE,CAAC;QACZ,IAAI,GAAG,KAAK,CAAC;QACb,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACzB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACrB,IAAI,GAAG,IAAI,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;AAC3F,CAAC;AAUD,mFAAmF;AACnF,MAAM,oBAAoB,GAAG,0BAA0B,CAAC;AAYxD,iFAAiF;AACjF,MAAM,CAAC,MAAM,cAAc,GAAG,+BAA+B,CAAC;AAc9D,yFAAyF;AACzF,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAyC,CAAC;AAE5E;;;;GAIG;AACH,SAAS,YAAY,CAAC,IAAY;IAChC,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;IAC9C,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACzC,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,oBAAoB,CAAC,CAAC,CAAC;IAC5E,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,SAAS,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACtE,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC/C,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QACzD,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;YACtC,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QACtD,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IACD,OAAO,GAAG,IAAI,KAAK,IAAI,KAAK,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;AACnD,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,kBAAkB,CAChC,IAAY,EACZ,OAAkC,EAAE;IAEpC,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,GAAG,GAAG,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACnE,IAAI,GAAG;QAAE,OAAO,GAAG,CAAC;IACpB,MAAM,OAAO,GACX,IAAI,CAAC,WAAW;QAChB,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI;YACjB,CAAC,CAAC,iBAAiB;YACnB,CAAC,CAAC,CAAC,SAAiB,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACxF,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACrD,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACjB,kBAAkB,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACrC,kEAAkE;QAClE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;YACtB,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI;gBAAE,kBAAkB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,IAAY,EACZ,WAA0D;IAE1D,MAAM,MAAM,GAAG;QACb,uDAAuD;QACvD,iEAAiE;QACjE,6EAA6E;QAC7E,kBAAkB;QAClB,4BAA4B,oBAAoB,mCAAmC;QACnF,kBAAkB;KACnB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACb,IAAI,MAAc,CAAC;IACnB,IAAI,OAAsB,CAAC;IAC3B,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;IAC3D,CAAC;IACD,IAAI,CAAC;QACH,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,CACrC,OAAO,CAAC,QAAQ,EAChB,CAAC,qBAAqB,EAAE,IAAI,EAAE,MAAM,CAAC,EACrC,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI,EAAE,CAChF,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,MAAM,GAAI,GAA2B,CAAC,MAAM,IAAI,EAAE,CAAC;QACzD,OAAO;YACL,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,4CAA4C,IAAI,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE;SACxG,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,MAAM,OAAO,EAAE,CAAC;IAClB,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAChF,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,oBAAoB,CAAC,MAAM,CAAC,IAAI,EAAE,CAGtE,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAChC,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC;YAC3F,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,cAAc,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QACvE,CAAC,CAAC,CAAC;QACH,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,+CAA+C,IAAI,EAAE,EAAE,CAAC;IACtF,CAAC;AACH,CAAC;AAOD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,IAAY,EACZ,QAA2B,EAC3B,MAAyB,EACzB,UAA2D,kBAAkB;IAE7E,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,OAAO,QAAQ,CAAC;IAClC,MAAM,SAAS,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,CAAC,OAAsB,EAAE,GAAqB,EAAW,EAAE,CACxE,OAAO,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC;IACvD,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QACnD,MAAM,OAAO,GAAG,GAAG;YACjB,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC;gBACnD,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YAChD,CAAC,CAAC,SAAS,CAAC;QACd,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;gBAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACpE,CAAC;;YAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IACnE,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO;YACL,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,0DAA0D,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;SACzF,CAAC;IACJ,CAAC;IACD,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACxC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;YACpF,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AACpD,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,iBAAiB,CAC/B,IAAY,EACZ,QAA2B,EAC3B,MAAyB;IAEzB,MAAM,SAAS,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAC9C,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAC9B,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,aAAa,KAAK,IAAI,CACzE,CAAC;IACF,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IACnE,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO;YACL,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,wCAAwC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;SACvE,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;AACzD,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,wBAAwB,CACtC,QAAgB,EAChB,QAA2B,EAC3B,WAA8B,QAAQ;IAEtC,MAAM,KAAK,GAAG,gBAAgB,CAAC,QAAQ,EAAE,yBAAyB,CAAC,CAAC;IACpE,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACtC,IAAI,IAAI,KAAK,YAAY;YAAE,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5E,IAAI,IAAI,KAAK,WAAW;YAAE,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;QAC1E,IAAI,IAAI,KAAK,YAAY;YAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC;QAChD,OAAO,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AAC7D,CAAC;AAED,SAAS,GAAG,CAAC,GAAW,EAAE,IAAuB;IAC/C,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE;YAC/B,GAAG;YACH,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;SACpC,CAAC,CAAC,IAAI,EAAE,CAAC;IACZ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,wBAAwB,CAAC,IAAY;IACnD,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,cAAc,EAAE,SAAS,EAAE,0BAA0B,CAAC,CAAC,CAAC;IACpF,MAAM,IAAI,GACR,QAAQ,EAAE,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;QACzC,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC,IAAI,CACnC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,gBAAgB,GAAG,EAAE,CAAC,CAAC,KAAK,IAAI,CACzF,CAAC;IACJ,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,YAAY,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IAC1D,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAC5B,4EAA4E;IAC5E,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;IACxF,MAAM,WAAW,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;IAC/E,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,oBAAoB,CAAC,CAAC,CAAC;IAC5E,IAAI,SAAS,KAAK,IAAI,IAAI,WAAW,KAAK,IAAI,IAAI,SAAS,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAClF,OAAO;QACL,GAAG,IAAI,GAAG,CAAC,GAAG,SAAS,KAAK,WAAW,KAAK,SAAS,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;KACrF,CAAC,IAAI,EAAE,CAAC;AACX,CAAC;AAwBD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,SAAiB,EACjB,IAAY,EACZ,OAA2B,EAAE;IAE7B,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;IACrE,MAAM,OAAO,GACX,qBAAqB,CAAC,SAAS,CAChC,EAAE,OAAO,CAAC;IACX,MAAM,QAAQ,GAAG,OAAO,OAAO,EAAE,eAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7F,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAC3B,OAAO;YACL,EAAE,EAAE,KAAK;YACT,QAAQ,EAAE,6BAA6B;YACvC,MAAM,EACJ,uFAAuF;gBACvF,yFAAyF;SAC5F,CAAC;IACJ,CAAC;IACD,yEAAyE;IACzE,2EAA2E;IAC3E,IAAI,aAAuB,CAAC;IAC5B,IAAI,CAAC;QACH,aAAa,GAAG,gBAAgB,CAAC,QAAQ,EAAE,yBAAyB,CAAC,CAAC;IACxE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,EAAE,EAAE,KAAK;YACT,QAAQ,EAAE,6BAA6B;YACvC,MAAM,EAAE,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B;SACjG,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAC;IAC/C,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,OAAO;YACL,EAAE,EAAE,KAAK;YACT,QAAQ,EAAE,yBAAyB;YACnC,MAAM,EAAE,kCAAkC,IAAI,8EAA8E;SAC7H,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,sBAAsB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACpD,IAAI,KAAK,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;QAC3B,OAAO;YACL,EAAE,EAAE,KAAK;YACT,QAAQ,EAAE,yBAAyB;YACnC,MAAM,EAAE,4BAA4B,KAAK,CAAC,MAAM,kCAAkC;SACnF,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO;YACL,EAAE,EAAE,KAAK;YACT,QAAQ,EAAE,yBAAyB;YACnC,MAAM,EACJ,+FAA+F;SAClG,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,aAAa,CAAC,QAAQ,CAAC,YAAY,CAAC;QAClD,CAAC,CAAC,MAAM,mBAAmB,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAClE,kBAAkB,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC,CACpD;QACH,CAAC,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1D,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;QAChB,OAAO,OAAO,CAAC,IAAI;YACjB,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,yBAAyB,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;YAC3F,CAAC,CAAC;gBACE,EAAE,EAAE,KAAK;gBACT,QAAQ,EAAE,yBAAyB;gBACnC,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,kBAAkB;aAC5C,CAAC;IACR,CAAC;IACD,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IACvC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,wBAAwB,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACnF,OAAO;QACL,EAAE,EAAE,IAAI;QACR,OAAO,EAAE;YACP,SAAS,EAAE,MAAM;YACjB,WAAW,EAAE,eAAe;YAC5B,GAAG;YACH,IAAI;YACJ,MAAM,EAAE,iBAAiB;SAC1B;QACD,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,QAAQ;QACR,QAAQ;KACT,CAAC;AACJ,CAAC"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * When an affected-scope `testsPassed` stops counting (owner decision D11150).
3
+ *
4
+ * A `tool:test-affected` run proves the packages a branch diff touches before
5
+ * merge. Once the change has merged, only merged CI (`ci:<pr>`) or a full
6
+ * `tool:test` proves `testsPassed`. This module is the single place that rule
7
+ * lives: `cleo done` planning and `cleo complete` both ask it.
8
+ *
9
+ * @task T12656
10
+ */
11
+ import type { ChangeSetMergeState, EvidenceAtom, Task, TaskChangeSet } from '@cleocode/contracts';
12
+ import type { ChangeSetDeps } from './change-set.js';
13
+ /** Whether the task's change has merged to the default branch. */
14
+ export type ChangeMergeState = ChangeSetMergeState;
15
+ /**
16
+ * Recorded `testsPassed` evidence whose only verification result is an
17
+ * affected-scope run (no `ci:`, `test-run:` or full `tool:` result).
18
+ *
19
+ * @param atoms - The gate's recorded atoms.
20
+ * @returns True when every result atom is a `scope: 'affected'` tool run.
21
+ * @task T12656
22
+ */
23
+ export declare function isAffectedOnly(atoms: ReadonlyArray<EvidenceAtom>): boolean;
24
+ /**
25
+ * The merge state a derived change set implies. What the PR lookup found
26
+ * decides (`mergeState`), never `source` alone: a merged PR whose `pr:`
27
+ * check was refused falls back to the task branch, which outlives a squash
28
+ * merge (T12656 review HIGH). Otherwise a merged-PR change set is merged, a
29
+ * failed merged-PR lookup unknown, anything else unmerged.
30
+ *
31
+ * @param changeSet - Derived change set.
32
+ * @returns The merge state.
33
+ * @task T12656
34
+ */
35
+ export declare function mergeStateOfChangeSet(changeSet: Pick<TaskChangeSet, 'source' | 'prDiscoveryFailed' | 'mergeState'>): ChangeMergeState;
36
+ /**
37
+ * Why a recorded `testsPassed` no longer stands, or null when it does.
38
+ * Fails closed: an affected-only result whose merge state is unknown does not
39
+ * stand either, since a scoped run counts before merge ONLY.
40
+ *
41
+ * @param atoms - Recorded `testsPassed` atoms.
42
+ * @param state - Merge state of the task's change.
43
+ * @returns The reason, or null.
44
+ * @task T12656
45
+ */
46
+ export declare function affectedScopeSupersededReason(atoms: ReadonlyArray<EvidenceAtom>, state: ChangeMergeState): string | null;
47
+ /**
48
+ * The same rule for a stored task, deriving the merge state only when the
49
+ * recorded `testsPassed` is affected-only (so ordinary completions pay
50
+ * nothing). A recorded `pr:` implemented atom proves the merge on its own.
51
+ *
52
+ * @param task - The task being completed.
53
+ * @param storeRoot - CLEO store root.
54
+ * @param deps - Change-set I/O (tests inject `gh`).
55
+ * @returns The reason `testsPassed` no longer stands, or null.
56
+ * @task T12656
57
+ */
58
+ export declare function taskAffectedScopeSupersededReason(task: Task, storeRoot: string, deps?: ChangeSetDeps): Promise<string | null>;
59
+ //# sourceMappingURL=affected-scope.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"affected-scope.d.ts","sourceRoot":"","sources":["../../src/tasks/affected-scope.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAClG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,kEAAkE;AAClE,MAAM,MAAM,gBAAgB,GAAG,mBAAmB,CAAC;AAEnD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,aAAa,CAAC,YAAY,CAAC,GAAG,OAAO,CAK1E;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,IAAI,CAAC,aAAa,EAAE,QAAQ,GAAG,mBAAmB,GAAG,YAAY,CAAC,GAC5E,gBAAgB,CAIlB;AAED;;;;;;;;;GASG;AACH,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,aAAa,CAAC,YAAY,CAAC,EAClC,KAAK,EAAE,gBAAgB,GACtB,MAAM,GAAG,IAAI,CAKf;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,iCAAiC,CACrD,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE,aAAa,GACnB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAUxB"}
@@ -0,0 +1,81 @@
1
+ /**
2
+ * When an affected-scope `testsPassed` stops counting (owner decision D11150).
3
+ *
4
+ * A `tool:test-affected` run proves the packages a branch diff touches before
5
+ * merge. Once the change has merged, only merged CI (`ci:<pr>`) or a full
6
+ * `tool:test` proves `testsPassed`. This module is the single place that rule
7
+ * lives: `cleo done` planning and `cleo complete` both ask it.
8
+ *
9
+ * @task T12656
10
+ */
11
+ /**
12
+ * Recorded `testsPassed` evidence whose only verification result is an
13
+ * affected-scope run (no `ci:`, `test-run:` or full `tool:` result).
14
+ *
15
+ * @param atoms - The gate's recorded atoms.
16
+ * @returns True when every result atom is a `scope: 'affected'` tool run.
17
+ * @task T12656
18
+ */
19
+ export function isAffectedOnly(atoms) {
20
+ const results = atoms.filter((a) => a.kind === 'tool' || a.kind === 'test-run' || a.kind === 'ci');
21
+ return results.length > 0 && results.every((a) => a.kind === 'tool' && a.scope === 'affected');
22
+ }
23
+ /**
24
+ * The merge state a derived change set implies. What the PR lookup found
25
+ * decides (`mergeState`), never `source` alone: a merged PR whose `pr:`
26
+ * check was refused falls back to the task branch, which outlives a squash
27
+ * merge (T12656 review HIGH). Otherwise a merged-PR change set is merged, a
28
+ * failed merged-PR lookup unknown, anything else unmerged.
29
+ *
30
+ * @param changeSet - Derived change set.
31
+ * @returns The merge state.
32
+ * @task T12656
33
+ */
34
+ export function mergeStateOfChangeSet(changeSet) {
35
+ if (changeSet.mergeState)
36
+ return changeSet.mergeState;
37
+ if (changeSet.source === 'pr')
38
+ return 'merged';
39
+ return changeSet.prDiscoveryFailed === true ? 'unknown' : 'unmerged';
40
+ }
41
+ /**
42
+ * Why a recorded `testsPassed` no longer stands, or null when it does.
43
+ * Fails closed: an affected-only result whose merge state is unknown does not
44
+ * stand either, since a scoped run counts before merge ONLY.
45
+ *
46
+ * @param atoms - Recorded `testsPassed` atoms.
47
+ * @param state - Merge state of the task's change.
48
+ * @returns The reason, or null.
49
+ * @task T12656
50
+ */
51
+ export function affectedScopeSupersededReason(atoms, state) {
52
+ if (state === 'unmerged' || !isAffectedOnly(atoms))
53
+ return null;
54
+ return state === 'merged'
55
+ ? 'testsPassed was recorded from an affected-scope run; the merged change needs merged CI (ci:<pr>) or a full run (tool:test).'
56
+ : 'testsPassed was recorded from an affected-scope run, which counts before merge only, and whether the change has merged cannot be determined because gh was unreachable (check `gh auth status`); retry, or record tool:test (or ci:<pr>).';
57
+ }
58
+ /**
59
+ * The same rule for a stored task, deriving the merge state only when the
60
+ * recorded `testsPassed` is affected-only (so ordinary completions pay
61
+ * nothing). A recorded `pr:` implemented atom proves the merge on its own.
62
+ *
63
+ * @param task - The task being completed.
64
+ * @param storeRoot - CLEO store root.
65
+ * @param deps - Change-set I/O (tests inject `gh`).
66
+ * @returns The reason `testsPassed` no longer stands, or null.
67
+ * @task T12656
68
+ */
69
+ export async function taskAffectedScopeSupersededReason(task, storeRoot, deps) {
70
+ const atoms = task.verification?.evidence?.testsPassed?.atoms ?? [];
71
+ if (!isAffectedOnly(atoms))
72
+ return null;
73
+ const implemented = task.verification?.evidence?.implemented?.atoms ?? [];
74
+ if (implemented.some((a) => a.kind === 'pr')) {
75
+ return affectedScopeSupersededReason(atoms, 'merged');
76
+ }
77
+ const { deriveTaskChangeSet } = await import('./change-set.js');
78
+ const changeSet = await deriveTaskChangeSet({ task, storeRoot, cwd: storeRoot }, deps);
79
+ return affectedScopeSupersededReason(atoms, mergeStateOfChangeSet(changeSet));
80
+ }
81
+ //# sourceMappingURL=affected-scope.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"affected-scope.js","sourceRoot":"","sources":["../../src/tasks/affected-scope.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAQH;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAAC,KAAkC;IAC/D,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAC1B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CACrE,CAAC;IACF,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC;AACjG,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,qBAAqB,CACnC,SAA6E;IAE7E,IAAI,SAAS,CAAC,UAAU;QAAE,OAAO,SAAS,CAAC,UAAU,CAAC;IACtD,IAAI,SAAS,CAAC,MAAM,KAAK,IAAI;QAAE,OAAO,QAAQ,CAAC;IAC/C,OAAO,SAAS,CAAC,iBAAiB,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;AACvE,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,6BAA6B,CAC3C,KAAkC,EAClC,KAAuB;IAEvB,IAAI,KAAK,KAAK,UAAU,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAChE,OAAO,KAAK,KAAK,QAAQ;QACvB,CAAC,CAAC,6HAA6H;QAC/H,CAAC,CAAC,2OAA2O,CAAC;AAClP,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,iCAAiC,CACrD,IAAU,EACV,SAAiB,EACjB,IAAoB;IAEpB,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC;IACpE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACxC,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC;IAC1E,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QAC7C,OAAO,6BAA6B,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACxD,CAAC;IACD,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAChE,MAAM,SAAS,GAAG,MAAM,mBAAmB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,IAAI,CAAC,CAAC;IACvF,OAAO,6BAA6B,CAAC,KAAK,EAAE,qBAAqB,CAAC,SAAS,CAAC,CAAC,CAAC;AAChF,CAAC"}
@@ -3,11 +3,39 @@
3
3
  * @task T4538
4
4
  * @epic T4454
5
5
  */
6
- import type { TaskAnalysisResult } from '@cleocode/contracts';
6
+ import type { Task, TaskAnalysisResult } from '@cleocode/contracts';
7
7
  import type { DataAccessor } from '../store/data-accessor.js';
8
8
  export interface AnalysisResult extends TaskAnalysisResult {
9
9
  autoStarted?: boolean;
10
10
  }
11
+ /** One ranked task as the analyze tiers report it. */
12
+ export interface AnalysisRankedTask {
13
+ id: string;
14
+ title: string;
15
+ /** Open tasks this task unblocks (the scorer's leverage input). */
16
+ leverage: number;
17
+ priority: Task['priority'];
18
+ score: number;
19
+ }
20
+ /**
21
+ * Rank tasks for `cleo analyze` exactly as `cleo next` and the briefing do —
22
+ * {@link rankReadyTasks} with {@link resolveRankingPhase} and BRAIN patterns —
23
+ * so all three recommend the same task in the same order (T12661).
24
+ *
25
+ * @param accessor - Task data accessor.
26
+ * @param allTasks - The active task population.
27
+ * @param opts - Project root (for BRAIN patterns), an optional id scope, and
28
+ * `nowMs` (defaults to now) for the age tiebreak.
29
+ * @returns Ranked ready tasks with their open-dependent leverage.
30
+ * @task T12661
31
+ */
32
+ export declare function rankForAnalysis(accessor: DataAccessor, allTasks: readonly Task[], opts?: {
33
+ projectRoot?: string;
34
+ scopeTaskIds?: ReadonlySet<string>;
35
+ nowMs?: number;
36
+ }): Promise<{
37
+ ranked: AnalysisRankedTask[];
38
+ }>;
11
39
  /** Analyze task priority with leverage scoring. */
12
40
  export declare function analyzeTaskPriority(opts: {
13
41
  autoStart?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"analyze.d.ts","sourceRoot":"","sources":["../../src/tasks/analyze.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAiB,MAAM,qBAAqB,CAAC;AAC7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAG9D,MAAM,WAAW,cAAe,SAAQ,kBAAkB;IACxD,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,mDAAmD;AACnD,wBAAsB,mBAAmB,CACvC,IAAI,EAAE;IACJ,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,EACD,QAAQ,CAAC,EAAE,YAAY,GACtB,OAAO,CAAC,cAAc,CAAC,CAwFzB"}
1
+ {"version":3,"file":"analyze.d.ts","sourceRoot":"","sources":["../../src/tasks/analyze.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAIpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAK9D,MAAM,WAAW,cAAe,SAAQ,kBAAkB;IACxD,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,sDAAsD;AACtD,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,mEAAmE;IACnE,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,YAAY,EACtB,QAAQ,EAAE,SAAS,IAAI,EAAE,EACzB,IAAI,GAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,GACtF,OAAO,CAAC;IAAE,MAAM,EAAE,kBAAkB,EAAE,CAAA;CAAE,CAAC,CAe3C;AAED,mDAAmD;AACnD,wBAAsB,mBAAmB,CACvC,IAAI,EAAE;IACJ,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,EACD,QAAQ,CAAC,EAAE,YAAY,GACtB,OAAO,CAAC,cAAc,CAAC,CAsEzB"}