@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,569 +1,10 @@
1
1
  // Copyright (c) 2026 Hellmai Ltd
2
2
  // SPDX-License-Identifier: AGPL-3.0-only
3
3
  /**
4
- * Git Context Extractor Module (WU-1190)
4
+ * Git Context Extractor Re-export shim (ADR-012, INIT-058 Layer 4b, WU-2682).
5
5
  *
6
- * Extracts git history insights for LLM context enrichment:
7
- * - Co-occurrence: files frequently changed together
8
- * - Ownership: primary contributors to file/directory
9
- * - Churn: change frequency metrics (hotspots)
10
- *
11
- * These signals help the LLM understand codebase relationships
12
- * without algorithmic clustering - the LLM interprets the patterns.
13
- */
14
- import { execSync } from 'node:child_process';
15
- import { SHA1_HEX_LENGTH, GIT_COMMAND_TIMEOUT_MS, GIT_MAX_BUFFER_BYTES, GIT_DEFAULT_MAX_COMMITS, GIT_DEFAULT_MAX_RESULTS, GIT_MIN_COMMIT_COUNT, GIT_MIN_CO_OCCURRENCE_COUNT, GIT_MAX_TOP_LEVEL_DIRS, GIT_SUMMARY_ITEM_LIMIT, CHARS_PER_TOKEN, GIT_DEFAULT_MAX_SUMMARY_TOKENS, GIT_TRUNCATION_PADDING, } from './constants/git-constants.js';
16
- import { SECTION_HEADER_LINE_COUNT } from './constants/display-constants.js';
17
- // Constants
18
- const DEFAULT_EXCLUDE_PATTERNS = ['*.lock', '*.yaml', '*.yml', '*.json', '*.md', 'pnpm-lock.yaml'];
19
- // Pre-compiled regex patterns for performance
20
- // Note: Using atomic groups or possessive quantifiers isn't supported in JS,
21
- // so some patterns are implemented as functions to avoid backtracking
22
- const NUMSTAT_LINE_REGEX = /^(\d+|-)\t(\d+|-)\t(.+)$/;
23
- const DANGEROUS_CHARS_REGEX = /[;&|`$]/;
24
- /**
25
- * Parse shortlog line: " 10\tName <email>"
26
- * Manual parsing to avoid slow regex backtracking
27
- */
28
- function parseShortlogFormat(line) {
29
- // Skip leading whitespace
30
- let i = 0;
31
- while (i < line.length && (line.charAt(i) === ' ' || line.charAt(i) === '\t')) {
32
- i++;
33
- }
34
- // Parse digits
35
- const digitStart = i;
36
- while (i < line.length && line.charAt(i) >= '0' && line.charAt(i) <= '9') {
37
- i++;
38
- }
39
- if (i === digitStart)
40
- return null; // No digits found
41
- const count = parseInt(line.slice(digitStart, i), 10);
42
- // Skip whitespace after digits
43
- while (i < line.length && (line.charAt(i) === ' ' || line.charAt(i) === '\t')) {
44
- i++;
45
- }
46
- // Rest is the name
47
- const name = line.slice(i).trim();
48
- if (!name)
49
- return null;
50
- return { count, name };
51
- }
52
- /**
53
- * Check if a string is a git commit hash (40 hex chars)
54
- * Uses character-by-character check to avoid slow regex backtracking
55
- */
56
- function isCommitHash(str) {
57
- if (str.length !== SHA1_HEX_LENGTH)
58
- return false;
59
- for (const char of str) {
60
- if (!((char >= '0' && char <= '9') || (char >= 'a' && char <= 'f'))) {
61
- return false;
62
- }
63
- }
64
- return true;
65
- }
66
- const SOURCE_FILE_EXCLUDE_PATTERNS = [
67
- /\.lock$/,
68
- /lock\.ya?ml$/,
69
- /package-lock\.json$/,
70
- /yarn\.lock$/,
71
- /\.gitignore$/,
72
- /\.env/,
73
- /node_modules/,
74
- /dist\//,
75
- /build\//,
76
- /\.min\./,
77
- ];
78
- /**
79
- * Execute a git command safely, returning empty string on error.
80
- *
81
- * SECURITY: Commands are constructed from static arguments (no user input) to prevent injection.
82
- * The args array is joined into a command string for execSync.
83
- * All callers pass only internally-constructed arguments.
84
- */
85
- function safeGitExec(args, cwd) {
86
- try {
87
- // Join args into a command string
88
- // SECURITY: all args are constructed internally (no user input)
89
- const cmd = ['git', ...args].join(' ');
90
- // SECURITY: execSync is safe here because:
91
- // 1. 'git' is a fixed command from PATH (trusted)
92
- // 2. args are internally constructed, not from user input
93
- // 3. cwd is validated by the caller (projectRoot from CLI)
94
- const result = execSync(cmd, {
95
- cwd,
96
- encoding: 'utf-8',
97
- maxBuffer: GIT_MAX_BUFFER_BYTES,
98
- timeout: GIT_COMMAND_TIMEOUT_MS,
99
- });
100
- return result;
101
- }
102
- catch {
103
- return '';
104
- }
105
- }
106
- /**
107
- * Check if commit count indicates limited history
108
- */
109
- function hasLimitedCommitCount(projectRoot) {
110
- const commitCountStr = safeGitExec(['rev-list', '--count', 'HEAD'], projectRoot).trim();
111
- const count = parseInt(commitCountStr, 10) || 0;
112
- return { limited: count < GIT_MIN_COMMIT_COUNT, count };
113
- }
114
- /**
115
- * Extract complete git context from a repository
116
- */
117
- export function extractGitContext(projectRoot, options = {}) {
118
- const result = {
119
- coOccurrences: [],
120
- ownership: [],
121
- churn: [],
122
- hasLimitedHistory: false,
123
- };
124
- try {
125
- // Check if this is a git repo using execSync directly
126
- // SECURITY: This is a static command with no user input
127
- // eslint-disable-next-line sonarjs/no-os-command-from-path -- git resolved from PATH; workflow tooling requires git
128
- execSync('git rev-parse --is-inside-work-tree', {
129
- cwd: projectRoot,
130
- encoding: 'utf-8',
131
- });
132
- const { limited, count } = hasLimitedCommitCount(projectRoot);
133
- if (limited) {
134
- result.hasLimitedHistory = true;
135
- result.error = `Repository has fewer than ${GIT_MIN_COMMIT_COUNT} commits (found ${count})`;
136
- return result;
137
- }
138
- // Extract co-occurrences
139
- result.coOccurrences = getFileCoOccurrence(projectRoot, {
140
- maxCommits: options.maxCommits ?? GIT_DEFAULT_MAX_COMMITS,
141
- since: options.since,
142
- });
143
- // Get top-level directories for ownership analysis
144
- const topDirs = getTopLevelDirs(projectRoot);
145
- result.ownership = getOwnershipSignals(projectRoot, topDirs);
146
- // Extract churn metrics
147
- result.churn = getChurnMetrics(projectRoot, {
148
- maxCommits: options.maxCommits ?? GIT_DEFAULT_MAX_COMMITS,
149
- since: options.since,
150
- });
151
- }
152
- catch (error) {
153
- handleExtractionError(result, error);
154
- }
155
- return result;
156
- }
157
- /**
158
- * Handle extraction errors and set appropriate error messages
159
- */
160
- function handleExtractionError(result, error) {
161
- result.hasLimitedHistory = true;
162
- if (error instanceof Error) {
163
- if (error.message.includes('not a git repository')) {
164
- result.error = 'not a git repository';
165
- }
166
- else if (error.message.includes('does not have UnsafeAny commits')) {
167
- result.error = 'no commits in repository';
168
- }
169
- else {
170
- result.error = error.message;
171
- }
172
- }
173
- }
174
- /**
175
- * Get top-level directories for ownership analysis
176
- */
177
- function getTopLevelDirs(projectRoot) {
178
- const output = safeGitExec(['ls-tree', '-d', '--name-only', 'HEAD'], projectRoot);
179
- return output
180
- .split('\n')
181
- .filter((d) => d.trim() && !d.startsWith('.'))
182
- .slice(0, GIT_MAX_TOP_LEVEL_DIRS);
183
- }
184
- /**
185
- * Parse git log output into commits with their files
186
- */
187
- function parseCommitsFromLog(output) {
188
- const commits = [];
189
- let currentFiles = [];
190
- for (const line of output.split('\n')) {
191
- const trimmed = line.trim();
192
- if (!trimmed) {
193
- if (currentFiles.length > 0) {
194
- commits.push([...currentFiles]);
195
- currentFiles = [];
196
- }
197
- continue;
198
- }
199
- // Skip commit hashes (40 hex chars)
200
- if (isCommitHash(trimmed)) {
201
- if (currentFiles.length > 0) {
202
- commits.push([...currentFiles]);
203
- currentFiles = [];
204
- }
205
- continue;
206
- }
207
- // Only track source files
208
- if (isSourceFile(trimmed)) {
209
- currentFiles.push(trimmed);
210
- }
211
- }
212
- if (currentFiles.length > 0) {
213
- commits.push(currentFiles);
214
- }
215
- return commits;
216
- }
217
- /**
218
- * Count file pair co-occurrences from commits
219
- */
220
- function countFilePairs(commits) {
221
- const pairCounts = new Map();
222
- for (const files of commits) {
223
- if (files.length < 2)
224
- continue;
225
- // Generate all pairs
226
- for (let i = 0; i < files.length; i++) {
227
- for (let j = i + 1; j < files.length; j++) {
228
- const fileA = files[i];
229
- const fileB = files[j];
230
- if (!fileA || !fileB)
231
- continue;
232
- const pair = [fileA, fileB]
233
- .slice()
234
- .sort((a, b) => a.localeCompare(b))
235
- .join('::');
236
- pairCounts.set(pair, (pairCounts.get(pair) ?? 0) + 1);
237
- }
238
- }
239
- }
240
- return pairCounts;
241
- }
242
- /**
243
- * Extract file co-occurrence patterns from git history
244
- */
245
- export function getFileCoOccurrence(projectRoot, options = {}) {
246
- const maxCommits = options.maxCommits ?? GIT_DEFAULT_MAX_COMMITS;
247
- const maxResults = options.maxResults ?? GIT_DEFAULT_MAX_RESULTS;
248
- // Build git log args array (safe - no user input in paths)
249
- const args = ['log', `-n`, String(maxCommits)];
250
- if (options.since) {
251
- args.push(`--since=${options.since}`);
252
- }
253
- args.push('--name-only', '--pretty=format:%H', '--diff-filter=ACMRT');
254
- const output = safeGitExec(args, projectRoot);
255
- if (!output.trim()) {
256
- return [];
257
- }
258
- const commits = parseCommitsFromLog(output);
259
- const pairCounts = countFilePairs(commits);
260
- // Convert to array and filter
261
- const coOccurrences = [];
262
- for (const [pair, count] of pairCounts.entries()) {
263
- if (count >= GIT_MIN_CO_OCCURRENCE_COUNT) {
264
- const [file1, file2] = pair.split('::');
265
- if (!file1 || !file2)
266
- continue;
267
- coOccurrences.push({ file1, file2, count });
268
- }
269
- }
270
- // Sort by count descending and limit results (use toSorted to avoid mutation)
271
- return coOccurrences
272
- .slice()
273
- .sort((a, b) => b.count - a.count)
274
- .slice(0, maxResults);
275
- }
276
- /**
277
- * Check if a file is a source file (not config, lock, etc.)
278
- */
279
- function isSourceFile(filePath) {
280
- return !SOURCE_FILE_EXCLUDE_PATTERNS.some((pattern) => pattern.test(filePath));
281
- }
282
- /**
283
- * Parse a single contributor line from shortlog output
284
- */
285
- function parseShortlogLine(line) {
286
- const result = parseShortlogFormat(line);
287
- if (!result)
288
- return null;
289
- return {
290
- count: result.count,
291
- name: result.name,
292
- };
293
- }
294
- /**
295
- * Extract ownership signal for a single path
296
- */
297
- function extractOwnershipForPath(projectRoot, targetPath) {
298
- // Validate path doesn't contain dangerous characters
299
- if (DANGEROUS_CHARS_REGEX.test(targetPath)) {
300
- return {
301
- path: targetPath,
302
- primaryOwner: null,
303
- contributors: [],
304
- commitCount: 0,
305
- };
306
- }
307
- // Use array form for safety
308
- const args = ['shortlog', '-sne', '--all', '--', targetPath];
309
- const output = safeGitExec(args, projectRoot);
310
- if (!output.trim()) {
311
- return {
312
- path: targetPath,
313
- primaryOwner: null,
314
- contributors: [],
315
- commitCount: 0,
316
- };
317
- }
318
- // Parse shortlog output
319
- const contributors = [];
320
- let totalCommits = 0;
321
- for (const line of output.split('\n')) {
322
- const parsed = parseShortlogLine(line);
323
- if (parsed) {
324
- contributors.push(parsed);
325
- totalCommits += parsed.count;
326
- }
327
- }
328
- // Sort by commit count descending (use toSorted to avoid mutation)
329
- const sorted = contributors.slice().sort((a, b) => b.count - a.count);
330
- return {
331
- path: targetPath,
332
- primaryOwner: sorted[0]?.name ?? null,
333
- contributors: sorted.map((c) => c.name),
334
- commitCount: totalCommits,
335
- };
336
- }
337
- /**
338
- * Extract ownership signals for specified paths.
339
- * Note: paths are validated internally and not derived from user input.
340
- */
341
- export function getOwnershipSignals(projectRoot, paths) {
342
- return paths.map((path) => extractOwnershipForPath(projectRoot, path));
343
- }
344
- /**
345
- * Parse a single numstat line from git log output
346
- */
347
- function parseNumstatLine(line) {
348
- const match = NUMSTAT_LINE_REGEX.exec(line);
349
- if (!match)
350
- return null;
351
- const additions = match[1];
352
- const deletions = match[2];
353
- const filePath = match[3];
354
- if (!additions || !deletions || !filePath)
355
- return null;
356
- return {
357
- additions: additions === '-' ? 0 : parseInt(additions, 10),
358
- deletions: deletions === '-' ? 0 : parseInt(deletions, 10),
359
- filePath,
360
- };
361
- }
362
- /**
363
- * Check if a file matches UnsafeAny exclude pattern using simple glob matching
364
- */
365
- function matchesExcludePattern(filePath, patterns) {
366
- return patterns.some((pattern) => {
367
- // Simple glob matching using a state machine approach
368
- // Avoids control characters and dynamic regex construction
369
- return globMatch(filePath, pattern);
370
- });
371
- }
372
- /**
373
- * Simple glob matching without regex
374
- * Supports * (match UnsafeAny) and ? (match single char)
375
- */
376
- function globMatch(str, pattern) {
377
- let si = 0; // string index
378
- let pi = 0; // pattern index
379
- let starIdx = -1;
380
- let matchIdx = 0;
381
- while (si < str.length) {
382
- if (pi < pattern.length && (pattern[pi] === '?' || pattern[pi] === str[si])) {
383
- // Character match or ? wildcard
384
- si++;
385
- pi++;
386
- }
387
- else if (pi < pattern.length && pattern[pi] === '*') {
388
- // Star found, mark position
389
- starIdx = pi;
390
- matchIdx = si;
391
- pi++;
392
- }
393
- else if (starIdx !== -1) {
394
- // Mismatch after star, backtrack
395
- pi = starIdx + 1;
396
- matchIdx++;
397
- si = matchIdx;
398
- }
399
- else {
400
- // Mismatch without star
401
- return false;
402
- }
403
- }
404
- // Skip trailing stars
405
- while (pi < pattern.length && pattern[pi] === '*') {
406
- pi++;
407
- }
408
- return pi === pattern.length;
409
- }
410
- /**
411
- * Aggregate file statistics from numstat output
412
- */
413
- function aggregateFileStats(output, excludePatterns) {
414
- const fileStats = new Map();
415
- for (const line of output.split('\n')) {
416
- const trimmed = line.trim();
417
- if (!trimmed)
418
- continue;
419
- const parsed = parseNumstatLine(trimmed);
420
- if (!parsed)
421
- continue;
422
- // Skip excluded patterns
423
- if (matchesExcludePattern(parsed.filePath, excludePatterns))
424
- continue;
425
- // Skip non-source files
426
- if (!isSourceFile(parsed.filePath))
427
- continue;
428
- const existing = fileStats.get(parsed.filePath) ?? { additions: 0, deletions: 0, commits: 0 };
429
- fileStats.set(parsed.filePath, {
430
- additions: existing.additions + parsed.additions,
431
- deletions: existing.deletions + parsed.deletions,
432
- commits: existing.commits + 1,
433
- });
434
- }
435
- return fileStats;
436
- }
437
- /**
438
- * Extract churn metrics for the repository
439
- */
440
- export function getChurnMetrics(projectRoot, options = {}) {
441
- const maxCommits = options.maxCommits ?? GIT_DEFAULT_MAX_COMMITS;
442
- const maxResults = options.maxResults ?? GIT_DEFAULT_MAX_RESULTS;
443
- const excludePatterns = options.excludePatterns ?? DEFAULT_EXCLUDE_PATTERNS;
444
- // Build git log args array
445
- const args = ['log', `-n`, String(maxCommits)];
446
- if (options.since) {
447
- args.push(`--since=${options.since}`);
448
- }
449
- args.push('--numstat', '--pretty=format:');
450
- let output;
451
- try {
452
- /// SECURITY: all args are constructed internally (no user input)
453
- const cmd = ['git', ...args].join(' ');
454
- output = execSync(cmd, {
455
- cwd: projectRoot,
456
- encoding: 'utf-8',
457
- maxBuffer: GIT_MAX_BUFFER_BYTES,
458
- timeout: GIT_COMMAND_TIMEOUT_MS,
459
- });
460
- }
461
- catch {
462
- return [];
463
- }
464
- if (!output.trim()) {
465
- return [];
466
- }
467
- const fileStats = aggregateFileStats(output, excludePatterns);
468
- // Convert to array with churn scores
469
- const metrics = [];
470
- for (const [filePath, stats] of fileStats.entries()) {
471
- metrics.push({
472
- filePath,
473
- additions: stats.additions,
474
- deletions: stats.deletions,
475
- churnScore: stats.additions + stats.deletions,
476
- commitCount: stats.commits,
477
- });
478
- }
479
- // Sort by churn score descending and limit results (use toSorted to avoid mutation)
480
- return metrics
481
- .slice()
482
- .sort((a, b) => b.churnScore - a.churnScore)
483
- .slice(0, maxResults);
484
- }
485
- /**
486
- * Build co-occurrence section for summary
487
- */
488
- function buildCoOccurrenceSection(coOccurrences) {
489
- const lines = ['## Co-occurrence Patterns', 'Files frequently changed together:'];
490
- for (const co of coOccurrences.slice(0, GIT_SUMMARY_ITEM_LIMIT)) {
491
- lines.push(`- ${co.file1} <-> ${co.file2} (${co.count} commits)`);
492
- }
493
- return lines.join('\n');
494
- }
495
- /**
496
- * Build ownership section for summary
497
- */
498
- function buildOwnershipSection(ownership) {
499
- const lines = ['## Ownership Signals', 'Primary contributors by area:'];
500
- for (const own of ownership.filter((o) => o.primaryOwner)) {
501
- const ownerName = own.primaryOwner?.split(' <')[0] ?? 'unknown';
502
- lines.push(`- ${own.path}: ${ownerName} (${own.commitCount} commits)`);
503
- }
504
- return lines.join('\n');
505
- }
506
- /**
507
- * Build churn section for summary
508
- */
509
- function buildChurnSection(churn) {
510
- const lines = ['## Churn Hotspots', 'High-change files (potential complexity):'];
511
- for (const ch of churn.slice(0, GIT_SUMMARY_ITEM_LIMIT)) {
512
- lines.push(`- ${ch.filePath}: ${ch.churnScore} lines changed across ${ch.commitCount} commits`);
513
- }
514
- return lines.join('\n');
515
- }
516
- /**
517
- * Truncate a section to fit within character limit
518
- */
519
- function truncateSection(section, maxChars) {
520
- if (section.length <= maxChars)
521
- return section;
522
- const lines = section.split('\n');
523
- const header = lines.slice(0, SECTION_HEADER_LINE_COUNT).join('\n');
524
- const items = lines.slice(SECTION_HEADER_LINE_COUNT);
525
- const availableChars = maxChars - header.length - GIT_TRUNCATION_PADDING;
526
- const truncatedItems = [];
527
- let currentChars = 0;
528
- for (const item of items) {
529
- if (currentChars + item.length > availableChars)
530
- break;
531
- truncatedItems.push(item);
532
- currentChars += item.length + 1;
533
- }
534
- return [header, ...truncatedItems, '(truncated)'].join('\n');
535
- }
536
- /**
537
- * Summarize git context for LLM prompt inclusion
538
- *
539
- * Produces a token-efficient summary that fits within specified limits.
6
+ * Moved to `@lumenflow/host/git/git-context-extractor`. Shim preserves the
7
+ * legacy import path for in-repo consumers until the barrel slim in Layer 7.
540
8
  */
541
- export function summarizeGitContext(context, options = {}) {
542
- const maxTokens = options.maxTokens ?? GIT_DEFAULT_MAX_SUMMARY_TOKENS;
543
- const maxChars = maxTokens * CHARS_PER_TOKEN;
544
- // Handle limited history case
545
- if (context.hasLimitedHistory) {
546
- return context.error
547
- ? `Git history analysis limited: ${context.error}`
548
- : 'Git history analysis limited due to sparse commit history.';
549
- }
550
- const sections = [];
551
- if (context.coOccurrences.length > 0) {
552
- sections.push(buildCoOccurrenceSection(context.coOccurrences));
553
- }
554
- if (context.ownership.length > 0) {
555
- sections.push(buildOwnershipSection(context.ownership));
556
- }
557
- if (context.churn.length > 0) {
558
- sections.push(buildChurnSection(context.churn));
559
- }
560
- let result = sections.join('\n\n');
561
- // Truncate if needed
562
- if (result.length > maxChars && sections.length > 0) {
563
- const charsPerSection = Math.floor(maxChars / sections.length) - GIT_TRUNCATION_PADDING;
564
- const truncatedSections = sections.map((s) => truncateSection(s, charsPerSection));
565
- result = truncatedSections.join('\n\n');
566
- }
567
- return result || 'Git history analysis limited due to sparse commit history.';
568
- }
9
+ export * from '@lumenflow/host/git/git-context-extractor';
569
10
  //# sourceMappingURL=git-context-extractor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"git-context-extractor.js","sourceRoot":"","sources":["../src/git-context-extractor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git-context-extractor.js","sourceRoot":"","sources":["../src/git-context-extractor.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,yCAAyC;AAEzC;;;;;GAKG;AAEH,cAAc,2CAA2C,CAAC"}
@@ -1,34 +1,9 @@
1
1
  /// <reference path="./types.d.ts" />
2
2
  /**
3
- * Git Staged Files Validator
3
+ * Git Staged Validator — Re-export shim (ADR-012, INIT-058 Layer 4b, WU-2682).
4
4
  *
5
- * Centralized validation for staged files requirement.
6
- * Extracted from duplicate implementations in wu-block and wu-unblock (WU-1341).
7
- *
8
- * Used in --no-auto mode to enforce that required files are staged before commit.
9
- *
10
- * @module git-staged-validator
11
- */
12
- /**
13
- * Ensure all required paths are staged in git index
14
- *
15
- * Validates that specified files/directories are staged for commit.
16
- * Supports exact path matching and directory prefix matching.
17
- *
18
- * @param {Array<string|null|undefined>} paths - Paths to check (null/undefined values filtered out)
19
- * @throws {Error} If UnsafeAny required paths are not staged
20
- * @returns {Array<string>} List of all staged files
21
- *
22
- * @example
23
- * // All files staged - success
24
- * ensureStaged(['<configured-doc-file>', 'tools/script.js']);
25
- *
26
- * // Directory prefix - matches all files under directory
27
- * ensureStaged(['<configured-doc-root>/']);
28
- *
29
- * // Missing files - throws error
30
- * ensureStaged(['<configured-doc-file-1>', '<configured-doc-file-2>']);
31
- * // Error: Stage updates for: <configured-doc-file-2>
5
+ * Moved to `@lumenflow/host/git/git-staged-validator`. Shim preserves the
6
+ * legacy import path for in-repo consumers until the barrel slim in Layer 7.
32
7
  */
33
- export declare function ensureStaged(paths: Array<string | null | undefined>): string[];
8
+ export * from '@lumenflow/host/git/git-staged-validator';
34
9
  //# sourceMappingURL=git-staged-validator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"git-staged-validator.d.ts","sourceRoot":"","sources":["../src/git-staged-validator.ts"],"names":[],"mappings":"AAMA;;;;;;;;;GASG;AAEH;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,YAkBnE"}
1
+ {"version":3,"file":"git-staged-validator.d.ts","sourceRoot":"","sources":["../src/git-staged-validator.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AAEH,cAAc,0CAA0C,CAAC"}