@lumenflow/core 4.23.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 (439) 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/dora-constants.d.ts +19 -2
  23. package/dist/constants/dora-constants.d.ts.map +1 -1
  24. package/dist/constants/dora-constants.js +20 -2
  25. package/dist/constants/dora-constants.js.map +1 -1
  26. package/dist/constants/duration-constants.d.ts +1 -28
  27. package/dist/constants/duration-constants.d.ts.map +1 -1
  28. package/dist/constants/duration-constants.js +4 -28
  29. package/dist/constants/duration-constants.js.map +1 -1
  30. package/dist/constants/gate-constants.d.ts +1 -23
  31. package/dist/constants/gate-constants.d.ts.map +1 -1
  32. package/dist/constants/gate-constants.js +4 -23
  33. package/dist/constants/gate-constants.js.map +1 -1
  34. package/dist/constants/index.d.ts +1 -1
  35. package/dist/constants/index.d.ts.map +1 -1
  36. package/dist/constants/index.js +1 -1
  37. package/dist/constants/index.js.map +1 -1
  38. package/dist/constants/lock-constants.d.ts +1 -28
  39. package/dist/constants/lock-constants.d.ts.map +1 -1
  40. package/dist/constants/lock-constants.js +2 -28
  41. package/dist/constants/lock-constants.js.map +1 -1
  42. package/dist/core/tool.schemas.d.ts +11 -11
  43. package/dist/core/worktree-guard.js +2 -2
  44. package/dist/core/worktree-guard.js.map +1 -1
  45. package/dist/cycle-detector.d.ts +4 -48
  46. package/dist/cycle-detector.d.ts.map +1 -1
  47. package/dist/cycle-detector.js +4 -78
  48. package/dist/cycle-detector.js.map +1 -1
  49. package/dist/date-utils.d.ts +1 -65
  50. package/dist/date-utils.d.ts.map +1 -1
  51. package/dist/date-utils.js +4 -140
  52. package/dist/date-utils.js.map +1 -1
  53. package/dist/delegation-monitor.d.ts +2 -0
  54. package/dist/delegation-monitor.d.ts.map +1 -1
  55. package/dist/delegation-monitor.js +29 -2
  56. package/dist/delegation-monitor.js.map +1 -1
  57. package/dist/delegation-recovery.d.ts +36 -17
  58. package/dist/delegation-recovery.d.ts.map +1 -1
  59. package/dist/delegation-recovery.js +285 -82
  60. package/dist/delegation-recovery.js.map +1 -1
  61. package/dist/delegation-registry-schema.d.ts +257 -31
  62. package/dist/delegation-registry-schema.d.ts.map +1 -1
  63. package/dist/delegation-registry-schema.js +43 -34
  64. package/dist/delegation-registry-schema.js.map +1 -1
  65. package/dist/delegation-registry-store.d.ts +4 -128
  66. package/dist/delegation-registry-store.d.ts.map +1 -1
  67. package/dist/delegation-registry-store.js +39 -178
  68. package/dist/delegation-registry-store.js.map +1 -1
  69. package/dist/delegation-tree.d.ts +12 -20
  70. package/dist/delegation-tree.d.ts.map +1 -1
  71. package/dist/delegation-tree.js +40 -29
  72. package/dist/delegation-tree.js.map +1 -1
  73. package/dist/delivery-review-contract.d.ts +1 -1
  74. package/dist/delivery-review-contract.d.ts.map +1 -1
  75. package/dist/docs-layout-presets.d.ts +1 -30
  76. package/dist/docs-layout-presets.d.ts.map +1 -1
  77. package/dist/docs-layout-presets.js +4 -38
  78. package/dist/docs-layout-presets.js.map +1 -1
  79. package/dist/domain/context.schemas.d.ts +3 -3
  80. package/dist/domain/orchestration.constants.d.ts +1 -110
  81. package/dist/domain/orchestration.constants.d.ts.map +1 -1
  82. package/dist/domain/orchestration.constants.js +2 -127
  83. package/dist/domain/orchestration.constants.js.map +1 -1
  84. package/dist/domain/orchestration.schemas.d.ts +1 -306
  85. package/dist/domain/orchestration.schemas.d.ts.map +1 -1
  86. package/dist/domain/orchestration.schemas.js +2 -211
  87. package/dist/domain/orchestration.schemas.js.map +1 -1
  88. package/dist/domain/orchestration.types.d.ts +1 -133
  89. package/dist/domain/orchestration.types.d.ts.map +1 -1
  90. package/dist/domain/orchestration.types.js +2 -2
  91. package/dist/domain/orchestration.types.js.map +1 -1
  92. package/dist/domain/recovery.schemas.d.ts +3 -3
  93. package/dist/domain/validation.schemas.d.ts +4 -4
  94. package/dist/error-handler.d.ts +4 -173
  95. package/dist/error-handler.d.ts.map +1 -1
  96. package/dist/error-handler.js +4 -244
  97. package/dist/error-handler.js.map +1 -1
  98. package/dist/file-classifiers.d.ts.map +1 -1
  99. package/dist/file-classifiers.js +26 -0
  100. package/dist/file-classifiers.js.map +1 -1
  101. package/dist/git-adapter.d.ts +4 -448
  102. package/dist/git-adapter.d.ts.map +1 -1
  103. package/dist/git-adapter.js +4 -772
  104. package/dist/git-adapter.js.map +1 -1
  105. package/dist/git-context-extractor.d.ts +4 -98
  106. package/dist/git-context-extractor.d.ts.map +1 -1
  107. package/dist/git-context-extractor.js +4 -563
  108. package/dist/git-context-extractor.js.map +1 -1
  109. package/dist/git-staged-validator.d.ts +4 -29
  110. package/dist/git-staged-validator.d.ts.map +1 -1
  111. package/dist/git-staged-validator.js +4 -46
  112. package/dist/git-staged-validator.js.map +1 -1
  113. package/dist/incremental-lint.d.ts.map +1 -1
  114. package/dist/incremental-lint.js +3 -2
  115. package/dist/incremental-lint.js.map +1 -1
  116. package/dist/incremental-test.d.ts +1 -32
  117. package/dist/incremental-test.d.ts.map +1 -1
  118. package/dist/incremental-test.js +4 -61
  119. package/dist/incremental-test.js.map +1 -1
  120. package/dist/index.d.ts +3 -2
  121. package/dist/index.d.ts.map +1 -1
  122. package/dist/index.js +10 -2
  123. package/dist/index.js.map +1 -1
  124. package/dist/integration-target.d.ts +30 -0
  125. package/dist/integration-target.d.ts.map +1 -0
  126. package/dist/integration-target.js +51 -0
  127. package/dist/integration-target.js.map +1 -0
  128. package/dist/lane-checker.d.ts.map +1 -1
  129. package/dist/lane-checker.js +8 -0
  130. package/dist/lane-checker.js.map +1 -1
  131. package/dist/lumenflow-config-schema.d.ts +73 -29
  132. package/dist/lumenflow-config-schema.d.ts.map +1 -1
  133. package/dist/lumenflow-config-schema.js +1 -1
  134. package/dist/lumenflow-config-schema.js.map +1 -1
  135. package/dist/lumenflow-config.d.ts +10 -34
  136. package/dist/lumenflow-config.d.ts.map +1 -1
  137. package/dist/lumenflow-config.js +32 -142
  138. package/dist/lumenflow-config.js.map +1 -1
  139. package/dist/manual-test-validator.d.ts +1 -96
  140. package/dist/manual-test-validator.d.ts.map +1 -1
  141. package/dist/manual-test-validator.js +4 -245
  142. package/dist/manual-test-validator.js.map +1 -1
  143. package/dist/micro-worktree-shared.d.ts.map +1 -1
  144. package/dist/micro-worktree-shared.js +10 -9
  145. package/dist/micro-worktree-shared.js.map +1 -1
  146. package/dist/micro-worktree.d.ts.map +1 -1
  147. package/dist/micro-worktree.js +26 -23
  148. package/dist/micro-worktree.js.map +1 -1
  149. package/dist/normalize-config-keys.d.ts +1 -10
  150. package/dist/normalize-config-keys.d.ts.map +1 -1
  151. package/dist/normalize-config-keys.js +7 -73
  152. package/dist/normalize-config-keys.js.map +1 -1
  153. package/dist/object-guards.d.ts +1 -10
  154. package/dist/object-guards.d.ts.map +1 -1
  155. package/dist/object-guards.js +7 -20
  156. package/dist/object-guards.js.map +1 -1
  157. package/dist/ports/config.ports.d.ts +1 -82
  158. package/dist/ports/config.ports.d.ts.map +1 -1
  159. package/dist/ports/config.ports.js +2 -1
  160. package/dist/ports/config.ports.js.map +1 -1
  161. package/dist/ports/dashboard-renderer.port.d.ts +1 -112
  162. package/dist/ports/dashboard-renderer.port.d.ts.map +1 -1
  163. package/dist/ports/dashboard-renderer.port.js +2 -1
  164. package/dist/ports/dashboard-renderer.port.js.map +1 -1
  165. package/dist/ports/git-validator.ports.d.ts +5 -110
  166. package/dist/ports/git-validator.ports.d.ts.map +1 -1
  167. package/dist/ports/git-validator.ports.js +8 -1
  168. package/dist/ports/git-validator.ports.js.map +1 -1
  169. package/dist/ports/sync-validator.ports.d.ts +1 -51
  170. package/dist/ports/sync-validator.ports.d.ts.map +1 -1
  171. package/dist/ports/sync-validator.ports.js +2 -1
  172. package/dist/ports/sync-validator.ports.js.map +1 -1
  173. package/dist/ports/wu-helpers.ports.d.ts +1 -156
  174. package/dist/ports/wu-helpers.ports.d.ts.map +1 -1
  175. package/dist/ports/wu-helpers.ports.js +2 -1
  176. package/dist/ports/wu-helpers.ports.js.map +1 -1
  177. package/dist/ports/wu-state.ports.d.ts +1 -208
  178. package/dist/ports/wu-state.ports.d.ts.map +1 -1
  179. package/dist/ports/wu-state.ports.js +2 -1
  180. package/dist/ports/wu-state.ports.js.map +1 -1
  181. package/dist/rebase-artifact-cleanup.d.ts.map +1 -1
  182. package/dist/rebase-artifact-cleanup.js +6 -3
  183. package/dist/rebase-artifact-cleanup.js.map +1 -1
  184. package/dist/sandbox-allowlist.d.ts +1 -15
  185. package/dist/sandbox-allowlist.d.ts.map +1 -1
  186. package/dist/sandbox-allowlist.js +4 -74
  187. package/dist/sandbox-allowlist.js.map +1 -1
  188. package/dist/sandbox-backend-linux.d.ts +1 -5
  189. package/dist/sandbox-backend-linux.d.ts.map +1 -1
  190. package/dist/sandbox-backend-linux.js +4 -64
  191. package/dist/sandbox-backend-linux.js.map +1 -1
  192. package/dist/sandbox-backend-macos.d.ts +1 -5
  193. package/dist/sandbox-backend-macos.d.ts.map +1 -1
  194. package/dist/sandbox-backend-macos.js +4 -109
  195. package/dist/sandbox-backend-macos.js.map +1 -1
  196. package/dist/sandbox-backend-windows.d.ts +1 -5
  197. package/dist/sandbox-backend-windows.d.ts.map +1 -1
  198. package/dist/sandbox-backend-windows.js +4 -27
  199. package/dist/sandbox-backend-windows.js.map +1 -1
  200. package/dist/sandbox-profile.d.ts +1 -57
  201. package/dist/sandbox-profile.d.ts.map +1 -1
  202. package/dist/sandbox-profile.js +4 -65
  203. package/dist/sandbox-profile.js.map +1 -1
  204. package/dist/schemas/agents-config.d.ts +47 -0
  205. package/dist/schemas/agents-config.d.ts.map +1 -1
  206. package/dist/schemas/agents-config.js +59 -0
  207. package/dist/schemas/agents-config.js.map +1 -1
  208. package/dist/schemas/command-schemas.d.ts +4 -4
  209. package/dist/schemas/flow-arg-validators.d.ts +2 -2
  210. package/dist/schemas/flow-schemas.d.ts +4 -4
  211. package/dist/schemas/gates-section-config.d.ts +32 -13
  212. package/dist/schemas/gates-section-config.d.ts.map +1 -1
  213. package/dist/schemas/gates-section-config.js +16 -1
  214. package/dist/schemas/gates-section-config.js.map +1 -1
  215. package/dist/schemas/initiative-arg-validators.d.ts +2 -2
  216. package/dist/schemas/initiative-schemas.d.ts +12 -12
  217. package/dist/schemas/lanes-config.d.ts +5 -5
  218. package/dist/schemas/memory-arg-validators.d.ts +6 -0
  219. package/dist/schemas/memory-arg-validators.d.ts.map +1 -1
  220. package/dist/schemas/memory-config.d.ts +4 -4
  221. package/dist/schemas/memory-schemas.d.ts +12 -0
  222. package/dist/schemas/memory-schemas.d.ts.map +1 -1
  223. package/dist/schemas/memory-schemas.js +12 -0
  224. package/dist/schemas/memory-schemas.js.map +1 -1
  225. package/dist/schemas/operational-config.d.ts +4 -4
  226. package/dist/schemas/setup-arg-validators.d.ts +3 -3
  227. package/dist/schemas/setup-schemas.d.ts +8 -8
  228. package/dist/schemas/wu-config.d.ts +3 -3
  229. package/dist/schemas/wu-lifecycle-arg-validators.d.ts +2 -2
  230. package/dist/schemas/wu-lifecycle-schemas.d.ts +4 -4
  231. package/dist/section-headings.d.ts +1 -34
  232. package/dist/section-headings.d.ts.map +1 -1
  233. package/dist/section-headings.js +2 -51
  234. package/dist/section-headings.js.map +1 -1
  235. package/dist/spawn-constraints-generator.js +3 -3
  236. package/dist/spawn-constraints-generator.js.map +1 -1
  237. package/dist/spawn-guidance-generators.d.ts +1 -1
  238. package/dist/spawn-guidance-generators.d.ts.map +1 -1
  239. package/dist/spawn-policy-resolver.d.ts +1 -1
  240. package/dist/spawn-policy-resolver.d.ts.map +1 -1
  241. package/dist/spawn-task-builder.d.ts +17 -1
  242. package/dist/spawn-task-builder.d.ts.map +1 -1
  243. package/dist/spawn-task-builder.js +63 -1
  244. package/dist/spawn-task-builder.js.map +1 -1
  245. package/dist/spawn-template-assembler.d.ts +1 -1
  246. package/dist/spawn-template-assembler.d.ts.map +1 -1
  247. package/dist/state-machine.d.ts +1 -9
  248. package/dist/state-machine.d.ts.map +1 -1
  249. package/dist/state-machine.js +2 -86
  250. package/dist/state-machine.js.map +1 -1
  251. package/dist/sync-validator.d.ts.map +1 -1
  252. package/dist/sync-validator.js +15 -12
  253. package/dist/sync-validator.js.map +1 -1
  254. package/dist/telemetry.d.ts +20 -6
  255. package/dist/telemetry.d.ts.map +1 -1
  256. package/dist/telemetry.js +27 -6
  257. package/dist/telemetry.js.map +1 -1
  258. package/dist/work-classifier.d.ts +1 -102
  259. package/dist/work-classifier.d.ts.map +1 -1
  260. package/dist/work-classifier.js +2 -424
  261. package/dist/work-classifier.js.map +1 -1
  262. package/dist/worktree-symlink.d.ts +2 -2
  263. package/dist/worktree-symlink.d.ts.map +1 -1
  264. package/dist/worktree-symlink.js +37 -12
  265. package/dist/worktree-symlink.js.map +1 -1
  266. package/dist/wu-cli-constants.d.ts +1 -433
  267. package/dist/wu-cli-constants.d.ts.map +1 -1
  268. package/dist/wu-cli-constants.js +4 -436
  269. package/dist/wu-cli-constants.js.map +1 -1
  270. package/dist/wu-consistency-file-repairs.d.ts.map +1 -1
  271. package/dist/wu-consistency-file-repairs.js +5 -3
  272. package/dist/wu-consistency-file-repairs.js.map +1 -1
  273. package/dist/wu-context-constants.d.ts +22 -0
  274. package/dist/wu-context-constants.d.ts.map +1 -1
  275. package/dist/wu-context-constants.js +22 -0
  276. package/dist/wu-context-constants.js.map +1 -1
  277. package/dist/wu-doc-types.d.ts +1 -47
  278. package/dist/wu-doc-types.d.ts.map +1 -1
  279. package/dist/wu-domain-constants.d.ts +1 -295
  280. package/dist/wu-domain-constants.d.ts.map +1 -1
  281. package/dist/wu-domain-constants.js +4 -397
  282. package/dist/wu-domain-constants.js.map +1 -1
  283. package/dist/wu-done-branch-only.d.ts +1 -1
  284. package/dist/wu-done-branch-only.d.ts.map +1 -1
  285. package/dist/wu-done-branch-only.js +22 -13
  286. package/dist/wu-done-branch-only.js.map +1 -1
  287. package/dist/wu-done-branch-utils.d.ts.map +1 -1
  288. package/dist/wu-done-branch-utils.js +5 -3
  289. package/dist/wu-done-branch-utils.js.map +1 -1
  290. package/dist/wu-done-cleanup.d.ts.map +1 -1
  291. package/dist/wu-done-cleanup.js +66 -22
  292. package/dist/wu-done-cleanup.js.map +1 -1
  293. package/dist/wu-done-concurrent-merge.d.ts.map +1 -1
  294. package/dist/wu-done-concurrent-merge.js +9 -6
  295. package/dist/wu-done-concurrent-merge.js.map +1 -1
  296. package/dist/wu-done-errors.d.ts +3 -3
  297. package/dist/wu-done-errors.d.ts.map +1 -1
  298. package/dist/wu-done-inputs.d.ts.map +1 -1
  299. package/dist/wu-done-inputs.js +3 -0
  300. package/dist/wu-done-inputs.js.map +1 -1
  301. package/dist/wu-done-merge-phase.d.ts.map +1 -1
  302. package/dist/wu-done-merge-phase.js +4 -2
  303. package/dist/wu-done-merge-phase.js.map +1 -1
  304. package/dist/wu-done-merge.d.ts.map +1 -1
  305. package/dist/wu-done-merge.js +16 -8
  306. package/dist/wu-done-merge.js.map +1 -1
  307. package/dist/wu-done-merged-worktree.d.ts.map +1 -1
  308. package/dist/wu-done-merged-worktree.js +7 -8
  309. package/dist/wu-done-merged-worktree.js.map +1 -1
  310. package/dist/wu-done-messages.d.ts.map +1 -1
  311. package/dist/wu-done-messages.js +12 -5
  312. package/dist/wu-done-messages.js.map +1 -1
  313. package/dist/wu-done-metadata.d.ts.map +1 -1
  314. package/dist/wu-done-metadata.js +3 -8
  315. package/dist/wu-done-metadata.js.map +1 -1
  316. package/dist/wu-done-preflight-checks.d.ts.map +1 -1
  317. package/dist/wu-done-preflight-checks.js +21 -15
  318. package/dist/wu-done-preflight-checks.js.map +1 -1
  319. package/dist/wu-done-rebase.d.ts.map +1 -1
  320. package/dist/wu-done-rebase.js +10 -8
  321. package/dist/wu-done-rebase.js.map +1 -1
  322. package/dist/wu-done-retry-helpers.d.ts.map +1 -1
  323. package/dist/wu-done-retry-helpers.js +13 -11
  324. package/dist/wu-done-retry-helpers.js.map +1 -1
  325. package/dist/wu-done-validation.d.ts.map +1 -1
  326. package/dist/wu-done-validation.js +4 -2
  327. package/dist/wu-done-validation.js.map +1 -1
  328. package/dist/wu-done-worktree-services.d.ts.map +1 -1
  329. package/dist/wu-done-worktree-services.js +4 -2
  330. package/dist/wu-done-worktree-services.js.map +1 -1
  331. package/dist/wu-done-worktree.d.ts.map +1 -1
  332. package/dist/wu-done-worktree.js +4 -2
  333. package/dist/wu-done-worktree.js.map +1 -1
  334. package/dist/wu-git-constants.d.ts +1 -175
  335. package/dist/wu-git-constants.d.ts.map +1 -1
  336. package/dist/wu-git-constants.js +4 -175
  337. package/dist/wu-git-constants.js.map +1 -1
  338. package/dist/wu-helpers.d.ts +24 -0
  339. package/dist/wu-helpers.d.ts.map +1 -1
  340. package/dist/wu-helpers.js +37 -4
  341. package/dist/wu-helpers.js.map +1 -1
  342. package/dist/wu-id-format.d.ts +1 -137
  343. package/dist/wu-id-format.d.ts.map +1 -1
  344. package/dist/wu-id-format.js +2 -249
  345. package/dist/wu-id-format.js.map +1 -1
  346. package/dist/wu-id-generator.d.ts.map +1 -1
  347. package/dist/wu-id-generator.js +8 -5
  348. package/dist/wu-id-generator.js.map +1 -1
  349. package/dist/wu-paths-constants.d.ts +1 -253
  350. package/dist/wu-paths-constants.d.ts.map +1 -1
  351. package/dist/wu-paths-constants.js +4 -273
  352. package/dist/wu-paths-constants.js.map +1 -1
  353. package/dist/wu-paths.d.ts +1 -274
  354. package/dist/wu-paths.d.ts.map +1 -1
  355. package/dist/wu-paths.js +4 -236
  356. package/dist/wu-paths.js.map +1 -1
  357. package/dist/wu-rules-resolvers.d.ts.map +1 -1
  358. package/dist/wu-rules-resolvers.js +11 -6
  359. package/dist/wu-rules-resolvers.js.map +1 -1
  360. package/dist/wu-schema.d.ts +1 -830
  361. package/dist/wu-schema.d.ts.map +1 -1
  362. package/dist/wu-schema.js +4 -929
  363. package/dist/wu-schema.js.map +1 -1
  364. package/dist/wu-spawn-helpers.d.ts.map +1 -1
  365. package/dist/wu-spawn-helpers.js +5 -2
  366. package/dist/wu-spawn-helpers.js.map +1 -1
  367. package/dist/wu-spawn.d.ts +2 -2
  368. package/dist/wu-spawn.d.ts.map +1 -1
  369. package/dist/wu-spawn.js +2 -2
  370. package/dist/wu-spawn.js.map +1 -1
  371. package/dist/wu-state-schema.d.ts +1 -291
  372. package/dist/wu-state-schema.d.ts.map +1 -1
  373. package/dist/wu-state-schema.js +4 -212
  374. package/dist/wu-state-schema.js.map +1 -1
  375. package/dist/wu-status-transition.d.ts +3 -1
  376. package/dist/wu-status-transition.d.ts.map +1 -1
  377. package/dist/wu-status-transition.js +9 -24
  378. package/dist/wu-status-transition.js.map +1 -1
  379. package/dist/wu-statuses.d.ts +1 -208
  380. package/dist/wu-statuses.d.ts.map +1 -1
  381. package/dist/wu-statuses.js +4 -242
  382. package/dist/wu-statuses.js.map +1 -1
  383. package/dist/wu-transaction-collectors.d.ts +1 -0
  384. package/dist/wu-transaction-collectors.d.ts.map +1 -1
  385. package/dist/wu-transaction-collectors.js +13 -8
  386. package/dist/wu-transaction-collectors.js.map +1 -1
  387. package/dist/wu-type-helpers.d.ts +1 -27
  388. package/dist/wu-type-helpers.d.ts.map +1 -1
  389. package/dist/wu-type-helpers.js +4 -46
  390. package/dist/wu-type-helpers.js.map +1 -1
  391. package/dist/wu-ui-constants.d.ts +1 -235
  392. package/dist/wu-ui-constants.d.ts.map +1 -1
  393. package/dist/wu-ui-constants.js +5 -235
  394. package/dist/wu-ui-constants.js.map +1 -1
  395. package/dist/wu-validation-constants.d.ts +1 -60
  396. package/dist/wu-validation-constants.d.ts.map +1 -1
  397. package/dist/wu-validation-constants.js +4 -66
  398. package/dist/wu-validation-constants.js.map +1 -1
  399. package/dist/wu-yaml.d.ts +1 -112
  400. package/dist/wu-yaml.d.ts.map +1 -1
  401. package/dist/wu-yaml.js +4 -304
  402. package/dist/wu-yaml.js.map +1 -1
  403. package/package.json +12 -9
  404. package/dist/coverage-gate.d.ts +0 -128
  405. package/dist/coverage-gate.d.ts.map +0 -1
  406. package/dist/coverage-gate.js +0 -211
  407. package/dist/coverage-gate.js.map +0 -1
  408. package/dist/gates-agent-mode.d.ts +0 -108
  409. package/dist/gates-agent-mode.d.ts.map +0 -1
  410. package/dist/gates-agent-mode.js +0 -138
  411. package/dist/gates-agent-mode.js.map +0 -1
  412. package/dist/gates-config-internal.d.ts +0 -54
  413. package/dist/gates-config-internal.d.ts.map +0 -1
  414. package/dist/gates-config-internal.js +0 -107
  415. package/dist/gates-config-internal.js.map +0 -1
  416. package/dist/gates-config.d.ts +0 -68
  417. package/dist/gates-config.d.ts.map +0 -1
  418. package/dist/gates-config.js +0 -193
  419. package/dist/gates-config.js.map +0 -1
  420. package/dist/gates-coverage.d.ts +0 -42
  421. package/dist/gates-coverage.d.ts.map +0 -1
  422. package/dist/gates-coverage.js +0 -162
  423. package/dist/gates-coverage.js.map +0 -1
  424. package/dist/gates-presets.d.ts +0 -52
  425. package/dist/gates-presets.d.ts.map +0 -1
  426. package/dist/gates-presets.js +0 -117
  427. package/dist/gates-presets.js.map +0 -1
  428. package/dist/gates-schemas.d.ts +0 -143
  429. package/dist/gates-schemas.d.ts.map +0 -1
  430. package/dist/gates-schemas.js +0 -67
  431. package/dist/gates-schemas.js.map +0 -1
  432. package/dist/package-manager-resolver.d.ts +0 -80
  433. package/dist/package-manager-resolver.d.ts.map +0 -1
  434. package/dist/package-manager-resolver.js +0 -245
  435. package/dist/package-manager-resolver.js.map +0 -1
  436. package/dist/resolve-policy.d.ts +0 -293
  437. package/dist/resolve-policy.d.ts.map +0 -1
  438. package/dist/resolve-policy.js +0 -303
  439. 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