@lumenflow/core 4.24.0 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (430) hide show
  1. package/dist/arg-parser.d.ts.map +1 -1
  2. package/dist/arg-parser.js +16 -0
  3. package/dist/arg-parser.js.map +1 -1
  4. package/dist/atomic-merge.d.ts.map +1 -1
  5. package/dist/atomic-merge.js +25 -18
  6. package/dist/atomic-merge.js.map +1 -1
  7. package/dist/client-ids.d.ts +1 -15
  8. package/dist/client-ids.d.ts.map +1 -1
  9. package/dist/client-ids.js +4 -13
  10. package/dist/client-ids.js.map +1 -1
  11. package/dist/code-path-validator.d.ts.map +1 -1
  12. package/dist/code-path-validator.js +6 -3
  13. package/dist/code-path-validator.js.map +1 -1
  14. package/dist/config-contract.d.ts +1 -30
  15. package/dist/config-contract.d.ts.map +1 -1
  16. package/dist/config-contract.js +4 -60
  17. package/dist/config-contract.js.map +1 -1
  18. package/dist/constants/backlog-patterns.d.ts +1 -20
  19. package/dist/constants/backlog-patterns.d.ts.map +1 -1
  20. package/dist/constants/backlog-patterns.js +2 -23
  21. package/dist/constants/backlog-patterns.js.map +1 -1
  22. package/dist/constants/duration-constants.d.ts +1 -28
  23. package/dist/constants/duration-constants.d.ts.map +1 -1
  24. package/dist/constants/duration-constants.js +4 -28
  25. package/dist/constants/duration-constants.js.map +1 -1
  26. package/dist/constants/gate-constants.d.ts +1 -23
  27. package/dist/constants/gate-constants.d.ts.map +1 -1
  28. package/dist/constants/gate-constants.js +4 -23
  29. package/dist/constants/gate-constants.js.map +1 -1
  30. package/dist/constants/lock-constants.d.ts +1 -28
  31. package/dist/constants/lock-constants.d.ts.map +1 -1
  32. package/dist/constants/lock-constants.js +2 -28
  33. package/dist/constants/lock-constants.js.map +1 -1
  34. package/dist/core/tool.schemas.d.ts +11 -11
  35. package/dist/core/worktree-guard.js +2 -2
  36. package/dist/core/worktree-guard.js.map +1 -1
  37. package/dist/cycle-detector.d.ts +4 -48
  38. package/dist/cycle-detector.d.ts.map +1 -1
  39. package/dist/cycle-detector.js +4 -78
  40. package/dist/cycle-detector.js.map +1 -1
  41. package/dist/date-utils.d.ts +1 -65
  42. package/dist/date-utils.d.ts.map +1 -1
  43. package/dist/date-utils.js +4 -140
  44. package/dist/date-utils.js.map +1 -1
  45. package/dist/delegation-monitor.d.ts +2 -0
  46. package/dist/delegation-monitor.d.ts.map +1 -1
  47. package/dist/delegation-monitor.js +29 -2
  48. package/dist/delegation-monitor.js.map +1 -1
  49. package/dist/delegation-recovery.d.ts +36 -17
  50. package/dist/delegation-recovery.d.ts.map +1 -1
  51. package/dist/delegation-recovery.js +285 -82
  52. package/dist/delegation-recovery.js.map +1 -1
  53. package/dist/delegation-registry-schema.d.ts +257 -31
  54. package/dist/delegation-registry-schema.d.ts.map +1 -1
  55. package/dist/delegation-registry-schema.js +43 -34
  56. package/dist/delegation-registry-schema.js.map +1 -1
  57. package/dist/delegation-registry-store.d.ts +4 -128
  58. package/dist/delegation-registry-store.d.ts.map +1 -1
  59. package/dist/delegation-registry-store.js +39 -178
  60. package/dist/delegation-registry-store.js.map +1 -1
  61. package/dist/delegation-tree.d.ts +12 -20
  62. package/dist/delegation-tree.d.ts.map +1 -1
  63. package/dist/delegation-tree.js +40 -29
  64. package/dist/delegation-tree.js.map +1 -1
  65. package/dist/delivery-review-contract.d.ts +1 -1
  66. package/dist/delivery-review-contract.d.ts.map +1 -1
  67. package/dist/docs-layout-presets.d.ts +1 -30
  68. package/dist/docs-layout-presets.d.ts.map +1 -1
  69. package/dist/docs-layout-presets.js +4 -38
  70. package/dist/docs-layout-presets.js.map +1 -1
  71. package/dist/domain/context.schemas.d.ts +3 -3
  72. package/dist/domain/orchestration.constants.d.ts +1 -110
  73. package/dist/domain/orchestration.constants.d.ts.map +1 -1
  74. package/dist/domain/orchestration.constants.js +2 -127
  75. package/dist/domain/orchestration.constants.js.map +1 -1
  76. package/dist/domain/orchestration.schemas.d.ts +1 -306
  77. package/dist/domain/orchestration.schemas.d.ts.map +1 -1
  78. package/dist/domain/orchestration.schemas.js +2 -211
  79. package/dist/domain/orchestration.schemas.js.map +1 -1
  80. package/dist/domain/orchestration.types.d.ts +1 -133
  81. package/dist/domain/orchestration.types.d.ts.map +1 -1
  82. package/dist/domain/orchestration.types.js +2 -2
  83. package/dist/domain/orchestration.types.js.map +1 -1
  84. package/dist/domain/recovery.schemas.d.ts +3 -3
  85. package/dist/domain/validation.schemas.d.ts +4 -4
  86. package/dist/error-handler.d.ts +4 -173
  87. package/dist/error-handler.d.ts.map +1 -1
  88. package/dist/error-handler.js +4 -244
  89. package/dist/error-handler.js.map +1 -1
  90. package/dist/file-classifiers.d.ts.map +1 -1
  91. package/dist/file-classifiers.js +26 -0
  92. package/dist/file-classifiers.js.map +1 -1
  93. package/dist/git-adapter.d.ts +4 -448
  94. package/dist/git-adapter.d.ts.map +1 -1
  95. package/dist/git-adapter.js +4 -772
  96. package/dist/git-adapter.js.map +1 -1
  97. package/dist/git-context-extractor.d.ts +4 -98
  98. package/dist/git-context-extractor.d.ts.map +1 -1
  99. package/dist/git-context-extractor.js +4 -563
  100. package/dist/git-context-extractor.js.map +1 -1
  101. package/dist/git-staged-validator.d.ts +4 -29
  102. package/dist/git-staged-validator.d.ts.map +1 -1
  103. package/dist/git-staged-validator.js +4 -46
  104. package/dist/git-staged-validator.js.map +1 -1
  105. package/dist/incremental-lint.d.ts.map +1 -1
  106. package/dist/incremental-lint.js +3 -2
  107. package/dist/incremental-lint.js.map +1 -1
  108. package/dist/incremental-test.d.ts +1 -32
  109. package/dist/incremental-test.d.ts.map +1 -1
  110. package/dist/incremental-test.js +4 -61
  111. package/dist/incremental-test.js.map +1 -1
  112. package/dist/index.d.ts +3 -2
  113. package/dist/index.d.ts.map +1 -1
  114. package/dist/index.js +10 -2
  115. package/dist/index.js.map +1 -1
  116. package/dist/integration-target.d.ts +30 -0
  117. package/dist/integration-target.d.ts.map +1 -0
  118. package/dist/integration-target.js +51 -0
  119. package/dist/integration-target.js.map +1 -0
  120. package/dist/lane-checker.d.ts.map +1 -1
  121. package/dist/lane-checker.js +8 -0
  122. package/dist/lane-checker.js.map +1 -1
  123. package/dist/lumenflow-config-schema.d.ts +73 -29
  124. package/dist/lumenflow-config-schema.d.ts.map +1 -1
  125. package/dist/lumenflow-config-schema.js +1 -1
  126. package/dist/lumenflow-config-schema.js.map +1 -1
  127. package/dist/lumenflow-config.d.ts +10 -34
  128. package/dist/lumenflow-config.d.ts.map +1 -1
  129. package/dist/lumenflow-config.js +32 -142
  130. package/dist/lumenflow-config.js.map +1 -1
  131. package/dist/manual-test-validator.d.ts +1 -96
  132. package/dist/manual-test-validator.d.ts.map +1 -1
  133. package/dist/manual-test-validator.js +4 -245
  134. package/dist/manual-test-validator.js.map +1 -1
  135. package/dist/micro-worktree-shared.d.ts.map +1 -1
  136. package/dist/micro-worktree-shared.js +10 -9
  137. package/dist/micro-worktree-shared.js.map +1 -1
  138. package/dist/micro-worktree.d.ts.map +1 -1
  139. package/dist/micro-worktree.js +26 -23
  140. package/dist/micro-worktree.js.map +1 -1
  141. package/dist/normalize-config-keys.d.ts +1 -10
  142. package/dist/normalize-config-keys.d.ts.map +1 -1
  143. package/dist/normalize-config-keys.js +7 -73
  144. package/dist/normalize-config-keys.js.map +1 -1
  145. package/dist/object-guards.d.ts +1 -10
  146. package/dist/object-guards.d.ts.map +1 -1
  147. package/dist/object-guards.js +7 -20
  148. package/dist/object-guards.js.map +1 -1
  149. package/dist/ports/config.ports.d.ts +1 -82
  150. package/dist/ports/config.ports.d.ts.map +1 -1
  151. package/dist/ports/config.ports.js +2 -1
  152. package/dist/ports/config.ports.js.map +1 -1
  153. package/dist/ports/dashboard-renderer.port.d.ts +1 -112
  154. package/dist/ports/dashboard-renderer.port.d.ts.map +1 -1
  155. package/dist/ports/dashboard-renderer.port.js +2 -1
  156. package/dist/ports/dashboard-renderer.port.js.map +1 -1
  157. package/dist/ports/git-validator.ports.d.ts +5 -110
  158. package/dist/ports/git-validator.ports.d.ts.map +1 -1
  159. package/dist/ports/git-validator.ports.js +8 -1
  160. package/dist/ports/git-validator.ports.js.map +1 -1
  161. package/dist/ports/sync-validator.ports.d.ts +1 -51
  162. package/dist/ports/sync-validator.ports.d.ts.map +1 -1
  163. package/dist/ports/sync-validator.ports.js +2 -1
  164. package/dist/ports/sync-validator.ports.js.map +1 -1
  165. package/dist/ports/wu-helpers.ports.d.ts +1 -156
  166. package/dist/ports/wu-helpers.ports.d.ts.map +1 -1
  167. package/dist/ports/wu-helpers.ports.js +2 -1
  168. package/dist/ports/wu-helpers.ports.js.map +1 -1
  169. package/dist/ports/wu-state.ports.d.ts +1 -208
  170. package/dist/ports/wu-state.ports.d.ts.map +1 -1
  171. package/dist/ports/wu-state.ports.js +2 -1
  172. package/dist/ports/wu-state.ports.js.map +1 -1
  173. package/dist/rebase-artifact-cleanup.d.ts.map +1 -1
  174. package/dist/rebase-artifact-cleanup.js +6 -3
  175. package/dist/rebase-artifact-cleanup.js.map +1 -1
  176. package/dist/sandbox-allowlist.d.ts +1 -15
  177. package/dist/sandbox-allowlist.d.ts.map +1 -1
  178. package/dist/sandbox-allowlist.js +4 -74
  179. package/dist/sandbox-allowlist.js.map +1 -1
  180. package/dist/sandbox-backend-linux.d.ts +1 -5
  181. package/dist/sandbox-backend-linux.d.ts.map +1 -1
  182. package/dist/sandbox-backend-linux.js +4 -64
  183. package/dist/sandbox-backend-linux.js.map +1 -1
  184. package/dist/sandbox-backend-macos.d.ts +1 -5
  185. package/dist/sandbox-backend-macos.d.ts.map +1 -1
  186. package/dist/sandbox-backend-macos.js +4 -109
  187. package/dist/sandbox-backend-macos.js.map +1 -1
  188. package/dist/sandbox-backend-windows.d.ts +1 -5
  189. package/dist/sandbox-backend-windows.d.ts.map +1 -1
  190. package/dist/sandbox-backend-windows.js +4 -27
  191. package/dist/sandbox-backend-windows.js.map +1 -1
  192. package/dist/sandbox-profile.d.ts +1 -57
  193. package/dist/sandbox-profile.d.ts.map +1 -1
  194. package/dist/sandbox-profile.js +4 -65
  195. package/dist/sandbox-profile.js.map +1 -1
  196. package/dist/schemas/agents-config.d.ts +47 -0
  197. package/dist/schemas/agents-config.d.ts.map +1 -1
  198. package/dist/schemas/agents-config.js +59 -0
  199. package/dist/schemas/agents-config.js.map +1 -1
  200. package/dist/schemas/command-schemas.d.ts +4 -4
  201. package/dist/schemas/flow-arg-validators.d.ts +2 -2
  202. package/dist/schemas/flow-schemas.d.ts +4 -4
  203. package/dist/schemas/gates-section-config.d.ts +32 -13
  204. package/dist/schemas/gates-section-config.d.ts.map +1 -1
  205. package/dist/schemas/gates-section-config.js +16 -1
  206. package/dist/schemas/gates-section-config.js.map +1 -1
  207. package/dist/schemas/initiative-arg-validators.d.ts +2 -2
  208. package/dist/schemas/initiative-schemas.d.ts +12 -12
  209. package/dist/schemas/lanes-config.d.ts +5 -5
  210. package/dist/schemas/memory-arg-validators.d.ts +6 -0
  211. package/dist/schemas/memory-arg-validators.d.ts.map +1 -1
  212. package/dist/schemas/memory-config.d.ts +4 -4
  213. package/dist/schemas/memory-schemas.d.ts +12 -0
  214. package/dist/schemas/memory-schemas.d.ts.map +1 -1
  215. package/dist/schemas/memory-schemas.js +12 -0
  216. package/dist/schemas/memory-schemas.js.map +1 -1
  217. package/dist/schemas/operational-config.d.ts +4 -4
  218. package/dist/schemas/setup-arg-validators.d.ts +3 -3
  219. package/dist/schemas/setup-schemas.d.ts +8 -8
  220. package/dist/schemas/wu-config.d.ts +3 -3
  221. package/dist/schemas/wu-lifecycle-arg-validators.d.ts +2 -2
  222. package/dist/schemas/wu-lifecycle-schemas.d.ts +4 -4
  223. package/dist/section-headings.d.ts +1 -34
  224. package/dist/section-headings.d.ts.map +1 -1
  225. package/dist/section-headings.js +2 -51
  226. package/dist/section-headings.js.map +1 -1
  227. package/dist/spawn-constraints-generator.js +3 -3
  228. package/dist/spawn-constraints-generator.js.map +1 -1
  229. package/dist/spawn-guidance-generators.d.ts +1 -1
  230. package/dist/spawn-guidance-generators.d.ts.map +1 -1
  231. package/dist/spawn-policy-resolver.d.ts +1 -1
  232. package/dist/spawn-policy-resolver.d.ts.map +1 -1
  233. package/dist/spawn-task-builder.d.ts +17 -1
  234. package/dist/spawn-task-builder.d.ts.map +1 -1
  235. package/dist/spawn-task-builder.js +63 -1
  236. package/dist/spawn-task-builder.js.map +1 -1
  237. package/dist/spawn-template-assembler.d.ts +1 -1
  238. package/dist/spawn-template-assembler.d.ts.map +1 -1
  239. package/dist/state-machine.d.ts +1 -9
  240. package/dist/state-machine.d.ts.map +1 -1
  241. package/dist/state-machine.js +2 -86
  242. package/dist/state-machine.js.map +1 -1
  243. package/dist/sync-validator.d.ts.map +1 -1
  244. package/dist/sync-validator.js +15 -12
  245. package/dist/sync-validator.js.map +1 -1
  246. package/dist/telemetry.d.ts.map +1 -1
  247. package/dist/telemetry.js +3 -2
  248. package/dist/telemetry.js.map +1 -1
  249. package/dist/work-classifier.d.ts +1 -102
  250. package/dist/work-classifier.d.ts.map +1 -1
  251. package/dist/work-classifier.js +2 -424
  252. package/dist/work-classifier.js.map +1 -1
  253. package/dist/worktree-symlink.d.ts +2 -2
  254. package/dist/worktree-symlink.d.ts.map +1 -1
  255. package/dist/worktree-symlink.js +37 -12
  256. package/dist/worktree-symlink.js.map +1 -1
  257. package/dist/wu-cli-constants.d.ts +1 -433
  258. package/dist/wu-cli-constants.d.ts.map +1 -1
  259. package/dist/wu-cli-constants.js +4 -436
  260. package/dist/wu-cli-constants.js.map +1 -1
  261. package/dist/wu-consistency-file-repairs.d.ts.map +1 -1
  262. package/dist/wu-consistency-file-repairs.js +5 -3
  263. package/dist/wu-consistency-file-repairs.js.map +1 -1
  264. package/dist/wu-context-constants.d.ts +22 -0
  265. package/dist/wu-context-constants.d.ts.map +1 -1
  266. package/dist/wu-context-constants.js +22 -0
  267. package/dist/wu-context-constants.js.map +1 -1
  268. package/dist/wu-doc-types.d.ts +1 -47
  269. package/dist/wu-doc-types.d.ts.map +1 -1
  270. package/dist/wu-domain-constants.d.ts +1 -295
  271. package/dist/wu-domain-constants.d.ts.map +1 -1
  272. package/dist/wu-domain-constants.js +4 -397
  273. package/dist/wu-domain-constants.js.map +1 -1
  274. package/dist/wu-done-branch-only.d.ts +1 -1
  275. package/dist/wu-done-branch-only.d.ts.map +1 -1
  276. package/dist/wu-done-branch-only.js +22 -13
  277. package/dist/wu-done-branch-only.js.map +1 -1
  278. package/dist/wu-done-branch-utils.d.ts.map +1 -1
  279. package/dist/wu-done-branch-utils.js +5 -3
  280. package/dist/wu-done-branch-utils.js.map +1 -1
  281. package/dist/wu-done-cleanup.d.ts.map +1 -1
  282. package/dist/wu-done-cleanup.js +66 -22
  283. package/dist/wu-done-cleanup.js.map +1 -1
  284. package/dist/wu-done-concurrent-merge.d.ts.map +1 -1
  285. package/dist/wu-done-concurrent-merge.js +9 -6
  286. package/dist/wu-done-concurrent-merge.js.map +1 -1
  287. package/dist/wu-done-errors.d.ts +3 -3
  288. package/dist/wu-done-errors.d.ts.map +1 -1
  289. package/dist/wu-done-inputs.d.ts.map +1 -1
  290. package/dist/wu-done-inputs.js +3 -0
  291. package/dist/wu-done-inputs.js.map +1 -1
  292. package/dist/wu-done-merge-phase.d.ts.map +1 -1
  293. package/dist/wu-done-merge-phase.js +4 -2
  294. package/dist/wu-done-merge-phase.js.map +1 -1
  295. package/dist/wu-done-merge.d.ts.map +1 -1
  296. package/dist/wu-done-merge.js +16 -8
  297. package/dist/wu-done-merge.js.map +1 -1
  298. package/dist/wu-done-merged-worktree.d.ts.map +1 -1
  299. package/dist/wu-done-merged-worktree.js +7 -8
  300. package/dist/wu-done-merged-worktree.js.map +1 -1
  301. package/dist/wu-done-messages.d.ts.map +1 -1
  302. package/dist/wu-done-messages.js +12 -5
  303. package/dist/wu-done-messages.js.map +1 -1
  304. package/dist/wu-done-metadata.d.ts.map +1 -1
  305. package/dist/wu-done-metadata.js +3 -8
  306. package/dist/wu-done-metadata.js.map +1 -1
  307. package/dist/wu-done-preflight-checks.d.ts.map +1 -1
  308. package/dist/wu-done-preflight-checks.js +21 -15
  309. package/dist/wu-done-preflight-checks.js.map +1 -1
  310. package/dist/wu-done-rebase.d.ts.map +1 -1
  311. package/dist/wu-done-rebase.js +10 -8
  312. package/dist/wu-done-rebase.js.map +1 -1
  313. package/dist/wu-done-retry-helpers.d.ts.map +1 -1
  314. package/dist/wu-done-retry-helpers.js +13 -11
  315. package/dist/wu-done-retry-helpers.js.map +1 -1
  316. package/dist/wu-done-validation.d.ts.map +1 -1
  317. package/dist/wu-done-validation.js +4 -2
  318. package/dist/wu-done-validation.js.map +1 -1
  319. package/dist/wu-done-worktree-services.d.ts.map +1 -1
  320. package/dist/wu-done-worktree-services.js +4 -2
  321. package/dist/wu-done-worktree-services.js.map +1 -1
  322. package/dist/wu-done-worktree.d.ts.map +1 -1
  323. package/dist/wu-done-worktree.js +4 -2
  324. package/dist/wu-done-worktree.js.map +1 -1
  325. package/dist/wu-git-constants.d.ts +1 -175
  326. package/dist/wu-git-constants.d.ts.map +1 -1
  327. package/dist/wu-git-constants.js +4 -175
  328. package/dist/wu-git-constants.js.map +1 -1
  329. package/dist/wu-helpers.d.ts +24 -0
  330. package/dist/wu-helpers.d.ts.map +1 -1
  331. package/dist/wu-helpers.js +37 -4
  332. package/dist/wu-helpers.js.map +1 -1
  333. package/dist/wu-id-format.d.ts +1 -137
  334. package/dist/wu-id-format.d.ts.map +1 -1
  335. package/dist/wu-id-format.js +2 -249
  336. package/dist/wu-id-format.js.map +1 -1
  337. package/dist/wu-id-generator.d.ts.map +1 -1
  338. package/dist/wu-id-generator.js +8 -5
  339. package/dist/wu-id-generator.js.map +1 -1
  340. package/dist/wu-paths-constants.d.ts +1 -253
  341. package/dist/wu-paths-constants.d.ts.map +1 -1
  342. package/dist/wu-paths-constants.js +4 -273
  343. package/dist/wu-paths-constants.js.map +1 -1
  344. package/dist/wu-paths.d.ts +1 -274
  345. package/dist/wu-paths.d.ts.map +1 -1
  346. package/dist/wu-paths.js +4 -236
  347. package/dist/wu-paths.js.map +1 -1
  348. package/dist/wu-rules-resolvers.d.ts.map +1 -1
  349. package/dist/wu-rules-resolvers.js +11 -6
  350. package/dist/wu-rules-resolvers.js.map +1 -1
  351. package/dist/wu-schema.d.ts +1 -830
  352. package/dist/wu-schema.d.ts.map +1 -1
  353. package/dist/wu-schema.js +4 -929
  354. package/dist/wu-schema.js.map +1 -1
  355. package/dist/wu-spawn-helpers.d.ts.map +1 -1
  356. package/dist/wu-spawn-helpers.js +5 -2
  357. package/dist/wu-spawn-helpers.js.map +1 -1
  358. package/dist/wu-spawn.d.ts +2 -2
  359. package/dist/wu-spawn.d.ts.map +1 -1
  360. package/dist/wu-spawn.js +2 -2
  361. package/dist/wu-spawn.js.map +1 -1
  362. package/dist/wu-state-schema.d.ts +1 -291
  363. package/dist/wu-state-schema.d.ts.map +1 -1
  364. package/dist/wu-state-schema.js +4 -212
  365. package/dist/wu-state-schema.js.map +1 -1
  366. package/dist/wu-status-transition.d.ts +3 -1
  367. package/dist/wu-status-transition.d.ts.map +1 -1
  368. package/dist/wu-status-transition.js +9 -24
  369. package/dist/wu-status-transition.js.map +1 -1
  370. package/dist/wu-statuses.d.ts +1 -208
  371. package/dist/wu-statuses.d.ts.map +1 -1
  372. package/dist/wu-statuses.js +4 -242
  373. package/dist/wu-statuses.js.map +1 -1
  374. package/dist/wu-transaction-collectors.d.ts +1 -0
  375. package/dist/wu-transaction-collectors.d.ts.map +1 -1
  376. package/dist/wu-transaction-collectors.js +13 -8
  377. package/dist/wu-transaction-collectors.js.map +1 -1
  378. package/dist/wu-type-helpers.d.ts +1 -27
  379. package/dist/wu-type-helpers.d.ts.map +1 -1
  380. package/dist/wu-type-helpers.js +4 -46
  381. package/dist/wu-type-helpers.js.map +1 -1
  382. package/dist/wu-ui-constants.d.ts +1 -235
  383. package/dist/wu-ui-constants.d.ts.map +1 -1
  384. package/dist/wu-ui-constants.js +5 -235
  385. package/dist/wu-ui-constants.js.map +1 -1
  386. package/dist/wu-validation-constants.d.ts +1 -60
  387. package/dist/wu-validation-constants.d.ts.map +1 -1
  388. package/dist/wu-validation-constants.js +4 -66
  389. package/dist/wu-validation-constants.js.map +1 -1
  390. package/dist/wu-yaml.d.ts +1 -112
  391. package/dist/wu-yaml.d.ts.map +1 -1
  392. package/dist/wu-yaml.js +4 -304
  393. package/dist/wu-yaml.js.map +1 -1
  394. package/package.json +12 -9
  395. package/dist/coverage-gate.d.ts +0 -128
  396. package/dist/coverage-gate.d.ts.map +0 -1
  397. package/dist/coverage-gate.js +0 -211
  398. package/dist/coverage-gate.js.map +0 -1
  399. package/dist/gates-agent-mode.d.ts +0 -108
  400. package/dist/gates-agent-mode.d.ts.map +0 -1
  401. package/dist/gates-agent-mode.js +0 -138
  402. package/dist/gates-agent-mode.js.map +0 -1
  403. package/dist/gates-config-internal.d.ts +0 -54
  404. package/dist/gates-config-internal.d.ts.map +0 -1
  405. package/dist/gates-config-internal.js +0 -107
  406. package/dist/gates-config-internal.js.map +0 -1
  407. package/dist/gates-config.d.ts +0 -68
  408. package/dist/gates-config.d.ts.map +0 -1
  409. package/dist/gates-config.js +0 -193
  410. package/dist/gates-config.js.map +0 -1
  411. package/dist/gates-coverage.d.ts +0 -42
  412. package/dist/gates-coverage.d.ts.map +0 -1
  413. package/dist/gates-coverage.js +0 -162
  414. package/dist/gates-coverage.js.map +0 -1
  415. package/dist/gates-presets.d.ts +0 -52
  416. package/dist/gates-presets.d.ts.map +0 -1
  417. package/dist/gates-presets.js +0 -117
  418. package/dist/gates-presets.js.map +0 -1
  419. package/dist/gates-schemas.d.ts +0 -143
  420. package/dist/gates-schemas.d.ts.map +0 -1
  421. package/dist/gates-schemas.js +0 -67
  422. package/dist/gates-schemas.js.map +0 -1
  423. package/dist/package-manager-resolver.d.ts +0 -80
  424. package/dist/package-manager-resolver.d.ts.map +0 -1
  425. package/dist/package-manager-resolver.js +0 -245
  426. package/dist/package-manager-resolver.js.map +0 -1
  427. package/dist/resolve-policy.d.ts +0 -293
  428. package/dist/resolve-policy.d.ts.map +0 -1
  429. package/dist/resolve-policy.js +0 -303
  430. package/dist/resolve-policy.js.map +0 -1
@@ -33,7 +33,7 @@ export * from './schemas/agents-config.js';
33
33
  export * from './schemas/lanes-config.js';
34
34
  export * from './schemas/cloud-config.js';
35
35
  export * from './schemas/operational-config.js';
36
- export type { MethodologyConfig, MethodologyOverrides, WorkClassificationUi, WorkClassificationSchemaConfig, } from './resolve-policy.js';
36
+ export type { MethodologyConfig, MethodologyOverrides, WorkClassificationUi, WorkClassificationSchemaConfig, } from '@lumenflow/packs-software-delivery/policy/resolve-policy';
37
37
  /**
38
38
  * Complete LumenFlow configuration schema
39
39
  *
@@ -113,8 +113,8 @@ export declare const LumenFlowConfigSchema: z.ZodObject<{
113
113
  defaultType: z.ZodDefault<z.ZodString>;
114
114
  brief: z.ZodDefault<z.ZodObject<{
115
115
  policyMode: z.ZodDefault<z.ZodEnum<{
116
- manual: "manual";
117
116
  off: "off";
117
+ manual: "manual";
118
118
  auto: "auto";
119
119
  required: "required";
120
120
  }>>;
@@ -139,9 +139,26 @@ export declare const LumenFlowConfigSchema: z.ZodObject<{
139
139
  enableInvariants: z.ZodDefault<z.ZodBoolean>;
140
140
  tdd_diff_evidence: z.ZodOptional<z.ZodObject<{
141
141
  mode: z.ZodOptional<z.ZodEnum<{
142
- block: "block";
142
+ off: "off";
143
143
  warn: "warn";
144
+ block: "block";
145
+ }>>;
146
+ applies_to_types: z.ZodOptional<z.ZodArray<z.ZodEnum<{
147
+ feature: "feature";
148
+ bug: "bug";
149
+ documentation: "documentation";
150
+ process: "process";
151
+ tooling: "tooling";
152
+ chore: "chore";
153
+ refactor: "refactor";
154
+ }>>>;
155
+ exempt_paths: z.ZodOptional<z.ZodArray<z.ZodString>>;
156
+ }, z.core.$strip>>;
157
+ tdd_ordering: z.ZodOptional<z.ZodObject<{
158
+ mode: z.ZodOptional<z.ZodEnum<{
144
159
  off: "off";
160
+ warn: "warn";
161
+ block: "block";
145
162
  }>>;
146
163
  applies_to_types: z.ZodOptional<z.ZodArray<z.ZodEnum<{
147
164
  feature: "feature";
@@ -152,6 +169,8 @@ export declare const LumenFlowConfigSchema: z.ZodObject<{
152
169
  chore: "chore";
153
170
  refactor: "refactor";
154
171
  }>>>;
172
+ min_runtime_loc_per_commit_without_tests: z.ZodOptional<z.ZodNumber>;
173
+ grace_commits: z.ZodOptional<z.ZodNumber>;
155
174
  exempt_paths: z.ZodOptional<z.ZodArray<z.ZodString>>;
156
175
  }, z.core.$strip>>;
157
176
  execution: z.ZodOptional<z.ZodObject<{
@@ -197,18 +216,18 @@ export declare const LumenFlowConfigSchema: z.ZodObject<{
197
216
  }, z.core.$strip>>;
198
217
  ignore_patterns: z.ZodOptional<z.ZodArray<z.ZodString>>;
199
218
  lane_health: z.ZodDefault<z.ZodEnum<{
200
- warn: "warn";
201
- off: "off";
202
219
  error: "error";
220
+ off: "off";
221
+ warn: "warn";
203
222
  }>>;
204
223
  co_change: z.ZodDefault<z.ZodArray<z.ZodObject<{
205
224
  name: z.ZodString;
206
225
  trigger_patterns: z.ZodArray<z.ZodString>;
207
226
  require_patterns: z.ZodArray<z.ZodString>;
208
227
  severity: z.ZodDefault<z.ZodEnum<{
209
- warn: "warn";
210
- off: "off";
211
228
  error: "error";
229
+ off: "off";
230
+ warn: "warn";
212
231
  }>>;
213
232
  guidance: z.ZodOptional<z.ZodString>;
214
233
  guidance_ref: z.ZodOptional<z.ZodString>;
@@ -218,9 +237,9 @@ export declare const LumenFlowConfigSchema: z.ZodObject<{
218
237
  trigger_patterns: z.ZodArray<z.ZodString>;
219
238
  command: z.ZodString;
220
239
  severity: z.ZodDefault<z.ZodEnum<{
221
- warn: "warn";
222
- off: "off";
223
240
  error: "error";
241
+ off: "off";
242
+ warn: "warn";
224
243
  }>>;
225
244
  guidance: z.ZodOptional<z.ZodString>;
226
245
  guidance_ref: z.ZodOptional<z.ZodString>;
@@ -258,9 +277,9 @@ export declare const LumenFlowConfigSchema: z.ZodObject<{
258
277
  interval_tool_calls: z.ZodDefault<z.ZodNumber>;
259
278
  }, z.core.$strip>>;
260
279
  require_checkpoint_for_done: z.ZodDefault<z.ZodEnum<{
261
- block: "block";
262
- warn: "warn";
263
280
  off: "off";
281
+ warn: "warn";
282
+ block: "block";
264
283
  }>>;
265
284
  }, z.core.$strip>>;
266
285
  decay: z.ZodOptional<z.ZodObject<{
@@ -319,13 +338,22 @@ export declare const LumenFlowConfigSchema: z.ZodObject<{
319
338
  principles: z.ZodDefault<z.ZodArray<z.ZodString>>;
320
339
  notes: z.ZodOptional<z.ZodString>;
321
340
  }, z.core.$strip>>;
341
+ stream_watchdog: z.ZodOptional<z.ZodObject<{
342
+ timeout_seconds: z.ZodDefault<z.ZodNumber>;
343
+ heartbeat_cadence_seconds: z.ZodDefault<z.ZodNumber>;
344
+ }, z.core.$strip>>;
345
+ monitor_quality_signals: z.ZodOptional<z.ZodObject<{
346
+ enabled: z.ZodDefault<z.ZodBoolean>;
347
+ min_runtime_loc: z.ZodDefault<z.ZodNumber>;
348
+ grace_minutes: z.ZodDefault<z.ZodNumber>;
349
+ }, z.core.$strip>>;
322
350
  }, z.core.$strip>>;
323
351
  experimental: z.ZodDefault<z.ZodObject<{
324
352
  context_validation: z.ZodDefault<z.ZodBoolean>;
325
353
  validation_mode: z.ZodDefault<z.ZodEnum<{
326
- warn: "warn";
327
- off: "off";
328
354
  error: "error";
355
+ off: "off";
356
+ warn: "warn";
329
357
  }>>;
330
358
  show_next_steps: z.ZodDefault<z.ZodBoolean>;
331
359
  recovery_command: z.ZodDefault<z.ZodBoolean>;
@@ -357,9 +385,9 @@ export declare const LumenFlowConfigSchema: z.ZodObject<{
357
385
  overrides: z.ZodOptional<z.ZodObject<{
358
386
  coverage_threshold: z.ZodOptional<z.ZodNumber>;
359
387
  coverage_mode: z.ZodOptional<z.ZodEnum<{
360
- block: "block";
361
388
  warn: "warn";
362
389
  off: "off";
390
+ block: "block";
363
391
  }>>;
364
392
  }, z.core.$strip>>;
365
393
  work_classification: z.ZodOptional<z.ZodObject<{
@@ -396,9 +424,9 @@ export declare const LumenFlowConfigSchema: z.ZodObject<{
396
424
  wip_limit: z.ZodOptional<z.ZodNumber>;
397
425
  wip_justification: z.ZodOptional<z.ZodString>;
398
426
  lock_policy: z.ZodDefault<z.ZodDefault<z.ZodEnum<{
399
- none: "none";
400
427
  all: "all";
401
428
  active: "active";
429
+ none: "none";
402
430
  }>>>;
403
431
  code_paths: z.ZodOptional<z.ZodArray<z.ZodString>>;
404
432
  }, z.core.$strip>>>;
@@ -407,9 +435,9 @@ export declare const LumenFlowConfigSchema: z.ZodObject<{
407
435
  wip_limit: z.ZodOptional<z.ZodNumber>;
408
436
  wip_justification: z.ZodOptional<z.ZodString>;
409
437
  lock_policy: z.ZodDefault<z.ZodDefault<z.ZodEnum<{
410
- none: "none";
411
438
  all: "all";
412
439
  active: "active";
440
+ none: "none";
413
441
  }>>>;
414
442
  code_paths: z.ZodOptional<z.ZodArray<z.ZodString>>;
415
443
  }, z.core.$strip>>>;
@@ -418,9 +446,9 @@ export declare const LumenFlowConfigSchema: z.ZodObject<{
418
446
  wip_limit: z.ZodOptional<z.ZodNumber>;
419
447
  wip_justification: z.ZodOptional<z.ZodString>;
420
448
  lock_policy: z.ZodDefault<z.ZodDefault<z.ZodEnum<{
421
- none: "none";
422
449
  all: "all";
423
450
  active: "active";
451
+ none: "none";
424
452
  }>>>;
425
453
  code_paths: z.ZodOptional<z.ZodArray<z.ZodString>>;
426
454
  }, z.core.$strip>>>;
@@ -521,7 +549,7 @@ export declare function validateConfig(data: unknown): z.ZodSafeParseResult<{
521
549
  defaultStatus: string;
522
550
  defaultType: string;
523
551
  brief: {
524
- policyMode: "manual" | "off" | "auto" | "required";
552
+ policyMode: "off" | "manual" | "auto" | "required";
525
553
  freshnessMinutes: number;
526
554
  };
527
555
  };
@@ -550,19 +578,19 @@ export declare function validateConfig(data: unknown): z.ZodSafeParseResult<{
550
578
  typecheck?: string | undefined;
551
579
  format?: string | undefined;
552
580
  };
553
- lane_health: "warn" | "off" | "error";
581
+ lane_health: "error" | "off" | "warn";
554
582
  co_change: {
555
583
  name: string;
556
584
  trigger_patterns: string[];
557
585
  require_patterns: string[];
558
- severity: "warn" | "off" | "error";
586
+ severity: "error" | "off" | "warn";
559
587
  guidance?: string | undefined;
560
588
  guidance_ref?: string | undefined;
561
589
  }[];
562
590
  conditional_commands: {
563
591
  trigger_patterns: string[];
564
592
  command: string;
565
- severity: "warn" | "off" | "error";
593
+ severity: "error" | "off" | "warn";
566
594
  name?: string | undefined;
567
595
  guidance?: string | undefined;
568
596
  guidance_ref?: string | undefined;
@@ -573,8 +601,15 @@ export declare function validateConfig(data: unknown): z.ZodSafeParseResult<{
573
601
  skip_types: string[];
574
602
  };
575
603
  tdd_diff_evidence?: {
576
- mode?: "block" | "warn" | "off" | undefined;
604
+ mode?: "off" | "warn" | "block" | undefined;
605
+ applies_to_types?: ("feature" | "bug" | "documentation" | "process" | "tooling" | "chore" | "refactor")[] | undefined;
606
+ exempt_paths?: string[] | undefined;
607
+ } | undefined;
608
+ tdd_ordering?: {
609
+ mode?: "off" | "warn" | "block" | undefined;
577
610
  applies_to_types?: ("feature" | "bug" | "documentation" | "process" | "tooling" | "chore" | "refactor")[] | undefined;
611
+ min_runtime_loc_per_commit_without_tests?: number | undefined;
612
+ grace_commits?: number | undefined;
578
613
  exempt_paths?: string[] | undefined;
579
614
  } | undefined;
580
615
  execution?: {
@@ -637,7 +672,7 @@ export declare function validateConfig(data: unknown): z.ZodSafeParseResult<{
637
672
  enabled: boolean;
638
673
  interval_tool_calls: number;
639
674
  };
640
- require_checkpoint_for_done: "block" | "warn" | "off";
675
+ require_checkpoint_for_done: "off" | "warn" | "block";
641
676
  } | undefined;
642
677
  decay?: {
643
678
  enabled: boolean;
@@ -690,10 +725,19 @@ export declare function validateConfig(data: unknown): z.ZodSafeParseResult<{
690
725
  principles: string[];
691
726
  notes?: string | undefined;
692
727
  };
728
+ stream_watchdog?: {
729
+ timeout_seconds: number;
730
+ heartbeat_cadence_seconds: number;
731
+ } | undefined;
732
+ monitor_quality_signals?: {
733
+ enabled: boolean;
734
+ min_runtime_loc: number;
735
+ grace_minutes: number;
736
+ } | undefined;
693
737
  };
694
738
  experimental: {
695
739
  context_validation: boolean;
696
- validation_mode: "warn" | "off" | "error";
740
+ validation_mode: "error" | "off" | "warn";
697
741
  show_next_steps: boolean;
698
742
  recovery_command: boolean;
699
743
  };
@@ -720,11 +764,11 @@ export declare function validateConfig(data: unknown): z.ZodSafeParseResult<{
720
764
  test_runner: "vitest" | "jest" | "mocha";
721
765
  build_command: string;
722
766
  methodology?: {
723
- testing: "tdd" | "test-after" | "none";
767
+ testing: "none" | "tdd" | "test-after";
724
768
  architecture: "none" | "hexagonal" | "layered";
725
769
  overrides?: {
726
770
  coverage_threshold?: number | undefined;
727
- coverage_mode?: "block" | "warn" | "off" | undefined;
771
+ coverage_mode?: "off" | "warn" | "block" | undefined;
728
772
  } | undefined;
729
773
  work_classification?: {
730
774
  ui?: {
@@ -746,21 +790,21 @@ export declare function validateConfig(data: unknown): z.ZodSafeParseResult<{
746
790
  } | undefined;
747
791
  definitions?: {
748
792
  name: string;
749
- lock_policy: "none" | "all" | "active";
793
+ lock_policy: "all" | "active" | "none";
750
794
  wip_limit?: number | undefined;
751
795
  wip_justification?: string | undefined;
752
796
  code_paths?: string[] | undefined;
753
797
  }[] | undefined;
754
798
  engineering?: {
755
799
  name: string;
756
- lock_policy: "none" | "all" | "active";
800
+ lock_policy: "all" | "active" | "none";
757
801
  wip_limit?: number | undefined;
758
802
  wip_justification?: string | undefined;
759
803
  code_paths?: string[] | undefined;
760
804
  }[] | undefined;
761
805
  business?: {
762
806
  name: string;
763
- lock_policy: "none" | "all" | "active";
807
+ lock_policy: "all" | "active" | "none";
764
808
  wip_limit?: number | undefined;
765
809
  wip_justification?: string | undefined;
766
810
  code_paths?: string[] | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"lumenflow-config-schema.d.ts","sourceRoot":"","sources":["../src/lumenflow-config-schema.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC;AAChD,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mCAAmC,CAAC;AAClD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iCAAiC,CAAC;AAyBhD,YAAY,EACV,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,8BAA8B,GAC/B,MAAM,qBAAqB,CAAC;AAE7B;;;;GAIG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAkEhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAE3C;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,IAAI,GAAE,OAAY,GAAG,eAAe,CAE/D;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,eAAe,CAElD"}
1
+ {"version":3,"file":"lumenflow-config-schema.d.ts","sourceRoot":"","sources":["../src/lumenflow-config-schema.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC;AAChD,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mCAAmC,CAAC;AAClD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iCAAiC,CAAC;AAyBhD,YAAY,EACV,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,8BAA8B,GAC/B,MAAM,0DAA0D,CAAC;AAElE;;;;GAIG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAkEhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAE3C;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,IAAI,GAAE,OAAY,GAAG,eAAe,CAE/D;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,eAAe,CAElD"}
@@ -25,7 +25,7 @@
25
25
  */
26
26
  import { z } from 'zod';
27
27
  // WU-1259: Import methodology config schema for resolvePolicy()
28
- import { MethodologyConfigSchema } from './resolve-policy.js';
28
+ import { MethodologyConfigSchema } from '@lumenflow/packs-software-delivery/policy/resolve-policy';
29
29
  // --- Re-export per-section schemas and types ---
30
30
  export * from './schemas/workspace-config.js';
31
31
  export * from './schemas/directories-config.js';
@@ -1 +1 @@
1
- {"version":3,"file":"lumenflow-config-schema.js","sourceRoot":"","sources":["../src/lumenflow-config-schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lumenflow-config-schema.js","sourceRoot":"","sources":["../src/lumenflow-config-schema.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,gEAAgE;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,0DAA0D,CAAC;AAEnG,kDAAkD;AAElD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC;AAChD,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mCAAmC,CAAC;AAClD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iCAAiC,CAAC;AAEhD,iDAAiD;AAEjD,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACtF,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AACpG,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,wBAAwB,EACxB,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,iCAAiC,CAAC;AAWzC;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,2CAA2C;IAC3C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC;IAEpC,sBAAsB;IACtB,WAAW,EAAE,iBAAiB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAEzE,mDAAmD;IACnD,KAAK,EAAE,gBAAgB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAEjE,wBAAwB;IACxB,GAAG,EAAE,eAAe,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAE7D,uBAAuB;IACvB,EAAE,EAAE,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAE1D,qEAAqE;IACrE,IAAI,EAAE,gBAAgB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAEhE,oEAAoE;IACpE,YAAY,EAAE,wBAAwB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAExF,0BAA0B;IAC1B,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAEnE,iCAAiC;IACjC,MAAM,EAAE,kBAAkB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAEtE,uBAAuB;IACvB,EAAE,EAAE,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAE1D,yBAAyB;IACzB,IAAI,EAAE,gBAAgB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAEhE,2BAA2B;IAC3B,MAAM,EAAE,kBAAkB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAEtE,sCAAsC;IACtC,YAAY,EAAE,wBAAwB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAExF,qCAAqC;IACrC,OAAO,EAAE,mBAAmB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAEzE,uCAAuC;IACvC,SAAS,EAAE,qBAAqB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAE/E,yCAAyC;IACzC,WAAW,EAAE,uBAAuB,CAAC,QAAQ,EAAE;IAE/C,kDAAkD;IAClD,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAEnE,mCAAmC;IACnC,KAAK,EAAE,iBAAiB,CAAC,QAAQ,EAAE;IAEnC,gDAAgD;IAChD,UAAU,EAAE,sBAAsB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAElF,kDAAkD;IAClD,eAAe,EAAE,oBAAoB;IAErC,0DAA0D;IAC1D,WAAW,EAAE,gBAAgB;IAE7B,sDAAsD;IACtD,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC;CAChD,CAAC,CAAC;AAIH;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,IAAa;IAC1C,OAAO,qBAAqB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AAC/C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAAC,OAAgB,EAAE;IAC5C,OAAO,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC3C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AACzC,CAAC"}
@@ -1,32 +1,14 @@
1
1
  /// <reference path="./types.d.ts" />
2
2
  import { type LumenFlowConfig } from './lumenflow-config-schema.js';
3
- /** Canonical workspace config file name (workspace-first architecture) */
4
- export { GIT_DIRECTORY_NAME, GIT_WORKTREES_SENTINEL, WORKSPACE_CONFIG_FILE_NAME, } from './config-contract.js';
5
- /** WU-2185: Re-export routing constants for config:set workspace-aware routing */
6
- export { WORKSPACE_ROOT_KEYS, WRITABLE_ROOT_KEYS, MANAGED_ROOT_KEYS, type WorkspaceRootKey, } from './config-contract.js';
7
- /** Presence of canonical workspace config in a project root. */
8
- export interface ConfigFilePresence {
9
- workspaceConfigExists: boolean;
10
- }
3
+ export { findProjectRoot, getConfigFilePresence, getWorkspaceInitCommand, getDocsGenerateCommand, resolvePath, type ConfigFilePresence, } from '@lumenflow/host/workspace-config/lumenflow-config';
4
+ export { GIT_DIRECTORY_NAME, GIT_WORKTREES_SENTINEL, WORKSPACE_CONFIG_FILE_NAME, WORKSPACE_ROOT_KEYS, WRITABLE_ROOT_KEYS, MANAGED_ROOT_KEYS, type WorkspaceRootKey, } from '@lumenflow/kernel/primitives/workspace-constants';
11
5
  /**
12
- * Detect whether canonical workspace config file exists.
6
+ * Get LumenFlow configuration (typed).
13
7
  *
14
- * @param projectRoot - Project root directory
15
- * @returns File presence booleans for canonical workspace config file
16
- */
17
- export declare function getConfigFilePresence(projectRoot: string): ConfigFilePresence;
18
- /**
19
- * Find project root by looking for workspace.yaml, then .git
20
- *
21
- * @param startDir - Directory to start searching from
22
- * @returns Project root path or current working directory
23
- */
24
- export declare function findProjectRoot(startDir?: string): string;
25
- /**
26
- * Get LumenFlow configuration
8
+ * Wraps host's raw loader with Zod parsing via `LumenFlowConfigSchema`.
27
9
  *
28
10
  * Resolution order:
29
- * 1. `workspace.yaml` → `software_delivery` block (canonical)
11
+ * 1. `workspace.yaml` → `software_delivery` block (canonical, via host)
30
12
  * 2. defaults from schema
31
13
  *
32
14
  * @param options - Options for loading config
@@ -41,7 +23,8 @@ export declare function getConfig(options?: {
41
23
  strictWorkspace?: boolean;
42
24
  }): LumenFlowConfig;
43
25
  /**
44
- * Get the project root directory
26
+ * Get the project root directory. Prefers the core-side cache populated by
27
+ * `getConfig(...)`; otherwise delegates to host's loader.
45
28
  *
46
29
  * @returns Cached project root or finds it
47
30
  */
@@ -55,19 +38,12 @@ export declare function getProjectRoot(): string;
55
38
  *
56
39
  * Also useful in tests that manipulate workspace.yaml between assertions.
57
40
  *
41
+ * Clears both core's typed cache and host's project-root cache so downstream
42
+ * primitive calls see a fresh state.
43
+ *
58
44
  * @see WU-2126
59
45
  */
60
46
  export declare function clearConfigCache(): void;
61
- export declare function getWorkspaceInitCommand(projectRoot?: string): string;
62
- export declare function getDocsGenerateCommand(projectRoot?: string): string;
63
- /**
64
- * Resolve a path relative to project root
65
- *
66
- * @param relativePath - Relative path from config
67
- * @param projectRoot - Optional project root override
68
- * @returns Absolute path
69
- */
70
- export declare function resolvePath(relativePath: string, projectRoot?: string): string;
71
47
  /**
72
48
  * Get resolved paths for common directories
73
49
  *
@@ -1 +1 @@
1
- {"version":3,"file":"lumenflow-config.d.ts","sourceRoot":"","sources":["../src/lumenflow-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lumenflow-config.d.ts","sourceRoot":"","sources":["../src/lumenflow-config.ts"],"names":[],"mappings":"AA8BA,OAAO,EACL,KAAK,eAAe,EAMrB,MAAM,8BAA8B,CAAC;AAMtC,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,uBAAuB,EACvB,sBAAsB,EACtB,WAAW,EACX,KAAK,kBAAkB,GACxB,MAAM,mDAAmD,CAAC;AAE3D,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,0BAA0B,EAC1B,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,KAAK,gBAAgB,GACtB,MAAM,kDAAkD,CAAC;AAe1D;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,SAAS,CACvB,OAAO,GAAE;IACP,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,eAAe,CAAC,EAAE,OAAO,CAAC;CACtB,GACL,eAAe,CAoCjB;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAMvC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAIvC;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,GAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,OAAO,CAAA;CAAO,GAChE;IACD,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,8CAA8C;IAC9C,WAAW,EAAE,MAAM,CAAC;CACrB,CA4BA;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG;IACtD,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,CAAC,EAAE,eAAe,CAAC;CAC1B,CA2CA;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE;IAAE,eAAe,CAAC,EAAE,OAAO,CAAA;CAAO,GAC1C,IAAI,CA+DN;AAGD,YAAY,EACV,eAAe,EACf,WAAW,EACX,UAAU,EACV,eAAe,EACf,SAAS,EACT,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,UAAU,GACX,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAIhE,YAAY,EACV,UAAU,EACV,kBAAkB,EAClB,YAAY,EACZ,YAAY,EACZ,mBAAmB,GACpB,MAAM,yBAAyB,CAAC"}
@@ -1,121 +1,45 @@
1
1
  // Copyright (c) 2026 Hellmai Ltd
2
2
  // SPDX-License-Identifier: AGPL-3.0-only
3
3
  /**
4
- * LumenFlow Configuration Loader
4
+ * LumenFlow Configuration — typed wrapper + shim.
5
5
  *
6
- * Loads and manages LumenFlow configuration from workspace.yaml
7
- * (`software_delivery` block).
6
+ * WU-2684 (INIT-058 L4b): The raw workspace-config loader primitives were relocated
7
+ * to `@lumenflow/host/workspace-config/lumenflow-config`. This module stays at
8
+ * `@lumenflow/core/lumenflow-config` as a thin re-export shim plus the typed
9
+ * helpers (`getConfig`, `getResolvedPaths`, `validateConfigFile`, `createSampleConfig`,
10
+ * `clearConfigCache`) that require the pack-coupled `LumenFlowConfigSchema`. External
11
+ * import paths (`@lumenflow/core/config`) are unchanged.
8
12
  *
9
13
  * @module lumenflow-config
10
14
  */
11
15
  import * as fs from 'node:fs';
12
16
  import * as path from 'node:path';
13
17
  import * as yaml from 'yaml';
18
+ import { findProjectRoot, getProjectRoot as getHostProjectRoot, clearProjectRootCache, loadWorkspaceSoftwareDeliveryConfig, getConfigFilePresence, LUMENFLOW_CONFIG_WARNING_PREFIX as CONFIG_WARNING_PREFIX, } from '@lumenflow/host/workspace-config/lumenflow-config';
19
+ import { getWorkspaceInitCommand } from '@lumenflow/host/workspace-config/lumenflow-config';
20
+ import { normalizeConfigKeys } from '@lumenflow/kernel/primitives/normalize-config-keys';
21
+ import { asRecord } from '@lumenflow/kernel/primitives/object-guards';
14
22
  import { parseConfig, getDefaultConfig, validateConfig, WorkspaceV2ExtensionsSchema, WORKSPACE_V2_KEYS, } from './lumenflow-config-schema.js';
15
- import { GIT_DIRECTORY_NAME, WORKSPACE_CONFIG_FILE_NAME } from './config-contract.js';
16
- import { normalizeConfigKeys } from './normalize-config-keys.js';
17
- import { asRecord } from './object-guards.js';
18
- import { createError, ErrorCodes } from './error-handler.js';
19
- import { resolvePackageManager } from './package-manager-resolver.js';
20
- /** Canonical workspace config file name (workspace-first architecture) */
21
- export { GIT_DIRECTORY_NAME, GIT_WORKTREES_SENTINEL, WORKSPACE_CONFIG_FILE_NAME, } from './config-contract.js';
22
- /** WU-2185: Re-export routing constants for config:set workspace-aware routing */
23
- export { WORKSPACE_ROOT_KEYS, WRITABLE_ROOT_KEYS, MANAGED_ROOT_KEYS, } from './config-contract.js';
24
- /** Shared UTF-8 encoding literal for file reads/writes */
23
+ import { WORKSPACE_CONFIG_FILE_NAME } from '@lumenflow/kernel/primitives/workspace-constants';
24
+ import { createError, ErrorCodes } from '@lumenflow/kernel/primitives/error-handler';
25
+ // --- Re-exports for API stability ---
26
+ export { findProjectRoot, getConfigFilePresence, getWorkspaceInitCommand, getDocsGenerateCommand, resolvePath, } from '@lumenflow/host/workspace-config/lumenflow-config';
27
+ export { GIT_DIRECTORY_NAME, GIT_WORKTREES_SENTINEL, WORKSPACE_CONFIG_FILE_NAME, WORKSPACE_ROOT_KEYS, WRITABLE_ROOT_KEYS, MANAGED_ROOT_KEYS, } from '@lumenflow/kernel/primitives/workspace-constants';
28
+ // --- Typed-config layer (schema-parsing) ---
25
29
  const UTF8_ENCODING = 'utf8';
26
- /** Warning prefix for config-loading diagnostics */
27
- const WARNING_PREFIX = '[lumenflow-config]';
28
- const WORKSPACE_INIT_SCRIPT = 'workspace:init';
29
- const DOCS_GENERATE_SCRIPT = 'docs:generate';
30
- const WORKSPACE_INIT_ARGS = ['--yes'];
31
30
  /** Canonical workspace section that stores software-delivery config */
32
31
  const WORKSPACE_CONFIG_SECTION = WORKSPACE_V2_KEYS.SOFTWARE_DELIVERY;
33
- /**
34
- * Detect whether canonical workspace config file exists.
35
- *
36
- * @param projectRoot - Project root directory
37
- * @returns File presence booleans for canonical workspace config file
38
- */
39
- export function getConfigFilePresence(projectRoot) {
40
- return {
41
- workspaceConfigExists: fs.existsSync(path.join(projectRoot, WORKSPACE_CONFIG_FILE_NAME)),
42
- };
43
- }
44
- /** Cached config instance */
32
+ /** Cached typed config instance */
45
33
  let cachedConfig = null;
46
- /** Cached project root */
34
+ /** Cached project root (typed-cache side; host keeps its own cache). */
47
35
  let cachedProjectRoot = null;
48
36
  /**
49
- * Parse YAML content and coerce it to a plain record.
50
- *
51
- * @param content - Raw YAML text
52
- * @returns Parsed object record, or null when parsed content is not an object
53
- */
54
- function parseYamlRecord(content) {
55
- return asRecord(yaml.parse(content));
56
- }
57
- /**
58
- * Find project root by looking for workspace.yaml, then .git
37
+ * Get LumenFlow configuration (typed).
59
38
  *
60
- * @param startDir - Directory to start searching from
61
- * @returns Project root path or current working directory
62
- */
63
- export function findProjectRoot(startDir = process.cwd()) {
64
- let currentDir = path.resolve(startDir);
65
- const filesystemRoot = path.parse(currentDir).root;
66
- while (true) {
67
- if (fs.existsSync(path.join(currentDir, WORKSPACE_CONFIG_FILE_NAME))) {
68
- return currentDir;
69
- }
70
- if (fs.existsSync(path.join(currentDir, GIT_DIRECTORY_NAME))) {
71
- return currentDir;
72
- }
73
- if (currentDir === filesystemRoot) {
74
- break;
75
- }
76
- currentDir = path.dirname(currentDir);
77
- }
78
- return process.cwd();
79
- }
80
- /**
81
- * Load config from canonical workspace.yaml `software_delivery` block.
82
- *
83
- * @param projectRoot - Project root directory
84
- * @returns Parsed software-delivery config object, or null when unavailable/invalid
85
- */
86
- function loadWorkspaceSoftwareDeliveryConfig(projectRoot) {
87
- const workspacePath = path.join(projectRoot, WORKSPACE_CONFIG_FILE_NAME);
88
- if (!fs.existsSync(workspacePath)) {
89
- return null;
90
- }
91
- try {
92
- const content = fs.readFileSync(workspacePath, UTF8_ENCODING);
93
- const workspaceData = parseYamlRecord(content);
94
- if (!workspaceData) {
95
- console.warn(`${WARNING_PREFIX} ${WORKSPACE_CONFIG_FILE_NAME} does not contain a valid object root.`);
96
- return null;
97
- }
98
- const parsedExtensions = WorkspaceV2ExtensionsSchema.safeParse(workspaceData);
99
- if (!parsedExtensions.success) {
100
- const hasSoftwareDeliveryError = parsedExtensions.error.issues.some((issue) => issue.path[0] === WORKSPACE_V2_KEYS.SOFTWARE_DELIVERY);
101
- if (hasSoftwareDeliveryError) {
102
- console.warn(`${WARNING_PREFIX} ${WORKSPACE_CONFIG_FILE_NAME} is missing a valid ${WORKSPACE_V2_KEYS.SOFTWARE_DELIVERY} block.`);
103
- }
104
- return null;
105
- }
106
- // WU-1765: Normalize snake_case YAML keys to camelCase before Zod parsing.
107
- return normalizeConfigKeys(parsedExtensions.data[WORKSPACE_V2_KEYS.SOFTWARE_DELIVERY]);
108
- }
109
- catch (error) {
110
- console.warn(`${WARNING_PREFIX} Failed to parse ${WORKSPACE_CONFIG_FILE_NAME}:`, error instanceof Error ? error.message : String(error));
111
- return null;
112
- }
113
- }
114
- /**
115
- * Get LumenFlow configuration
39
+ * Wraps host's raw loader with Zod parsing via `LumenFlowConfigSchema`.
116
40
  *
117
41
  * Resolution order:
118
- * 1. `workspace.yaml` → `software_delivery` block (canonical)
42
+ * 1. `workspace.yaml` → `software_delivery` block (canonical, via host)
119
43
  * 2. defaults from schema
120
44
  *
121
45
  * @param options - Options for loading config
@@ -126,26 +50,21 @@ function loadWorkspaceSoftwareDeliveryConfig(projectRoot) {
126
50
  */
127
51
  export function getConfig(options = {}) {
128
52
  const { projectRoot: overrideRoot, reload = false, strictWorkspace = false } = options;
129
- // Use cached config if available and not reloading
130
53
  if (cachedConfig && !reload && !overrideRoot) {
131
54
  return cachedConfig;
132
55
  }
133
- // Find or use provided project root
134
56
  const projectRoot = overrideRoot || findProjectRoot();
135
57
  const { workspaceConfigExists } = getConfigFilePresence(projectRoot);
136
58
  if (strictWorkspace && !workspaceConfigExists) {
137
- throw createError(ErrorCodes.CONFIG_ERROR, `${WARNING_PREFIX} Missing ${WORKSPACE_CONFIG_FILE_NAME}. ` +
59
+ throw createError(ErrorCodes.CONFIG_ERROR, `${CONFIG_WARNING_PREFIX} Missing ${WORKSPACE_CONFIG_FILE_NAME}. ` +
138
60
  `Run \`${getWorkspaceInitCommand(projectRoot)}\` to scaffold workspace config.`);
139
61
  }
140
- // Canonical workspace-first load path (INIT-033 hard cut)
141
62
  const workspaceConfig = loadWorkspaceSoftwareDeliveryConfig(projectRoot);
142
63
  if (strictWorkspace && workspaceConfigExists && !workspaceConfig) {
143
- throw createError(ErrorCodes.CONFIG_ERROR, `${WARNING_PREFIX} ${WORKSPACE_CONFIG_FILE_NAME} exists but is invalid. ` +
64
+ throw createError(ErrorCodes.CONFIG_ERROR, `${CONFIG_WARNING_PREFIX} ${WORKSPACE_CONFIG_FILE_NAME} exists but is invalid. ` +
144
65
  `Ensure \`${WORKSPACE_CONFIG_SECTION}\` contains valid configuration values.`);
145
66
  }
146
- // Parse with defaults
147
67
  const config = parseConfig(workspaceConfig ?? {});
148
- // Cache if using default project root
149
68
  if (!overrideRoot) {
150
69
  cachedConfig = config;
151
70
  cachedProjectRoot = projectRoot;
@@ -153,7 +72,8 @@ export function getConfig(options = {}) {
153
72
  return config;
154
73
  }
155
74
  /**
156
- * Get the project root directory
75
+ * Get the project root directory. Prefers the core-side cache populated by
76
+ * `getConfig(...)`; otherwise delegates to host's loader.
157
77
  *
158
78
  * @returns Cached project root or finds it
159
79
  */
@@ -161,7 +81,7 @@ export function getProjectRoot() {
161
81
  if (cachedProjectRoot) {
162
82
  return cachedProjectRoot;
163
83
  }
164
- cachedProjectRoot = findProjectRoot();
84
+ cachedProjectRoot = getHostProjectRoot();
165
85
  return cachedProjectRoot;
166
86
  }
167
87
  /**
@@ -173,45 +93,15 @@ export function getProjectRoot() {
173
93
  *
174
94
  * Also useful in tests that manipulate workspace.yaml between assertions.
175
95
  *
96
+ * Clears both core's typed cache and host's project-root cache so downstream
97
+ * primitive calls see a fresh state.
98
+ *
176
99
  * @see WU-2126
177
100
  */
178
101
  export function clearConfigCache() {
179
102
  cachedConfig = null;
180
103
  cachedProjectRoot = null;
181
- }
182
- function formatScriptCommand(packageManager, scriptName, args = []) {
183
- switch (packageManager) {
184
- case 'npm':
185
- return args.length > 0
186
- ? `npm run ${scriptName} -- ${args.join(' ')}`
187
- : `npm run ${scriptName}`;
188
- case 'yarn':
189
- return args.length > 0 ? `yarn ${scriptName} ${args.join(' ')}` : `yarn ${scriptName}`;
190
- case 'bun':
191
- return args.length > 0 ? `bun run ${scriptName} ${args.join(' ')}` : `bun run ${scriptName}`;
192
- case 'pnpm':
193
- default:
194
- return args.length > 0 ? `pnpm ${scriptName} ${args.join(' ')}` : `pnpm ${scriptName}`;
195
- }
196
- }
197
- export function getWorkspaceInitCommand(projectRoot = getProjectRoot()) {
198
- return formatScriptCommand(resolvePackageManager(projectRoot), WORKSPACE_INIT_SCRIPT, [
199
- ...WORKSPACE_INIT_ARGS,
200
- ]);
201
- }
202
- export function getDocsGenerateCommand(projectRoot = getProjectRoot()) {
203
- return formatScriptCommand(resolvePackageManager(projectRoot), DOCS_GENERATE_SCRIPT);
204
- }
205
- /**
206
- * Resolve a path relative to project root
207
- *
208
- * @param relativePath - Relative path from config
209
- * @param projectRoot - Optional project root override
210
- * @returns Absolute path
211
- */
212
- export function resolvePath(relativePath, projectRoot) {
213
- const root = projectRoot || getProjectRoot();
214
- return path.join(root, relativePath);
104
+ clearProjectRootCache();
215
105
  }
216
106
  /**
217
107
  * Get resolved paths for common directories
@@ -262,7 +152,7 @@ export function validateConfigFile(configPath) {
262
152
  }
263
153
  try {
264
154
  const content = fs.readFileSync(configPath, UTF8_ENCODING);
265
- const parsedRecord = parseYamlRecord(content);
155
+ const parsedRecord = asRecord(yaml.parse(content));
266
156
  if (!parsedRecord) {
267
157
  return { valid: false, errors: ['Root YAML value must be an object'] };
268
158
  }