@lumenflow/core 2.19.0 → 2.20.1

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 (558) hide show
  1. package/dist/active-wu-detector.d.ts +2 -2
  2. package/dist/active-wu-detector.d.ts.map +1 -1
  3. package/dist/active-wu-detector.js +1 -1
  4. package/dist/active-wu-detector.js.map +1 -1
  5. package/dist/adapters/context-adapters.d.ts +10 -0
  6. package/dist/adapters/context-adapters.d.ts.map +1 -1
  7. package/dist/adapters/context-adapters.js +15 -3
  8. package/dist/adapters/context-adapters.js.map +1 -1
  9. package/dist/adapters/filesystem-metrics.adapter.d.ts.map +1 -1
  10. package/dist/adapters/filesystem-metrics.adapter.js +13 -7
  11. package/dist/adapters/filesystem-metrics.adapter.js.map +1 -1
  12. package/dist/adapters/mock-dashboard-renderer.adapter.d.ts +1 -1
  13. package/dist/adapters/mock-dashboard-renderer.adapter.js +1 -1
  14. package/dist/agent-patterns-registry.d.ts +2 -2
  15. package/dist/agent-patterns-registry.js +5 -5
  16. package/dist/agent-patterns-registry.js.map +1 -1
  17. package/dist/arg-parser.d.ts.map +1 -1
  18. package/dist/arg-parser.js +4 -2
  19. package/dist/arg-parser.js.map +1 -1
  20. package/dist/backlog-editor.d.ts +21 -17
  21. package/dist/backlog-editor.d.ts.map +1 -1
  22. package/dist/backlog-editor.js +6 -29
  23. package/dist/backlog-editor.js.map +1 -1
  24. package/dist/backlog-generator.d.ts +14 -8
  25. package/dist/backlog-generator.d.ts.map +1 -1
  26. package/dist/backlog-generator.js +53 -20
  27. package/dist/backlog-generator.js.map +1 -1
  28. package/dist/backlog-parser.d.ts +2 -2
  29. package/dist/backlog-parser.d.ts.map +1 -1
  30. package/dist/backlog-parser.js.map +1 -1
  31. package/dist/backlog-sync-validator.d.ts +19 -10
  32. package/dist/backlog-sync-validator.d.ts.map +1 -1
  33. package/dist/backlog-sync-validator.js +41 -16
  34. package/dist/backlog-sync-validator.js.map +1 -1
  35. package/dist/branch-drift.d.ts +1 -1
  36. package/dist/branch-drift.d.ts.map +1 -1
  37. package/dist/branch-drift.js.map +1 -1
  38. package/dist/cleanup-lock.d.ts +4 -4
  39. package/dist/cleanup-lock.d.ts.map +1 -1
  40. package/dist/cleanup-lock.js.map +1 -1
  41. package/dist/cloud-detect.d.ts +1 -1
  42. package/dist/cloud-detect.d.ts.map +1 -1
  43. package/dist/code-path-validator.d.ts.map +1 -1
  44. package/dist/code-path-validator.js +15 -4
  45. package/dist/code-path-validator.js.map +1 -1
  46. package/dist/code-paths-overlap.d.ts +6 -3
  47. package/dist/code-paths-overlap.d.ts.map +1 -1
  48. package/dist/code-paths-overlap.js +1 -1
  49. package/dist/code-paths-overlap.js.map +1 -1
  50. package/dist/color-support.d.ts +1 -1
  51. package/dist/color-support.js +2 -2
  52. package/dist/color-support.js.map +1 -1
  53. package/dist/commands-logger.d.ts +11 -4
  54. package/dist/commands-logger.d.ts.map +1 -1
  55. package/dist/commands-logger.js +1 -1
  56. package/dist/commands-logger.js.map +1 -1
  57. package/dist/commit-message-utils.d.ts +1 -1
  58. package/dist/commit-message-utils.d.ts.map +1 -1
  59. package/dist/commit-message-utils.js.map +1 -1
  60. package/dist/compliance-parser.d.ts +86 -112
  61. package/dist/compliance-parser.d.ts.map +1 -1
  62. package/dist/compliance-parser.js +10 -61
  63. package/dist/compliance-parser.js.map +1 -1
  64. package/dist/constants/backlog-patterns.d.ts +1 -1
  65. package/dist/constants/backlog-patterns.d.ts.map +1 -1
  66. package/dist/constants/backlog-patterns.js.map +1 -1
  67. package/dist/context/location-resolver.js +1 -1
  68. package/dist/context/location-resolver.js.map +1 -1
  69. package/dist/context/wu-state-reader.d.ts +2 -0
  70. package/dist/context/wu-state-reader.d.ts.map +1 -1
  71. package/dist/context/wu-state-reader.js +3 -0
  72. package/dist/context/wu-state-reader.js.map +1 -1
  73. package/dist/context-validation-integration.d.ts +1 -1
  74. package/dist/context-validation-integration.d.ts.map +1 -1
  75. package/dist/context-validation-integration.js +1 -1
  76. package/dist/context-validation-integration.js.map +1 -1
  77. package/dist/core/scope-checker.d.ts +4 -4
  78. package/dist/core/scope-checker.d.ts.map +1 -1
  79. package/dist/core/scope-checker.js.map +1 -1
  80. package/dist/core/tool.schemas.d.ts +1 -1
  81. package/dist/core/tool.schemas.d.ts.map +1 -1
  82. package/dist/core/worktree-guard.d.ts +1 -1
  83. package/dist/core/worktree-guard.d.ts.map +1 -1
  84. package/dist/core/worktree-guard.js.map +1 -1
  85. package/dist/coverage-gate.d.ts +14 -9
  86. package/dist/coverage-gate.d.ts.map +1 -1
  87. package/dist/coverage-gate.js +2 -2
  88. package/dist/coverage-gate.js.map +1 -1
  89. package/dist/date-utils.d.ts +3 -3
  90. package/dist/date-utils.d.ts.map +1 -1
  91. package/dist/date-utils.js.map +1 -1
  92. package/dist/delegation-escalation.d.ts +2 -2
  93. package/dist/delegation-escalation.d.ts.map +1 -1
  94. package/dist/delegation-escalation.js +6 -2
  95. package/dist/delegation-escalation.js.map +1 -1
  96. package/dist/delegation-monitor.d.ts +76 -22
  97. package/dist/delegation-monitor.d.ts.map +1 -1
  98. package/dist/delegation-monitor.js +3 -2
  99. package/dist/delegation-monitor.js.map +1 -1
  100. package/dist/delegation-recovery.d.ts +2 -2
  101. package/dist/delegation-recovery.d.ts.map +1 -1
  102. package/dist/delegation-recovery.js +4 -1
  103. package/dist/delegation-recovery.js.map +1 -1
  104. package/dist/delegation-registry-schema.d.ts +4 -4
  105. package/dist/delegation-registry-store.d.ts.map +1 -1
  106. package/dist/delegation-registry-store.js +8 -1
  107. package/dist/delegation-registry-store.js.map +1 -1
  108. package/dist/delegation-tree.d.ts +1 -1
  109. package/dist/delegation-tree.d.ts.map +1 -1
  110. package/dist/delegation-tree.js.map +1 -1
  111. package/dist/dependency-graph.d.ts +44 -24
  112. package/dist/dependency-graph.d.ts.map +1 -1
  113. package/dist/dependency-graph.js +60 -32
  114. package/dist/dependency-graph.js.map +1 -1
  115. package/dist/dependency-guard.d.ts +2 -2
  116. package/dist/dependency-guard.d.ts.map +1 -1
  117. package/dist/dependency-guard.js.map +1 -1
  118. package/dist/dependency-validator.d.ts +4 -4
  119. package/dist/dependency-validator.d.ts.map +1 -1
  120. package/dist/dependency-validator.js +2 -1
  121. package/dist/dependency-validator.js.map +1 -1
  122. package/dist/docs-path-validator.d.ts +1 -1
  123. package/dist/docs-path-validator.d.ts.map +1 -1
  124. package/dist/docs-path-validator.js.map +1 -1
  125. package/dist/domain/orchestration.constants.d.ts +2 -2
  126. package/dist/domain/orchestration.constants.js +2 -2
  127. package/dist/domain/orchestration.schemas.d.ts +2 -2
  128. package/dist/domain/recovery.schemas.js +2 -2
  129. package/dist/domain/recovery.schemas.js.map +1 -1
  130. package/dist/domain/validation.schemas.js +1 -1
  131. package/dist/domain/validation.schemas.js.map +1 -1
  132. package/dist/error-handler.d.ts +3 -3
  133. package/dist/error-handler.d.ts.map +1 -1
  134. package/dist/error-handler.js.map +1 -1
  135. package/dist/file-classifiers.d.ts +3 -3
  136. package/dist/file-classifiers.d.ts.map +1 -1
  137. package/dist/file-classifiers.js.map +1 -1
  138. package/dist/force-bypass-audit.d.ts.map +1 -1
  139. package/dist/force-bypass-audit.js.map +1 -1
  140. package/dist/gates-config.d.ts +1 -1
  141. package/dist/gates-config.js +1 -1
  142. package/dist/gates-config.js.map +1 -1
  143. package/dist/generate-traceability.d.ts +61 -51
  144. package/dist/generate-traceability.d.ts.map +1 -1
  145. package/dist/generate-traceability.js +34 -61
  146. package/dist/generate-traceability.js.map +1 -1
  147. package/dist/git-adapter.d.ts +3 -16
  148. package/dist/git-adapter.d.ts.map +1 -1
  149. package/dist/git-adapter.js +1 -1
  150. package/dist/git-adapter.js.map +1 -1
  151. package/dist/git-context-extractor.d.ts.map +1 -1
  152. package/dist/git-context-extractor.js +21 -10
  153. package/dist/git-context-extractor.js.map +1 -1
  154. package/dist/git-staged-validator.d.ts +1 -1
  155. package/dist/git-staged-validator.d.ts.map +1 -1
  156. package/dist/git-staged-validator.js +3 -2
  157. package/dist/git-staged-validator.js.map +1 -1
  158. package/dist/hardcoded-strings.d.ts +8 -3
  159. package/dist/hardcoded-strings.d.ts.map +1 -1
  160. package/dist/hardcoded-strings.js +4 -1
  161. package/dist/hardcoded-strings.js.map +1 -1
  162. package/dist/incremental-lint.d.ts +2 -2
  163. package/dist/incremental-lint.d.ts.map +1 -1
  164. package/dist/incremental-lint.js.map +1 -1
  165. package/dist/incremental-test.d.ts +1 -1
  166. package/dist/incremental-test.d.ts.map +1 -1
  167. package/dist/incremental-test.js.map +1 -1
  168. package/dist/index.d.ts +7 -1
  169. package/dist/index.d.ts.map +1 -1
  170. package/dist/index.js +6 -0
  171. package/dist/index.js.map +1 -1
  172. package/dist/invariants/check-automated-tests.d.ts +11 -4
  173. package/dist/invariants/check-automated-tests.d.ts.map +1 -1
  174. package/dist/invariants/check-automated-tests.js +1 -1
  175. package/dist/invariants/check-automated-tests.js.map +1 -1
  176. package/dist/invariants-runner.d.ts +32 -7
  177. package/dist/invariants-runner.d.ts.map +1 -1
  178. package/dist/invariants-runner.js +20 -6
  179. package/dist/invariants-runner.js.map +1 -1
  180. package/dist/lane-checker.d.ts.map +1 -1
  181. package/dist/lane-checker.js +3 -0
  182. package/dist/lane-checker.js.map +1 -1
  183. package/dist/lane-inference.d.ts +7 -6
  184. package/dist/lane-inference.d.ts.map +1 -1
  185. package/dist/lane-inference.js +16 -9
  186. package/dist/lane-inference.js.map +1 -1
  187. package/dist/lane-suggest-prompt.d.ts +1 -1
  188. package/dist/lane-suggest-prompt.d.ts.map +1 -1
  189. package/dist/lane-validator.d.ts +5 -5
  190. package/dist/lane-validator.d.ts.map +1 -1
  191. package/dist/lane-validator.js +6 -6
  192. package/dist/lane-validator.js.map +1 -1
  193. package/dist/logs-lib.d.ts +1 -1
  194. package/dist/logs-lib.d.ts.map +1 -1
  195. package/dist/logs-lib.js +4 -1
  196. package/dist/logs-lib.js.map +1 -1
  197. package/dist/lumenflow-config-schema.d.ts +57 -57
  198. package/dist/lumenflow-config-schema.js +1 -1
  199. package/dist/lumenflow-config-schema.js.map +1 -1
  200. package/dist/manual-test-validator.d.ts +9 -9
  201. package/dist/manual-test-validator.d.ts.map +1 -1
  202. package/dist/manual-test-validator.js +4 -4
  203. package/dist/manual-test-validator.js.map +1 -1
  204. package/dist/merge-lock.d.ts +2 -2
  205. package/dist/merge-lock.d.ts.map +1 -1
  206. package/dist/merge-lock.js.map +1 -1
  207. package/dist/micro-worktree.d.ts +2 -2
  208. package/dist/micro-worktree.js +3 -3
  209. package/dist/micro-worktree.js.map +1 -1
  210. package/dist/orchestration-advisory-loader.d.ts +2 -2
  211. package/dist/orchestration-advisory-loader.d.ts.map +1 -1
  212. package/dist/orchestration-advisory-loader.js +1 -1
  213. package/dist/orchestration-advisory-loader.js.map +1 -1
  214. package/dist/orchestration-rules.d.ts +21 -9
  215. package/dist/orchestration-rules.d.ts.map +1 -1
  216. package/dist/orchestration-rules.js +1 -1
  217. package/dist/orchestration-rules.js.map +1 -1
  218. package/dist/orphan-detector.d.ts +11 -11
  219. package/dist/orphan-detector.d.ts.map +1 -1
  220. package/dist/orphan-detector.js.map +1 -1
  221. package/dist/path-classifiers.d.ts +2 -2
  222. package/dist/path-classifiers.d.ts.map +1 -1
  223. package/dist/path-classifiers.js.map +1 -1
  224. package/dist/piped-command-detector.d.ts +3 -3
  225. package/dist/piped-command-detector.d.ts.map +1 -1
  226. package/dist/piped-command-detector.js +1 -1
  227. package/dist/piped-command-detector.js.map +1 -1
  228. package/dist/ports/core-tools.ports.d.ts +1 -1
  229. package/dist/ports/core-tools.ports.js +1 -1
  230. package/dist/ports/dashboard-renderer.port.d.ts +2 -2
  231. package/dist/ports/dashboard-renderer.port.js +1 -1
  232. package/dist/ports/git-validator.ports.d.ts +70 -271
  233. package/dist/ports/git-validator.ports.d.ts.map +1 -1
  234. package/dist/ports/git-validator.ports.js +4 -5
  235. package/dist/ports/git-validator.ports.js.map +1 -1
  236. package/dist/ports/validation.ports.d.ts +1 -1
  237. package/dist/process-detector.d.ts +6 -10
  238. package/dist/process-detector.d.ts.map +1 -1
  239. package/dist/process-detector.js.map +1 -1
  240. package/dist/prompt-linter.d.ts +1 -1
  241. package/dist/prompt-linter.d.ts.map +1 -1
  242. package/dist/prompt-linter.js +4 -3
  243. package/dist/prompt-linter.js.map +1 -1
  244. package/dist/prompt-monitor.d.ts.map +1 -1
  245. package/dist/prompt-monitor.js +2 -2
  246. package/dist/prompt-monitor.js.map +1 -1
  247. package/dist/rebase-artifact-cleanup.d.ts +42 -33
  248. package/dist/rebase-artifact-cleanup.d.ts.map +1 -1
  249. package/dist/rebase-artifact-cleanup.js +8 -9
  250. package/dist/rebase-artifact-cleanup.js.map +1 -1
  251. package/dist/recovery/recovery-analyzer.d.ts +2 -2
  252. package/dist/recovery/recovery-analyzer.d.ts.map +1 -1
  253. package/dist/recovery/recovery-analyzer.js +1 -1
  254. package/dist/recovery/recovery-analyzer.js.map +1 -1
  255. package/dist/resolve-policy.d.ts +1 -1
  256. package/dist/resolve-policy.d.ts.map +1 -1
  257. package/dist/resolve-policy.js +3 -5
  258. package/dist/resolve-policy.js.map +1 -1
  259. package/dist/retry-strategy.d.ts +43 -27
  260. package/dist/retry-strategy.d.ts.map +1 -1
  261. package/dist/retry-strategy.js.map +1 -1
  262. package/dist/risk-detector.d.ts +1 -1
  263. package/dist/risk-detector.js +1 -1
  264. package/dist/rollback-utils.d.ts +6 -6
  265. package/dist/rollback-utils.d.ts.map +1 -1
  266. package/dist/rollback-utils.js +2 -2
  267. package/dist/rollback-utils.js.map +1 -1
  268. package/dist/sandbox-allowlist.d.ts +16 -0
  269. package/dist/sandbox-allowlist.d.ts.map +1 -0
  270. package/dist/sandbox-allowlist.js +75 -0
  271. package/dist/sandbox-allowlist.js.map +1 -0
  272. package/dist/sandbox-backend-linux.d.ts +6 -0
  273. package/dist/sandbox-backend-linux.d.ts.map +1 -0
  274. package/dist/sandbox-backend-linux.js +65 -0
  275. package/dist/sandbox-backend-linux.js.map +1 -0
  276. package/dist/sandbox-backend-macos.d.ts +6 -0
  277. package/dist/sandbox-backend-macos.d.ts.map +1 -0
  278. package/dist/sandbox-backend-macos.js +64 -0
  279. package/dist/sandbox-backend-macos.js.map +1 -0
  280. package/dist/sandbox-backend-windows.d.ts +6 -0
  281. package/dist/sandbox-backend-windows.d.ts.map +1 -0
  282. package/dist/sandbox-backend-windows.js +28 -0
  283. package/dist/sandbox-backend-windows.js.map +1 -0
  284. package/dist/sandbox-profile.d.ts +53 -0
  285. package/dist/sandbox-profile.d.ts.map +1 -0
  286. package/dist/sandbox-profile.js +62 -0
  287. package/dist/sandbox-profile.js.map +1 -0
  288. package/dist/schemas/flow-arg-validators.d.ts +18 -18
  289. package/dist/schemas/initiative-arg-validators.d.ts +28 -28
  290. package/dist/schemas/memory-arg-validators.d.ts +40 -40
  291. package/dist/schemas/schema-utils.js.map +1 -1
  292. package/dist/schemas/setup-arg-validators.d.ts +32 -32
  293. package/dist/schemas/setup-schemas.js +1 -1
  294. package/dist/schemas/setup-schemas.js.map +1 -1
  295. package/dist/schemas/validation-arg-validators.d.ts +4 -4
  296. package/dist/schemas/wu-lifecycle-arg-validators.d.ts +51 -51
  297. package/dist/schemas/wu-lifecycle-schemas.js +1 -1
  298. package/dist/schemas/wu-lifecycle-schemas.js.map +1 -1
  299. package/dist/section-headings.d.ts +6 -6
  300. package/dist/section-headings.d.ts.map +1 -1
  301. package/dist/section-headings.js +7 -5
  302. package/dist/section-headings.js.map +1 -1
  303. package/dist/spawn-strategy.d.ts +1 -1
  304. package/dist/spawn-strategy.js +1 -1
  305. package/dist/stamp-status-validator.d.ts +7 -4
  306. package/dist/stamp-status-validator.d.ts.map +1 -1
  307. package/dist/stamp-status-validator.js.map +1 -1
  308. package/dist/stamp-utils.d.ts +15 -21
  309. package/dist/stamp-utils.d.ts.map +1 -1
  310. package/dist/stamp-utils.js +21 -5
  311. package/dist/stamp-utils.js.map +1 -1
  312. package/dist/state-machine.d.ts +1 -1
  313. package/dist/state-machine.d.ts.map +1 -1
  314. package/dist/state-machine.js +4 -2
  315. package/dist/state-machine.js.map +1 -1
  316. package/dist/system-map-validator.d.ts +25 -13
  317. package/dist/system-map-validator.d.ts.map +1 -1
  318. package/dist/system-map-validator.js +43 -21
  319. package/dist/system-map-validator.js.map +1 -1
  320. package/dist/telemetry.d.ts +9 -9
  321. package/dist/telemetry.d.ts.map +1 -1
  322. package/dist/telemetry.js +6 -5
  323. package/dist/telemetry.js.map +1 -1
  324. package/dist/template-loader.d.ts.map +1 -1
  325. package/dist/template-loader.js +13 -8
  326. package/dist/template-loader.js.map +1 -1
  327. package/dist/token-counter.d.ts +19 -13
  328. package/dist/token-counter.d.ts.map +1 -1
  329. package/dist/token-counter.js +1 -1
  330. package/dist/token-counter.js.map +1 -1
  331. package/dist/usecases/get-dashboard-data.usecase.d.ts +1 -1
  332. package/dist/usecases/get-dashboard-data.usecase.js +1 -1
  333. package/dist/usecases/get-suggestions.usecase.d.ts.map +1 -1
  334. package/dist/usecases/get-suggestions.usecase.js +4 -2
  335. package/dist/usecases/get-suggestions.usecase.js.map +1 -1
  336. package/dist/user-normalizer.d.ts +4 -4
  337. package/dist/user-normalizer.d.ts.map +1 -1
  338. package/dist/user-normalizer.js +2 -2
  339. package/dist/user-normalizer.js.map +1 -1
  340. package/dist/validation/command-registry.d.ts +1 -1
  341. package/dist/validation/command-registry.js +3 -3
  342. package/dist/validation/command-registry.js.map +1 -1
  343. package/dist/validation/types.d.ts +3 -1
  344. package/dist/validation/types.d.ts.map +1 -1
  345. package/dist/worktree-ownership.d.ts +4 -4
  346. package/dist/worktree-ownership.d.ts.map +1 -1
  347. package/dist/worktree-ownership.js +1 -1
  348. package/dist/worktree-ownership.js.map +1 -1
  349. package/dist/worktree-scanner.d.ts +36 -8
  350. package/dist/worktree-scanner.d.ts.map +1 -1
  351. package/dist/worktree-scanner.js +2 -2
  352. package/dist/worktree-scanner.js.map +1 -1
  353. package/dist/worktree-symlink.d.ts +25 -29
  354. package/dist/worktree-symlink.d.ts.map +1 -1
  355. package/dist/worktree-symlink.js +12 -7
  356. package/dist/worktree-symlink.js.map +1 -1
  357. package/dist/wu-backlog-updater.d.ts +1 -1
  358. package/dist/wu-backlog-updater.d.ts.map +1 -1
  359. package/dist/wu-backlog-updater.js.map +1 -1
  360. package/dist/wu-checkpoint.d.ts +6 -6
  361. package/dist/wu-checkpoint.d.ts.map +1 -1
  362. package/dist/wu-checkpoint.js.map +1 -1
  363. package/dist/wu-claim-helpers.d.ts +2 -2
  364. package/dist/wu-claim-helpers.d.ts.map +1 -1
  365. package/dist/wu-claim-helpers.js.map +1 -1
  366. package/dist/wu-claim-resume.d.ts +22 -8
  367. package/dist/wu-claim-resume.d.ts.map +1 -1
  368. package/dist/wu-claim-resume.js.map +1 -1
  369. package/dist/wu-cli-constants.d.ts +1 -3
  370. package/dist/wu-cli-constants.d.ts.map +1 -1
  371. package/dist/wu-cli-constants.js +1 -3
  372. package/dist/wu-cli-constants.js.map +1 -1
  373. package/dist/wu-consistency-checker.d.ts +83 -8
  374. package/dist/wu-consistency-checker.d.ts.map +1 -1
  375. package/dist/wu-consistency-checker.js +15 -8
  376. package/dist/wu-consistency-checker.js.map +1 -1
  377. package/dist/wu-constants.d.ts +2 -2
  378. package/dist/wu-constants.d.ts.map +1 -1
  379. package/dist/wu-constants.js +2 -2
  380. package/dist/wu-constants.js.map +1 -1
  381. package/dist/wu-context-constants.d.ts +4 -0
  382. package/dist/wu-context-constants.d.ts.map +1 -1
  383. package/dist/wu-context-constants.js +4 -0
  384. package/dist/wu-context-constants.js.map +1 -1
  385. package/dist/wu-create-validators.d.ts +3 -3
  386. package/dist/wu-create-validators.d.ts.map +1 -1
  387. package/dist/wu-create-validators.js +1 -1
  388. package/dist/wu-create-validators.js.map +1 -1
  389. package/dist/wu-domain-constants.d.ts +3 -3
  390. package/dist/wu-domain-constants.d.ts.map +1 -1
  391. package/dist/wu-domain-constants.js +7 -11
  392. package/dist/wu-domain-constants.js.map +1 -1
  393. package/dist/wu-done-branch-only.d.ts +16 -13
  394. package/dist/wu-done-branch-only.d.ts.map +1 -1
  395. package/dist/wu-done-branch-only.js +1 -1
  396. package/dist/wu-done-branch-only.js.map +1 -1
  397. package/dist/wu-done-branch-utils.d.ts +1 -1
  398. package/dist/wu-done-branch-utils.d.ts.map +1 -1
  399. package/dist/wu-done-branch-utils.js.map +1 -1
  400. package/dist/wu-done-cleanup.d.ts +1 -1
  401. package/dist/wu-done-cleanup.d.ts.map +1 -1
  402. package/dist/wu-done-cleanup.js.map +1 -1
  403. package/dist/wu-done-concurrent-merge.d.ts +1 -1
  404. package/dist/wu-done-concurrent-merge.d.ts.map +1 -1
  405. package/dist/wu-done-concurrent-merge.js +4 -2
  406. package/dist/wu-done-concurrent-merge.js.map +1 -1
  407. package/dist/wu-done-docs-generate.d.ts +2 -2
  408. package/dist/wu-done-docs-generate.js +2 -2
  409. package/dist/wu-done-docs-only.d.ts +1 -1
  410. package/dist/wu-done-docs-only.d.ts.map +1 -1
  411. package/dist/wu-done-docs-only.js.map +1 -1
  412. package/dist/wu-done-errors.d.ts +3 -3
  413. package/dist/wu-done-errors.d.ts.map +1 -1
  414. package/dist/wu-done-errors.js.map +1 -1
  415. package/dist/wu-done-inputs.d.ts +1 -1
  416. package/dist/wu-done-inputs.d.ts.map +1 -1
  417. package/dist/wu-done-inputs.js.map +1 -1
  418. package/dist/wu-done-machine.d.ts +2 -2
  419. package/dist/wu-done-messages.d.ts +30 -30
  420. package/dist/wu-done-messages.d.ts.map +1 -1
  421. package/dist/wu-done-messages.js +16 -13
  422. package/dist/wu-done-messages.js.map +1 -1
  423. package/dist/wu-done-metadata.d.ts +46 -35
  424. package/dist/wu-done-metadata.d.ts.map +1 -1
  425. package/dist/wu-done-metadata.js +12 -10
  426. package/dist/wu-done-metadata.js.map +1 -1
  427. package/dist/wu-done-paths.d.ts +33 -19
  428. package/dist/wu-done-paths.d.ts.map +1 -1
  429. package/dist/wu-done-paths.js +15 -9
  430. package/dist/wu-done-paths.js.map +1 -1
  431. package/dist/wu-done-pr.d.ts +9 -5
  432. package/dist/wu-done-pr.d.ts.map +1 -1
  433. package/dist/wu-done-pr.js +1 -1
  434. package/dist/wu-done-pr.js.map +1 -1
  435. package/dist/wu-done-preflight.d.ts +33 -27
  436. package/dist/wu-done-preflight.d.ts.map +1 -1
  437. package/dist/wu-done-preflight.js +24 -8
  438. package/dist/wu-done-preflight.js.map +1 -1
  439. package/dist/wu-done-retry-helpers.d.ts +5 -5
  440. package/dist/wu-done-retry-helpers.d.ts.map +1 -1
  441. package/dist/wu-done-retry-helpers.js +2 -2
  442. package/dist/wu-done-retry-helpers.js.map +1 -1
  443. package/dist/wu-done-ui.d.ts +5 -5
  444. package/dist/wu-done-ui.d.ts.map +1 -1
  445. package/dist/wu-done-ui.js +4 -2
  446. package/dist/wu-done-ui.js.map +1 -1
  447. package/dist/wu-done-validation.d.ts +34 -18
  448. package/dist/wu-done-validation.d.ts.map +1 -1
  449. package/dist/wu-done-validation.js +30 -16
  450. package/dist/wu-done-validation.js.map +1 -1
  451. package/dist/wu-done-worktree-services.d.ts +1 -1
  452. package/dist/wu-done-worktree-services.js +2 -2
  453. package/dist/wu-done-worktree-services.js.map +1 -1
  454. package/dist/wu-done-worktree.d.ts +60 -29
  455. package/dist/wu-done-worktree.d.ts.map +1 -1
  456. package/dist/wu-done-worktree.js +62 -45
  457. package/dist/wu-done-worktree.js.map +1 -1
  458. package/dist/wu-events-cleanup.d.ts.map +1 -1
  459. package/dist/wu-events-cleanup.js +6 -2
  460. package/dist/wu-events-cleanup.js.map +1 -1
  461. package/dist/wu-helpers.d.ts +21 -25
  462. package/dist/wu-helpers.d.ts.map +1 -1
  463. package/dist/wu-helpers.js +6 -4
  464. package/dist/wu-helpers.js.map +1 -1
  465. package/dist/wu-id-generator.d.ts.map +1 -1
  466. package/dist/wu-id-generator.js +5 -1
  467. package/dist/wu-id-generator.js.map +1 -1
  468. package/dist/wu-lint.d.ts +110 -48
  469. package/dist/wu-lint.d.ts.map +1 -1
  470. package/dist/wu-lint.js +86 -143
  471. package/dist/wu-lint.js.map +1 -1
  472. package/dist/wu-paths-constants.d.ts +1 -39
  473. package/dist/wu-paths-constants.d.ts.map +1 -1
  474. package/dist/wu-paths-constants.js +1 -39
  475. package/dist/wu-paths-constants.js.map +1 -1
  476. package/dist/wu-preflight-validators.d.ts +49 -107
  477. package/dist/wu-preflight-validators.d.ts.map +1 -1
  478. package/dist/wu-preflight-validators.js +97 -134
  479. package/dist/wu-preflight-validators.js.map +1 -1
  480. package/dist/wu-recovery.d.ts +49 -36
  481. package/dist/wu-recovery.d.ts.map +1 -1
  482. package/dist/wu-recovery.js +22 -14
  483. package/dist/wu-recovery.js.map +1 -1
  484. package/dist/wu-repair-core.d.ts +62 -32
  485. package/dist/wu-repair-core.d.ts.map +1 -1
  486. package/dist/wu-repair-core.js +31 -19
  487. package/dist/wu-repair-core.js.map +1 -1
  488. package/dist/wu-rules-core.d.ts +95 -0
  489. package/dist/wu-rules-core.d.ts.map +1 -0
  490. package/dist/wu-rules-core.js +399 -0
  491. package/dist/wu-rules-core.js.map +1 -0
  492. package/dist/wu-rules-engine.d.ts +29 -0
  493. package/dist/wu-rules-engine.d.ts.map +1 -0
  494. package/dist/wu-rules-engine.js +59 -0
  495. package/dist/wu-rules-engine.js.map +1 -0
  496. package/dist/wu-rules-resolvers.d.ts +19 -0
  497. package/dist/wu-rules-resolvers.d.ts.map +1 -0
  498. package/dist/wu-rules-resolvers.js +208 -0
  499. package/dist/wu-rules-resolvers.js.map +1 -0
  500. package/dist/wu-schema-normalization.d.ts +1 -1
  501. package/dist/wu-schema-normalization.d.ts.map +1 -1
  502. package/dist/wu-schema-normalization.js +5 -2
  503. package/dist/wu-schema-normalization.js.map +1 -1
  504. package/dist/wu-schema.d.ts +155 -186
  505. package/dist/wu-schema.d.ts.map +1 -1
  506. package/dist/wu-schema.js +36 -36
  507. package/dist/wu-schema.js.map +1 -1
  508. package/dist/wu-spawn-helpers.d.ts +7 -7
  509. package/dist/wu-spawn-helpers.d.ts.map +1 -1
  510. package/dist/wu-spawn-helpers.js.map +1 -1
  511. package/dist/wu-spawn-skills.d.ts +6 -6
  512. package/dist/wu-spawn-skills.d.ts.map +1 -1
  513. package/dist/wu-spawn-skills.js.map +1 -1
  514. package/dist/wu-spawn.d.ts +29 -8
  515. package/dist/wu-spawn.d.ts.map +1 -1
  516. package/dist/wu-spawn.js +33 -20
  517. package/dist/wu-spawn.js.map +1 -1
  518. package/dist/wu-state-schema.d.ts +4 -4
  519. package/dist/wu-state-schema.d.ts.map +1 -1
  520. package/dist/wu-state-schema.js.map +1 -1
  521. package/dist/wu-state-store.d.ts.map +1 -1
  522. package/dist/wu-state-store.js +10 -2
  523. package/dist/wu-state-store.js.map +1 -1
  524. package/dist/wu-status-transition.d.ts +21 -13
  525. package/dist/wu-status-transition.d.ts.map +1 -1
  526. package/dist/wu-status-transition.js +15 -8
  527. package/dist/wu-status-transition.js.map +1 -1
  528. package/dist/wu-status-updater.d.ts +2 -2
  529. package/dist/wu-status-updater.d.ts.map +1 -1
  530. package/dist/wu-status-updater.js +7 -2
  531. package/dist/wu-status-updater.js.map +1 -1
  532. package/dist/wu-transaction-collectors.d.ts +35 -37
  533. package/dist/wu-transaction-collectors.d.ts.map +1 -1
  534. package/dist/wu-transaction-collectors.js +7 -2
  535. package/dist/wu-transaction-collectors.js.map +1 -1
  536. package/dist/wu-transaction.d.ts +3 -3
  537. package/dist/wu-transaction.d.ts.map +1 -1
  538. package/dist/wu-transaction.js +4 -9
  539. package/dist/wu-transaction.js.map +1 -1
  540. package/dist/wu-type-helpers.d.ts +1 -1
  541. package/dist/wu-type-helpers.js +1 -1
  542. package/dist/wu-validation.d.ts +26 -10
  543. package/dist/wu-validation.d.ts.map +1 -1
  544. package/dist/wu-validation.js +3 -3
  545. package/dist/wu-validation.js.map +1 -1
  546. package/dist/wu-validator.d.ts +29 -15
  547. package/dist/wu-validator.d.ts.map +1 -1
  548. package/dist/wu-validator.js +23 -15
  549. package/dist/wu-validator.js.map +1 -1
  550. package/dist/wu-yaml-fixer.d.ts +26 -35
  551. package/dist/wu-yaml-fixer.d.ts.map +1 -1
  552. package/dist/wu-yaml-fixer.js +8 -5
  553. package/dist/wu-yaml-fixer.js.map +1 -1
  554. package/dist/wu-yaml.d.ts +9 -9
  555. package/dist/wu-yaml.d.ts.map +1 -1
  556. package/dist/wu-yaml.js +2 -1
  557. package/dist/wu-yaml.js.map +1 -1
  558. package/package.json +5 -11
@@ -1,129 +1,71 @@
1
1
  #!/usr/bin/env node
2
2
  /**
3
- * Preflight validation functions for wu:preflight command
3
+ * Preflight validation functions for wu:preflight and wu:done.
4
4
  *
5
- * WU-1803: Fast validation of code_paths and test paths before gates run.
6
- * WU-1810: Upgraded to use canonical Zod schema validation (catches created format issues).
7
- *
8
- * This catches YAML mismatches early, saving time compared to full wu:done validation.
9
- *
10
- * Key validations:
11
- * - WU YAML schema is valid (full canonical schema, not just required fields)
12
- * - created field is YYYY-MM-DD format (fails fast on ISO timestamps)
13
- * - code_paths files exist
14
- * - test file paths exist (unit, e2e, integration - not manual)
15
- *
16
- * Design goals:
17
- * - Complete in under 5 seconds
18
- * - Clear error messages pointing to missing files
19
- * - Reusable by wu:done for early validation
20
- */
21
- /**
22
- * Result structure for preflight validation
23
- * @typedef {object} PreflightResult
24
- * @property {boolean} valid - Whether all validations passed
25
- * @property {string[]} errors - List of error messages
26
- * @property {string[]} missingCodePaths - Code paths that don't exist
27
- * @property {string[]} missingTestPaths - Test file paths that don't exist
5
+ * Uses phase-aware rules from wu-rules-engine:
6
+ * - intent/structural: syntax + policy intent checks
7
+ * - reality: disk/diff/parity/test existence checks
28
8
  */
9
+ import { type ValidationPhase } from './wu-rules-engine.js';
10
+ interface PreflightResultData {
11
+ valid: boolean;
12
+ errors: string[];
13
+ warnings: string[];
14
+ missingCodePaths: string[];
15
+ missingCoverageCodePaths: string[];
16
+ missingTestPaths: string[];
17
+ changedFiles: string[];
18
+ suggestedTestPaths: Record<string, string[]>;
19
+ }
20
+ interface CreatePreflightResultInput {
21
+ valid: boolean;
22
+ errors?: string[];
23
+ warnings?: string[];
24
+ missingCodePaths?: string[];
25
+ missingCoverageCodePaths?: string[];
26
+ missingTestPaths?: string[];
27
+ changedFiles?: string[];
28
+ suggestedTestPaths?: Record<string, string[]>;
29
+ }
30
+ interface PathValidationResult {
31
+ valid: boolean;
32
+ errors: string[];
33
+ missing: string[];
34
+ }
29
35
  /**
30
36
  * Create a PreflightResult object
31
- *
32
- * @param {object} params - Result parameters
33
- * @param {boolean} params.valid - Whether validation passed
34
- * @param {string[]} [params.errors=[]] - Error messages
35
- * @param {string[]} [params.missingCodePaths=[]] - Missing code paths
36
- * @param {string[]} [params.missingTestPaths=[]] - Missing test paths
37
- * @param {Record<string, string[]>} [params.suggestedTestPaths={}] - Suggested test paths
38
- * @returns {PreflightResult}
39
37
  */
40
- export declare function createPreflightResult({ valid, errors, missingCodePaths, missingTestPaths, suggestedTestPaths, }: {
41
- valid: any;
42
- errors?: any[];
43
- missingCodePaths?: any[];
44
- missingTestPaths?: any[];
45
- suggestedTestPaths?: {};
46
- }): {
47
- valid: any;
48
- errors: any[];
49
- missingCodePaths: any[];
50
- missingTestPaths: any[];
51
- suggestedTestPaths: {};
52
- };
38
+ export declare function createPreflightResult({ valid, errors, warnings, missingCodePaths, missingCoverageCodePaths, missingTestPaths, changedFiles, suggestedTestPaths, }: CreatePreflightResultInput): PreflightResultData;
53
39
  /**
54
- * Validate code_paths files exist
55
- *
56
- * WU-1329: Exported for use by wu:create strict validation.
57
- *
58
- * @param {string[]} codePaths - List of code paths from WU YAML
59
- * @param {string} rootDir - Root directory to resolve paths against
60
- * @returns {{ valid: boolean, errors: string[], missing: string[] }}
40
+ * Validate code_paths files/globs exist on disk.
61
41
  */
62
- export declare function validateCodePathsExistence(codePaths: any, rootDir: any): {
63
- valid: boolean;
64
- errors: string[];
65
- missing: any[];
66
- };
42
+ export declare function validateCodePathsExistence(codePaths: unknown, rootDir: string): PathValidationResult;
67
43
  /**
68
- * Validate test file paths exist (unit, e2e, integration - not manual)
69
- *
70
- * Manual tests are descriptions, not file paths, so they're skipped.
71
- *
72
- * WU-1329: Exported for use by wu:create strict validation.
44
+ * Validate automated test file paths/globs exist.
73
45
  *
74
- * @param {object} tests - tests object from WU YAML
75
- * @param {string} rootDir - Root directory to resolve paths against
76
- * @returns {{ valid: boolean, errors: string[], missing: string[] }}
77
- */
78
- export declare function validateTestPathsExistence(tests: any, rootDir: any): {
79
- valid: boolean;
80
- errors: string[];
81
- missing: any[];
82
- };
83
- /**
84
- * Run preflight validation for a WU
85
- *
86
- * Validates:
87
- * 1. WU YAML schema is valid
88
- * 2. code_paths files exist
89
- * 3. test file paths exist (unit, e2e, integration)
90
- *
91
- * WU-1830: When worktreePath is provided, YAML is read from worktree (not rootDir).
92
- * This ensures that when agent runs wu:edit to update code_paths in worktree,
93
- * preflight validation uses the updated YAML, not stale main.
94
- *
95
- * @param {string} id - WU ID (e.g., 'WU-999')
96
- * @param {ValidatePreflightOptions} [options={}] - Options
97
- * @returns {Promise<PreflightResult>}
46
+ * Non-path-like prose entries are ignored here; they are classified by
47
+ * reality-phase rule R-007.
98
48
  */
49
+ export declare function validateTestPathsExistence(tests: unknown, rootDir: string): PathValidationResult;
99
50
  export interface ValidatePreflightOptions {
100
51
  /** Root directory for path resolution (fallback) */
101
52
  rootDir?: string;
102
53
  /** Worktree path (preferred source for YAML and file checks) */
103
54
  worktreePath?: string | null;
55
+ /** Validation phase (default: reality for preflight entrypoints) */
56
+ phase?: ValidationPhase;
57
+ /** Optional git base ref for reality diff-aware checks */
58
+ baseRef?: string;
59
+ /** Optional git head ref for reality diff-aware checks */
60
+ headRef?: string;
104
61
  }
105
- export declare function validatePreflight(id: any, options?: ValidatePreflightOptions): Promise<{
106
- valid: any;
107
- errors: any[];
108
- missingCodePaths: any[];
109
- missingTestPaths: any[];
110
- suggestedTestPaths: {};
111
- }>;
62
+ export declare function validatePreflight(id: string, options?: ValidatePreflightOptions): Promise<PreflightResultData>;
63
+ export declare function formatPreflightResult(id: string, result: PreflightResultData): string;
112
64
  /**
113
- * Format preflight result as user-friendly message
114
- *
115
- * @param {string} id - WU ID
116
- * @param {PreflightResult} result - Validation result
117
- * @returns {string} Formatted message
65
+ * Build display lines for preflight warnings with a consistent shape.
118
66
  */
119
- export declare function formatPreflightResult(id: any, result: any): string;
67
+ export declare function formatPreflightWarnings(warnings: string[] | undefined, header?: string): string[];
120
68
  export declare const PreflightResult: {};
121
- /**
122
- * Find suggested paths for missing test files
123
- *
124
- * @param {string[]} missingPaths - List of missing test paths
125
- * @param {string} rootDir - Root directory to search in
126
- * @returns {Promise<Record<string, string[]>>} Map of missing path -> suggestions
127
- */
128
- export declare function findSuggestedTestPaths(missingPaths: any, rootDir: any): Promise<{}>;
69
+ export declare function findSuggestedTestPaths(missingPaths: string[], rootDir: string): Promise<Record<string, string[]>>;
70
+ export {};
129
71
  //# sourceMappingURL=wu-preflight-validators.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wu-preflight-validators.d.ts","sourceRoot":"","sources":["../src/wu-preflight-validators.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;;;;GAkBG;AAaH;;;;;;;GAOG;AAEH;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,KAAK,EACL,MAAW,EACX,gBAAqB,EACrB,gBAAqB,EACrB,kBAAuB,GACxB;;;;;;CAAA;;;;;;EAQA;AA4DD;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CAAC,SAAS,KAAA,EAAE,OAAO,KAAA;;;;EAyB5D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,KAAA,EAAE,OAAO,KAAA;;;;EAiCxD;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,wBAAwB;IACvC,oDAAoD;IACpD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gEAAgE;IAChE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED,wBAAsB,iBAAiB,CAAC,EAAE,KAAA,EAAE,OAAO,GAAE,wBAA6B;;;;;;GAqEjF;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,KAAA,EAAE,MAAM,KAAA,UA2B/C;AAGD,eAAO,MAAM,eAAe,IAAK,CAAC;AAClC;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAAC,YAAY,KAAA,EAAE,OAAO,KAAA,eAuCjE"}
1
+ {"version":3,"file":"wu-preflight-validators.d.ts","sourceRoot":"","sources":["../src/wu-preflight-validators.ts"],"names":[],"mappings":";AAEA;;;;;;GAMG;AASH,OAAO,EAIL,KAAK,eAAe,EAIrB,MAAM,sBAAsB,CAAC;AAE9B,UAAU,mBAAmB;IAC3B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,wBAAwB,EAAE,MAAM,EAAE,CAAC;IACnC,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CAC9C;AAED,UAAU,0BAA0B;IAClC,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,wBAAwB,CAAC,EAAE,MAAM,EAAE,CAAC;IACpC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CAC/C;AAYD,UAAU,oBAAoB;IAC5B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAUD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,KAAK,EACL,MAAW,EACX,QAAa,EACb,gBAAqB,EACrB,wBAA6B,EAC7B,gBAAqB,EACrB,YAAiB,EACjB,kBAAuB,GACxB,EAAE,0BAA0B,GAAG,mBAAmB,CAWlD;AAwCD;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,OAAO,EAClB,OAAO,EAAE,MAAM,GACd,oBAAoB,CAwBtB;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,oBAAoB,CAgChG;AAED,MAAM,WAAW,wBAAwB;IACvC,oDAAoD;IACpD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gEAAgE;IAChE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,oEAAoE;IACpE,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,0DAA0D;IAC1D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0DAA0D;IAC1D,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAsB,iBAAiB,CACrC,EAAE,EAAE,MAAM,EACV,OAAO,GAAE,wBAA6B,GACrC,OAAO,CAAC,mBAAmB,CAAC,CAgF9B;AAED,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,GAAG,MAAM,CAiDrF;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,MAAM,EAAE,GAAG,SAAS,EAC9B,MAAM,SAAuD,GAC5D,MAAM,EAAE,CAMV;AAED,eAAO,MAAM,eAAe,IAAK,CAAC;AAElC,wBAAsB,sBAAsB,CAC1C,YAAY,EAAE,MAAM,EAAE,EACtB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAiCnC"}
@@ -1,83 +1,45 @@
1
1
  #!/usr/bin/env node
2
2
  /**
3
- * Preflight validation functions for wu:preflight command
3
+ * Preflight validation functions for wu:preflight and wu:done.
4
4
  *
5
- * WU-1803: Fast validation of code_paths and test paths before gates run.
6
- * WU-1810: Upgraded to use canonical Zod schema validation (catches created format issues).
7
- *
8
- * This catches YAML mismatches early, saving time compared to full wu:done validation.
9
- *
10
- * Key validations:
11
- * - WU YAML schema is valid (full canonical schema, not just required fields)
12
- * - created field is YYYY-MM-DD format (fails fast on ISO timestamps)
13
- * - code_paths files exist
14
- * - test file paths exist (unit, e2e, integration - not manual)
15
- *
16
- * Design goals:
17
- * - Complete in under 5 seconds
18
- * - Clear error messages pointing to missing files
19
- * - Reusable by wu:done for early validation
5
+ * Uses phase-aware rules from wu-rules-engine:
6
+ * - intent/structural: syntax + policy intent checks
7
+ * - reality: disk/diff/parity/test existence checks
20
8
  */
21
- import { existsSync } from 'node:fs';
22
- import path from 'node:path';
23
9
  import { WU_PATHS } from './wu-paths.js';
24
10
  import { readWURaw } from './wu-yaml.js';
25
11
  import { TEST_TYPES, LOG_PREFIX, EMOJI } from './wu-constants.js';
26
- // WU-1810: Import canonical schema for full validation
27
12
  import { BaseWUSchema } from './wu-schema.js';
28
- // WU-1810: Import fixer to detect fixable issues
29
13
  import { detectFixableIssues, FIXABLE_ISSUES } from './wu-yaml-fixer.js';
30
14
  import fg from 'fast-glob';
31
- /**
32
- * Result structure for preflight validation
33
- * @typedef {object} PreflightResult
34
- * @property {boolean} valid - Whether all validations passed
35
- * @property {string[]} errors - List of error messages
36
- * @property {string[]} missingCodePaths - Code paths that don't exist
37
- * @property {string[]} missingTestPaths - Test file paths that don't exist
38
- */
15
+ import path from 'node:path';
16
+ import { isPathLikeTestEntry, pathReferenceExistsSync, validationIssueToDisplayLines, validateWURules, validateWURulesSync, } from './wu-rules-engine.js';
17
+ function getUnknownErrorMessage(error) {
18
+ if (error instanceof Error) {
19
+ return error.message;
20
+ }
21
+ return String(error);
22
+ }
39
23
  /**
40
24
  * Create a PreflightResult object
41
- *
42
- * @param {object} params - Result parameters
43
- * @param {boolean} params.valid - Whether validation passed
44
- * @param {string[]} [params.errors=[]] - Error messages
45
- * @param {string[]} [params.missingCodePaths=[]] - Missing code paths
46
- * @param {string[]} [params.missingTestPaths=[]] - Missing test paths
47
- * @param {Record<string, string[]>} [params.suggestedTestPaths={}] - Suggested test paths
48
- * @returns {PreflightResult}
49
25
  */
50
- export function createPreflightResult({ valid, errors = [], missingCodePaths = [], missingTestPaths = [], suggestedTestPaths = {}, }) {
26
+ export function createPreflightResult({ valid, errors = [], warnings = [], missingCodePaths = [], missingCoverageCodePaths = [], missingTestPaths = [], changedFiles = [], suggestedTestPaths = {}, }) {
51
27
  return {
52
28
  valid,
53
29
  errors,
30
+ warnings,
54
31
  missingCodePaths,
32
+ missingCoverageCodePaths,
55
33
  missingTestPaths,
34
+ changedFiles,
56
35
  suggestedTestPaths,
57
36
  };
58
37
  }
59
- /**
60
- * WU-1810: Validate WU YAML schema using canonical Zod schema
61
- *
62
- * Uses BaseWUSchema (structural validation) rather than minimal required fields.
63
- * This catches created format issues, invalid type/status enums, etc. early.
64
- *
65
- * Special handling for created field:
66
- * - Detects ISO timestamps and Date scalars via wu-yaml-fixer
67
- * - Provides actionable error message suggesting auto-fix
68
- *
69
- * @param {object} doc - Parsed WU YAML document
70
- * @param {string} id - Expected WU ID
71
- * @returns {{ valid: boolean, errors: string[] }}
72
- */
73
38
  function validateSchema(doc, id) {
74
39
  const errors = [];
75
- // Check ID matches (before schema validation for clear error)
76
40
  if (doc.id !== id) {
77
41
  errors.push(`WU ID mismatch: expected ${id}, found ${doc.id}`);
78
42
  }
79
- // WU-1810: Check for fixable issues (especially created field)
80
- // This provides better error messages than raw Zod schema errors
81
43
  const fixableIssues = detectFixableIssues(doc);
82
44
  const createdIssue = fixableIssues.find((issue) => issue.type === FIXABLE_ISSUES.DATE_ISO_TIMESTAMP);
83
45
  if (createdIssue) {
@@ -85,14 +47,11 @@ function validateSchema(doc, id) {
85
47
  `Expected YYYY-MM-DD format. Suggested fix: change to "${createdIssue.suggested}". ` +
86
48
  `Fix by editing the WU YAML file (created: '${createdIssue.suggested}').`);
87
49
  }
88
- // WU-1810: Validate against canonical Zod schema
89
50
  const schemaResult = BaseWUSchema.safeParse(doc);
90
51
  if (!schemaResult.success) {
91
- // Format Zod errors with field paths
92
52
  for (const issue of schemaResult.error.issues) {
93
53
  const fieldPath = issue.path.join('.');
94
54
  const message = issue.message;
95
- // Skip created errors if we already reported a fixable issue
96
55
  if (fieldPath === 'created' && createdIssue) {
97
56
  continue;
98
57
  }
@@ -102,13 +61,7 @@ function validateSchema(doc, id) {
102
61
  return { valid: errors.length === 0, errors };
103
62
  }
104
63
  /**
105
- * Validate code_paths files exist
106
- *
107
- * WU-1329: Exported for use by wu:create strict validation.
108
- *
109
- * @param {string[]} codePaths - List of code paths from WU YAML
110
- * @param {string} rootDir - Root directory to resolve paths against
111
- * @returns {{ valid: boolean, errors: string[], missing: string[] }}
64
+ * Validate code_paths files/globs exist on disk.
112
65
  */
113
66
  export function validateCodePathsExistence(codePaths, rootDir) {
114
67
  if (!codePaths || !Array.isArray(codePaths) || codePaths.length === 0) {
@@ -118,14 +71,13 @@ export function validateCodePathsExistence(codePaths, rootDir) {
118
71
  for (const filePath of codePaths) {
119
72
  if (!filePath || typeof filePath !== 'string')
120
73
  continue;
121
- const fullPath = path.join(rootDir, filePath);
122
- if (!existsSync(fullPath)) {
74
+ if (!pathReferenceExistsSync(filePath, rootDir)) {
123
75
  missing.push(filePath);
124
76
  }
125
77
  }
126
78
  if (missing.length > 0) {
127
79
  const errors = [
128
- `code_paths validation failed - ${missing.length} file(s) not found:`,
80
+ `code_paths validation failed - ${missing.length} path(s) not found:`,
129
81
  ...missing.map((p) => ` - ${p}`),
130
82
  ];
131
83
  return { valid: false, errors, missing };
@@ -133,39 +85,35 @@ export function validateCodePathsExistence(codePaths, rootDir) {
133
85
  return { valid: true, errors: [], missing: [] };
134
86
  }
135
87
  /**
136
- * Validate test file paths exist (unit, e2e, integration - not manual)
137
- *
138
- * Manual tests are descriptions, not file paths, so they're skipped.
139
- *
140
- * WU-1329: Exported for use by wu:create strict validation.
88
+ * Validate automated test file paths/globs exist.
141
89
  *
142
- * @param {object} tests - tests object from WU YAML
143
- * @param {string} rootDir - Root directory to resolve paths against
144
- * @returns {{ valid: boolean, errors: string[], missing: string[] }}
90
+ * Non-path-like prose entries are ignored here; they are classified by
91
+ * reality-phase rule R-007.
145
92
  */
146
93
  export function validateTestPathsExistence(tests, rootDir) {
147
94
  if (!tests || typeof tests !== 'object') {
148
95
  return { valid: true, errors: [], missing: [] };
149
96
  }
97
+ const normalizedTests = tests;
150
98
  const missing = [];
151
- // Test types that are file paths (not manual descriptions)
152
99
  const fileTestTypes = [TEST_TYPES.UNIT, TEST_TYPES.E2E, TEST_TYPES.INTEGRATION];
153
100
  for (const testType of fileTestTypes) {
154
- const paths = tests[testType];
101
+ const paths = normalizedTests[testType];
155
102
  if (!paths || !Array.isArray(paths))
156
103
  continue;
157
104
  for (const filePath of paths) {
158
105
  if (!filePath || typeof filePath !== 'string')
159
106
  continue;
160
- const fullPath = path.join(rootDir, filePath);
161
- if (!existsSync(fullPath)) {
107
+ if (!isPathLikeTestEntry(filePath))
108
+ continue;
109
+ if (!pathReferenceExistsSync(filePath, rootDir)) {
162
110
  missing.push(filePath);
163
111
  }
164
112
  }
165
113
  }
166
114
  if (missing.length > 0) {
167
115
  const errors = [
168
- `test paths validation failed - ${missing.length} test file(s) not found:`,
116
+ `test paths validation failed - ${missing.length} automated test path(s) not found:`,
169
117
  ...missing.map((p) => ` - ${p}`),
170
118
  ];
171
119
  return { valid: false, errors, missing };
@@ -175,48 +123,51 @@ export function validateTestPathsExistence(tests, rootDir) {
175
123
  export async function validatePreflight(id, options = {}) {
176
124
  const rootDir = options.rootDir || process.cwd();
177
125
  const worktreePath = options.worktreePath || rootDir;
126
+ const phase = options.phase || 'reality';
178
127
  const allErrors = [];
128
+ const allWarnings = [];
179
129
  const missingCodePaths = [];
130
+ const missingCoverageCodePaths = [];
180
131
  const missingTestPaths = [];
181
- // Step 1: Read WU YAML from worktree (WU-1830)
182
- // When worktreePath is provided, read YAML from there to get latest code_paths
132
+ const changedFiles = [];
183
133
  const wuPath = path.join(worktreePath, WU_PATHS.WU(id));
184
- // Debug logging for YAML source (WU-1830)
185
- if (options.worktreePath && options.worktreePath !== rootDir) {
186
- if (process.env.DEBUG)
187
- console.log(`[wu-preflight] Reading WU YAML from worktree: ${wuPath}`);
188
- }
189
134
  let doc;
190
135
  try {
191
- // First try to read raw (without ID validation) to provide better errors
192
136
  doc = readWURaw(wuPath);
193
137
  }
194
138
  catch (err) {
195
139
  return createPreflightResult({
196
140
  valid: false,
197
- errors: [`Failed to read WU YAML: ${err.message}`],
141
+ errors: [`Failed to read WU YAML: ${getUnknownErrorMessage(err)}`],
198
142
  });
199
143
  }
200
- // Step 2: Validate schema
201
144
  const schemaResult = validateSchema(doc, id);
202
145
  if (!schemaResult.valid) {
203
146
  allErrors.push(...schemaResult.errors);
204
147
  }
205
- // Step 3: Validate code_paths exist
206
- const codePathsResult = validateCodePathsExistence(doc.code_paths, worktreePath);
207
- if (!codePathsResult.valid) {
208
- allErrors.push(...codePathsResult.errors);
209
- missingCodePaths.push(...codePathsResult.missing);
148
+ const rulesContext = {
149
+ id,
150
+ type: doc.type,
151
+ status: doc.status,
152
+ code_paths: doc.code_paths,
153
+ tests: doc.tests || doc.test_paths || {},
154
+ cwd: worktreePath,
155
+ baseRef: options.baseRef,
156
+ headRef: options.headRef,
157
+ };
158
+ const rulesResult = phase === 'reality'
159
+ ? await validateWURules(rulesContext, { phase })
160
+ : validateWURulesSync(rulesContext, { phase });
161
+ for (const issue of rulesResult.errors) {
162
+ allErrors.push(...validationIssueToDisplayLines(issue));
210
163
  }
211
- // Step 4: Validate test file paths exist
212
- // Support both 'tests' and legacy 'test_paths' field
213
- const testsObj = doc.tests || doc.test_paths || {};
214
- const testPathsResult = validateTestPathsExistence(testsObj, worktreePath);
215
- if (!testPathsResult.valid) {
216
- allErrors.push(...testPathsResult.errors);
217
- missingTestPaths.push(...testPathsResult.missing);
164
+ for (const issue of rulesResult.warnings) {
165
+ allWarnings.push(...validationIssueToDisplayLines(issue));
218
166
  }
219
- // Step 5 (WU-1154): Generate suggestions for missing test paths
167
+ missingCodePaths.push(...rulesResult.metadata.missingCodePaths);
168
+ missingCoverageCodePaths.push(...rulesResult.metadata.missingCoverageCodePaths);
169
+ missingTestPaths.push(...rulesResult.metadata.missingTestPaths);
170
+ changedFiles.push(...rulesResult.metadata.changedFiles);
220
171
  let suggestedTestPaths = {};
221
172
  if (missingTestPaths.length > 0) {
222
173
  const searchRoot = worktreePath || rootDir;
@@ -224,63 +175,80 @@ export async function validatePreflight(id, options = {}) {
224
175
  suggestedTestPaths = await findSuggestedTestPaths(missingTestPaths, searchRoot);
225
176
  }
226
177
  catch (err) {
227
- if (process.env.DEBUG)
228
- console.log(`[wu-preflight] Failed to find suggestions: ${err.message}`);
178
+ if (process.env.DEBUG) {
179
+ console.log(`[wu-preflight] Failed to find suggestions: ${getUnknownErrorMessage(err)}`);
180
+ }
229
181
  }
230
182
  }
231
183
  return createPreflightResult({
232
184
  valid: allErrors.length === 0,
233
185
  errors: allErrors,
186
+ warnings: allWarnings,
234
187
  missingCodePaths,
188
+ missingCoverageCodePaths,
235
189
  missingTestPaths,
190
+ changedFiles,
236
191
  suggestedTestPaths,
237
192
  });
238
193
  }
239
- /**
240
- * Format preflight result as user-friendly message
241
- *
242
- * @param {string} id - WU ID
243
- * @param {PreflightResult} result - Validation result
244
- * @returns {string} Formatted message
245
- */
246
194
  export function formatPreflightResult(id, result) {
247
195
  if (result.valid) {
248
- return `${LOG_PREFIX.PREFLIGHT} ${EMOJI.SUCCESS} Preflight validation passed for ${id}`;
196
+ const lines = [
197
+ `${LOG_PREFIX.PREFLIGHT} ${EMOJI.SUCCESS} Preflight validation passed for ${id}`,
198
+ ];
199
+ if (Array.isArray(result.warnings) && result.warnings.length > 0) {
200
+ lines.push('');
201
+ lines.push(`${LOG_PREFIX.PREFLIGHT} ${EMOJI.WARNING} Warnings:`);
202
+ lines.push(...result.warnings.map((warning) => ` - ${warning}`));
203
+ }
204
+ return lines.join('\n');
249
205
  }
250
206
  const lines = [
251
207
  `${LOG_PREFIX.PREFLIGHT} ${EMOJI.FAILURE} Preflight validation failed for ${id}`,
252
208
  '',
253
209
  ...result.errors,
254
210
  ];
211
+ if (Array.isArray(result.warnings) && result.warnings.length > 0) {
212
+ lines.push('');
213
+ lines.push(`${LOG_PREFIX.PREFLIGHT} ${EMOJI.WARNING} Warnings:`);
214
+ lines.push(...result.warnings.map((warning) => ` - ${warning}`));
215
+ }
255
216
  if (result.missingCodePaths.length > 0) {
256
217
  lines.push('');
257
- lines.push('Fix options:');
258
- lines.push(' 1. Create the missing files');
218
+ lines.push('Fix options for missing code_paths:');
219
+ lines.push(' 1. Create the missing files/glob targets');
259
220
  lines.push(` 2. Update code_paths in ${id}.yaml to match actual files`);
260
221
  }
222
+ if (result.missingCoverageCodePaths.length > 0) {
223
+ lines.push('');
224
+ lines.push('Fix options for code_paths coverage vs branch diff:');
225
+ lines.push(' 1. Commit changes that touch each missing scoped code_path');
226
+ lines.push(` 2. Update code_paths in ${id}.yaml to match actual branch scope`);
227
+ lines.push(` 3. Re-run: pnpm wu:prep --id ${id}`);
228
+ }
261
229
  if (result.missingTestPaths.length > 0) {
262
230
  lines.push('');
263
- lines.push('For test paths:');
264
- lines.push(' 1. Create the missing test files');
231
+ lines.push('Fix options for automated test paths:');
232
+ lines.push(' 1. Create the missing test files/glob targets');
265
233
  lines.push(` 2. Update tests in ${id}.yaml to match actual files`);
266
- lines.push(' 3. Or use tests.manual for non-file test descriptions');
234
+ lines.push(' 3. Move prose/non-path test notes into tests.manual');
267
235
  }
268
236
  return lines.join('\n');
269
237
  }
270
- // Export PreflightResult type for documentation
271
- export const PreflightResult = {};
272
238
  /**
273
- * Find suggested paths for missing test files
274
- *
275
- * @param {string[]} missingPaths - List of missing test paths
276
- * @param {string} rootDir - Root directory to search in
277
- * @returns {Promise<Record<string, string[]>>} Map of missing path -> suggestions
239
+ * Build display lines for preflight warnings with a consistent shape.
278
240
  */
241
+ export function formatPreflightWarnings(warnings, header = `${LOG_PREFIX.PREFLIGHT} ${EMOJI.WARNING} Warnings:`) {
242
+ if (!Array.isArray(warnings) || warnings.length === 0) {
243
+ return [];
244
+ }
245
+ return [header, ...warnings.map((warning) => ` - ${warning}`)];
246
+ }
247
+ export const PreflightResult = {};
279
248
  export async function findSuggestedTestPaths(missingPaths, rootDir) {
280
249
  const suggestions = {};
281
250
  if (missingPaths.length === 0)
282
251
  return suggestions;
283
- // Cache strict searches to avoid re-reading fs
284
252
  const globOptions = {
285
253
  cwd: rootDir,
286
254
  caseSensitiveMatch: false,
@@ -288,23 +256,18 @@ export async function findSuggestedTestPaths(missingPaths, rootDir) {
288
256
  ignore: ['**/node_modules/**'],
289
257
  };
290
258
  for (const missingPath of missingPaths) {
291
- const filename = path.basename(missingPath);
292
- const basename = path.basename(filename, path.extname(filename));
259
+ const filename = missingPath.split('/').pop() || missingPath;
260
+ const basename = filename.replace(/\.[^/.]+$/, '');
293
261
  const cleanBasename = basename.replace(/(\.test|\.spec)$/, '');
294
- // Strategy 1: Search for exact filename elsewhere
295
262
  let matches = await fg(`**/${filename}`, globOptions);
296
- // Strategy 2: Search for filename with different extension (ts/js/mjs)
297
263
  if (matches.length === 0) {
298
264
  matches = await fg(`**/${basename}.{ts,js,mjs,tsx,jsx}`, globOptions);
299
265
  }
300
- // Strategy 3: Search for fuzzy match on basename (without .test/.spec)
301
266
  if (matches.length === 0) {
302
- // Look for the code file the test might be for
303
267
  matches = await fg(`**/${cleanBasename}.{ts,js,mjs,tsx,jsx}`, globOptions);
304
268
  }
305
269
  if (matches.length > 0) {
306
- // Filter out the missing path itself if it somehow showed up
307
- suggestions[missingPath] = matches.filter((m) => m !== missingPath);
270
+ suggestions[missingPath] = matches.filter((matchPath) => matchPath !== missingPath);
308
271
  }
309
272
  }
310
273
  return suggestions;
@@ -1 +1 @@
1
- {"version":3,"file":"wu-preflight-validators.js","sourceRoot":"","sources":["../src/wu-preflight-validators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wu-preflight-validators.js","sourceRoot":"","sources":["../src/wu-preflight-validators.ts"],"names":[],"mappings":";AAEA;;;;;;GAMG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC3B,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,6BAA6B,EAG7B,eAAe,EACf,mBAAmB,GACpB,MAAM,sBAAsB,CAAC;AAwC9B,SAAS,sBAAsB,CAAC,KAAc;IAC5C,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC,OAAO,CAAC;IACvB,CAAC;IAED,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,EACpC,KAAK,EACL,MAAM,GAAG,EAAE,EACX,QAAQ,GAAG,EAAE,EACb,gBAAgB,GAAG,EAAE,EACrB,wBAAwB,GAAG,EAAE,EAC7B,gBAAgB,GAAG,EAAE,EACrB,YAAY,GAAG,EAAE,EACjB,kBAAkB,GAAG,EAAE,GACI;IAC3B,OAAO;QACL,KAAK;QACL,MAAM;QACN,QAAQ;QACR,gBAAgB;QAChB,wBAAwB;QACxB,gBAAgB;QAChB,YAAY;QACZ,kBAAkB;KACnB,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,GAAmB,EAAE,EAAU;IACrD,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,IAAI,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;QAClB,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE,WAAW,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,aAAa,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAC/C,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,CACrC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,cAAc,CAAC,kBAAkB,CAC5D,CAAC;IAEF,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,CAAC,IAAI,CACT,sCAAsC,YAAY,CAAC,OAAO,yBAAyB;YACjF,yDAAyD,YAAY,CAAC,SAAS,KAAK;YACpF,8CAA8C,YAAY,CAAC,SAAS,KAAK,CAC5E,CAAC;IACJ,CAAC;IAED,MAAM,YAAY,GAAG,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAEjD,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;QAC1B,KAAK,MAAM,KAAK,IAAI,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAC9C,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACvC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;YAE9B,IAAI,SAAS,KAAK,SAAS,IAAI,YAAY,EAAE,CAAC;gBAC5C,SAAS;YACX,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,KAAK,OAAO,EAAE,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;AAChD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,0BAA0B,CACxC,SAAkB,EAClB,OAAe;IAEf,IAAI,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IAClD,CAAC;IAED,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ;YAAE,SAAS;QAExD,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC;YAChD,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG;YACb,kCAAkC,OAAO,CAAC,MAAM,qBAAqB;YACrE,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;SAClC,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IAC3C,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;AAClD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,0BAA0B,CAAC,KAAc,EAAE,OAAe;IACxE,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IAClD,CAAC;IAED,MAAM,eAAe,GAAG,KAAgC,CAAC;IACzD,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,aAAa,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,GAAG,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;IAEhF,KAAK,MAAM,QAAQ,IAAI,aAAa,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;QACxC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,SAAS;QAE9C,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE,CAAC;YAC7B,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ;gBAAE,SAAS;YACxD,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC;gBAAE,SAAS;YAE7C,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC;gBAChD,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG;YACb,kCAAkC,OAAO,CAAC,MAAM,oCAAoC;YACpF,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;SAClC,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IAC3C,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;AAClD,CAAC;AAeD,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,EAAU,EACV,UAAoC,EAAE;IAEtC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACjD,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC;IACrD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,SAAS,CAAC;IAEzC,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,MAAM,gBAAgB,GAAa,EAAE,CAAC;IACtC,MAAM,wBAAwB,GAAa,EAAE,CAAC;IAC9C,MAAM,gBAAgB,GAAa,EAAE,CAAC;IACtC,MAAM,YAAY,GAAa,EAAE,CAAC;IAElC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAExD,IAAI,GAAmB,CAAC;IACxB,IAAI,CAAC;QACH,GAAG,GAAG,SAAS,CAAC,MAAM,CAAmB,CAAC;IAC5C,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,OAAO,qBAAqB,CAAC;YAC3B,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE,CAAC,2BAA2B,sBAAsB,CAAC,GAAG,CAAC,EAAE,CAAC;SACnE,CAAC,CAAC;IACL,CAAC;IAED,MAAM,YAAY,GAAG,cAAc,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAC7C,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QACxB,SAAS,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,YAAY,GAA6B;QAC7C,EAAE;QACF,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,UAAU,IAAI,EAAE;QACxC,GAAG,EAAE,YAAY;QACjB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,OAAO,EAAE,OAAO,CAAC,OAAO;KACzB,CAAC;IAEF,MAAM,WAAW,GACf,KAAK,KAAK,SAAS;QACjB,CAAC,CAAC,MAAM,eAAe,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,CAAC;QAChD,CAAC,CAAC,mBAAmB,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAEnD,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;QACvC,SAAS,CAAC,IAAI,CAAC,GAAG,6BAA6B,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC;QACzC,WAAW,CAAC,IAAI,CAAC,GAAG,6BAA6B,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,gBAAgB,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAChE,wBAAwB,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC;IAChF,gBAAgB,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAChE,YAAY,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IAExD,IAAI,kBAAkB,GAA6B,EAAE,CAAC;IACtD,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,MAAM,UAAU,GAAG,YAAY,IAAI,OAAO,CAAC;QAC3C,IAAI,CAAC;YACH,kBAAkB,GAAG,MAAM,sBAAsB,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;QAClF,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;gBACtB,OAAO,CAAC,GAAG,CAAC,8CAA8C,sBAAsB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC3F,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,qBAAqB,CAAC;QAC3B,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC;QAC7B,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE,WAAW;QACrB,gBAAgB;QAChB,wBAAwB;QACxB,gBAAgB;QAChB,YAAY;QACZ,kBAAkB;KACnB,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,EAAU,EAAE,MAA2B;IAC3E,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,MAAM,KAAK,GAAG;YACZ,GAAG,UAAU,CAAC,SAAS,IAAI,KAAK,CAAC,OAAO,oCAAoC,EAAE,EAAE;SACjF,CAAC;QACF,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,SAAS,IAAI,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;YACjE,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,OAAO,EAAE,CAAC,CAAC,CAAC;QACpE,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,MAAM,KAAK,GAAG;QACZ,GAAG,UAAU,CAAC,SAAS,IAAI,KAAK,CAAC,OAAO,oCAAoC,EAAE,EAAE;QAChF,EAAE;QACF,GAAG,MAAM,CAAC,MAAM;KACjB,CAAC;IAEF,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,SAAS,IAAI,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;QACjE,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,OAAO,EAAE,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,IAAI,MAAM,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;QAClD,KAAK,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;QACzD,KAAK,CAAC,IAAI,CAAC,6BAA6B,EAAE,6BAA6B,CAAC,CAAC;IAC3E,CAAC;IAED,IAAI,MAAM,CAAC,wBAAwB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;QAClE,KAAK,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAC;QAC3E,KAAK,CAAC,IAAI,CAAC,6BAA6B,EAAE,oCAAoC,CAAC,CAAC;QAChF,KAAK,CAAC,IAAI,CAAC,kCAAkC,EAAE,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,IAAI,MAAM,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;QACpD,KAAK,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;QAC9D,KAAK,CAAC,IAAI,CAAC,wBAAwB,EAAE,6BAA6B,CAAC,CAAC;QACpE,KAAK,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;IACtE,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB,CACrC,QAA8B,EAC9B,MAAM,GAAG,GAAG,UAAU,CAAC,SAAS,IAAI,KAAK,CAAC,OAAO,YAAY;IAE7D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,CAAC,MAAM,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,OAAO,EAAE,CAAC,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,CAAC;AAElC,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,YAAsB,EACtB,OAAe;IAEf,MAAM,WAAW,GAA6B,EAAE,CAAC;IAEjD,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,WAAW,CAAC;IAElD,MAAM,WAAW,GAAG;QAClB,GAAG,EAAE,OAAO;QACZ,kBAAkB,EAAE,KAAK;QACzB,KAAK,EAAE,CAAC;QACR,MAAM,EAAE,CAAC,oBAAoB,CAAC;KAC/B,CAAC;IAEF,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;QACvC,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,WAAW,CAAC;QAC7D,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QACnD,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;QAE/D,IAAI,OAAO,GAAG,MAAM,EAAE,CAAC,MAAM,QAAQ,EAAE,EAAE,WAAW,CAAC,CAAC;QAEtD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,GAAG,MAAM,EAAE,CAAC,MAAM,QAAQ,sBAAsB,EAAE,WAAW,CAAC,CAAC;QACxE,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,GAAG,MAAM,EAAE,CAAC,MAAM,aAAa,sBAAsB,EAAE,WAAW,CAAC,CAAC;QAC7E,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,WAAW,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,KAAK,WAAW,CAAC,CAAC;QACtF,CAAC;IACH,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC"}