@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,178 +1,7 @@
1
1
  // Copyright (c) 2026 Hellmai Ltd
2
2
  // SPDX-License-Identifier: AGPL-3.0-only
3
- /**
4
- * Git Constants
5
- *
6
- * WU-1549: Extracted from wu-constants.ts for domain-specific modularity.
7
- * Contains git branch names, remotes, refs, flags, commands, and display constants.
8
- *
9
- * @module wu-git-constants
10
- */
11
- /**
12
- * Git branch names
13
- */
14
- export const BRANCHES = {
15
- MAIN: 'main',
16
- MASTER: 'master', // Legacy default branch name (defensive check)
17
- /** Temporary branch prefix for micro-worktree operations */
18
- TEMP_PREFIX: 'tmp/',
19
- };
20
- /**
21
- * Git remote names
22
- *
23
- * WU-1302: Centralized to eliminate hardcoded 'origin' strings
24
- */
25
- export const REMOTES = {
26
- ORIGIN: 'origin',
27
- };
28
- /**
29
- * Git ref construction helpers
30
- *
31
- * Centralized to eliminate hardcoded 'origin/main' strings
32
- */
33
- export const GIT_REFS = {
34
- /** Construct remote ref like 'origin/main' */
35
- remote: (remoteName, branchName) => `${remoteName}/${branchName}`,
36
- /** Shortcut for origin/main */
37
- ORIGIN_MAIN: 'origin/main',
38
- /** Current HEAD ref */
39
- HEAD: 'HEAD',
40
- /** Upstream ref */
41
- UPSTREAM: '@{u}',
42
- /** Range of upstream..HEAD */
43
- UPSTREAM_RANGE: '@{u}..HEAD',
44
- /** Fetch head ref */
45
- FETCH_HEAD: 'FETCH_HEAD',
46
- };
47
- /**
48
- * Git display constants
49
- *
50
- * Emergency fix (Session 2): Centralized from hardcoded magic numbers
51
- * Used for display truncation of SHAs and session IDs
52
- */
53
- export const GIT = {
54
- /** Standard length for displaying short SHA hashes (e.g., "abc12345") */
55
- SHA_SHORT_LENGTH: 8,
56
- /** Max number of commits to inspect in git log lookbacks */
57
- LOG_MAX_COUNT: 50,
58
- };
59
- /**
60
- * Real git executable path - MUST bypass tools/shims to prevent recursion.
61
- *
62
- * CRITICAL: The git shim (tools/shims/git) calls functions that need to run git
63
- * commands. If those functions use 'git' (which resolves to the shim), we get
64
- * infinite recursion: shim -> helper -> git -> shim -> helper -> git -> ...
65
- *
66
- * With VS Code extensions making dozens of git calls per second, this causes
67
- * memory exhaustion within seconds -> OOM crash -> system reboot.
68
- *
69
- * P0 incident: 2025-12-10 server crash due to recursive fork bomb.
70
- *
71
- * @see tools/shims/git - The git shim that blocks destructive commands
72
- * @see tools/lib/wu-helpers.ts - Uses REAL_GIT to avoid recursion
73
- */
74
- export const REAL_GIT = '/usr/bin/git';
75
- /**
76
- * Git command flags
77
- *
78
- * Centralized git flag constants to eliminate hardcoded strings.
79
- * Used by git-adapter.ts and other git operation utilities.
80
- */
81
- export const GIT_FLAGS = {
82
- /** Show abbreviated ref names (for branch name resolution) */
83
- ABBREV_REF: '--abbrev-ref',
84
- /** Porcelain format (machine-readable output) */
85
- PORCELAIN: '--porcelain',
86
- /** Create new branch and switch to it */
87
- BRANCH: '-b',
88
- /** Force flag (long form) */
89
- FORCE: '--force',
90
- /** Force flag (short form) */
91
- FORCE_SHORT: '-f',
92
- /** Fast-forward only merge */
93
- FF_ONLY: '--ff-only',
94
- /** Rebase local commits on top of fetched branch */
95
- REBASE: '--rebase',
96
- /** Check ancestry without output (merge-base) */
97
- IS_ANCESTOR: '--is-ancestor',
98
- /** Write merged tree object and return conflict status code */
99
- WRITE_TREE: '--write-tree',
100
- /** Set upstream tracking */
101
- UPSTREAM: '-u',
102
- /** Delete branch (safe - only if merged) */
103
- DELETE: '-d',
104
- /** Delete branch (force - even if not merged) */
105
- DELETE_FORCE: '-D',
106
- /** Delete remote branch flag (for git push --delete) */
107
- DELETE_REMOTE: '--delete',
108
- /** Hard reset flag */
109
- HARD: '--hard',
110
- /** Soft reset flag */
111
- SOFT: '--soft',
112
- /** fd flags for clean (force delete directories) */
113
- FD_SHORT: '-fd',
114
- /** df flags for clean (delete force directories) */
115
- DF_SHORT: '-df',
116
- /** No verify flag (skip pre-commit/commit-msg hooks) */
117
- NO_VERIFY: '--no-verify',
118
- /** No GPG sign flag (skip commit signing) */
119
- NO_GPG_SIGN: '--no-gpg-sign',
120
- /** One-line log format */
121
- ONELINE: '--oneline',
122
- /** List heads only (for ls-remote) */
123
- HEADS: '--heads',
124
- /** Path separator (separates git options from file paths) */
125
- PATH_SEPARATOR: '--',
126
- };
127
- /**
128
- * Git commands
129
- *
130
- * Centralized git command strings to eliminate hardcoded strings.
131
- * Used for direct git command execution via execSync/execa.
132
- */
133
- export const GIT_COMMANDS = {
134
- /** Git binary */
135
- GIT: 'git',
136
- /** Git reset command */
137
- RESET: 'reset',
138
- /** List tree objects (check file existence on branch) */
139
- LS_TREE: 'ls-tree',
140
- /** List remote references */
141
- LS_REMOTE: 'ls-remote',
142
- /** Push command */
143
- PUSH: 'push',
144
- /** Pull command */
145
- PULL: 'pull',
146
- /** Git diff command */
147
- DIFF: 'diff',
148
- /** Git log command */
149
- LOG: 'log',
150
- /** Git merge-base command */
151
- MERGE_BASE: 'merge-base',
152
- /** Git merge-tree command */
153
- MERGE_TREE: 'merge-tree',
154
- /** Git rev-parse command */
155
- REV_PARSE: 'rev-parse',
156
- /** Git diff flags */
157
- CACHED: '--cached',
158
- NAME_ONLY: '--name-only',
159
- DIFF_FILTER_ACM: '--diff-filter=ACM',
160
- };
161
- /**
162
- * Git command combinations
163
- *
164
- * Full git command strings for common operations.
165
- */
166
- export const GIT_COMMAND_STRINGS = {
167
- /** Get diff of cached (staged) files */
168
- DIFF_CACHED: 'git diff --cached',
169
- /** Get names of cached files */
170
- DIFF_CACHED_NAMES: 'git diff --cached --name-only',
171
- /** Get names of cached files (added, copied, modified) */
172
- DIFF_CACHED_ACM: 'git diff --cached --name-only --diff-filter=ACM',
173
- /** Get cached diff with zero context (used for hook validation) */
174
- DIFF_CACHED_UNIFIED_ZERO: 'git diff --cached -U0',
175
- /** Get current branch name */
176
- REV_PARSE_ABBREV_REF_HEAD: 'git rev-parse --abbrev-ref HEAD',
177
- };
3
+ // WU-2679 (INIT-058 L2c): Shim — real module lives in @lumenflow/packs-software-delivery.
4
+ // Re-export preserves the `@lumenflow/core/wu-git-constants` subpath for existing consumers
5
+ // until Layer 7 removes the shim.
6
+ export * from '@lumenflow/packs-software-delivery/constants/wu-git-constants';
178
7
  //# sourceMappingURL=wu-git-constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"wu-git-constants.js","sourceRoot":"","sources":["../src/wu-git-constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wu-git-constants.js","sourceRoot":"","sources":["../src/wu-git-constants.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,yCAAyC;AAEzC,0FAA0F;AAC1F,4FAA4F;AAC5F,kCAAkC;AAClC,cAAc,+DAA+D,CAAC"}
@@ -63,6 +63,30 @@ export declare function isMainWorktree(): boolean;
63
63
  * @returns {string|null} WU ID (e.g., 'WU-401') or null
64
64
  */
65
65
  export declare function extractWUFromBranch(branch: string | null | undefined): string | null;
66
+ /**
67
+ * Build a `chore:` commit message prefix scoped to the current WU when the
68
+ * caller is on a `lane/<lane>/wu-N` branch.
69
+ *
70
+ * WU-2656: Auto-commits generated by pack-level CLI commands (config:set,
71
+ * gate:co-change, gate:conditional, …) must carry the current WU-ID on lane
72
+ * branches, or the commit-msg hook rejects them. Previously agents bypassed
73
+ * this with LUMENFLOW_FORCE=1, generating audit-log noise. This helper
74
+ * centralises the resolver so every auto-commit uses the same rule.
75
+ *
76
+ * Returns:
77
+ * - On a `lane/<lane>/wu-N` branch: `chore(wu-N): <subcommand>`
78
+ * (lowercase `wu-N`, per Conventional Commits scope convention).
79
+ * - On `main`, a non-lane branch, detached HEAD, or outside a git repo:
80
+ * `chore: <subcommand>` (existing behaviour, unchanged).
81
+ *
82
+ * Branch is accepted as a parameter (rather than being resolved internally)
83
+ * to keep the function pure and trivially testable without git mocks.
84
+ *
85
+ * @param subcommand - The command tag that follows the type/scope (e.g. `config:set`)
86
+ * @param branch - Current git branch, typically from `getCurrentBranch()`
87
+ * @returns The commit message prefix, including the trailing ` <subcommand>` tag.
88
+ */
89
+ export declare function buildChoreCommitPrefix(subcommand: string, branch: string | null | undefined): string;
66
90
  /**
67
91
  * Validate branch name follows lane convention
68
92
  * Expected: lane/<lane-name>/<wu-id>
@@ -1 +1 @@
1
- {"version":3,"file":"wu-helpers.d.ts","sourceRoot":"","sources":["../src/wu-helpers.ts"],"names":[],"mappings":";AAGA;;;;;;;GAOG;AAEH,OAAO,EAAY,KAAK,iCAAiC,EAAE,MAAM,oBAAoB,CAAC;AAQtF,OAAO,KAAK,EACV,uBAAuB,EACvB,aAAa,EACb,oBAAoB,EACrB,MAAM,6BAA6B,CAAC;AAErC,UAAU,YAAY;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,KAAK,sBAAsB,GAAG,IAAI,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC;AACtE,KAAK,UAAU,GAAG,IAAI,CAAC,iCAAiC,EAAE,UAAU,CAAC,CAAC;AAGtE;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAInD;AAED;;;;;GAKG;AACH,wBAAgB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,UAAe,GAAG,MAAM,CAM9D;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,kBAE/B;AAED;;;;GAIG;AACH,wBAAgB,aAAa,WAK5B;AAED;;;;GAIG;AACH,wBAAgB,cAAc,YAM7B;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAQpF;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,uBAAuB,CAuB7F;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAc5D;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,eAAe,GAAE,MAAM,EAA+B,GACrD,oBAAoB,CA6BtB;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAQzE;AAED;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAiB5F;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,YAAY,CAAC,GAAG,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgB7E;AAED,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"wu-helpers.d.ts","sourceRoot":"","sources":["../src/wu-helpers.ts"],"names":[],"mappings":";AAGA;;;;;;;GAOG;AAEH,OAAO,EAAY,KAAK,iCAAiC,EAAE,MAAM,oBAAoB,CAAC;AAStF,OAAO,KAAK,EACV,uBAAuB,EACvB,aAAa,EACb,oBAAoB,EACrB,MAAM,6BAA6B,CAAC;AAErC,UAAU,YAAY;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,KAAK,sBAAsB,GAAG,IAAI,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC;AACtE,KAAK,UAAU,GAAG,IAAI,CAAC,iCAAiC,EAAE,UAAU,CAAC,CAAC;AAGtE;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAInD;AAED;;;;;GAKG;AACH,wBAAgB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,UAAe,GAAG,MAAM,CAM9D;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,kBAE/B;AAED;;;;GAIG;AACH,wBAAgB,aAAa,WAK5B;AAED;;;;GAIG;AACH,wBAAgB,cAAc,YAM7B;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAQpF;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAChC,MAAM,CAOR;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,uBAAuB,CAuB7F;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAc5D;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,eAAe,GAAE,MAAM,EAA+B,GACrD,oBAAoB,CA6BtB;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAQzE;AAED;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAiB5F;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,YAAY,CAAC,GAAG,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiB7E;AAED,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC"}
@@ -13,10 +13,11 @@ import { execSync } from 'node:child_process';
13
13
  import { existsSync, readFileSync } from 'node:fs';
14
14
  import path from 'node:path';
15
15
  import { parse } from 'yaml';
16
- import { BRANCHES, DIRECTORIES, STDIO, REAL_GIT, PATTERNS } from './wu-constants.js';
16
+ import { DIRECTORIES, STDIO, REAL_GIT, PATTERNS } from './wu-constants.js';
17
17
  import { die, createError, ErrorCodes } from './error-handler.js';
18
18
  import { isAgentBranchWithDetails } from './branch-check.js';
19
19
  import { createWuPaths } from './wu-paths.js';
20
+ import { isIntegrationMainBranch, resolveIntegrationTarget } from './integration-target.js';
20
21
  const GIT_WORKTREES_SEGMENT = `/${DIRECTORIES.WORKTREES.replace(/\/+$/, '')}/`;
21
22
  /**
22
23
  * Validate WU ID format
@@ -100,6 +101,37 @@ export function extractWUFromBranch(branch) {
100
101
  }
101
102
  return null;
102
103
  }
104
+ /**
105
+ * Build a `chore:` commit message prefix scoped to the current WU when the
106
+ * caller is on a `lane/<lane>/wu-N` branch.
107
+ *
108
+ * WU-2656: Auto-commits generated by pack-level CLI commands (config:set,
109
+ * gate:co-change, gate:conditional, …) must carry the current WU-ID on lane
110
+ * branches, or the commit-msg hook rejects them. Previously agents bypassed
111
+ * this with LUMENFLOW_FORCE=1, generating audit-log noise. This helper
112
+ * centralises the resolver so every auto-commit uses the same rule.
113
+ *
114
+ * Returns:
115
+ * - On a `lane/<lane>/wu-N` branch: `chore(wu-N): <subcommand>`
116
+ * (lowercase `wu-N`, per Conventional Commits scope convention).
117
+ * - On `main`, a non-lane branch, detached HEAD, or outside a git repo:
118
+ * `chore: <subcommand>` (existing behaviour, unchanged).
119
+ *
120
+ * Branch is accepted as a parameter (rather than being resolved internally)
121
+ * to keep the function pure and trivially testable without git mocks.
122
+ *
123
+ * @param subcommand - The command tag that follows the type/scope (e.g. `config:set`)
124
+ * @param branch - Current git branch, typically from `getCurrentBranch()`
125
+ * @returns The commit message prefix, including the trailing ` <subcommand>` tag.
126
+ */
127
+ export function buildChoreCommitPrefix(subcommand, branch) {
128
+ const wuid = extractWUFromBranch(branch);
129
+ if (!wuid) {
130
+ return `chore: ${subcommand}`;
131
+ }
132
+ // Conventional Commits scope convention: lowercase (e.g. `wu-2656`).
133
+ return `chore(${wuid.toLowerCase()}): ${subcommand}`;
134
+ }
103
135
  /**
104
136
  * Validate branch name follows lane convention
105
137
  * Expected: lane/<lane-name>/<wu-id>
@@ -107,7 +139,7 @@ export function extractWUFromBranch(branch) {
107
139
  * @returns {{valid: boolean, lane: string|null, wuid: string|null, error: string|null}}
108
140
  */
109
141
  export function validateBranchName(branch) {
110
- if (!branch || branch === BRANCHES.MAIN) {
142
+ if (!branch || isIntegrationMainBranch(branch)) {
111
143
  return { valid: true, lane: null, wuid: null, error: null };
112
144
  }
113
145
  const match = branch.match(/^lane\/([^/]+)\/(wu-\d+)$/i);
@@ -238,14 +270,15 @@ export function extractWUFromCommitMessage(message) {
238
270
  */
239
271
  export async function ensureOnMain(git) {
240
272
  const branch = await git.getCurrentBranch();
241
- if (branch !== BRANCHES.MAIN) {
273
+ const configuredMain = resolveIntegrationTarget().mainBranch;
274
+ if (branch !== configuredMain) {
242
275
  // WU-1091: Check if this is an agent branch that can bypass the main requirement
243
276
  const agentResult = await isAgentBranchWithDetails(branch);
244
277
  if (agentResult.isMatch) {
245
278
  console.log(`[ensureOnMain] Bypassing for agent branch '${branch}' (${agentResult.patternResult.source})`);
246
279
  return;
247
280
  }
248
- throw createError(ErrorCodes.BRANCH_ERROR, `Run from shared checkout on '${BRANCHES.MAIN}' (found '${branch}')`);
281
+ throw createError(ErrorCodes.BRANCH_ERROR, `Run from shared checkout on '${configuredMain}' (found '${branch}')`);
249
282
  }
250
283
  }
251
284
  export { ensureMainUpToDate } from './sync-validator.js';
@@ -1 +1 @@
1
- {"version":3,"file":"wu-helpers.js","sourceRoot":"","sources":["../src/wu-helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wu-helpers.js","sourceRoot":"","sources":["../src/wu-helpers.ts"],"names":[],"mappings":"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"}
@@ -1,139 +1,3 @@
1
1
  /// <reference path="./types.d.ts" />
2
- /** Minimum allowed zero-padding width. */
3
- export declare const WU_ID_WIDTH_MIN = 1;
4
- /** Maximum allowed zero-padding width. */
5
- export declare const WU_ID_WIDTH_MAX = 6;
6
- /**
7
- * Prefix validation pattern: uppercase letter start, followed by 1-9 more
8
- * uppercase-alphanumeric characters, terminated by a dash. Matches 'WU-',
9
- * 'TASK-', 'STORY-', 'TICKET-', 'JIRA123-'. Rejects lowercase, missing dash,
10
- * single-char prefixes, and over-long prefixes.
11
- */
12
- export declare const WU_ID_PREFIX_PATTERN: RegExp;
13
- /** Canonical WU ID configuration. */
14
- export interface WuIdConfig {
15
- /** Zero-padding width. Default 4 (WU-0001). */
16
- width: number;
17
- /**
18
- * Strict mode. When true, non-canonical legacy IDs are flagged as errors
19
- * by wu:doctor and wu:create canonicalizes --id input. When false, legacy
20
- * IDs are tolerated as warnings for incremental migration.
21
- */
22
- strict: boolean;
23
- /** Canonical prefix including trailing dash. Default 'WU-'. */
24
- prefix: string;
25
- }
26
- /** Default WU ID configuration. */
27
- export declare const WU_ID_DEFAULTS: WuIdConfig;
28
- /**
29
- * Validate and resolve a partial WU ID config against the defaults.
30
- *
31
- * @throws {Error} If width is not an integer in [1, 6] or prefix does not
32
- * match {@link WU_ID_PREFIX_PATTERN}.
33
- */
34
- export declare function validateWuIdConfig(partial?: Partial<WuIdConfig>): WuIdConfig;
35
- /**
36
- * Format an integer as a canonical WU ID.
37
- *
38
- * Zero-pads to the configured width. If the integer exceeds 10^width, the
39
- * result is wider than width (overflow is preserved, never truncated).
40
- *
41
- * @throws {Error} If n is not a positive integer.
42
- */
43
- export declare function formatWuId(n: number, config?: Partial<WuIdConfig>): string;
44
- /**
45
- * Parse a WU ID (or YAML/stamp filename) into its prefix and numeric parts.
46
- *
47
- * Returns null for any input that does not match the configured prefix or
48
- * does not carry a positive integer body. Accepts both canonical padded and
49
- * legacy unpadded forms.
50
- *
51
- * Strips `.yaml` and `.done` extensions before parsing.
52
- */
53
- export declare function parseWuId(id: string, config?: Partial<WuIdConfig>): {
54
- prefix: string;
55
- num: number;
56
- } | null;
57
- /**
58
- * Build an anchored regex that matches WU IDs (both padded and unpadded
59
- * digit counts) for the configured prefix. Intended for file scans and
60
- * consumers that previously hardcoded `/^WU-\d+$/`.
61
- *
62
- * Strict canonical-form enforcement lives in {@link isCanonicalWuId}, not here.
63
- */
64
- export declare function wuIdRegex(config?: Partial<WuIdConfig>): RegExp;
65
- /**
66
- * Return an unanchored pattern string (for embedding in longer regexes)
67
- * that matches the WU id body — the configured prefix followed by one
68
- * or more digits. Consumers that previously hardcoded `WU-\\d+` inside
69
- * a larger regex should use this helper so prefix configuration
70
- * (`software_delivery.wu_id.prefix`) is honored.
71
- *
72
- * The pattern does NOT include anchors; callers decide whether to
73
- * anchor with `^`/`$` or embed in a path/substring match.
74
- */
75
- export declare function wuIdBodyPattern(config?: Partial<WuIdConfig>): string;
76
- /**
77
- * Return true if the given string is a canonical WU ID for the configured
78
- * width and prefix. Canonical means:
79
- * - Prefix matches.
80
- * - Digit body is at least `width` characters long.
81
- * - The digit body is not shorter than width (no unpadded legacy).
82
- * - Overflow (body wider than width) is allowed so the sequence never truncates.
83
- */
84
- export declare function isCanonicalWuId(id: string, config?: Partial<WuIdConfig>): boolean;
85
- /**
86
- * Canonicalize a (possibly legacy) WU ID to the canonical form for the
87
- * configured width. Returns null for unparseable input or prefix mismatch.
88
- *
89
- * Already-canonical IDs are returned unchanged. Overflow IDs (wider than
90
- * width) are preserved.
91
- */
92
- export declare function canonicalizeWuId(id: string, config?: Partial<WuIdConfig>): string | null;
93
- /**
94
- * Load the canonical WU id config from workspace.yaml
95
- * `software_delivery.wu_id.{width,strict,prefix}`.
96
- *
97
- * Falls back to {@link WU_ID_DEFAULTS} when the block is absent, so
98
- * existing repos without any wu_id config continue to see WU- prefixed
99
- * ids (backward compatible) with the only visible change being
100
- * zero-padding on newly-generated ids.
101
- *
102
- * @param options.projectRoot - Optional override for the project root.
103
- */
104
- export declare function loadWuIdConfig(options?: {
105
- projectRoot?: string;
106
- }): WuIdConfig;
107
- /** Inputs for {@link scanExistingWuNumbers}. */
108
- export interface ScanExistingWuNumbersInput {
109
- /** Absolute path to the WU YAML directory. */
110
- wuDir: string;
111
- /** Absolute path to the stamps directory. */
112
- stampsDir: string;
113
- /** Absolute path to `wu-events.jsonl` (may or may not exist). */
114
- eventsPath: string;
115
- }
116
- /**
117
- * Scan every existing WU id integer across the yaml directory, stamps
118
- * directory, and event log. Used by wu:create for integer-level
119
- * collision detection so `WU-14` and `WU-0014` can never coexist.
120
- *
121
- * Results are deduplicated across sources. Entries whose prefix does
122
- * not match the configured prefix are ignored. Extension suffixes
123
- * (`.yaml`, `.done`) are stripped before parsing.
124
- */
125
- export declare function scanExistingWuNumbers(input: ScanExistingWuNumbersInput, config?: Partial<WuIdConfig>): Set<number>;
126
- /**
127
- * Returns true when `num` is already present in the given set.
128
- * Thin wrapper for call-site readability at the wu:create integration point.
129
- */
130
- export declare function integerCollides(existing: ReadonlySet<number>, num: number): boolean;
131
- /**
132
- * Returns true when the given WU number is within the width-exhaustion
133
- * warning band (>= 90% of 10^width) but still below the width ceiling.
134
- *
135
- * Numbers that already exceed the width capacity return false so the
136
- * warning only fires once, not on every subsequent overflow id.
137
- */
138
- export declare function isWidthExhaustionWarning(num: number, config?: Partial<WuIdConfig>): boolean;
2
+ export * from '@lumenflow/packs-software-delivery/constants/wu-id-format';
139
3
  //# sourceMappingURL=wu-id-format.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wu-id-format.d.ts","sourceRoot":"","sources":["../src/wu-id-format.ts"],"names":[],"mappings":"AA2BA,0CAA0C;AAC1C,eAAO,MAAM,eAAe,IAAI,CAAC;AAEjC,0CAA0C;AAC1C,eAAO,MAAM,eAAe,IAAI,CAAC;AAEjC;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,QAA0B,CAAC;AAE5D,qCAAqC;AACrC,MAAM,WAAW,UAAU;IACzB,+CAA+C;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,MAAM,EAAE,OAAO,CAAC;IAChB,+DAA+D;IAC/D,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,mCAAmC;AACnC,eAAO,MAAM,cAAc,EAAE,UAI3B,CAAC;AAEH;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,GAAE,OAAO,CAAC,UAAU,CAAM,GAAG,UAAU,CAoBhF;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,GAAE,OAAO,CAAC,UAAU,CAAM,GAAG,MAAM,CAS9E;AAED;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CACvB,EAAE,EAAE,MAAM,EACV,MAAM,GAAE,OAAO,CAAC,UAAU,CAAM,GAC/B;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAkBxC;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,MAAM,GAAE,OAAO,CAAC,UAAU,CAAM,GAAG,MAAM,CAGlE;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,MAAM,GAAE,OAAO,CAAC,UAAU,CAAM,GAAG,MAAM,CAIxE;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,GAAE,OAAO,CAAC,UAAU,CAAM,GAAG,OAAO,CAUrF;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,GAAE,OAAO,CAAC,UAAU,CAAM,GAAG,MAAM,GAAG,IAAI,CAM5F;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,OAAO,GAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,UAAU,CAIjF;AAED,gDAAgD;AAChD,MAAM,WAAW,0BAA0B;IACzC,8CAA8C;IAC9C,KAAK,EAAE,MAAM,CAAC;IACd,6CAA6C;IAC7C,SAAS,EAAE,MAAM,CAAC;IAClB,iEAAiE;IACjE,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,0BAA0B,EACjC,MAAM,GAAE,OAAO,CAAC,UAAU,CAAM,GAC/B,GAAG,CAAC,MAAM,CAAC,CAgDb;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAEnF;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,OAAO,CAAC,UAAU,CAAM,GAAG,OAAO,CAK/F"}
1
+ {"version":3,"file":"wu-id-format.d.ts","sourceRoot":"","sources":["../src/wu-id-format.ts"],"names":[],"mappings":"AAGA,cAAc,2DAA2D,CAAC"}