@lumenflow/core 4.24.0 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (430) hide show
  1. package/dist/arg-parser.d.ts.map +1 -1
  2. package/dist/arg-parser.js +16 -0
  3. package/dist/arg-parser.js.map +1 -1
  4. package/dist/atomic-merge.d.ts.map +1 -1
  5. package/dist/atomic-merge.js +25 -18
  6. package/dist/atomic-merge.js.map +1 -1
  7. package/dist/client-ids.d.ts +1 -15
  8. package/dist/client-ids.d.ts.map +1 -1
  9. package/dist/client-ids.js +4 -13
  10. package/dist/client-ids.js.map +1 -1
  11. package/dist/code-path-validator.d.ts.map +1 -1
  12. package/dist/code-path-validator.js +6 -3
  13. package/dist/code-path-validator.js.map +1 -1
  14. package/dist/config-contract.d.ts +1 -30
  15. package/dist/config-contract.d.ts.map +1 -1
  16. package/dist/config-contract.js +4 -60
  17. package/dist/config-contract.js.map +1 -1
  18. package/dist/constants/backlog-patterns.d.ts +1 -20
  19. package/dist/constants/backlog-patterns.d.ts.map +1 -1
  20. package/dist/constants/backlog-patterns.js +2 -23
  21. package/dist/constants/backlog-patterns.js.map +1 -1
  22. package/dist/constants/duration-constants.d.ts +1 -28
  23. package/dist/constants/duration-constants.d.ts.map +1 -1
  24. package/dist/constants/duration-constants.js +4 -28
  25. package/dist/constants/duration-constants.js.map +1 -1
  26. package/dist/constants/gate-constants.d.ts +1 -23
  27. package/dist/constants/gate-constants.d.ts.map +1 -1
  28. package/dist/constants/gate-constants.js +4 -23
  29. package/dist/constants/gate-constants.js.map +1 -1
  30. package/dist/constants/lock-constants.d.ts +1 -28
  31. package/dist/constants/lock-constants.d.ts.map +1 -1
  32. package/dist/constants/lock-constants.js +2 -28
  33. package/dist/constants/lock-constants.js.map +1 -1
  34. package/dist/core/tool.schemas.d.ts +11 -11
  35. package/dist/core/worktree-guard.js +2 -2
  36. package/dist/core/worktree-guard.js.map +1 -1
  37. package/dist/cycle-detector.d.ts +4 -48
  38. package/dist/cycle-detector.d.ts.map +1 -1
  39. package/dist/cycle-detector.js +4 -78
  40. package/dist/cycle-detector.js.map +1 -1
  41. package/dist/date-utils.d.ts +1 -65
  42. package/dist/date-utils.d.ts.map +1 -1
  43. package/dist/date-utils.js +4 -140
  44. package/dist/date-utils.js.map +1 -1
  45. package/dist/delegation-monitor.d.ts +2 -0
  46. package/dist/delegation-monitor.d.ts.map +1 -1
  47. package/dist/delegation-monitor.js +29 -2
  48. package/dist/delegation-monitor.js.map +1 -1
  49. package/dist/delegation-recovery.d.ts +36 -17
  50. package/dist/delegation-recovery.d.ts.map +1 -1
  51. package/dist/delegation-recovery.js +285 -82
  52. package/dist/delegation-recovery.js.map +1 -1
  53. package/dist/delegation-registry-schema.d.ts +257 -31
  54. package/dist/delegation-registry-schema.d.ts.map +1 -1
  55. package/dist/delegation-registry-schema.js +43 -34
  56. package/dist/delegation-registry-schema.js.map +1 -1
  57. package/dist/delegation-registry-store.d.ts +4 -128
  58. package/dist/delegation-registry-store.d.ts.map +1 -1
  59. package/dist/delegation-registry-store.js +39 -178
  60. package/dist/delegation-registry-store.js.map +1 -1
  61. package/dist/delegation-tree.d.ts +12 -20
  62. package/dist/delegation-tree.d.ts.map +1 -1
  63. package/dist/delegation-tree.js +40 -29
  64. package/dist/delegation-tree.js.map +1 -1
  65. package/dist/delivery-review-contract.d.ts +1 -1
  66. package/dist/delivery-review-contract.d.ts.map +1 -1
  67. package/dist/docs-layout-presets.d.ts +1 -30
  68. package/dist/docs-layout-presets.d.ts.map +1 -1
  69. package/dist/docs-layout-presets.js +4 -38
  70. package/dist/docs-layout-presets.js.map +1 -1
  71. package/dist/domain/context.schemas.d.ts +3 -3
  72. package/dist/domain/orchestration.constants.d.ts +1 -110
  73. package/dist/domain/orchestration.constants.d.ts.map +1 -1
  74. package/dist/domain/orchestration.constants.js +2 -127
  75. package/dist/domain/orchestration.constants.js.map +1 -1
  76. package/dist/domain/orchestration.schemas.d.ts +1 -306
  77. package/dist/domain/orchestration.schemas.d.ts.map +1 -1
  78. package/dist/domain/orchestration.schemas.js +2 -211
  79. package/dist/domain/orchestration.schemas.js.map +1 -1
  80. package/dist/domain/orchestration.types.d.ts +1 -133
  81. package/dist/domain/orchestration.types.d.ts.map +1 -1
  82. package/dist/domain/orchestration.types.js +2 -2
  83. package/dist/domain/orchestration.types.js.map +1 -1
  84. package/dist/domain/recovery.schemas.d.ts +3 -3
  85. package/dist/domain/validation.schemas.d.ts +4 -4
  86. package/dist/error-handler.d.ts +4 -173
  87. package/dist/error-handler.d.ts.map +1 -1
  88. package/dist/error-handler.js +4 -244
  89. package/dist/error-handler.js.map +1 -1
  90. package/dist/file-classifiers.d.ts.map +1 -1
  91. package/dist/file-classifiers.js +26 -0
  92. package/dist/file-classifiers.js.map +1 -1
  93. package/dist/git-adapter.d.ts +4 -448
  94. package/dist/git-adapter.d.ts.map +1 -1
  95. package/dist/git-adapter.js +4 -772
  96. package/dist/git-adapter.js.map +1 -1
  97. package/dist/git-context-extractor.d.ts +4 -98
  98. package/dist/git-context-extractor.d.ts.map +1 -1
  99. package/dist/git-context-extractor.js +4 -563
  100. package/dist/git-context-extractor.js.map +1 -1
  101. package/dist/git-staged-validator.d.ts +4 -29
  102. package/dist/git-staged-validator.d.ts.map +1 -1
  103. package/dist/git-staged-validator.js +4 -46
  104. package/dist/git-staged-validator.js.map +1 -1
  105. package/dist/incremental-lint.d.ts.map +1 -1
  106. package/dist/incremental-lint.js +3 -2
  107. package/dist/incremental-lint.js.map +1 -1
  108. package/dist/incremental-test.d.ts +1 -32
  109. package/dist/incremental-test.d.ts.map +1 -1
  110. package/dist/incremental-test.js +4 -61
  111. package/dist/incremental-test.js.map +1 -1
  112. package/dist/index.d.ts +3 -2
  113. package/dist/index.d.ts.map +1 -1
  114. package/dist/index.js +10 -2
  115. package/dist/index.js.map +1 -1
  116. package/dist/integration-target.d.ts +30 -0
  117. package/dist/integration-target.d.ts.map +1 -0
  118. package/dist/integration-target.js +51 -0
  119. package/dist/integration-target.js.map +1 -0
  120. package/dist/lane-checker.d.ts.map +1 -1
  121. package/dist/lane-checker.js +8 -0
  122. package/dist/lane-checker.js.map +1 -1
  123. package/dist/lumenflow-config-schema.d.ts +73 -29
  124. package/dist/lumenflow-config-schema.d.ts.map +1 -1
  125. package/dist/lumenflow-config-schema.js +1 -1
  126. package/dist/lumenflow-config-schema.js.map +1 -1
  127. package/dist/lumenflow-config.d.ts +10 -34
  128. package/dist/lumenflow-config.d.ts.map +1 -1
  129. package/dist/lumenflow-config.js +32 -142
  130. package/dist/lumenflow-config.js.map +1 -1
  131. package/dist/manual-test-validator.d.ts +1 -96
  132. package/dist/manual-test-validator.d.ts.map +1 -1
  133. package/dist/manual-test-validator.js +4 -245
  134. package/dist/manual-test-validator.js.map +1 -1
  135. package/dist/micro-worktree-shared.d.ts.map +1 -1
  136. package/dist/micro-worktree-shared.js +10 -9
  137. package/dist/micro-worktree-shared.js.map +1 -1
  138. package/dist/micro-worktree.d.ts.map +1 -1
  139. package/dist/micro-worktree.js +26 -23
  140. package/dist/micro-worktree.js.map +1 -1
  141. package/dist/normalize-config-keys.d.ts +1 -10
  142. package/dist/normalize-config-keys.d.ts.map +1 -1
  143. package/dist/normalize-config-keys.js +7 -73
  144. package/dist/normalize-config-keys.js.map +1 -1
  145. package/dist/object-guards.d.ts +1 -10
  146. package/dist/object-guards.d.ts.map +1 -1
  147. package/dist/object-guards.js +7 -20
  148. package/dist/object-guards.js.map +1 -1
  149. package/dist/ports/config.ports.d.ts +1 -82
  150. package/dist/ports/config.ports.d.ts.map +1 -1
  151. package/dist/ports/config.ports.js +2 -1
  152. package/dist/ports/config.ports.js.map +1 -1
  153. package/dist/ports/dashboard-renderer.port.d.ts +1 -112
  154. package/dist/ports/dashboard-renderer.port.d.ts.map +1 -1
  155. package/dist/ports/dashboard-renderer.port.js +2 -1
  156. package/dist/ports/dashboard-renderer.port.js.map +1 -1
  157. package/dist/ports/git-validator.ports.d.ts +5 -110
  158. package/dist/ports/git-validator.ports.d.ts.map +1 -1
  159. package/dist/ports/git-validator.ports.js +8 -1
  160. package/dist/ports/git-validator.ports.js.map +1 -1
  161. package/dist/ports/sync-validator.ports.d.ts +1 -51
  162. package/dist/ports/sync-validator.ports.d.ts.map +1 -1
  163. package/dist/ports/sync-validator.ports.js +2 -1
  164. package/dist/ports/sync-validator.ports.js.map +1 -1
  165. package/dist/ports/wu-helpers.ports.d.ts +1 -156
  166. package/dist/ports/wu-helpers.ports.d.ts.map +1 -1
  167. package/dist/ports/wu-helpers.ports.js +2 -1
  168. package/dist/ports/wu-helpers.ports.js.map +1 -1
  169. package/dist/ports/wu-state.ports.d.ts +1 -208
  170. package/dist/ports/wu-state.ports.d.ts.map +1 -1
  171. package/dist/ports/wu-state.ports.js +2 -1
  172. package/dist/ports/wu-state.ports.js.map +1 -1
  173. package/dist/rebase-artifact-cleanup.d.ts.map +1 -1
  174. package/dist/rebase-artifact-cleanup.js +6 -3
  175. package/dist/rebase-artifact-cleanup.js.map +1 -1
  176. package/dist/sandbox-allowlist.d.ts +1 -15
  177. package/dist/sandbox-allowlist.d.ts.map +1 -1
  178. package/dist/sandbox-allowlist.js +4 -74
  179. package/dist/sandbox-allowlist.js.map +1 -1
  180. package/dist/sandbox-backend-linux.d.ts +1 -5
  181. package/dist/sandbox-backend-linux.d.ts.map +1 -1
  182. package/dist/sandbox-backend-linux.js +4 -64
  183. package/dist/sandbox-backend-linux.js.map +1 -1
  184. package/dist/sandbox-backend-macos.d.ts +1 -5
  185. package/dist/sandbox-backend-macos.d.ts.map +1 -1
  186. package/dist/sandbox-backend-macos.js +4 -109
  187. package/dist/sandbox-backend-macos.js.map +1 -1
  188. package/dist/sandbox-backend-windows.d.ts +1 -5
  189. package/dist/sandbox-backend-windows.d.ts.map +1 -1
  190. package/dist/sandbox-backend-windows.js +4 -27
  191. package/dist/sandbox-backend-windows.js.map +1 -1
  192. package/dist/sandbox-profile.d.ts +1 -57
  193. package/dist/sandbox-profile.d.ts.map +1 -1
  194. package/dist/sandbox-profile.js +4 -65
  195. package/dist/sandbox-profile.js.map +1 -1
  196. package/dist/schemas/agents-config.d.ts +47 -0
  197. package/dist/schemas/agents-config.d.ts.map +1 -1
  198. package/dist/schemas/agents-config.js +59 -0
  199. package/dist/schemas/agents-config.js.map +1 -1
  200. package/dist/schemas/command-schemas.d.ts +4 -4
  201. package/dist/schemas/flow-arg-validators.d.ts +2 -2
  202. package/dist/schemas/flow-schemas.d.ts +4 -4
  203. package/dist/schemas/gates-section-config.d.ts +32 -13
  204. package/dist/schemas/gates-section-config.d.ts.map +1 -1
  205. package/dist/schemas/gates-section-config.js +16 -1
  206. package/dist/schemas/gates-section-config.js.map +1 -1
  207. package/dist/schemas/initiative-arg-validators.d.ts +2 -2
  208. package/dist/schemas/initiative-schemas.d.ts +12 -12
  209. package/dist/schemas/lanes-config.d.ts +5 -5
  210. package/dist/schemas/memory-arg-validators.d.ts +6 -0
  211. package/dist/schemas/memory-arg-validators.d.ts.map +1 -1
  212. package/dist/schemas/memory-config.d.ts +4 -4
  213. package/dist/schemas/memory-schemas.d.ts +12 -0
  214. package/dist/schemas/memory-schemas.d.ts.map +1 -1
  215. package/dist/schemas/memory-schemas.js +12 -0
  216. package/dist/schemas/memory-schemas.js.map +1 -1
  217. package/dist/schemas/operational-config.d.ts +4 -4
  218. package/dist/schemas/setup-arg-validators.d.ts +3 -3
  219. package/dist/schemas/setup-schemas.d.ts +8 -8
  220. package/dist/schemas/wu-config.d.ts +3 -3
  221. package/dist/schemas/wu-lifecycle-arg-validators.d.ts +2 -2
  222. package/dist/schemas/wu-lifecycle-schemas.d.ts +4 -4
  223. package/dist/section-headings.d.ts +1 -34
  224. package/dist/section-headings.d.ts.map +1 -1
  225. package/dist/section-headings.js +2 -51
  226. package/dist/section-headings.js.map +1 -1
  227. package/dist/spawn-constraints-generator.js +3 -3
  228. package/dist/spawn-constraints-generator.js.map +1 -1
  229. package/dist/spawn-guidance-generators.d.ts +1 -1
  230. package/dist/spawn-guidance-generators.d.ts.map +1 -1
  231. package/dist/spawn-policy-resolver.d.ts +1 -1
  232. package/dist/spawn-policy-resolver.d.ts.map +1 -1
  233. package/dist/spawn-task-builder.d.ts +17 -1
  234. package/dist/spawn-task-builder.d.ts.map +1 -1
  235. package/dist/spawn-task-builder.js +63 -1
  236. package/dist/spawn-task-builder.js.map +1 -1
  237. package/dist/spawn-template-assembler.d.ts +1 -1
  238. package/dist/spawn-template-assembler.d.ts.map +1 -1
  239. package/dist/state-machine.d.ts +1 -9
  240. package/dist/state-machine.d.ts.map +1 -1
  241. package/dist/state-machine.js +2 -86
  242. package/dist/state-machine.js.map +1 -1
  243. package/dist/sync-validator.d.ts.map +1 -1
  244. package/dist/sync-validator.js +15 -12
  245. package/dist/sync-validator.js.map +1 -1
  246. package/dist/telemetry.d.ts.map +1 -1
  247. package/dist/telemetry.js +3 -2
  248. package/dist/telemetry.js.map +1 -1
  249. package/dist/work-classifier.d.ts +1 -102
  250. package/dist/work-classifier.d.ts.map +1 -1
  251. package/dist/work-classifier.js +2 -424
  252. package/dist/work-classifier.js.map +1 -1
  253. package/dist/worktree-symlink.d.ts +2 -2
  254. package/dist/worktree-symlink.d.ts.map +1 -1
  255. package/dist/worktree-symlink.js +37 -12
  256. package/dist/worktree-symlink.js.map +1 -1
  257. package/dist/wu-cli-constants.d.ts +1 -433
  258. package/dist/wu-cli-constants.d.ts.map +1 -1
  259. package/dist/wu-cli-constants.js +4 -436
  260. package/dist/wu-cli-constants.js.map +1 -1
  261. package/dist/wu-consistency-file-repairs.d.ts.map +1 -1
  262. package/dist/wu-consistency-file-repairs.js +5 -3
  263. package/dist/wu-consistency-file-repairs.js.map +1 -1
  264. package/dist/wu-context-constants.d.ts +22 -0
  265. package/dist/wu-context-constants.d.ts.map +1 -1
  266. package/dist/wu-context-constants.js +22 -0
  267. package/dist/wu-context-constants.js.map +1 -1
  268. package/dist/wu-doc-types.d.ts +1 -47
  269. package/dist/wu-doc-types.d.ts.map +1 -1
  270. package/dist/wu-domain-constants.d.ts +1 -295
  271. package/dist/wu-domain-constants.d.ts.map +1 -1
  272. package/dist/wu-domain-constants.js +4 -397
  273. package/dist/wu-domain-constants.js.map +1 -1
  274. package/dist/wu-done-branch-only.d.ts +1 -1
  275. package/dist/wu-done-branch-only.d.ts.map +1 -1
  276. package/dist/wu-done-branch-only.js +22 -13
  277. package/dist/wu-done-branch-only.js.map +1 -1
  278. package/dist/wu-done-branch-utils.d.ts.map +1 -1
  279. package/dist/wu-done-branch-utils.js +5 -3
  280. package/dist/wu-done-branch-utils.js.map +1 -1
  281. package/dist/wu-done-cleanup.d.ts.map +1 -1
  282. package/dist/wu-done-cleanup.js +66 -22
  283. package/dist/wu-done-cleanup.js.map +1 -1
  284. package/dist/wu-done-concurrent-merge.d.ts.map +1 -1
  285. package/dist/wu-done-concurrent-merge.js +9 -6
  286. package/dist/wu-done-concurrent-merge.js.map +1 -1
  287. package/dist/wu-done-errors.d.ts +3 -3
  288. package/dist/wu-done-errors.d.ts.map +1 -1
  289. package/dist/wu-done-inputs.d.ts.map +1 -1
  290. package/dist/wu-done-inputs.js +3 -0
  291. package/dist/wu-done-inputs.js.map +1 -1
  292. package/dist/wu-done-merge-phase.d.ts.map +1 -1
  293. package/dist/wu-done-merge-phase.js +4 -2
  294. package/dist/wu-done-merge-phase.js.map +1 -1
  295. package/dist/wu-done-merge.d.ts.map +1 -1
  296. package/dist/wu-done-merge.js +16 -8
  297. package/dist/wu-done-merge.js.map +1 -1
  298. package/dist/wu-done-merged-worktree.d.ts.map +1 -1
  299. package/dist/wu-done-merged-worktree.js +7 -8
  300. package/dist/wu-done-merged-worktree.js.map +1 -1
  301. package/dist/wu-done-messages.d.ts.map +1 -1
  302. package/dist/wu-done-messages.js +12 -5
  303. package/dist/wu-done-messages.js.map +1 -1
  304. package/dist/wu-done-metadata.d.ts.map +1 -1
  305. package/dist/wu-done-metadata.js +3 -8
  306. package/dist/wu-done-metadata.js.map +1 -1
  307. package/dist/wu-done-preflight-checks.d.ts.map +1 -1
  308. package/dist/wu-done-preflight-checks.js +21 -15
  309. package/dist/wu-done-preflight-checks.js.map +1 -1
  310. package/dist/wu-done-rebase.d.ts.map +1 -1
  311. package/dist/wu-done-rebase.js +10 -8
  312. package/dist/wu-done-rebase.js.map +1 -1
  313. package/dist/wu-done-retry-helpers.d.ts.map +1 -1
  314. package/dist/wu-done-retry-helpers.js +13 -11
  315. package/dist/wu-done-retry-helpers.js.map +1 -1
  316. package/dist/wu-done-validation.d.ts.map +1 -1
  317. package/dist/wu-done-validation.js +4 -2
  318. package/dist/wu-done-validation.js.map +1 -1
  319. package/dist/wu-done-worktree-services.d.ts.map +1 -1
  320. package/dist/wu-done-worktree-services.js +4 -2
  321. package/dist/wu-done-worktree-services.js.map +1 -1
  322. package/dist/wu-done-worktree.d.ts.map +1 -1
  323. package/dist/wu-done-worktree.js +4 -2
  324. package/dist/wu-done-worktree.js.map +1 -1
  325. package/dist/wu-git-constants.d.ts +1 -175
  326. package/dist/wu-git-constants.d.ts.map +1 -1
  327. package/dist/wu-git-constants.js +4 -175
  328. package/dist/wu-git-constants.js.map +1 -1
  329. package/dist/wu-helpers.d.ts +24 -0
  330. package/dist/wu-helpers.d.ts.map +1 -1
  331. package/dist/wu-helpers.js +37 -4
  332. package/dist/wu-helpers.js.map +1 -1
  333. package/dist/wu-id-format.d.ts +1 -137
  334. package/dist/wu-id-format.d.ts.map +1 -1
  335. package/dist/wu-id-format.js +2 -249
  336. package/dist/wu-id-format.js.map +1 -1
  337. package/dist/wu-id-generator.d.ts.map +1 -1
  338. package/dist/wu-id-generator.js +8 -5
  339. package/dist/wu-id-generator.js.map +1 -1
  340. package/dist/wu-paths-constants.d.ts +1 -253
  341. package/dist/wu-paths-constants.d.ts.map +1 -1
  342. package/dist/wu-paths-constants.js +4 -273
  343. package/dist/wu-paths-constants.js.map +1 -1
  344. package/dist/wu-paths.d.ts +1 -274
  345. package/dist/wu-paths.d.ts.map +1 -1
  346. package/dist/wu-paths.js +4 -236
  347. package/dist/wu-paths.js.map +1 -1
  348. package/dist/wu-rules-resolvers.d.ts.map +1 -1
  349. package/dist/wu-rules-resolvers.js +11 -6
  350. package/dist/wu-rules-resolvers.js.map +1 -1
  351. package/dist/wu-schema.d.ts +1 -830
  352. package/dist/wu-schema.d.ts.map +1 -1
  353. package/dist/wu-schema.js +4 -929
  354. package/dist/wu-schema.js.map +1 -1
  355. package/dist/wu-spawn-helpers.d.ts.map +1 -1
  356. package/dist/wu-spawn-helpers.js +5 -2
  357. package/dist/wu-spawn-helpers.js.map +1 -1
  358. package/dist/wu-spawn.d.ts +2 -2
  359. package/dist/wu-spawn.d.ts.map +1 -1
  360. package/dist/wu-spawn.js +2 -2
  361. package/dist/wu-spawn.js.map +1 -1
  362. package/dist/wu-state-schema.d.ts +1 -291
  363. package/dist/wu-state-schema.d.ts.map +1 -1
  364. package/dist/wu-state-schema.js +4 -212
  365. package/dist/wu-state-schema.js.map +1 -1
  366. package/dist/wu-status-transition.d.ts +3 -1
  367. package/dist/wu-status-transition.d.ts.map +1 -1
  368. package/dist/wu-status-transition.js +9 -24
  369. package/dist/wu-status-transition.js.map +1 -1
  370. package/dist/wu-statuses.d.ts +1 -208
  371. package/dist/wu-statuses.d.ts.map +1 -1
  372. package/dist/wu-statuses.js +4 -242
  373. package/dist/wu-statuses.js.map +1 -1
  374. package/dist/wu-transaction-collectors.d.ts +1 -0
  375. package/dist/wu-transaction-collectors.d.ts.map +1 -1
  376. package/dist/wu-transaction-collectors.js +13 -8
  377. package/dist/wu-transaction-collectors.js.map +1 -1
  378. package/dist/wu-type-helpers.d.ts +1 -27
  379. package/dist/wu-type-helpers.d.ts.map +1 -1
  380. package/dist/wu-type-helpers.js +4 -46
  381. package/dist/wu-type-helpers.js.map +1 -1
  382. package/dist/wu-ui-constants.d.ts +1 -235
  383. package/dist/wu-ui-constants.d.ts.map +1 -1
  384. package/dist/wu-ui-constants.js +5 -235
  385. package/dist/wu-ui-constants.js.map +1 -1
  386. package/dist/wu-validation-constants.d.ts +1 -60
  387. package/dist/wu-validation-constants.d.ts.map +1 -1
  388. package/dist/wu-validation-constants.js +4 -66
  389. package/dist/wu-validation-constants.js.map +1 -1
  390. package/dist/wu-yaml.d.ts +1 -112
  391. package/dist/wu-yaml.d.ts.map +1 -1
  392. package/dist/wu-yaml.js +4 -304
  393. package/dist/wu-yaml.js.map +1 -1
  394. package/package.json +12 -9
  395. package/dist/coverage-gate.d.ts +0 -128
  396. package/dist/coverage-gate.d.ts.map +0 -1
  397. package/dist/coverage-gate.js +0 -211
  398. package/dist/coverage-gate.js.map +0 -1
  399. package/dist/gates-agent-mode.d.ts +0 -108
  400. package/dist/gates-agent-mode.d.ts.map +0 -1
  401. package/dist/gates-agent-mode.js +0 -138
  402. package/dist/gates-agent-mode.js.map +0 -1
  403. package/dist/gates-config-internal.d.ts +0 -54
  404. package/dist/gates-config-internal.d.ts.map +0 -1
  405. package/dist/gates-config-internal.js +0 -107
  406. package/dist/gates-config-internal.js.map +0 -1
  407. package/dist/gates-config.d.ts +0 -68
  408. package/dist/gates-config.d.ts.map +0 -1
  409. package/dist/gates-config.js +0 -193
  410. package/dist/gates-config.js.map +0 -1
  411. package/dist/gates-coverage.d.ts +0 -42
  412. package/dist/gates-coverage.d.ts.map +0 -1
  413. package/dist/gates-coverage.js +0 -162
  414. package/dist/gates-coverage.js.map +0 -1
  415. package/dist/gates-presets.d.ts +0 -52
  416. package/dist/gates-presets.d.ts.map +0 -1
  417. package/dist/gates-presets.js +0 -117
  418. package/dist/gates-presets.js.map +0 -1
  419. package/dist/gates-schemas.d.ts +0 -143
  420. package/dist/gates-schemas.d.ts.map +0 -1
  421. package/dist/gates-schemas.js +0 -67
  422. package/dist/gates-schemas.js.map +0 -1
  423. package/dist/package-manager-resolver.d.ts +0 -80
  424. package/dist/package-manager-resolver.d.ts.map +0 -1
  425. package/dist/package-manager-resolver.js +0 -245
  426. package/dist/package-manager-resolver.js.map +0 -1
  427. package/dist/resolve-policy.d.ts +0 -293
  428. package/dist/resolve-policy.d.ts.map +0 -1
  429. package/dist/resolve-policy.js +0 -303
  430. package/dist/resolve-policy.js.map +0 -1
@@ -1,832 +1,3 @@
1
1
  /// <reference path="./types.d.ts" />
2
- /**
3
- * Work Unit YAML Schema
4
- *
5
- * Zod schema for runtime validation of WU YAML structure.
6
- * Provides compile-time type inference and semantic validation.
7
- *
8
- * Part of WU-1162: Add Zod schema validation to prevent placeholder WU completions
9
- * Part of WU-1539: Add BaseWUSchema pattern for create/edit validation
10
- *
11
- * Schema Architecture (DRY pattern):
12
- * - BaseWUSchema: Structural validation only (field types, formats, lengths)
13
- * - WUSchema: Extends base + placeholder rejection (for wu:claim, wu:done)
14
- * - ReadyWUSchema: Alias for BaseWUSchema (for wu:create, wu:edit)
15
- *
16
- * @see {@link packages/@lumenflow/cli/src/wu-done.ts} - Consumer (validates spec completeness, uses WUSchema)
17
- * @see {@link packages/@lumenflow/cli/src/wu-claim.ts} - Consumer (validates spec completeness, uses WUSchema)
18
- * @see {@link packages/@lumenflow/cli/src/wu-create.ts} - Consumer (structural validation, uses ReadyWUSchema)
19
- * @see {@link packages/@lumenflow/cli/src/wu-edit.ts} - Consumer (structural validation, uses ReadyWUSchema)
20
- * @see {@link packages/@lumenflow/cli/src/validate.ts} - Consumer (CI validation)
21
- * @see {@link apps/web/src/lib/llm/schemas/orchestrator.ts} - Pattern reference
22
- */
23
- import { z } from 'zod';
24
- /**
25
- * Placeholder sentinel constant
26
- *
27
- * Used in wu:create template generation and validation.
28
- * Single source of truth for placeholder detection (DRY principle).
29
- *
30
- * @example
31
- * // tools/wu-create.ts
32
- * description: `${PLACEHOLDER_SENTINEL} Describe the work...`
33
- *
34
- * @example
35
- * // tools/validate.ts
36
- * if (doc.description.includes(PLACEHOLDER_SENTINEL)) { error(); }
37
- */
38
- export declare const PLACEHOLDER_SENTINEL = "[PLACEHOLDER]";
39
- interface WUDoneValidationInput {
40
- type?: string;
41
- code_paths?: string[];
42
- }
43
- interface WUEscalationInput {
44
- id: string;
45
- lane?: string;
46
- code_paths?: string[];
47
- priority?: string;
48
- escalation_triggers?: string[];
49
- requires_human_escalation?: boolean;
50
- escalation_resolved_by?: string;
51
- escalation_resolved_at?: string;
52
- requires_cso_approval?: boolean;
53
- requires_cto_approval?: boolean;
54
- requires_design_approval?: boolean;
55
- }
56
- interface WUCompletenessInput {
57
- id: string;
58
- status?: string;
59
- type?: string;
60
- notes?: string;
61
- tests?: {
62
- manual?: string[];
63
- };
64
- spec_refs?: unknown;
65
- }
66
- type EscalationDetectionInput = Pick<WUEscalationInput, 'lane' | 'code_paths' | 'priority'>;
67
- /**
68
- * Base WU Schema (structural validation only)
69
- *
70
- * WU-1539: Used by wu:create and wu:edit for fail-fast structural validation.
71
- * Allows placeholder markers - only checks field types, formats, and lengths.
72
- *
73
- * Use case: Validate WU structure at creation/edit time before placeholders are filled.
74
- */
75
- export declare const BaseWUSchema: z.ZodObject<{
76
- description: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
77
- acceptance: z.ZodUnion<readonly [z.ZodPipe<z.ZodPipe<z.ZodArray<z.ZodString>, z.ZodTransform<string[], string[]>>, z.ZodArray<z.ZodString>>, z.ZodRecord<z.ZodString, z.ZodPipe<z.ZodArray<z.ZodString>, z.ZodTransform<string[], string[]>>>]>;
78
- id: z.ZodString;
79
- title: z.ZodString;
80
- lane: z.ZodString;
81
- type: z.ZodDefault<z.ZodEnum<{
82
- feature: "feature";
83
- bug: "bug";
84
- documentation: "documentation";
85
- process: "process";
86
- tooling: "tooling";
87
- chore: "chore";
88
- refactor: "refactor";
89
- }>>;
90
- status: z.ZodDefault<z.ZodEnum<{
91
- todo: "todo";
92
- ready: "ready";
93
- backlog: "backlog";
94
- in_progress: "in_progress";
95
- blocked: "blocked";
96
- done: "done";
97
- completed: "completed";
98
- cancelled: "cancelled";
99
- abandoned: "abandoned";
100
- deferred: "deferred";
101
- closed: "closed";
102
- superseded: "superseded";
103
- }>>;
104
- priority: z.ZodDefault<z.ZodEnum<{
105
- P2: "P2";
106
- P0: "P0";
107
- P1: "P1";
108
- P3: "P3";
109
- }>>;
110
- created: z.ZodString;
111
- code_paths: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodArray<z.ZodString>, z.ZodTransform<string[], string[]>>, z.ZodArray<z.ZodString>>>;
112
- tests: z.ZodDefault<z.ZodOptional<z.ZodObject<{
113
- manual: z.ZodOptional<z.ZodPipe<z.ZodArray<z.ZodString>, z.ZodTransform<string[], string[]>>>;
114
- unit: z.ZodOptional<z.ZodPipe<z.ZodArray<z.ZodString>, z.ZodTransform<string[], string[]>>>;
115
- integration: z.ZodOptional<z.ZodPipe<z.ZodArray<z.ZodString>, z.ZodTransform<string[], string[]>>>;
116
- e2e: z.ZodOptional<z.ZodPipe<z.ZodArray<z.ZodString>, z.ZodTransform<string[], string[]>>>;
117
- }, z.core.$strip>>>;
118
- artifacts: z.ZodDefault<z.ZodOptional<z.ZodPipe<z.ZodArray<z.ZodString>, z.ZodTransform<string[], string[]>>>>;
119
- dependencies: z.ZodDefault<z.ZodOptional<z.ZodPipe<z.ZodArray<z.ZodString>, z.ZodTransform<string[], string[]>>>>;
120
- initiative: z.ZodOptional<z.ZodString>;
121
- phase: z.ZodOptional<z.ZodNumber>;
122
- blocks: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodArray<z.ZodString>, z.ZodTransform<string[], string[]>>, z.ZodArray<z.ZodString>>>;
123
- blocked_by: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodArray<z.ZodString>, z.ZodTransform<string[], string[]>>, z.ZodArray<z.ZodString>>>;
124
- labels: z.ZodOptional<z.ZodPipe<z.ZodArray<z.ZodString>, z.ZodTransform<string[], string[]>>>;
125
- plan: z.ZodOptional<z.ZodString>;
126
- spec_refs: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
127
- file: z.ZodOptional<z.ZodString>;
128
- section: z.ZodString;
129
- }, z.core.$strip>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
130
- file: z.ZodOptional<z.ZodString>;
131
- section: z.ZodString;
132
- }, z.core.$strip>]>>]>>;
133
- risks: z.ZodDefault<z.ZodOptional<z.ZodPipe<z.ZodArray<z.ZodString>, z.ZodTransform<string[], string[]>>>>;
134
- notes: z.ZodPipe<z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>, z.ZodTransform<string, string | string[] | undefined>>;
135
- requires_review: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
136
- locked: z.ZodOptional<z.ZodBoolean>;
137
- completed_at: z.ZodPipe<z.ZodOptional<z.ZodString>, z.ZodTransform<string | undefined, string | undefined>>;
138
- claimed_mode: z.ZodOptional<z.ZodEnum<{
139
- worktree: "worktree";
140
- "branch-only": "branch-only";
141
- "worktree-pr": "worktree-pr";
142
- "branch-pr": "branch-pr";
143
- }>>;
144
- claimed_branch: z.ZodOptional<z.ZodString>;
145
- assigned_to: z.ZodOptional<z.ZodString>;
146
- claimed_at: z.ZodPipe<z.ZodOptional<z.ZodString>, z.ZodTransform<string | undefined, string | undefined>>;
147
- blocked_reason: z.ZodOptional<z.ZodString>;
148
- worktree_path: z.ZodOptional<z.ZodString>;
149
- session_id: z.ZodOptional<z.ZodString>;
150
- agent_sessions: z.ZodOptional<z.ZodArray<z.ZodObject<{
151
- session_id: z.ZodString;
152
- started: z.ZodString;
153
- completed: z.ZodOptional<z.ZodString>;
154
- agent_type: z.ZodEnum<{
155
- "claude-code": "claude-code";
156
- "codex-cli": "codex-cli";
157
- cursor: "cursor";
158
- "gemini-cli": "gemini-cli";
159
- windsurf: "windsurf";
160
- copilot: "copilot";
161
- other: "other";
162
- }>;
163
- context_tier: z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<2>, z.ZodLiteral<3>]>;
164
- incidents_logged: z.ZodDefault<z.ZodNumber>;
165
- incidents_major: z.ZodDefault<z.ZodNumber>;
166
- artifacts: z.ZodOptional<z.ZodArray<z.ZodString>>;
167
- }, z.core.$strip>>>;
168
- exposure: z.ZodOptional<z.ZodEnum<{
169
- documentation: "documentation";
170
- ui: "ui";
171
- api: "api";
172
- "backend-only": "backend-only";
173
- }>>;
174
- user_journey: z.ZodOptional<z.ZodString>;
175
- ui_pairing_wus: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodArray<z.ZodString>, z.ZodTransform<string[], string[]>>, z.ZodArray<z.ZodString>>>;
176
- navigation_path: z.ZodOptional<z.ZodString>;
177
- sizing_estimate: z.ZodOptional<z.ZodObject<{
178
- estimated_files: z.ZodNumber;
179
- estimated_tool_calls: z.ZodNumber;
180
- strategy: z.ZodEnum<{
181
- "single-session": "single-session";
182
- "checkpoint-resume": "checkpoint-resume";
183
- "orchestrator-worker": "orchestrator-worker";
184
- decomposition: "decomposition";
185
- }>;
186
- exception_type: z.ZodOptional<z.ZodEnum<{
187
- "docs-only": "docs-only";
188
- "shallow-multi-file": "shallow-multi-file";
189
- }>>;
190
- exception_reason: z.ZodOptional<z.ZodString>;
191
- }, z.core.$strip>>;
192
- escalation_triggers: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodEnum<{
193
- budget: "budget";
194
- sensitive_data: "sensitive_data";
195
- security_p0: "security_p0";
196
- cross_lane_arch: "cross_lane_arch";
197
- }>>>>;
198
- requires_human_escalation: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
199
- approved_by: z.ZodOptional<z.ZodArray<z.ZodString>>;
200
- approved_at: z.ZodPipe<z.ZodOptional<z.ZodString>, z.ZodTransform<string | undefined, string | undefined>>;
201
- escalation_resolved_by: z.ZodOptional<z.ZodString>;
202
- escalation_resolved_at: z.ZodPipe<z.ZodOptional<z.ZodString>, z.ZodTransform<string | undefined, string | undefined>>;
203
- requires_cso_approval: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
204
- requires_cto_approval: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
205
- requires_design_approval: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
206
- }, z.core.$strip>;
207
- /**
208
- * Ready WU Schema (alias for BaseWUSchema)
209
- *
210
- * WU-1539: Semantic alias for clarity in wu:create and wu:edit.
211
- * Same validation as BaseWUSchema - allows placeholders, enforces structure.
212
- */
213
- export declare const ReadyWUSchema: z.ZodObject<{
214
- description: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
215
- acceptance: z.ZodUnion<readonly [z.ZodPipe<z.ZodPipe<z.ZodArray<z.ZodString>, z.ZodTransform<string[], string[]>>, z.ZodArray<z.ZodString>>, z.ZodRecord<z.ZodString, z.ZodPipe<z.ZodArray<z.ZodString>, z.ZodTransform<string[], string[]>>>]>;
216
- id: z.ZodString;
217
- title: z.ZodString;
218
- lane: z.ZodString;
219
- type: z.ZodDefault<z.ZodEnum<{
220
- feature: "feature";
221
- bug: "bug";
222
- documentation: "documentation";
223
- process: "process";
224
- tooling: "tooling";
225
- chore: "chore";
226
- refactor: "refactor";
227
- }>>;
228
- status: z.ZodDefault<z.ZodEnum<{
229
- todo: "todo";
230
- ready: "ready";
231
- backlog: "backlog";
232
- in_progress: "in_progress";
233
- blocked: "blocked";
234
- done: "done";
235
- completed: "completed";
236
- cancelled: "cancelled";
237
- abandoned: "abandoned";
238
- deferred: "deferred";
239
- closed: "closed";
240
- superseded: "superseded";
241
- }>>;
242
- priority: z.ZodDefault<z.ZodEnum<{
243
- P2: "P2";
244
- P0: "P0";
245
- P1: "P1";
246
- P3: "P3";
247
- }>>;
248
- created: z.ZodString;
249
- code_paths: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodArray<z.ZodString>, z.ZodTransform<string[], string[]>>, z.ZodArray<z.ZodString>>>;
250
- tests: z.ZodDefault<z.ZodOptional<z.ZodObject<{
251
- manual: z.ZodOptional<z.ZodPipe<z.ZodArray<z.ZodString>, z.ZodTransform<string[], string[]>>>;
252
- unit: z.ZodOptional<z.ZodPipe<z.ZodArray<z.ZodString>, z.ZodTransform<string[], string[]>>>;
253
- integration: z.ZodOptional<z.ZodPipe<z.ZodArray<z.ZodString>, z.ZodTransform<string[], string[]>>>;
254
- e2e: z.ZodOptional<z.ZodPipe<z.ZodArray<z.ZodString>, z.ZodTransform<string[], string[]>>>;
255
- }, z.core.$strip>>>;
256
- artifacts: z.ZodDefault<z.ZodOptional<z.ZodPipe<z.ZodArray<z.ZodString>, z.ZodTransform<string[], string[]>>>>;
257
- dependencies: z.ZodDefault<z.ZodOptional<z.ZodPipe<z.ZodArray<z.ZodString>, z.ZodTransform<string[], string[]>>>>;
258
- initiative: z.ZodOptional<z.ZodString>;
259
- phase: z.ZodOptional<z.ZodNumber>;
260
- blocks: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodArray<z.ZodString>, z.ZodTransform<string[], string[]>>, z.ZodArray<z.ZodString>>>;
261
- blocked_by: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodArray<z.ZodString>, z.ZodTransform<string[], string[]>>, z.ZodArray<z.ZodString>>>;
262
- labels: z.ZodOptional<z.ZodPipe<z.ZodArray<z.ZodString>, z.ZodTransform<string[], string[]>>>;
263
- plan: z.ZodOptional<z.ZodString>;
264
- spec_refs: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
265
- file: z.ZodOptional<z.ZodString>;
266
- section: z.ZodString;
267
- }, z.core.$strip>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
268
- file: z.ZodOptional<z.ZodString>;
269
- section: z.ZodString;
270
- }, z.core.$strip>]>>]>>;
271
- risks: z.ZodDefault<z.ZodOptional<z.ZodPipe<z.ZodArray<z.ZodString>, z.ZodTransform<string[], string[]>>>>;
272
- notes: z.ZodPipe<z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>, z.ZodTransform<string, string | string[] | undefined>>;
273
- requires_review: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
274
- locked: z.ZodOptional<z.ZodBoolean>;
275
- completed_at: z.ZodPipe<z.ZodOptional<z.ZodString>, z.ZodTransform<string | undefined, string | undefined>>;
276
- claimed_mode: z.ZodOptional<z.ZodEnum<{
277
- worktree: "worktree";
278
- "branch-only": "branch-only";
279
- "worktree-pr": "worktree-pr";
280
- "branch-pr": "branch-pr";
281
- }>>;
282
- claimed_branch: z.ZodOptional<z.ZodString>;
283
- assigned_to: z.ZodOptional<z.ZodString>;
284
- claimed_at: z.ZodPipe<z.ZodOptional<z.ZodString>, z.ZodTransform<string | undefined, string | undefined>>;
285
- blocked_reason: z.ZodOptional<z.ZodString>;
286
- worktree_path: z.ZodOptional<z.ZodString>;
287
- session_id: z.ZodOptional<z.ZodString>;
288
- agent_sessions: z.ZodOptional<z.ZodArray<z.ZodObject<{
289
- session_id: z.ZodString;
290
- started: z.ZodString;
291
- completed: z.ZodOptional<z.ZodString>;
292
- agent_type: z.ZodEnum<{
293
- "claude-code": "claude-code";
294
- "codex-cli": "codex-cli";
295
- cursor: "cursor";
296
- "gemini-cli": "gemini-cli";
297
- windsurf: "windsurf";
298
- copilot: "copilot";
299
- other: "other";
300
- }>;
301
- context_tier: z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<2>, z.ZodLiteral<3>]>;
302
- incidents_logged: z.ZodDefault<z.ZodNumber>;
303
- incidents_major: z.ZodDefault<z.ZodNumber>;
304
- artifacts: z.ZodOptional<z.ZodArray<z.ZodString>>;
305
- }, z.core.$strip>>>;
306
- exposure: z.ZodOptional<z.ZodEnum<{
307
- documentation: "documentation";
308
- ui: "ui";
309
- api: "api";
310
- "backend-only": "backend-only";
311
- }>>;
312
- user_journey: z.ZodOptional<z.ZodString>;
313
- ui_pairing_wus: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodArray<z.ZodString>, z.ZodTransform<string[], string[]>>, z.ZodArray<z.ZodString>>>;
314
- navigation_path: z.ZodOptional<z.ZodString>;
315
- sizing_estimate: z.ZodOptional<z.ZodObject<{
316
- estimated_files: z.ZodNumber;
317
- estimated_tool_calls: z.ZodNumber;
318
- strategy: z.ZodEnum<{
319
- "single-session": "single-session";
320
- "checkpoint-resume": "checkpoint-resume";
321
- "orchestrator-worker": "orchestrator-worker";
322
- decomposition: "decomposition";
323
- }>;
324
- exception_type: z.ZodOptional<z.ZodEnum<{
325
- "docs-only": "docs-only";
326
- "shallow-multi-file": "shallow-multi-file";
327
- }>>;
328
- exception_reason: z.ZodOptional<z.ZodString>;
329
- }, z.core.$strip>>;
330
- escalation_triggers: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodEnum<{
331
- budget: "budget";
332
- sensitive_data: "sensitive_data";
333
- security_p0: "security_p0";
334
- cross_lane_arch: "cross_lane_arch";
335
- }>>>>;
336
- requires_human_escalation: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
337
- approved_by: z.ZodOptional<z.ZodArray<z.ZodString>>;
338
- approved_at: z.ZodPipe<z.ZodOptional<z.ZodString>, z.ZodTransform<string | undefined, string | undefined>>;
339
- escalation_resolved_by: z.ZodOptional<z.ZodString>;
340
- escalation_resolved_at: z.ZodPipe<z.ZodOptional<z.ZodString>, z.ZodTransform<string | undefined, string | undefined>>;
341
- requires_cso_approval: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
342
- requires_cto_approval: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
343
- requires_design_approval: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
344
- }, z.core.$strip>;
345
- /**
346
- * Strict WU Schema (structural + placeholder rejection)
347
- *
348
- * Validates WU files against LumenFlow requirements:
349
- * - No placeholder text in done WUs
350
- * - Minimum description length (50 chars)
351
- * - Code paths present for non-documentation WUs
352
- * - Proper status/lane/type enums
353
- *
354
- * Used by wu:claim and wu:done to ensure specs are complete.
355
- * Provides runtime validation and TypeScript type inference.
356
- */
357
- export declare const WUSchema: z.ZodObject<{
358
- description: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
359
- acceptance: z.ZodUnion<readonly [z.ZodPipe<z.ZodPipe<z.ZodArray<z.ZodString>, z.ZodTransform<string[], string[]>>, z.ZodArray<z.ZodString>>, z.ZodRecord<z.ZodString, z.ZodPipe<z.ZodArray<z.ZodString>, z.ZodTransform<string[], string[]>>>]>;
360
- id: z.ZodString;
361
- title: z.ZodString;
362
- lane: z.ZodString;
363
- type: z.ZodDefault<z.ZodEnum<{
364
- feature: "feature";
365
- bug: "bug";
366
- documentation: "documentation";
367
- process: "process";
368
- tooling: "tooling";
369
- chore: "chore";
370
- refactor: "refactor";
371
- }>>;
372
- status: z.ZodDefault<z.ZodEnum<{
373
- todo: "todo";
374
- ready: "ready";
375
- backlog: "backlog";
376
- in_progress: "in_progress";
377
- blocked: "blocked";
378
- done: "done";
379
- completed: "completed";
380
- cancelled: "cancelled";
381
- abandoned: "abandoned";
382
- deferred: "deferred";
383
- closed: "closed";
384
- superseded: "superseded";
385
- }>>;
386
- priority: z.ZodDefault<z.ZodEnum<{
387
- P2: "P2";
388
- P0: "P0";
389
- P1: "P1";
390
- P3: "P3";
391
- }>>;
392
- created: z.ZodString;
393
- code_paths: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodArray<z.ZodString>, z.ZodTransform<string[], string[]>>, z.ZodArray<z.ZodString>>>;
394
- tests: z.ZodDefault<z.ZodOptional<z.ZodObject<{
395
- manual: z.ZodOptional<z.ZodPipe<z.ZodArray<z.ZodString>, z.ZodTransform<string[], string[]>>>;
396
- unit: z.ZodOptional<z.ZodPipe<z.ZodArray<z.ZodString>, z.ZodTransform<string[], string[]>>>;
397
- integration: z.ZodOptional<z.ZodPipe<z.ZodArray<z.ZodString>, z.ZodTransform<string[], string[]>>>;
398
- e2e: z.ZodOptional<z.ZodPipe<z.ZodArray<z.ZodString>, z.ZodTransform<string[], string[]>>>;
399
- }, z.core.$strip>>>;
400
- artifacts: z.ZodDefault<z.ZodOptional<z.ZodPipe<z.ZodArray<z.ZodString>, z.ZodTransform<string[], string[]>>>>;
401
- dependencies: z.ZodDefault<z.ZodOptional<z.ZodPipe<z.ZodArray<z.ZodString>, z.ZodTransform<string[], string[]>>>>;
402
- initiative: z.ZodOptional<z.ZodString>;
403
- phase: z.ZodOptional<z.ZodNumber>;
404
- blocks: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodArray<z.ZodString>, z.ZodTransform<string[], string[]>>, z.ZodArray<z.ZodString>>>;
405
- blocked_by: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodArray<z.ZodString>, z.ZodTransform<string[], string[]>>, z.ZodArray<z.ZodString>>>;
406
- labels: z.ZodOptional<z.ZodPipe<z.ZodArray<z.ZodString>, z.ZodTransform<string[], string[]>>>;
407
- plan: z.ZodOptional<z.ZodString>;
408
- spec_refs: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
409
- file: z.ZodOptional<z.ZodString>;
410
- section: z.ZodString;
411
- }, z.core.$strip>, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
412
- file: z.ZodOptional<z.ZodString>;
413
- section: z.ZodString;
414
- }, z.core.$strip>]>>]>>;
415
- risks: z.ZodDefault<z.ZodOptional<z.ZodPipe<z.ZodArray<z.ZodString>, z.ZodTransform<string[], string[]>>>>;
416
- notes: z.ZodPipe<z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>, z.ZodTransform<string, string | string[] | undefined>>;
417
- requires_review: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
418
- locked: z.ZodOptional<z.ZodBoolean>;
419
- completed_at: z.ZodPipe<z.ZodOptional<z.ZodString>, z.ZodTransform<string | undefined, string | undefined>>;
420
- claimed_mode: z.ZodOptional<z.ZodEnum<{
421
- worktree: "worktree";
422
- "branch-only": "branch-only";
423
- "worktree-pr": "worktree-pr";
424
- "branch-pr": "branch-pr";
425
- }>>;
426
- claimed_branch: z.ZodOptional<z.ZodString>;
427
- assigned_to: z.ZodOptional<z.ZodString>;
428
- claimed_at: z.ZodPipe<z.ZodOptional<z.ZodString>, z.ZodTransform<string | undefined, string | undefined>>;
429
- blocked_reason: z.ZodOptional<z.ZodString>;
430
- worktree_path: z.ZodOptional<z.ZodString>;
431
- session_id: z.ZodOptional<z.ZodString>;
432
- agent_sessions: z.ZodOptional<z.ZodArray<z.ZodObject<{
433
- session_id: z.ZodString;
434
- started: z.ZodString;
435
- completed: z.ZodOptional<z.ZodString>;
436
- agent_type: z.ZodEnum<{
437
- "claude-code": "claude-code";
438
- "codex-cli": "codex-cli";
439
- cursor: "cursor";
440
- "gemini-cli": "gemini-cli";
441
- windsurf: "windsurf";
442
- copilot: "copilot";
443
- other: "other";
444
- }>;
445
- context_tier: z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<2>, z.ZodLiteral<3>]>;
446
- incidents_logged: z.ZodDefault<z.ZodNumber>;
447
- incidents_major: z.ZodDefault<z.ZodNumber>;
448
- artifacts: z.ZodOptional<z.ZodArray<z.ZodString>>;
449
- }, z.core.$strip>>>;
450
- exposure: z.ZodOptional<z.ZodEnum<{
451
- documentation: "documentation";
452
- ui: "ui";
453
- api: "api";
454
- "backend-only": "backend-only";
455
- }>>;
456
- user_journey: z.ZodOptional<z.ZodString>;
457
- ui_pairing_wus: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodArray<z.ZodString>, z.ZodTransform<string[], string[]>>, z.ZodArray<z.ZodString>>>;
458
- navigation_path: z.ZodOptional<z.ZodString>;
459
- sizing_estimate: z.ZodOptional<z.ZodObject<{
460
- estimated_files: z.ZodNumber;
461
- estimated_tool_calls: z.ZodNumber;
462
- strategy: z.ZodEnum<{
463
- "single-session": "single-session";
464
- "checkpoint-resume": "checkpoint-resume";
465
- "orchestrator-worker": "orchestrator-worker";
466
- decomposition: "decomposition";
467
- }>;
468
- exception_type: z.ZodOptional<z.ZodEnum<{
469
- "docs-only": "docs-only";
470
- "shallow-multi-file": "shallow-multi-file";
471
- }>>;
472
- exception_reason: z.ZodOptional<z.ZodString>;
473
- }, z.core.$strip>>;
474
- escalation_triggers: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodEnum<{
475
- budget: "budget";
476
- sensitive_data: "sensitive_data";
477
- security_p0: "security_p0";
478
- cross_lane_arch: "cross_lane_arch";
479
- }>>>>;
480
- requires_human_escalation: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
481
- approved_by: z.ZodOptional<z.ZodArray<z.ZodString>>;
482
- approved_at: z.ZodPipe<z.ZodOptional<z.ZodString>, z.ZodTransform<string | undefined, string | undefined>>;
483
- escalation_resolved_by: z.ZodOptional<z.ZodString>;
484
- escalation_resolved_at: z.ZodPipe<z.ZodOptional<z.ZodString>, z.ZodTransform<string | undefined, string | undefined>>;
485
- requires_cso_approval: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
486
- requires_cto_approval: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
487
- requires_design_approval: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
488
- }, z.core.$strip>;
489
- /**
490
- * TypeScript type inferred from schema
491
- *
492
- * Single source of truth for both runtime validation and compile-time types.
493
- * Replaces manual WU interfaces (DRY principle).
494
- *
495
- * Note: Type inference available in TypeScript via z.infer<typeof WUSchema>
496
- * This is a JavaScript file, so the type export is not needed here.
497
- *
498
- * @typedef {import('zod').z.infer<typeof WUSchema>} WU
499
- */
500
- /**
501
- * Validates WU data against strict schema (placeholder rejection)
502
- *
503
- * Used by wu:claim and wu:done to ensure specs are complete.
504
- * Rejects WUs with placeholder markers.
505
- *
506
- * @param {unknown} data - Parsed YAML data to validate
507
- * @returns {z.SafeParseReturnType<WU, WU>} Validation result
508
- *
509
- * @example
510
- * const result = validateWU(yamlData);
511
- * if (!result.success) {
512
- * result.error.issues.forEach(issue => {
513
- * console.error(`${issue.path.join('.')}: ${issue.message}`);
514
- * });
515
- * }
516
- */
517
- export declare function validateWU(data: unknown): z.ZodSafeParseResult<{
518
- description: string;
519
- acceptance: string[] | Record<string, string[]>;
520
- id: string;
521
- title: string;
522
- lane: string;
523
- type: "feature" | "bug" | "documentation" | "process" | "tooling" | "chore" | "refactor";
524
- status: "todo" | "ready" | "backlog" | "in_progress" | "blocked" | "done" | "completed" | "cancelled" | "abandoned" | "deferred" | "closed" | "superseded";
525
- priority: "P2" | "P0" | "P1" | "P3";
526
- created: string;
527
- code_paths: string[];
528
- tests: {
529
- manual?: string[] | undefined;
530
- unit?: string[] | undefined;
531
- integration?: string[] | undefined;
532
- e2e?: string[] | undefined;
533
- };
534
- artifacts: string[];
535
- dependencies: string[];
536
- risks: string[];
537
- notes: string;
538
- requires_review: boolean;
539
- completed_at: string | undefined;
540
- claimed_at: string | undefined;
541
- escalation_triggers: ("budget" | "sensitive_data" | "security_p0" | "cross_lane_arch")[];
542
- requires_human_escalation: boolean;
543
- approved_at: string | undefined;
544
- escalation_resolved_at: string | undefined;
545
- requires_cso_approval: boolean;
546
- requires_cto_approval: boolean;
547
- requires_design_approval: boolean;
548
- initiative?: string | undefined;
549
- phase?: number | undefined;
550
- blocks?: string[] | undefined;
551
- blocked_by?: string[] | undefined;
552
- labels?: string[] | undefined;
553
- plan?: string | undefined;
554
- spec_refs?: {
555
- section: string;
556
- file?: string | undefined;
557
- } | (string | {
558
- section: string;
559
- file?: string | undefined;
560
- })[] | undefined;
561
- locked?: boolean | undefined;
562
- claimed_mode?: "worktree" | "branch-only" | "worktree-pr" | "branch-pr" | undefined;
563
- claimed_branch?: string | undefined;
564
- assigned_to?: string | undefined;
565
- blocked_reason?: string | undefined;
566
- worktree_path?: string | undefined;
567
- session_id?: string | undefined;
568
- agent_sessions?: {
569
- session_id: string;
570
- started: string;
571
- agent_type: "claude-code" | "codex-cli" | "cursor" | "gemini-cli" | "windsurf" | "copilot" | "other";
572
- context_tier: 1 | 2 | 3;
573
- incidents_logged: number;
574
- incidents_major: number;
575
- completed?: string | undefined;
576
- artifacts?: string[] | undefined;
577
- }[] | undefined;
578
- exposure?: "documentation" | "ui" | "api" | "backend-only" | undefined;
579
- user_journey?: string | undefined;
580
- ui_pairing_wus?: string[] | undefined;
581
- navigation_path?: string | undefined;
582
- sizing_estimate?: {
583
- estimated_files: number;
584
- estimated_tool_calls: number;
585
- strategy: "single-session" | "checkpoint-resume" | "orchestrator-worker" | "decomposition";
586
- exception_type?: "docs-only" | "shallow-multi-file" | undefined;
587
- exception_reason?: string | undefined;
588
- } | undefined;
589
- approved_by?: string[] | undefined;
590
- escalation_resolved_by?: string | undefined;
591
- }>;
592
- /**
593
- * Validates WU data against base schema (structural only)
594
- *
595
- * WU-1539: Used by wu:create and wu:edit for fail-fast structural validation.
596
- * Allows placeholder markers - only checks field types, formats, and lengths.
597
- *
598
- * @param {unknown} data - Parsed YAML data to validate
599
- * @returns {z.SafeParseReturnType<WU, WU>} Validation result
600
- *
601
- * @example
602
- * const result = validateReadyWU(yamlData);
603
- * if (!result.success) {
604
- * const errors = result.error.issues
605
- * .map(issue => ` • ${issue.path.join('.')}: ${issue.message}`)
606
- * .join('\n');
607
- * die(`WU YAML validation failed:\n\n${errors}`);
608
- * }
609
- */
610
- export declare function validateReadyWU(data: unknown): z.ZodSafeParseResult<{
611
- description: string;
612
- acceptance: string[] | Record<string, string[]>;
613
- id: string;
614
- title: string;
615
- lane: string;
616
- type: "feature" | "bug" | "documentation" | "process" | "tooling" | "chore" | "refactor";
617
- status: "todo" | "ready" | "backlog" | "in_progress" | "blocked" | "done" | "completed" | "cancelled" | "abandoned" | "deferred" | "closed" | "superseded";
618
- priority: "P2" | "P0" | "P1" | "P3";
619
- created: string;
620
- code_paths: string[];
621
- tests: {
622
- manual?: string[] | undefined;
623
- unit?: string[] | undefined;
624
- integration?: string[] | undefined;
625
- e2e?: string[] | undefined;
626
- };
627
- artifacts: string[];
628
- dependencies: string[];
629
- risks: string[];
630
- notes: string;
631
- requires_review: boolean;
632
- completed_at: string | undefined;
633
- claimed_at: string | undefined;
634
- escalation_triggers: ("budget" | "sensitive_data" | "security_p0" | "cross_lane_arch")[];
635
- requires_human_escalation: boolean;
636
- approved_at: string | undefined;
637
- escalation_resolved_at: string | undefined;
638
- requires_cso_approval: boolean;
639
- requires_cto_approval: boolean;
640
- requires_design_approval: boolean;
641
- initiative?: string | undefined;
642
- phase?: number | undefined;
643
- blocks?: string[] | undefined;
644
- blocked_by?: string[] | undefined;
645
- labels?: string[] | undefined;
646
- plan?: string | undefined;
647
- spec_refs?: {
648
- section: string;
649
- file?: string | undefined;
650
- } | (string | {
651
- section: string;
652
- file?: string | undefined;
653
- })[] | undefined;
654
- locked?: boolean | undefined;
655
- claimed_mode?: "worktree" | "branch-only" | "worktree-pr" | "branch-pr" | undefined;
656
- claimed_branch?: string | undefined;
657
- assigned_to?: string | undefined;
658
- blocked_reason?: string | undefined;
659
- worktree_path?: string | undefined;
660
- session_id?: string | undefined;
661
- agent_sessions?: {
662
- session_id: string;
663
- started: string;
664
- agent_type: "claude-code" | "codex-cli" | "cursor" | "gemini-cli" | "windsurf" | "copilot" | "other";
665
- context_tier: 1 | 2 | 3;
666
- incidents_logged: number;
667
- incidents_major: number;
668
- completed?: string | undefined;
669
- artifacts?: string[] | undefined;
670
- }[] | undefined;
671
- exposure?: "documentation" | "ui" | "api" | "backend-only" | undefined;
672
- user_journey?: string | undefined;
673
- ui_pairing_wus?: string[] | undefined;
674
- navigation_path?: string | undefined;
675
- sizing_estimate?: {
676
- estimated_files: number;
677
- estimated_tool_calls: number;
678
- strategy: "single-session" | "checkpoint-resume" | "orchestrator-worker" | "decomposition";
679
- exception_type?: "docs-only" | "shallow-multi-file" | undefined;
680
- exception_reason?: string | undefined;
681
- } | undefined;
682
- approved_by?: string[] | undefined;
683
- escalation_resolved_by?: string | undefined;
684
- }>;
685
- /**
686
- * Validates WU spec completeness for done status
687
- *
688
- * Additional validation beyond schema for WUs marked as done:
689
- * - Code paths required for non-documentation WUs
690
- * - Locked must be true
691
- * - Completed timestamp must be present
692
- *
693
- * @param {WU} wu - Validated WU data
694
- * @returns {{valid: boolean, errors: string[]}} Validation result
695
- *
696
- * @example
697
- * const schemaResult = validateWU(data);
698
- * if (schemaResult.success && data.status === 'done') {
699
- * const completenessResult = validateDoneWU(schemaResult.data);
700
- * if (!completenessResult.valid) {
701
- * console.error(completenessResult.errors);
702
- * }
703
- * }
704
- */
705
- export declare function validateDoneWU(wu: WUDoneValidationInput): {
706
- valid: boolean;
707
- errors: string[];
708
- };
709
- /**
710
- * WU-2080: Valid escalation trigger types
711
- *
712
- * These are the only conditions that require human intervention.
713
- * Everything else is auto-approved by agents.
714
- */
715
- export declare const ESCALATION_TRIGGER_TYPES: string[];
716
- /**
717
- * WU-2080: Agent-first approval validation
718
- *
719
- * AGENT-FIRST MODEL: Agents auto-approve by default.
720
- * Human escalation only when escalation_triggers is non-empty
721
- * AND requires_human_escalation is true AND not yet resolved.
722
- *
723
- * Returns:
724
- * - valid: true if agent can proceed (no unresolved escalation)
725
- * - errors: blocking issues requiring human resolution
726
- * - warnings: advisory messages (non-blocking)
727
- *
728
- * @param {object} wu - Validated WU data
729
- * @returns {{valid: boolean, errors: string[], warnings: string[]}}
730
- */
731
- export declare function validateApprovalGates(wu: WUEscalationInput): {
732
- valid: boolean;
733
- errors: string[];
734
- warnings: string[];
735
- };
736
- /**
737
- * WU-2080: Detect escalation triggers from WU content
738
- *
739
- * Analyzes WU metadata to detect conditions requiring human escalation.
740
- * Called by wu:claim to auto-set escalation_triggers.
741
- *
742
- * @param {object} wu - WU data with lane, type, code_paths
743
- * @returns {string[]} Array of triggered escalation types
744
- */
745
- export declare function detectEscalationTriggers(wu: EscalationDetectionInput): string[];
746
- /**
747
- * WU-2080: Generate auto-approval metadata for wu:claim
748
- *
749
- * Called by wu:claim to auto-approve agents within policy.
750
- * Sets approved_by and approved_at, detects escalation triggers.
751
- *
752
- * @param {object} wu - WU data
753
- * @param {string} agentEmail - Email of claiming agent
754
- * @returns {{approved_by: string[], approved_at: string, escalation_triggers: string[], requires_human_escalation: boolean}}
755
- */
756
- export declare function generateAutoApproval(wu: EscalationDetectionInput, agentEmail: string): {
757
- approved_by: string[];
758
- approved_at: string;
759
- escalation_triggers: string[];
760
- requires_human_escalation: boolean;
761
- };
762
- /**
763
- * @deprecated Use detectEscalationTriggers instead
764
- * WU-2079: Legacy function for backwards compatibility
765
- */
766
- export declare function determineRequiredApprovals(wu: EscalationDetectionInput): {
767
- requires_cso_approval: boolean;
768
- requires_cto_approval: boolean;
769
- requires_design_approval: boolean;
770
- };
771
- /**
772
- * WU-1811: Validates and normalizes WU YAML data with auto-fixable normalisations
773
- *
774
- * This function validates the WU YAML schema and applies fixable normalisations:
775
- * - Trimming whitespace from string fields
776
- * - Normalizing escaped newlines (\\n → \n)
777
- * - Splitting embedded newlines in arrays (["a\nb"] → ["a", "b"])
778
- *
779
- * Returns:
780
- * - valid: true if schema validation passes (after normalisations)
781
- * - normalized: the normalized data (even if validation fails, partial normalization is returned)
782
- * - errors: validation errors if UnsafeAny
783
- * - wasNormalized: true if UnsafeAny normalisations were applied
784
- *
785
- * @param {unknown} data - Parsed YAML data to validate and normalize
786
- * @returns {{valid: boolean, normalized: object|null, errors: string[], wasNormalized: boolean}}
787
- *
788
- * @example
789
- * const { valid, normalized, errors, wasNormalized } = validateAndNormalizeWUYAML(yamlData);
790
- * if (valid && wasNormalized) {
791
- * // Write normalized data back to YAML file
792
- * writeWU(wuPath, normalized);
793
- * }
794
- * if (!valid) {
795
- * die(`Validation failed:\n${errors.join('\n')}`);
796
- * }
797
- */
798
- export declare function validateAndNormalizeWUYAML(data: unknown): {
799
- valid: boolean;
800
- normalized: z.infer<typeof WUSchema> | null;
801
- errors: string[];
802
- wasNormalized: boolean;
803
- };
804
- /**
805
- * WU-1833: Validate WU spec completeness with advisory warnings
806
- *
807
- * Provides soft validation that warns (doesn't fail) when recommended fields are missing.
808
- * Used by wu:validate command to surface quality issues without blocking workflow.
809
- *
810
- * Feature and bug WUs should have:
811
- * - notes (implementation context, deployment instructions)
812
- * - tests.manual (verification steps)
813
- * - spec_refs (links to plans, design docs) - for features only
814
- *
815
- * @param {object} wu - Validated WU data (must pass WUSchema first)
816
- * @returns {{warnings: string[]}} Array of warning messages
817
- *
818
- * @example
819
- * const schemaResult = validateWU(data);
820
- * if (schemaResult.success) {
821
- * const { warnings } = validateWUCompleteness(schemaResult.data);
822
- * if (warnings.length > 0) {
823
- * console.warn('Quality warnings:');
824
- * warnings.forEach(w => console.warn(` ⚠️ ${w}`));
825
- * }
826
- * }
827
- */
828
- export declare function validateWUCompleteness(wu: WUCompletenessInput): {
829
- warnings: string[];
830
- };
831
- export {};
2
+ export * from '@lumenflow/packs-software-delivery/state/wu-schema';
832
3
  //# sourceMappingURL=wu-schema.d.ts.map