@lumenflow/core 3.2.0 → 3.2.1

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 (1155) hide show
  1. package/dist/active-wu-detector.d.ts +25 -0
  2. package/dist/active-wu-detector.d.ts.map +1 -0
  3. package/dist/active-wu-detector.js +109 -0
  4. package/dist/active-wu-detector.js.map +1 -0
  5. package/dist/adapters/context-adapters.d.ts +101 -0
  6. package/dist/adapters/context-adapters.d.ts.map +1 -0
  7. package/dist/adapters/context-adapters.js +98 -0
  8. package/dist/adapters/context-adapters.js.map +1 -0
  9. package/dist/adapters/filesystem-metrics.adapter.d.ts +91 -0
  10. package/dist/adapters/filesystem-metrics.adapter.d.ts.map +1 -0
  11. package/dist/adapters/filesystem-metrics.adapter.js +530 -0
  12. package/dist/adapters/filesystem-metrics.adapter.js.map +1 -0
  13. package/dist/adapters/index.d.ts +15 -0
  14. package/dist/adapters/index.d.ts.map +1 -0
  15. package/dist/adapters/index.js +21 -0
  16. package/dist/adapters/index.js.map +1 -0
  17. package/dist/adapters/mock-dashboard-renderer.adapter.d.ts +86 -0
  18. package/dist/adapters/mock-dashboard-renderer.adapter.d.ts.map +1 -0
  19. package/dist/adapters/mock-dashboard-renderer.adapter.js +93 -0
  20. package/dist/adapters/mock-dashboard-renderer.adapter.js.map +1 -0
  21. package/dist/adapters/recovery-adapters.d.ts +41 -0
  22. package/dist/adapters/recovery-adapters.d.ts.map +1 -0
  23. package/dist/adapters/recovery-adapters.js +32 -0
  24. package/dist/adapters/recovery-adapters.js.map +1 -0
  25. package/dist/adapters/terminal-renderer.adapter.d.ts +86 -0
  26. package/dist/adapters/terminal-renderer.adapter.d.ts.map +1 -0
  27. package/dist/adapters/terminal-renderer.adapter.js +344 -0
  28. package/dist/adapters/terminal-renderer.adapter.js.map +1 -0
  29. package/dist/adapters/validation-adapters.d.ts +53 -0
  30. package/dist/adapters/validation-adapters.d.ts.map +1 -0
  31. package/dist/adapters/validation-adapters.js +48 -0
  32. package/dist/adapters/validation-adapters.js.map +1 -0
  33. package/dist/agent-patterns-registry.d.ts +141 -0
  34. package/dist/agent-patterns-registry.d.ts.map +1 -0
  35. package/dist/agent-patterns-registry.js +320 -0
  36. package/dist/agent-patterns-registry.js.map +1 -0
  37. package/dist/arg-parser.d.ts +94 -0
  38. package/dist/arg-parser.d.ts.map +1 -0
  39. package/dist/arg-parser.js +774 -0
  40. package/dist/arg-parser.js.map +1 -0
  41. package/dist/atomic-merge.d.ts +21 -0
  42. package/dist/atomic-merge.d.ts.map +1 -0
  43. package/dist/atomic-merge.js +87 -0
  44. package/dist/atomic-merge.js.map +1 -0
  45. package/dist/backlog-editor.d.ts +103 -0
  46. package/dist/backlog-editor.d.ts.map +1 -0
  47. package/dist/backlog-editor.js +158 -0
  48. package/dist/backlog-editor.js.map +1 -0
  49. package/dist/backlog-generator.d.ts +90 -0
  50. package/dist/backlog-generator.d.ts.map +1 -0
  51. package/dist/backlog-generator.js +536 -0
  52. package/dist/backlog-generator.js.map +1 -0
  53. package/dist/backlog-parser.d.ts +46 -0
  54. package/dist/backlog-parser.d.ts.map +1 -0
  55. package/dist/backlog-parser.js +105 -0
  56. package/dist/backlog-parser.js.map +1 -0
  57. package/dist/backlog-sync-validator.d.ts +88 -0
  58. package/dist/backlog-sync-validator.d.ts.map +1 -0
  59. package/dist/backlog-sync-validator.js +322 -0
  60. package/dist/backlog-sync-validator.js.map +1 -0
  61. package/dist/branch-check.d.ts +63 -0
  62. package/dist/branch-check.d.ts.map +1 -0
  63. package/dist/branch-check.js +197 -0
  64. package/dist/branch-check.js.map +1 -0
  65. package/dist/branch-drift.d.ts +24 -0
  66. package/dist/branch-drift.d.ts.map +1 -0
  67. package/dist/branch-drift.js +54 -0
  68. package/dist/branch-drift.js.map +1 -0
  69. package/dist/cleanup-install-config.d.ts +24 -0
  70. package/dist/cleanup-install-config.d.ts.map +1 -0
  71. package/dist/cleanup-install-config.js +40 -0
  72. package/dist/cleanup-install-config.js.map +1 -0
  73. package/dist/cleanup-lock.d.ts +125 -0
  74. package/dist/cleanup-lock.d.ts.map +1 -0
  75. package/dist/cleanup-lock.js +322 -0
  76. package/dist/cleanup-lock.js.map +1 -0
  77. package/dist/cli/is-agent-branch.d.ts +22 -0
  78. package/dist/cli/is-agent-branch.d.ts.map +1 -0
  79. package/dist/cli/is-agent-branch.js.map +1 -0
  80. package/dist/cloud-detect.d.ts +145 -0
  81. package/dist/cloud-detect.d.ts.map +1 -0
  82. package/dist/cloud-detect.js +116 -0
  83. package/dist/cloud-detect.js.map +1 -0
  84. package/dist/code-path-validator.d.ts +145 -0
  85. package/dist/code-path-validator.d.ts.map +1 -0
  86. package/dist/code-path-validator.js +553 -0
  87. package/dist/code-path-validator.js.map +1 -0
  88. package/dist/code-paths-overlap.d.ts +50 -0
  89. package/dist/code-paths-overlap.d.ts.map +1 -0
  90. package/dist/code-paths-overlap.js +248 -0
  91. package/dist/code-paths-overlap.js.map +1 -0
  92. package/dist/color-support.d.ts +21 -0
  93. package/dist/color-support.d.ts.map +1 -0
  94. package/dist/color-support.js +67 -0
  95. package/dist/color-support.js.map +1 -0
  96. package/dist/commands-logger.d.ts +71 -0
  97. package/dist/commands-logger.d.ts.map +1 -0
  98. package/dist/commands-logger.js +257 -0
  99. package/dist/commands-logger.js.map +1 -0
  100. package/dist/commit-message-utils.d.ts +26 -0
  101. package/dist/commit-message-utils.d.ts.map +1 -0
  102. package/dist/commit-message-utils.js +44 -0
  103. package/dist/commit-message-utils.js.map +1 -0
  104. package/dist/config-contract.d.ts +12 -0
  105. package/dist/config-contract.d.ts.map +1 -0
  106. package/dist/config-contract.js +14 -0
  107. package/dist/config-contract.js.map +1 -0
  108. package/dist/constants/backlog-patterns.d.ts +21 -0
  109. package/dist/constants/backlog-patterns.d.ts.map +1 -0
  110. package/dist/constants/backlog-patterns.js +26 -0
  111. package/dist/constants/backlog-patterns.js.map +1 -0
  112. package/dist/constants/display-constants.d.ts +22 -0
  113. package/dist/constants/display-constants.d.ts.map +1 -0
  114. package/dist/constants/display-constants.js +26 -0
  115. package/dist/constants/display-constants.js.map +1 -0
  116. package/dist/constants/dora-constants.d.ts +50 -0
  117. package/dist/constants/dora-constants.d.ts.map +1 -0
  118. package/dist/constants/dora-constants.js +56 -0
  119. package/dist/constants/dora-constants.js.map +1 -0
  120. package/dist/constants/duration-constants.d.ts +29 -0
  121. package/dist/constants/duration-constants.d.ts.map +1 -0
  122. package/dist/constants/duration-constants.js +31 -0
  123. package/dist/constants/duration-constants.js.map +1 -0
  124. package/dist/constants/gate-constants.d.ts +24 -0
  125. package/dist/constants/gate-constants.d.ts.map +1 -0
  126. package/dist/constants/gate-constants.js +26 -0
  127. package/dist/constants/gate-constants.js.map +1 -0
  128. package/dist/constants/git-constants.d.ts +33 -0
  129. package/dist/constants/git-constants.d.ts.map +1 -0
  130. package/dist/constants/git-constants.js +35 -0
  131. package/dist/constants/git-constants.js.map +1 -0
  132. package/dist/constants/index.d.ts +20 -0
  133. package/dist/constants/index.d.ts.map +1 -0
  134. package/dist/constants/index.js +31 -0
  135. package/dist/constants/index.js.map +1 -0
  136. package/dist/constants/linter-constants.d.ts +17 -0
  137. package/dist/constants/linter-constants.d.ts.map +1 -0
  138. package/dist/constants/linter-constants.js +19 -0
  139. package/dist/constants/linter-constants.js.map +1 -0
  140. package/dist/constants/lock-constants.d.ts +29 -0
  141. package/dist/constants/lock-constants.d.ts.map +1 -0
  142. package/dist/constants/lock-constants.js +31 -0
  143. package/dist/constants/lock-constants.js.map +1 -0
  144. package/dist/constants/tokenizer-constants.d.ts +16 -0
  145. package/dist/constants/tokenizer-constants.d.ts.map +1 -0
  146. package/dist/constants/tokenizer-constants.js +18 -0
  147. package/dist/constants/tokenizer-constants.js.map +1 -0
  148. package/dist/constants/validation-constants.d.ts +15 -0
  149. package/dist/constants/validation-constants.d.ts.map +1 -0
  150. package/dist/constants/validation-constants.js +17 -0
  151. package/dist/constants/validation-constants.js.map +1 -0
  152. package/dist/context/context-computer.d.ts +36 -0
  153. package/dist/context/context-computer.d.ts.map +1 -0
  154. package/dist/context/context-computer.js +128 -0
  155. package/dist/context/context-computer.js.map +1 -0
  156. package/dist/context/git-state-reader.d.ts +37 -0
  157. package/dist/context/git-state-reader.d.ts.map +1 -0
  158. package/dist/context/git-state-reader.js +64 -0
  159. package/dist/context/git-state-reader.js.map +1 -0
  160. package/dist/context/index.d.ts +18 -0
  161. package/dist/context/index.d.ts.map +1 -0
  162. package/dist/context/index.js +20 -0
  163. package/dist/context/index.js.map +1 -0
  164. package/dist/context/location-resolver.d.ts +34 -0
  165. package/dist/context/location-resolver.d.ts.map +1 -0
  166. package/dist/context/location-resolver.js +179 -0
  167. package/dist/context/location-resolver.js.map +1 -0
  168. package/dist/context/wu-state-reader.d.ts +30 -0
  169. package/dist/context/wu-state-reader.d.ts.map +1 -0
  170. package/dist/context/wu-state-reader.js +126 -0
  171. package/dist/context/wu-state-reader.js.map +1 -0
  172. package/dist/context-di.d.ts +185 -0
  173. package/dist/context-di.d.ts.map +1 -0
  174. package/dist/context-di.js +165 -0
  175. package/dist/context-di.js.map +1 -0
  176. package/dist/context-validation-integration.d.ts +69 -0
  177. package/dist/context-validation-integration.d.ts.map +1 -0
  178. package/dist/context-validation-integration.js +161 -0
  179. package/dist/context-validation-integration.js.map +1 -0
  180. package/dist/core/scope-checker.d.ts +80 -0
  181. package/dist/core/scope-checker.d.ts.map +1 -0
  182. package/dist/core/scope-checker.js +166 -0
  183. package/dist/core/scope-checker.js.map +1 -0
  184. package/dist/core/tool-runner.d.ts +136 -0
  185. package/dist/core/tool-runner.d.ts.map +1 -0
  186. package/dist/core/tool-runner.js +396 -0
  187. package/dist/core/tool-runner.js.map +1 -0
  188. package/dist/core/tool.constants.d.ts +106 -0
  189. package/dist/core/tool.constants.d.ts.map +1 -0
  190. package/dist/core/tool.constants.js +104 -0
  191. package/dist/core/tool.constants.js.map +1 -0
  192. package/dist/core/tool.schemas.d.ts +227 -0
  193. package/dist/core/tool.schemas.d.ts.map +1 -0
  194. package/dist/core/tool.schemas.js +229 -0
  195. package/dist/core/tool.schemas.js.map +1 -0
  196. package/dist/core/worktree-guard.d.ts +115 -0
  197. package/dist/core/worktree-guard.d.ts.map +1 -0
  198. package/dist/core/worktree-guard.js +245 -0
  199. package/dist/core/worktree-guard.js.map +1 -0
  200. package/dist/coverage-gate.d.ts +127 -0
  201. package/dist/coverage-gate.d.ts.map +1 -0
  202. package/dist/coverage-gate.js +211 -0
  203. package/dist/coverage-gate.js.map +1 -0
  204. package/dist/cycle-detector.d.ts +52 -0
  205. package/dist/cycle-detector.d.ts.map +1 -0
  206. package/dist/cycle-detector.js +84 -0
  207. package/dist/cycle-detector.js.map +1 -0
  208. package/dist/date-utils.d.ts +66 -0
  209. package/dist/date-utils.d.ts.map +1 -0
  210. package/dist/date-utils.js +143 -0
  211. package/dist/date-utils.js.map +1 -0
  212. package/dist/delegation-escalation.d.ts +71 -0
  213. package/dist/delegation-escalation.d.ts.map +1 -0
  214. package/dist/delegation-escalation.js +264 -0
  215. package/dist/delegation-escalation.js.map +1 -0
  216. package/dist/delegation-monitor.d.ts +262 -0
  217. package/dist/delegation-monitor.d.ts.map +1 -0
  218. package/dist/delegation-monitor.js +678 -0
  219. package/dist/delegation-monitor.js.map +1 -0
  220. package/dist/delegation-recovery.d.ts +62 -0
  221. package/dist/delegation-recovery.d.ts.map +1 -0
  222. package/dist/delegation-recovery.js +304 -0
  223. package/dist/delegation-recovery.js.map +1 -0
  224. package/dist/delegation-registry-schema.d.ts +75 -0
  225. package/dist/delegation-registry-schema.d.ts.map +1 -0
  226. package/dist/delegation-registry-schema.js +93 -0
  227. package/dist/delegation-registry-schema.js.map +1 -0
  228. package/dist/delegation-registry-store.d.ts +145 -0
  229. package/dist/delegation-registry-store.d.ts.map +1 -0
  230. package/dist/delegation-registry-store.js +308 -0
  231. package/dist/delegation-registry-store.js.map +1 -0
  232. package/dist/delegation-tree.d.ts +52 -0
  233. package/dist/delegation-tree.d.ts.map +1 -0
  234. package/dist/delegation-tree.js +205 -0
  235. package/dist/delegation-tree.js.map +1 -0
  236. package/dist/dependency-graph.d.ts +169 -0
  237. package/dist/dependency-graph.d.ts.map +1 -0
  238. package/dist/dependency-graph.js +612 -0
  239. package/dist/dependency-graph.js.map +1 -0
  240. package/dist/dependency-guard.d.ts +41 -0
  241. package/dist/dependency-guard.d.ts.map +1 -0
  242. package/dist/dependency-guard.js +145 -0
  243. package/dist/dependency-guard.js.map +1 -0
  244. package/dist/dependency-validator.d.ts +89 -0
  245. package/dist/dependency-validator.d.ts.map +1 -0
  246. package/dist/dependency-validator.js +155 -0
  247. package/dist/dependency-validator.js.map +1 -0
  248. package/dist/docs-path-validator.d.ts +16 -0
  249. package/dist/docs-path-validator.d.ts.map +1 -0
  250. package/dist/docs-path-validator.js +98 -0
  251. package/dist/docs-path-validator.js.map +1 -0
  252. package/dist/domain/context.schemas.d.ts +170 -0
  253. package/dist/domain/context.schemas.d.ts.map +1 -0
  254. package/dist/domain/context.schemas.js +151 -0
  255. package/dist/domain/context.schemas.js.map +1 -0
  256. package/dist/domain/index.d.ts +15 -0
  257. package/dist/domain/index.d.ts.map +1 -0
  258. package/dist/domain/index.js +23 -0
  259. package/dist/domain/index.js.map +1 -0
  260. package/dist/domain/orchestration.constants.d.ts +111 -0
  261. package/dist/domain/orchestration.constants.d.ts.map +1 -0
  262. package/dist/domain/orchestration.constants.js +130 -0
  263. package/dist/domain/orchestration.constants.js.map +1 -0
  264. package/dist/domain/orchestration.schemas.d.ts +307 -0
  265. package/dist/domain/orchestration.schemas.d.ts.map +1 -0
  266. package/dist/domain/orchestration.schemas.js +214 -0
  267. package/dist/domain/orchestration.schemas.js.map +1 -0
  268. package/dist/domain/orchestration.types.d.ts +134 -0
  269. package/dist/domain/orchestration.types.d.ts.map +1 -0
  270. package/dist/domain/orchestration.types.js +5 -0
  271. package/dist/domain/orchestration.types.js.map +1 -0
  272. package/dist/domain/recovery.schemas.d.ts +164 -0
  273. package/dist/domain/recovery.schemas.d.ts.map +1 -0
  274. package/dist/domain/recovery.schemas.js +134 -0
  275. package/dist/domain/recovery.schemas.js.map +1 -0
  276. package/dist/domain/validation.schemas.d.ts +147 -0
  277. package/dist/domain/validation.schemas.d.ts.map +1 -0
  278. package/dist/domain/validation.schemas.js +117 -0
  279. package/dist/domain/validation.schemas.js.map +1 -0
  280. package/dist/error-handler.d.ts +144 -0
  281. package/dist/error-handler.d.ts.map +1 -0
  282. package/dist/error-handler.js +214 -0
  283. package/dist/error-handler.js.map +1 -0
  284. package/dist/file-classifiers.d.ts +63 -0
  285. package/dist/file-classifiers.d.ts.map +1 -0
  286. package/dist/file-classifiers.js +111 -0
  287. package/dist/file-classifiers.js.map +1 -0
  288. package/dist/force-bypass-audit.d.ts +47 -0
  289. package/dist/force-bypass-audit.d.ts.map +1 -0
  290. package/dist/force-bypass-audit.js +146 -0
  291. package/dist/force-bypass-audit.js.map +1 -0
  292. package/dist/gates-agent-mode.d.ts +107 -0
  293. package/dist/gates-agent-mode.d.ts.map +1 -0
  294. package/dist/gates-agent-mode.js +138 -0
  295. package/dist/gates-agent-mode.js.map +1 -0
  296. package/dist/gates-config-internal.d.ts +51 -0
  297. package/dist/gates-config-internal.d.ts.map +1 -0
  298. package/dist/gates-config-internal.js +105 -0
  299. package/dist/gates-config-internal.js.map +1 -0
  300. package/dist/gates-config.d.ts +65 -0
  301. package/dist/gates-config.d.ts.map +1 -0
  302. package/dist/gates-config.js +191 -0
  303. package/dist/gates-config.js.map +1 -0
  304. package/dist/gates-coverage.d.ts +39 -0
  305. package/dist/gates-coverage.d.ts.map +1 -0
  306. package/dist/gates-coverage.js +148 -0
  307. package/dist/gates-coverage.js.map +1 -0
  308. package/dist/gates-presets.d.ts +25 -0
  309. package/dist/gates-presets.d.ts.map +1 -0
  310. package/dist/gates-presets.js +74 -0
  311. package/dist/gates-presets.js.map +1 -0
  312. package/dist/gates-schemas.d.ts +141 -0
  313. package/dist/gates-schemas.d.ts.map +1 -0
  314. package/dist/gates-schemas.js +67 -0
  315. package/dist/gates-schemas.js.map +1 -0
  316. package/dist/generate-traceability.d.ts +106 -0
  317. package/dist/generate-traceability.d.ts.map +1 -0
  318. package/dist/generate-traceability.js +387 -0
  319. package/dist/generate-traceability.js.map +1 -0
  320. package/dist/git-adapter.d.ts +406 -0
  321. package/dist/git-adapter.d.ts.map +1 -0
  322. package/dist/git-adapter.js +686 -0
  323. package/dist/git-adapter.js.map +1 -0
  324. package/dist/git-context-extractor.d.ts +102 -0
  325. package/dist/git-context-extractor.d.ts.map +1 -0
  326. package/dist/git-context-extractor.js +569 -0
  327. package/dist/git-context-extractor.js.map +1 -0
  328. package/dist/git-staged-validator.d.ts +33 -0
  329. package/dist/git-staged-validator.d.ts.map +1 -0
  330. package/dist/git-staged-validator.js +52 -0
  331. package/dist/git-staged-validator.js.map +1 -0
  332. package/dist/hardcoded-strings.d.ts +67 -0
  333. package/dist/hardcoded-strings.d.ts.map +1 -0
  334. package/dist/hardcoded-strings.js +276 -0
  335. package/dist/hardcoded-strings.js.map +1 -0
  336. package/dist/incremental-lint.d.ts +71 -0
  337. package/dist/incremental-lint.d.ts.map +1 -0
  338. package/dist/incremental-lint.js +132 -0
  339. package/dist/incremental-lint.js.map +1 -0
  340. package/dist/incremental-test.d.ts +33 -0
  341. package/dist/incremental-test.d.ts.map +1 -0
  342. package/dist/incremental-test.js +64 -0
  343. package/dist/incremental-test.js.map +1 -0
  344. package/dist/index.d.ts +108 -0
  345. package/dist/index.d.ts.map +1 -0
  346. package/dist/index.js.map +1 -0
  347. package/dist/invariants/check-automated-tests.d.ts +42 -0
  348. package/dist/invariants/check-automated-tests.d.ts.map +1 -0
  349. package/dist/invariants/check-automated-tests.js +171 -0
  350. package/dist/invariants/check-automated-tests.js.map +1 -0
  351. package/dist/invariants-runner.d.ts +166 -0
  352. package/dist/invariants-runner.d.ts.map +1 -0
  353. package/dist/invariants-runner.js +583 -0
  354. package/dist/invariants-runner.js.map +1 -0
  355. package/dist/lane-checker.d.ts +132 -0
  356. package/dist/lane-checker.d.ts.map +1 -0
  357. package/dist/lane-checker.js +687 -0
  358. package/dist/lane-checker.js.map +1 -0
  359. package/dist/lane-inference.d.ts +29 -0
  360. package/dist/lane-inference.d.ts.map +1 -0
  361. package/dist/lane-inference.js +210 -0
  362. package/dist/lane-inference.js.map +1 -0
  363. package/dist/lane-lock.d.ts +220 -0
  364. package/dist/lane-lock.d.ts.map +1 -0
  365. package/dist/lane-lock.js +499 -0
  366. package/dist/lane-lock.js.map +1 -0
  367. package/dist/lane-suggest-prompt.d.ts +97 -0
  368. package/dist/lane-suggest-prompt.d.ts.map +1 -0
  369. package/dist/lane-suggest-prompt.js +362 -0
  370. package/dist/lane-suggest-prompt.js.map +1 -0
  371. package/dist/lane-validator.d.ts +49 -0
  372. package/dist/lane-validator.d.ts.map +1 -0
  373. package/dist/lane-validator.js +117 -0
  374. package/dist/lane-validator.js.map +1 -0
  375. package/dist/logs-lib.d.ts +89 -0
  376. package/dist/logs-lib.d.ts.map +1 -0
  377. package/dist/logs-lib.js +214 -0
  378. package/dist/logs-lib.js.map +1 -0
  379. package/dist/lumenflow-config-schema.d.ts +643 -0
  380. package/dist/lumenflow-config-schema.d.ts.map +1 -0
  381. package/dist/lumenflow-config-schema.js +120 -0
  382. package/dist/lumenflow-config-schema.js.map +1 -0
  383. package/dist/lumenflow-config.d.ts +112 -0
  384. package/dist/lumenflow-config.d.ts.map +1 -0
  385. package/dist/lumenflow-config.js +328 -0
  386. package/dist/lumenflow-config.js.map +1 -0
  387. package/dist/lumenflow-home.d.ts +118 -0
  388. package/dist/lumenflow-home.d.ts.map +1 -0
  389. package/dist/lumenflow-home.js +214 -0
  390. package/dist/lumenflow-home.js.map +1 -0
  391. package/dist/manual-test-validator.d.ts +84 -0
  392. package/dist/manual-test-validator.d.ts.map +1 -0
  393. package/dist/manual-test-validator.js +206 -0
  394. package/dist/manual-test-validator.js.map +1 -0
  395. package/dist/merge-lock.d.ts +107 -0
  396. package/dist/merge-lock.d.ts.map +1 -0
  397. package/dist/merge-lock.js +260 -0
  398. package/dist/merge-lock.js.map +1 -0
  399. package/dist/micro-worktree-shared.d.ts +128 -0
  400. package/dist/micro-worktree-shared.d.ts.map +1 -0
  401. package/dist/micro-worktree-shared.js +352 -0
  402. package/dist/micro-worktree-shared.js.map +1 -0
  403. package/dist/micro-worktree.d.ts +165 -0
  404. package/dist/micro-worktree.d.ts.map +1 -0
  405. package/dist/micro-worktree.js +463 -0
  406. package/dist/micro-worktree.js.map +1 -0
  407. package/dist/normalize-config-keys.d.ts +10 -0
  408. package/dist/normalize-config-keys.d.ts.map +1 -0
  409. package/dist/normalize-config-keys.js +70 -0
  410. package/dist/normalize-config-keys.js.map +1 -0
  411. package/dist/object-guards.d.ts +11 -0
  412. package/dist/object-guards.d.ts.map +1 -0
  413. package/dist/object-guards.js +23 -0
  414. package/dist/object-guards.js.map +1 -0
  415. package/dist/orchestration-advisory-loader.d.ts +19 -0
  416. package/dist/orchestration-advisory-loader.d.ts.map +1 -0
  417. package/dist/orchestration-advisory-loader.js +94 -0
  418. package/dist/orchestration-advisory-loader.js.map +1 -0
  419. package/dist/orchestration-advisory.d.ts +49 -0
  420. package/dist/orchestration-advisory.d.ts.map +1 -0
  421. package/dist/orchestration-advisory.js +97 -0
  422. package/dist/orchestration-advisory.js.map +1 -0
  423. package/dist/orchestration-di.d.ts +36 -0
  424. package/dist/orchestration-di.d.ts.map +1 -0
  425. package/dist/orchestration-di.js +60 -0
  426. package/dist/orchestration-di.js.map +1 -0
  427. package/dist/orchestration-rules.d.ts +60 -0
  428. package/dist/orchestration-rules.d.ts.map +1 -0
  429. package/dist/orchestration-rules.js +212 -0
  430. package/dist/orchestration-rules.js.map +1 -0
  431. package/dist/orphan-detector.d.ts +148 -0
  432. package/dist/orphan-detector.d.ts.map +1 -0
  433. package/dist/orphan-detector.js +253 -0
  434. package/dist/orphan-detector.js.map +1 -0
  435. package/dist/pack-authoring-template-engine.d.ts +54 -0
  436. package/dist/pack-authoring-template-engine.d.ts.map +1 -0
  437. package/dist/pack-authoring-template-engine.js +510 -0
  438. package/dist/pack-authoring-template-engine.js.map +1 -0
  439. package/dist/package-manager-resolver.d.ts +63 -0
  440. package/dist/package-manager-resolver.d.ts.map +1 -0
  441. package/dist/package-manager-resolver.js +193 -0
  442. package/dist/package-manager-resolver.js.map +1 -0
  443. package/dist/path-classifiers.d.ts +58 -0
  444. package/dist/path-classifiers.d.ts.map +1 -0
  445. package/dist/path-classifiers.js +96 -0
  446. package/dist/path-classifiers.js.map +1 -0
  447. package/dist/patrol-loop.d.ts +171 -0
  448. package/dist/patrol-loop.d.ts.map +1 -0
  449. package/dist/patrol-loop.js +197 -0
  450. package/dist/patrol-loop.js.map +1 -0
  451. package/dist/piped-command-detector.d.ts +25 -0
  452. package/dist/piped-command-detector.d.ts.map +1 -0
  453. package/dist/piped-command-detector.js +67 -0
  454. package/dist/piped-command-detector.js.map +1 -0
  455. package/dist/ports/config.ports.d.ts +83 -0
  456. package/dist/ports/config.ports.d.ts.map +1 -0
  457. package/dist/ports/config.ports.js +4 -0
  458. package/dist/ports/config.ports.js.map +1 -0
  459. package/dist/ports/context.ports.d.ts +136 -0
  460. package/dist/ports/context.ports.d.ts.map +1 -0
  461. package/dist/ports/context.ports.js +4 -0
  462. package/dist/ports/context.ports.js.map +1 -0
  463. package/dist/ports/core-tools.ports.d.ts +282 -0
  464. package/dist/ports/core-tools.ports.d.ts.map +1 -0
  465. package/dist/ports/core-tools.ports.js +4 -0
  466. package/dist/ports/core-tools.ports.js.map +1 -0
  467. package/dist/ports/dashboard-renderer.port.d.ts +113 -0
  468. package/dist/ports/dashboard-renderer.port.d.ts.map +1 -0
  469. package/dist/ports/dashboard-renderer.port.js +4 -0
  470. package/dist/ports/dashboard-renderer.port.js.map +1 -0
  471. package/dist/ports/git-validator.ports.d.ts +114 -0
  472. package/dist/ports/git-validator.ports.d.ts.map +1 -0
  473. package/dist/ports/git-validator.ports.js +4 -0
  474. package/dist/ports/git-validator.ports.js.map +1 -0
  475. package/dist/ports/index.d.ts +23 -0
  476. package/dist/ports/index.d.ts.map +1 -0
  477. package/dist/ports/index.js +25 -0
  478. package/dist/ports/index.js.map +1 -0
  479. package/dist/ports/metrics-collector.port.d.ts +133 -0
  480. package/dist/ports/metrics-collector.port.d.ts.map +1 -0
  481. package/dist/ports/metrics-collector.port.js +4 -0
  482. package/dist/ports/metrics-collector.port.js.map +1 -0
  483. package/dist/ports/recovery.ports.d.ts +59 -0
  484. package/dist/ports/recovery.ports.d.ts.map +1 -0
  485. package/dist/ports/recovery.ports.js +4 -0
  486. package/dist/ports/recovery.ports.js.map +1 -0
  487. package/dist/ports/validation.ports.d.ts +75 -0
  488. package/dist/ports/validation.ports.d.ts.map +1 -0
  489. package/dist/ports/validation.ports.js +4 -0
  490. package/dist/ports/validation.ports.js.map +1 -0
  491. package/dist/ports/wu-helpers.ports.d.ts +168 -0
  492. package/dist/ports/wu-helpers.ports.d.ts.map +1 -0
  493. package/dist/ports/wu-helpers.ports.js +4 -0
  494. package/dist/ports/wu-helpers.ports.js.map +1 -0
  495. package/dist/ports/wu-state.ports.d.ts +190 -0
  496. package/dist/ports/wu-state.ports.d.ts.map +1 -0
  497. package/dist/ports/wu-state.ports.js +4 -0
  498. package/dist/ports/wu-state.ports.js.map +1 -0
  499. package/dist/process-detector.d.ts +69 -0
  500. package/dist/process-detector.d.ts.map +1 -0
  501. package/dist/process-detector.js +175 -0
  502. package/dist/process-detector.js.map +1 -0
  503. package/dist/prompt-linter.d.ts +73 -0
  504. package/dist/prompt-linter.d.ts.map +1 -0
  505. package/dist/prompt-linter.js +338 -0
  506. package/dist/prompt-linter.js.map +1 -0
  507. package/dist/prompt-monitor.d.ts +13 -0
  508. package/dist/prompt-monitor.d.ts.map +1 -0
  509. package/dist/prompt-monitor.js +233 -0
  510. package/dist/prompt-monitor.js.map +1 -0
  511. package/dist/rebase-artifact-cleanup.d.ts +156 -0
  512. package/dist/rebase-artifact-cleanup.d.ts.map +1 -0
  513. package/dist/rebase-artifact-cleanup.js +475 -0
  514. package/dist/rebase-artifact-cleanup.js.map +1 -0
  515. package/dist/recovery/index.d.ts +12 -0
  516. package/dist/recovery/index.d.ts.map +1 -0
  517. package/dist/recovery/index.js +14 -0
  518. package/dist/recovery/index.js.map +1 -0
  519. package/dist/recovery/recovery-analyzer.d.ts +49 -0
  520. package/dist/recovery/recovery-analyzer.d.ts.map +1 -0
  521. package/dist/recovery/recovery-analyzer.js +149 -0
  522. package/dist/recovery/recovery-analyzer.js.map +1 -0
  523. package/dist/resolve-policy.d.ts +257 -0
  524. package/dist/resolve-policy.d.ts.map +1 -0
  525. package/dist/resolve-policy.js +269 -0
  526. package/dist/resolve-policy.js.map +1 -0
  527. package/dist/retry-strategy.d.ts +191 -0
  528. package/dist/retry-strategy.d.ts.map +1 -0
  529. package/dist/retry-strategy.js +286 -0
  530. package/dist/retry-strategy.js.map +1 -0
  531. package/dist/rollback-utils.d.ts +129 -0
  532. package/dist/rollback-utils.d.ts.map +1 -0
  533. package/dist/rollback-utils.js +217 -0
  534. package/dist/rollback-utils.js.map +1 -0
  535. package/dist/sandbox-allowlist.d.ts +16 -0
  536. package/dist/sandbox-allowlist.d.ts.map +1 -0
  537. package/dist/sandbox-allowlist.js +77 -0
  538. package/dist/sandbox-allowlist.js.map +1 -0
  539. package/dist/sandbox-backend-linux.d.ts +6 -0
  540. package/dist/sandbox-backend-linux.d.ts.map +1 -0
  541. package/dist/sandbox-backend-linux.js +67 -0
  542. package/dist/sandbox-backend-linux.js.map +1 -0
  543. package/dist/sandbox-backend-macos.d.ts +6 -0
  544. package/dist/sandbox-backend-macos.d.ts.map +1 -0
  545. package/dist/sandbox-backend-macos.js +66 -0
  546. package/dist/sandbox-backend-macos.js.map +1 -0
  547. package/dist/sandbox-backend-windows.d.ts +6 -0
  548. package/dist/sandbox-backend-windows.d.ts.map +1 -0
  549. package/dist/sandbox-backend-windows.js +30 -0
  550. package/dist/sandbox-backend-windows.js.map +1 -0
  551. package/dist/sandbox-profile.d.ts +53 -0
  552. package/dist/sandbox-profile.d.ts.map +1 -0
  553. package/dist/sandbox-profile.js +64 -0
  554. package/dist/sandbox-profile.js.map +1 -0
  555. package/dist/schemas/agents-config.d.ts +130 -0
  556. package/dist/schemas/agents-config.d.ts.map +1 -0
  557. package/dist/schemas/agents-config.js +153 -0
  558. package/dist/schemas/agents-config.js.map +1 -0
  559. package/dist/schemas/arg-validators.d.ts +58 -0
  560. package/dist/schemas/arg-validators.d.ts.map +1 -0
  561. package/dist/schemas/arg-validators.js +193 -0
  562. package/dist/schemas/arg-validators.js.map +1 -0
  563. package/dist/schemas/cloud-config.d.ts +66 -0
  564. package/dist/schemas/cloud-config.d.ts.map +1 -0
  565. package/dist/schemas/cloud-config.js +81 -0
  566. package/dist/schemas/cloud-config.js.map +1 -0
  567. package/dist/schemas/command-schemas.d.ts +171 -0
  568. package/dist/schemas/command-schemas.d.ts.map +1 -0
  569. package/dist/schemas/command-schemas.js +145 -0
  570. package/dist/schemas/command-schemas.js.map +1 -0
  571. package/dist/schemas/directories-config.d.ts +64 -0
  572. package/dist/schemas/directories-config.d.ts.map +1 -0
  573. package/dist/schemas/directories-config.js +103 -0
  574. package/dist/schemas/directories-config.js.map +1 -0
  575. package/dist/schemas/flow-arg-validators.d.ts +32 -0
  576. package/dist/schemas/flow-arg-validators.d.ts.map +1 -0
  577. package/dist/schemas/flow-arg-validators.js +57 -0
  578. package/dist/schemas/flow-arg-validators.js.map +1 -0
  579. package/dist/schemas/flow-schemas.d.ts +152 -0
  580. package/dist/schemas/flow-schemas.d.ts.map +1 -0
  581. package/dist/schemas/flow-schemas.js +105 -0
  582. package/dist/schemas/flow-schemas.js.map +1 -0
  583. package/dist/schemas/gates-section-config.d.ts +94 -0
  584. package/dist/schemas/gates-section-config.d.ts.map +1 -0
  585. package/dist/schemas/gates-section-config.js +105 -0
  586. package/dist/schemas/gates-section-config.js.map +1 -0
  587. package/dist/schemas/git-config.d.ts +48 -0
  588. package/dist/schemas/git-config.d.ts.map +1 -0
  589. package/dist/schemas/git-config.js +157 -0
  590. package/dist/schemas/git-config.js.map +1 -0
  591. package/dist/schemas/index.d.ts +33 -0
  592. package/dist/schemas/index.d.ts.map +1 -0
  593. package/dist/schemas/index.js +96 -0
  594. package/dist/schemas/index.js.map +1 -0
  595. package/dist/schemas/initiative-arg-validators.d.ts +64 -0
  596. package/dist/schemas/initiative-arg-validators.d.ts.map +1 -0
  597. package/dist/schemas/initiative-arg-validators.js +65 -0
  598. package/dist/schemas/initiative-arg-validators.js.map +1 -0
  599. package/dist/schemas/initiative-schemas.d.ts +256 -0
  600. package/dist/schemas/initiative-schemas.d.ts.map +1 -0
  601. package/dist/schemas/initiative-schemas.js +186 -0
  602. package/dist/schemas/initiative-schemas.js.map +1 -0
  603. package/dist/schemas/lanes-config.d.ts +153 -0
  604. package/dist/schemas/lanes-config.d.ts.map +1 -0
  605. package/dist/schemas/lanes-config.js +125 -0
  606. package/dist/schemas/lanes-config.js.map +1 -0
  607. package/dist/schemas/memory-arg-validators.d.ts +91 -0
  608. package/dist/schemas/memory-arg-validators.d.ts.map +1 -0
  609. package/dist/schemas/memory-arg-validators.js +75 -0
  610. package/dist/schemas/memory-arg-validators.js.map +1 -0
  611. package/dist/schemas/memory-config.d.ts +169 -0
  612. package/dist/schemas/memory-config.d.ts.map +1 -0
  613. package/dist/schemas/memory-config.js +253 -0
  614. package/dist/schemas/memory-config.js.map +1 -0
  615. package/dist/schemas/memory-schemas.d.ts +287 -0
  616. package/dist/schemas/memory-schemas.d.ts.map +1 -0
  617. package/dist/schemas/memory-schemas.js +242 -0
  618. package/dist/schemas/memory-schemas.js.map +1 -0
  619. package/dist/schemas/operational-config.d.ts +145 -0
  620. package/dist/schemas/operational-config.d.ts.map +1 -0
  621. package/dist/schemas/operational-config.js +161 -0
  622. package/dist/schemas/operational-config.js.map +1 -0
  623. package/dist/schemas/schema-utils.d.ts +87 -0
  624. package/dist/schemas/schema-utils.d.ts.map +1 -0
  625. package/dist/schemas/schema-utils.js +320 -0
  626. package/dist/schemas/schema-utils.js.map +1 -0
  627. package/dist/schemas/setup-arg-validators.d.ts +91 -0
  628. package/dist/schemas/setup-arg-validators.d.ts.map +1 -0
  629. package/dist/schemas/setup-arg-validators.js +98 -0
  630. package/dist/schemas/setup-arg-validators.js.map +1 -0
  631. package/dist/schemas/setup-schemas.d.ts +335 -0
  632. package/dist/schemas/setup-schemas.d.ts.map +1 -0
  633. package/dist/schemas/setup-schemas.js +260 -0
  634. package/dist/schemas/setup-schemas.js.map +1 -0
  635. package/dist/schemas/validation-arg-validators.d.ts +18 -0
  636. package/dist/schemas/validation-arg-validators.d.ts.map +1 -0
  637. package/dist/schemas/validation-arg-validators.js +59 -0
  638. package/dist/schemas/validation-arg-validators.js.map +1 -0
  639. package/dist/schemas/validation-schemas.d.ts +80 -0
  640. package/dist/schemas/validation-schemas.d.ts.map +1 -0
  641. package/dist/schemas/validation-schemas.js +88 -0
  642. package/dist/schemas/validation-schemas.js.map +1 -0
  643. package/dist/schemas/workspace-config.d.ts +48 -0
  644. package/dist/schemas/workspace-config.d.ts.map +1 -0
  645. package/dist/schemas/workspace-config.js +33 -0
  646. package/dist/schemas/workspace-config.js.map +1 -0
  647. package/dist/schemas/wu-config.d.ts +21 -0
  648. package/dist/schemas/wu-config.d.ts.map +1 -0
  649. package/dist/schemas/wu-config.js +28 -0
  650. package/dist/schemas/wu-config.js.map +1 -0
  651. package/dist/schemas/wu-lifecycle-arg-validators.d.ts +118 -0
  652. package/dist/schemas/wu-lifecycle-arg-validators.d.ts.map +1 -0
  653. package/dist/schemas/wu-lifecycle-arg-validators.js +82 -0
  654. package/dist/schemas/wu-lifecycle-arg-validators.js.map +1 -0
  655. package/dist/schemas/wu-lifecycle-schemas.d.ts +362 -0
  656. package/dist/schemas/wu-lifecycle-schemas.d.ts.map +1 -0
  657. package/dist/schemas/wu-lifecycle-schemas.js +284 -0
  658. package/dist/schemas/wu-lifecycle-schemas.js.map +1 -0
  659. package/dist/section-headings.d.ts +35 -0
  660. package/dist/section-headings.d.ts.map +1 -0
  661. package/dist/section-headings.js +54 -0
  662. package/dist/section-headings.js.map +1 -0
  663. package/dist/spawn-agent-guidance.d.ts +90 -0
  664. package/dist/spawn-agent-guidance.d.ts.map +1 -0
  665. package/dist/spawn-agent-guidance.js +431 -0
  666. package/dist/spawn-agent-guidance.js.map +1 -0
  667. package/dist/spawn-constraints-generator.d.ts +30 -0
  668. package/dist/spawn-constraints-generator.d.ts.map +1 -0
  669. package/dist/spawn-constraints-generator.js +121 -0
  670. package/dist/spawn-constraints-generator.js.map +1 -0
  671. package/dist/spawn-guidance-generators.d.ts +47 -0
  672. package/dist/spawn-guidance-generators.d.ts.map +1 -0
  673. package/dist/spawn-guidance-generators.js +346 -0
  674. package/dist/spawn-guidance-generators.js.map +1 -0
  675. package/dist/spawn-policy-resolver.d.ts +26 -0
  676. package/dist/spawn-policy-resolver.d.ts.map +1 -0
  677. package/dist/spawn-policy-resolver.js +31 -0
  678. package/dist/spawn-policy-resolver.js.map +1 -0
  679. package/dist/spawn-prompt-helpers.d.ts +45 -0
  680. package/dist/spawn-prompt-helpers.d.ts.map +1 -0
  681. package/dist/spawn-prompt-helpers.js +271 -0
  682. package/dist/spawn-prompt-helpers.js.map +1 -0
  683. package/dist/spawn-prompt-schema.d.ts +107 -0
  684. package/dist/spawn-prompt-schema.d.ts.map +1 -0
  685. package/dist/spawn-prompt-schema.js +163 -0
  686. package/dist/spawn-prompt-schema.js.map +1 -0
  687. package/dist/spawn-strategy.d.ts +60 -0
  688. package/dist/spawn-strategy.d.ts.map +1 -0
  689. package/dist/spawn-strategy.js +112 -0
  690. package/dist/spawn-strategy.js.map +1 -0
  691. package/dist/spawn-task-builder.d.ts +68 -0
  692. package/dist/spawn-task-builder.d.ts.map +1 -0
  693. package/dist/spawn-task-builder.js +356 -0
  694. package/dist/spawn-task-builder.js.map +1 -0
  695. package/dist/spawn-template-assembler.d.ts +65 -0
  696. package/dist/spawn-template-assembler.d.ts.map +1 -0
  697. package/dist/spawn-template-assembler.js +111 -0
  698. package/dist/spawn-template-assembler.js.map +1 -0
  699. package/dist/stamp-status-validator.d.ts +77 -0
  700. package/dist/stamp-status-validator.d.ts.map +1 -0
  701. package/dist/stamp-status-validator.js +138 -0
  702. package/dist/stamp-status-validator.js.map +1 -0
  703. package/dist/stamp-tracking.d.ts +12 -0
  704. package/dist/stamp-tracking.d.ts.map +1 -0
  705. package/dist/stamp-tracking.js +43 -0
  706. package/dist/stamp-tracking.js.map +1 -0
  707. package/dist/stamp-utils.d.ts +94 -0
  708. package/dist/stamp-utils.d.ts.map +1 -0
  709. package/dist/stamp-utils.js +245 -0
  710. package/dist/stamp-utils.js.map +1 -0
  711. package/dist/state-cleanup-core.d.ts +206 -0
  712. package/dist/state-cleanup-core.d.ts.map +1 -0
  713. package/dist/state-cleanup-core.js +225 -0
  714. package/dist/state-cleanup-core.js.map +1 -0
  715. package/dist/state-doctor-core.d.ts +177 -0
  716. package/dist/state-doctor-core.d.ts.map +1 -0
  717. package/dist/state-doctor-core.js +420 -0
  718. package/dist/state-doctor-core.js.map +1 -0
  719. package/dist/state-machine.d.ts +10 -0
  720. package/dist/state-machine.d.ts.map +1 -0
  721. package/dist/state-machine.js +89 -0
  722. package/dist/state-machine.js.map +1 -0
  723. package/dist/stream-error-handler.d.ts +69 -0
  724. package/dist/stream-error-handler.d.ts.map +1 -0
  725. package/dist/stream-error-handler.js +80 -0
  726. package/dist/stream-error-handler.js.map +1 -0
  727. package/dist/telemetry.d.ts +81 -0
  728. package/dist/telemetry.d.ts.map +1 -0
  729. package/dist/telemetry.js +219 -0
  730. package/dist/telemetry.js.map +1 -0
  731. package/dist/template-loader.d.ts +151 -0
  732. package/dist/template-loader.d.ts.map +1 -0
  733. package/dist/template-loader.js +400 -0
  734. package/dist/template-loader.js.map +1 -0
  735. package/dist/test-baseline.d.ts +177 -0
  736. package/dist/test-baseline.d.ts.map +1 -0
  737. package/dist/test-baseline.js +286 -0
  738. package/dist/test-baseline.js.map +1 -0
  739. package/dist/token-counter.d.ts +50 -0
  740. package/dist/token-counter.d.ts.map +1 -0
  741. package/dist/token-counter.js +144 -0
  742. package/dist/token-counter.js.map +1 -0
  743. package/dist/usecases/analyze-recovery.usecase.d.ts +43 -0
  744. package/dist/usecases/analyze-recovery.usecase.d.ts.map +1 -0
  745. package/dist/usecases/analyze-recovery.usecase.js +34 -0
  746. package/dist/usecases/analyze-recovery.usecase.js.map +1 -0
  747. package/dist/usecases/compute-context.usecase.d.ts +63 -0
  748. package/dist/usecases/compute-context.usecase.d.ts.map +1 -0
  749. package/dist/usecases/compute-context.usecase.js +91 -0
  750. package/dist/usecases/compute-context.usecase.js.map +1 -0
  751. package/dist/usecases/get-dashboard-data.usecase.d.ts +53 -0
  752. package/dist/usecases/get-dashboard-data.usecase.d.ts.map +1 -0
  753. package/dist/usecases/get-dashboard-data.usecase.js +54 -0
  754. package/dist/usecases/get-dashboard-data.usecase.js.map +1 -0
  755. package/dist/usecases/get-suggestions.usecase.d.ts +101 -0
  756. package/dist/usecases/get-suggestions.usecase.d.ts.map +1 -0
  757. package/dist/usecases/get-suggestions.usecase.js +148 -0
  758. package/dist/usecases/get-suggestions.usecase.js.map +1 -0
  759. package/dist/usecases/index.d.ts +15 -0
  760. package/dist/usecases/index.d.ts.map +1 -0
  761. package/dist/usecases/index.js +21 -0
  762. package/dist/usecases/index.js.map +1 -0
  763. package/dist/usecases/validate-command.usecase.d.ts +56 -0
  764. package/dist/usecases/validate-command.usecase.d.ts.map +1 -0
  765. package/dist/usecases/validate-command.usecase.js +143 -0
  766. package/dist/usecases/validate-command.usecase.js.map +1 -0
  767. package/dist/user-normalizer.d.ts +36 -0
  768. package/dist/user-normalizer.d.ts.map +1 -0
  769. package/dist/user-normalizer.js +177 -0
  770. package/dist/user-normalizer.js.map +1 -0
  771. package/dist/validation/command-registry.d.ts +26 -0
  772. package/dist/validation/command-registry.d.ts.map +1 -0
  773. package/dist/validation/command-registry.js +269 -0
  774. package/dist/validation/command-registry.js.map +1 -0
  775. package/dist/validation/index.d.ts +16 -0
  776. package/dist/validation/index.d.ts.map +1 -0
  777. package/dist/validation/index.js +18 -0
  778. package/dist/validation/index.js.map +1 -0
  779. package/dist/validation/types.d.ts +140 -0
  780. package/dist/validation/types.d.ts.map +1 -0
  781. package/dist/validation/types.js +4 -0
  782. package/dist/validation/types.js.map +1 -0
  783. package/dist/validation/validate-command.d.ts +16 -0
  784. package/dist/validation/validate-command.d.ts.map +1 -0
  785. package/dist/validation/validate-command.js +163 -0
  786. package/dist/validation/validate-command.js.map +1 -0
  787. package/dist/validators/backlog-sync.d.ts +11 -0
  788. package/dist/validators/backlog-sync.d.ts.map +1 -0
  789. package/dist/validators/backlog-sync.js +65 -0
  790. package/dist/validators/backlog-sync.js.map +1 -0
  791. package/dist/validators/claim-validation.d.ts +46 -0
  792. package/dist/validators/claim-validation.d.ts.map +1 -0
  793. package/dist/validators/claim-validation.js +491 -0
  794. package/dist/validators/claim-validation.js.map +1 -0
  795. package/dist/validators/supabase-docs-linter.d.ts +15 -0
  796. package/dist/validators/supabase-docs-linter.d.ts.map +1 -0
  797. package/dist/validators/supabase-docs-linter.js +45 -0
  798. package/dist/validators/supabase-docs-linter.js.map +1 -0
  799. package/dist/validators/wu-tasks.d.ts +21 -0
  800. package/dist/validators/wu-tasks.d.ts.map +1 -0
  801. package/dist/validators/wu-tasks.js +93 -0
  802. package/dist/validators/wu-tasks.js.map +1 -0
  803. package/dist/work-classifier.d.ts +95 -0
  804. package/dist/work-classifier.d.ts.map +1 -0
  805. package/dist/work-classifier.js +407 -0
  806. package/dist/work-classifier.js.map +1 -0
  807. package/dist/worktree-ownership.d.ts +51 -0
  808. package/dist/worktree-ownership.d.ts.map +1 -0
  809. package/dist/worktree-ownership.js +77 -0
  810. package/dist/worktree-ownership.js.map +1 -0
  811. package/dist/worktree-scanner.d.ts +118 -0
  812. package/dist/worktree-scanner.d.ts.map +1 -0
  813. package/dist/worktree-scanner.js +171 -0
  814. package/dist/worktree-scanner.js.map +1 -0
  815. package/dist/worktree-symlink.d.ts +98 -0
  816. package/dist/worktree-symlink.d.ts.map +1 -0
  817. package/dist/worktree-symlink.js +530 -0
  818. package/dist/worktree-symlink.js.map +1 -0
  819. package/dist/wu-backlog-updater.d.ts +10 -0
  820. package/dist/wu-backlog-updater.d.ts.map +1 -0
  821. package/dist/wu-backlog-updater.js +40 -0
  822. package/dist/wu-backlog-updater.js.map +1 -0
  823. package/dist/wu-checkpoint.d.ts +110 -0
  824. package/dist/wu-checkpoint.d.ts.map +1 -0
  825. package/dist/wu-checkpoint.js +238 -0
  826. package/dist/wu-checkpoint.js.map +1 -0
  827. package/dist/wu-claim-helpers.d.ts +21 -0
  828. package/dist/wu-claim-helpers.d.ts.map +1 -0
  829. package/dist/wu-claim-helpers.js +66 -0
  830. package/dist/wu-claim-helpers.js.map +1 -0
  831. package/dist/wu-claim-resume.d.ts +106 -0
  832. package/dist/wu-claim-resume.d.ts.map +1 -0
  833. package/dist/wu-claim-resume.js +279 -0
  834. package/dist/wu-claim-resume.js.map +1 -0
  835. package/dist/wu-cli-constants.d.ts +427 -0
  836. package/dist/wu-cli-constants.d.ts.map +1 -0
  837. package/dist/wu-cli-constants.js +432 -0
  838. package/dist/wu-cli-constants.js.map +1 -0
  839. package/dist/wu-consistency-checker.d.ts +23 -0
  840. package/dist/wu-consistency-checker.d.ts.map +1 -0
  841. package/dist/wu-consistency-checker.js +24 -0
  842. package/dist/wu-consistency-checker.js.map +1 -0
  843. package/dist/wu-consistency-detector.d.ts +94 -0
  844. package/dist/wu-consistency-detector.d.ts.map +1 -0
  845. package/dist/wu-consistency-detector.js +410 -0
  846. package/dist/wu-consistency-detector.js.map +1 -0
  847. package/dist/wu-consistency-file-repairs.d.ts +75 -0
  848. package/dist/wu-consistency-file-repairs.d.ts.map +1 -0
  849. package/dist/wu-consistency-file-repairs.js +326 -0
  850. package/dist/wu-consistency-file-repairs.js.map +1 -0
  851. package/dist/wu-constants.d.ts +29 -0
  852. package/dist/wu-constants.d.ts.map +1 -0
  853. package/dist/wu-constants.js +37 -0
  854. package/dist/wu-constants.js.map +1 -0
  855. package/dist/wu-context-constants.d.ts +270 -0
  856. package/dist/wu-context-constants.d.ts.map +1 -0
  857. package/dist/wu-context-constants.js +267 -0
  858. package/dist/wu-context-constants.js.map +1 -0
  859. package/dist/wu-create-defaults.d.ts +11 -0
  860. package/dist/wu-create-defaults.d.ts.map +1 -0
  861. package/dist/wu-create-defaults.js +13 -0
  862. package/dist/wu-create-defaults.js.map +1 -0
  863. package/dist/wu-create-validators.d.ts +89 -0
  864. package/dist/wu-create-validators.d.ts.map +1 -0
  865. package/dist/wu-create-validators.js +215 -0
  866. package/dist/wu-create-validators.js.map +1 -0
  867. package/dist/wu-delegation-cutover.d.ts +5 -0
  868. package/dist/wu-delegation-cutover.d.ts.map +1 -0
  869. package/dist/wu-delegation-cutover.js +231 -0
  870. package/dist/wu-delegation-cutover.js.map +1 -0
  871. package/dist/wu-doc-types.d.ts +48 -0
  872. package/dist/wu-doc-types.d.ts.map +1 -0
  873. package/dist/wu-doc-types.js +4 -0
  874. package/dist/wu-doc-types.js.map +1 -0
  875. package/dist/wu-domain-constants.d.ts +295 -0
  876. package/dist/wu-domain-constants.d.ts.map +1 -0
  877. package/dist/wu-domain-constants.js +399 -0
  878. package/dist/wu-domain-constants.js.map +1 -0
  879. package/dist/wu-done-branch-only.d.ts +120 -0
  880. package/dist/wu-done-branch-only.d.ts.map +1 -0
  881. package/dist/wu-done-branch-only.js +412 -0
  882. package/dist/wu-done-branch-only.js.map +1 -0
  883. package/dist/wu-done-branch-utils.d.ts +8 -0
  884. package/dist/wu-done-branch-utils.d.ts.map +1 -0
  885. package/dist/wu-done-branch-utils.js +34 -0
  886. package/dist/wu-done-branch-utils.js.map +1 -0
  887. package/dist/wu-done-cleanup.d.ts +6 -0
  888. package/dist/wu-done-cleanup.d.ts.map +1 -0
  889. package/dist/wu-done-cleanup.js +161 -0
  890. package/dist/wu-done-cleanup.js.map +1 -0
  891. package/dist/wu-done-concurrent-merge.d.ts +103 -0
  892. package/dist/wu-done-concurrent-merge.d.ts.map +1 -0
  893. package/dist/wu-done-concurrent-merge.js +375 -0
  894. package/dist/wu-done-concurrent-merge.js.map +1 -0
  895. package/dist/wu-done-docs-generate.d.ts +72 -0
  896. package/dist/wu-done-docs-generate.d.ts.map +1 -0
  897. package/dist/wu-done-docs-generate.js +129 -0
  898. package/dist/wu-done-docs-generate.js.map +1 -0
  899. package/dist/wu-done-docs-only.d.ts +16 -0
  900. package/dist/wu-done-docs-only.d.ts.map +1 -0
  901. package/dist/wu-done-docs-only.js +68 -0
  902. package/dist/wu-done-docs-only.js.map +1 -0
  903. package/dist/wu-done-error-handling.d.ts +35 -0
  904. package/dist/wu-done-error-handling.d.ts.map +1 -0
  905. package/dist/wu-done-error-handling.js +109 -0
  906. package/dist/wu-done-error-handling.js.map +1 -0
  907. package/dist/wu-done-errors.d.ts +13 -0
  908. package/dist/wu-done-errors.d.ts.map +1 -0
  909. package/dist/wu-done-errors.js +27 -0
  910. package/dist/wu-done-errors.js.map +1 -0
  911. package/dist/wu-done-initiative-sync.d.ts +13 -0
  912. package/dist/wu-done-initiative-sync.d.ts.map +1 -0
  913. package/dist/wu-done-initiative-sync.js +235 -0
  914. package/dist/wu-done-initiative-sync.js.map +1 -0
  915. package/dist/wu-done-inputs.d.ts +10 -0
  916. package/dist/wu-done-inputs.d.ts.map +1 -0
  917. package/dist/wu-done-inputs.js +55 -0
  918. package/dist/wu-done-inputs.js.map +1 -0
  919. package/dist/wu-done-machine.d.ts +175 -0
  920. package/dist/wu-done-machine.d.ts.map +1 -0
  921. package/dist/wu-done-machine.js +227 -0
  922. package/dist/wu-done-machine.js.map +1 -0
  923. package/dist/wu-done-main-sync.d.ts +36 -0
  924. package/dist/wu-done-main-sync.d.ts.map +1 -0
  925. package/dist/wu-done-main-sync.js +67 -0
  926. package/dist/wu-done-main-sync.js.map +1 -0
  927. package/dist/wu-done-merge-phase.d.ts +49 -0
  928. package/dist/wu-done-merge-phase.d.ts.map +1 -0
  929. package/dist/wu-done-merge-phase.js +121 -0
  930. package/dist/wu-done-merge-phase.js.map +1 -0
  931. package/dist/wu-done-merge.d.ts +46 -0
  932. package/dist/wu-done-merge.d.ts.map +1 -0
  933. package/dist/wu-done-merge.js +123 -0
  934. package/dist/wu-done-merge.js.map +1 -0
  935. package/dist/wu-done-merged-worktree.d.ts +65 -0
  936. package/dist/wu-done-merged-worktree.d.ts.map +1 -0
  937. package/dist/wu-done-merged-worktree.js +197 -0
  938. package/dist/wu-done-merged-worktree.js.map +1 -0
  939. package/dist/wu-done-messages.d.ts +120 -0
  940. package/dist/wu-done-messages.d.ts.map +1 -0
  941. package/dist/wu-done-messages.js +191 -0
  942. package/dist/wu-done-messages.js.map +1 -0
  943. package/dist/wu-done-metadata.d.ts +123 -0
  944. package/dist/wu-done-metadata.d.ts.map +1 -0
  945. package/dist/wu-done-metadata.js +240 -0
  946. package/dist/wu-done-metadata.js.map +1 -0
  947. package/dist/wu-done-paths.d.ts +79 -0
  948. package/dist/wu-done-paths.d.ts.map +1 -0
  949. package/dist/wu-done-paths.js +263 -0
  950. package/dist/wu-done-paths.js.map +1 -0
  951. package/dist/wu-done-pr.d.ts +76 -0
  952. package/dist/wu-done-pr.d.ts.map +1 -0
  953. package/dist/wu-done-pr.js +189 -0
  954. package/dist/wu-done-pr.js.map +1 -0
  955. package/dist/wu-done-preflight-checks.d.ts +66 -0
  956. package/dist/wu-done-preflight-checks.d.ts.map +1 -0
  957. package/dist/wu-done-preflight-checks.js +275 -0
  958. package/dist/wu-done-preflight-checks.js.map +1 -0
  959. package/dist/wu-done-preflight.d.ts +65 -0
  960. package/dist/wu-done-preflight.d.ts.map +1 -0
  961. package/dist/wu-done-preflight.js +205 -0
  962. package/dist/wu-done-preflight.js.map +1 -0
  963. package/dist/wu-done-rebase.d.ts +44 -0
  964. package/dist/wu-done-rebase.d.ts.map +1 -0
  965. package/dist/wu-done-rebase.js +360 -0
  966. package/dist/wu-done-rebase.js.map +1 -0
  967. package/dist/wu-done-retry-helpers.d.ts +75 -0
  968. package/dist/wu-done-retry-helpers.d.ts.map +1 -0
  969. package/dist/wu-done-retry-helpers.js +175 -0
  970. package/dist/wu-done-retry-helpers.js.map +1 -0
  971. package/dist/wu-done-ui.d.ts +29 -0
  972. package/dist/wu-done-ui.d.ts.map +1 -0
  973. package/dist/wu-done-ui.js +74 -0
  974. package/dist/wu-done-ui.js.map +1 -0
  975. package/dist/wu-done-utils.d.ts +31 -0
  976. package/dist/wu-done-utils.d.ts.map +1 -0
  977. package/dist/wu-done-utils.js +60 -0
  978. package/dist/wu-done-utils.js.map +1 -0
  979. package/dist/wu-done-validation.d.ts +128 -0
  980. package/dist/wu-done-validation.d.ts.map +1 -0
  981. package/dist/wu-done-validation.js +553 -0
  982. package/dist/wu-done-validation.js.map +1 -0
  983. package/dist/wu-done-validators.d.ts +16 -0
  984. package/dist/wu-done-validators.d.ts.map +1 -0
  985. package/dist/wu-done-validators.js +16 -0
  986. package/dist/wu-done-validators.js.map +1 -0
  987. package/dist/wu-done-worktree-services.d.ts +174 -0
  988. package/dist/wu-done-worktree-services.d.ts.map +1 -0
  989. package/dist/wu-done-worktree-services.js +274 -0
  990. package/dist/wu-done-worktree-services.js.map +1 -0
  991. package/dist/wu-done-worktree.d.ts +71 -0
  992. package/dist/wu-done-worktree.d.ts.map +1 -0
  993. package/dist/wu-done-worktree.js +243 -0
  994. package/dist/wu-done-worktree.js.map +1 -0
  995. package/dist/wu-done-zombie-recovery.d.ts +18 -0
  996. package/dist/wu-done-zombie-recovery.d.ts.map +1 -0
  997. package/dist/wu-done-zombie-recovery.js +84 -0
  998. package/dist/wu-done-zombie-recovery.js.map +1 -0
  999. package/dist/wu-event-sourcer.d.ts +44 -0
  1000. package/dist/wu-event-sourcer.d.ts.map +1 -0
  1001. package/dist/wu-event-sourcer.js +135 -0
  1002. package/dist/wu-event-sourcer.js.map +1 -0
  1003. package/dist/wu-events-cleanup.d.ts +131 -0
  1004. package/dist/wu-events-cleanup.d.ts.map +1 -0
  1005. package/dist/wu-events-cleanup.js +403 -0
  1006. package/dist/wu-events-cleanup.js.map +1 -0
  1007. package/dist/wu-git-constants.d.ts +176 -0
  1008. package/dist/wu-git-constants.d.ts.map +1 -0
  1009. package/dist/wu-git-constants.js +178 -0
  1010. package/dist/wu-git-constants.js.map +1 -0
  1011. package/dist/wu-helpers.d.ts +133 -0
  1012. package/dist/wu-helpers.d.ts.map +1 -0
  1013. package/dist/wu-helpers.js +268 -0
  1014. package/dist/wu-helpers.js.map +1 -0
  1015. package/dist/wu-id-generator.d.ts +51 -0
  1016. package/dist/wu-id-generator.d.ts.map +1 -0
  1017. package/dist/wu-id-generator.js +110 -0
  1018. package/dist/wu-id-generator.js.map +1 -0
  1019. package/dist/wu-inconsistency-repairer.d.ts +69 -0
  1020. package/dist/wu-inconsistency-repairer.d.ts.map +1 -0
  1021. package/dist/wu-inconsistency-repairer.js +271 -0
  1022. package/dist/wu-inconsistency-repairer.js.map +1 -0
  1023. package/dist/wu-lint.d.ts +191 -0
  1024. package/dist/wu-lint.d.ts.map +1 -0
  1025. package/dist/wu-lint.js +338 -0
  1026. package/dist/wu-lint.js.map +1 -0
  1027. package/dist/wu-list.d.ts +76 -0
  1028. package/dist/wu-list.d.ts.map +1 -0
  1029. package/dist/wu-list.js +181 -0
  1030. package/dist/wu-list.js.map +1 -0
  1031. package/dist/wu-lock-manager.d.ts +28 -0
  1032. package/dist/wu-lock-manager.d.ts.map +1 -0
  1033. package/dist/wu-lock-manager.js +164 -0
  1034. package/dist/wu-lock-manager.js.map +1 -0
  1035. package/dist/wu-paths-constants.d.ts +264 -0
  1036. package/dist/wu-paths-constants.d.ts.map +1 -0
  1037. package/dist/wu-paths-constants.js +273 -0
  1038. package/dist/wu-paths-constants.js.map +1 -0
  1039. package/dist/wu-paths.d.ts +211 -0
  1040. package/dist/wu-paths.d.ts.map +1 -0
  1041. package/dist/wu-paths.js +223 -0
  1042. package/dist/wu-paths.js.map +1 -0
  1043. package/dist/wu-preflight-validators.d.ts +64 -0
  1044. package/dist/wu-preflight-validators.d.ts.map +1 -0
  1045. package/dist/wu-preflight-validators.js +277 -0
  1046. package/dist/wu-preflight-validators.js.map +1 -0
  1047. package/dist/wu-recovery.d.ts +220 -0
  1048. package/dist/wu-recovery.d.ts.map +1 -0
  1049. package/dist/wu-recovery.js +470 -0
  1050. package/dist/wu-recovery.js.map +1 -0
  1051. package/dist/wu-repair-core.d.ts +137 -0
  1052. package/dist/wu-repair-core.d.ts.map +1 -0
  1053. package/dist/wu-repair-core.js +719 -0
  1054. package/dist/wu-repair-core.js.map +1 -0
  1055. package/dist/wu-repair-service.d.ts +22 -0
  1056. package/dist/wu-repair-service.d.ts.map +1 -0
  1057. package/dist/wu-repair-service.js +131 -0
  1058. package/dist/wu-repair-service.js.map +1 -0
  1059. package/dist/wu-rules-core.d.ts +95 -0
  1060. package/dist/wu-rules-core.d.ts.map +1 -0
  1061. package/dist/wu-rules-core.js +401 -0
  1062. package/dist/wu-rules-core.js.map +1 -0
  1063. package/dist/wu-rules-engine.d.ts +29 -0
  1064. package/dist/wu-rules-engine.d.ts.map +1 -0
  1065. package/dist/wu-rules-engine.js +61 -0
  1066. package/dist/wu-rules-engine.js.map +1 -0
  1067. package/dist/wu-rules-resolvers.d.ts +19 -0
  1068. package/dist/wu-rules-resolvers.d.ts.map +1 -0
  1069. package/dist/wu-rules-resolvers.js +229 -0
  1070. package/dist/wu-rules-resolvers.js.map +1 -0
  1071. package/dist/wu-schema-normalization.d.ts +18 -0
  1072. package/dist/wu-schema-normalization.d.ts.map +1 -0
  1073. package/dist/wu-schema-normalization.js +87 -0
  1074. package/dist/wu-schema-normalization.js.map +1 -0
  1075. package/dist/wu-schema.d.ts +772 -0
  1076. package/dist/wu-schema.d.ts.map +1 -0
  1077. package/dist/wu-schema.js +897 -0
  1078. package/dist/wu-schema.js.map +1 -0
  1079. package/dist/wu-spawn-context.d.ts +66 -0
  1080. package/dist/wu-spawn-context.d.ts.map +1 -0
  1081. package/dist/wu-spawn-context.js +185 -0
  1082. package/dist/wu-spawn-context.js.map +1 -0
  1083. package/dist/wu-spawn-helpers.d.ts +110 -0
  1084. package/dist/wu-spawn-helpers.d.ts.map +1 -0
  1085. package/dist/wu-spawn-helpers.js +276 -0
  1086. package/dist/wu-spawn-helpers.js.map +1 -0
  1087. package/dist/wu-spawn-skills.d.ts +39 -0
  1088. package/dist/wu-spawn-skills.d.ts.map +1 -0
  1089. package/dist/wu-spawn-skills.js +214 -0
  1090. package/dist/wu-spawn-skills.js.map +1 -0
  1091. package/dist/wu-spawn.d.ts +33 -0
  1092. package/dist/wu-spawn.d.ts.map +1 -0
  1093. package/dist/wu-spawn.js +212 -0
  1094. package/dist/wu-spawn.js.map +1 -0
  1095. package/dist/wu-state-indexer.d.ts +49 -0
  1096. package/dist/wu-state-indexer.d.ts.map +1 -0
  1097. package/dist/wu-state-indexer.js +156 -0
  1098. package/dist/wu-state-indexer.js.map +1 -0
  1099. package/dist/wu-state-schema.d.ts +253 -0
  1100. package/dist/wu-state-schema.d.ts.map +1 -0
  1101. package/dist/wu-state-schema.js +188 -0
  1102. package/dist/wu-state-schema.js.map +1 -0
  1103. package/dist/wu-state-store.d.ts +64 -0
  1104. package/dist/wu-state-store.d.ts.map +1 -0
  1105. package/dist/wu-state-store.js +171 -0
  1106. package/dist/wu-state-store.js.map +1 -0
  1107. package/dist/wu-status-transition.d.ts +58 -0
  1108. package/dist/wu-status-transition.d.ts.map +1 -0
  1109. package/dist/wu-status-transition.js +370 -0
  1110. package/dist/wu-status-transition.js.map +1 -0
  1111. package/dist/wu-status-updater.d.ts +18 -0
  1112. package/dist/wu-status-updater.d.ts.map +1 -0
  1113. package/dist/wu-status-updater.js +123 -0
  1114. package/dist/wu-status-updater.js.map +1 -0
  1115. package/dist/wu-statuses.d.ts +154 -0
  1116. package/dist/wu-statuses.d.ts.map +1 -0
  1117. package/dist/wu-statuses.js +176 -0
  1118. package/dist/wu-statuses.js.map +1 -0
  1119. package/dist/wu-transaction-collectors.d.ts +111 -0
  1120. package/dist/wu-transaction-collectors.d.ts.map +1 -0
  1121. package/dist/wu-transaction-collectors.js +273 -0
  1122. package/dist/wu-transaction-collectors.js.map +1 -0
  1123. package/dist/wu-transaction.d.ts +172 -0
  1124. package/dist/wu-transaction.d.ts.map +1 -0
  1125. package/dist/wu-transaction.js +288 -0
  1126. package/dist/wu-transaction.js.map +1 -0
  1127. package/dist/wu-type-helpers.d.ts +26 -0
  1128. package/dist/wu-type-helpers.d.ts.map +1 -0
  1129. package/dist/wu-type-helpers.js +45 -0
  1130. package/dist/wu-type-helpers.js.map +1 -0
  1131. package/dist/wu-ui-constants.d.ts +235 -0
  1132. package/dist/wu-ui-constants.d.ts.map +1 -0
  1133. package/dist/wu-ui-constants.js +237 -0
  1134. package/dist/wu-ui-constants.js.map +1 -0
  1135. package/dist/wu-validation-constants.d.ts +61 -0
  1136. package/dist/wu-validation-constants.d.ts.map +1 -0
  1137. package/dist/wu-validation-constants.js +69 -0
  1138. package/dist/wu-validation-constants.js.map +1 -0
  1139. package/dist/wu-validation.d.ts +121 -0
  1140. package/dist/wu-validation.d.ts.map +1 -0
  1141. package/dist/wu-validation.js +266 -0
  1142. package/dist/wu-validation.js.map +1 -0
  1143. package/dist/wu-validator.d.ts +128 -0
  1144. package/dist/wu-validator.d.ts.map +1 -0
  1145. package/dist/wu-validator.js +447 -0
  1146. package/dist/wu-validator.js.map +1 -0
  1147. package/dist/wu-yaml-fixer.d.ts +74 -0
  1148. package/dist/wu-yaml-fixer.d.ts.map +1 -0
  1149. package/dist/wu-yaml-fixer.js +273 -0
  1150. package/dist/wu-yaml-fixer.js.map +1 -0
  1151. package/dist/wu-yaml.d.ts +110 -0
  1152. package/dist/wu-yaml.d.ts.map +1 -0
  1153. package/dist/wu-yaml.js +300 -0
  1154. package/dist/wu-yaml.js.map +1 -0
  1155. package/package.json +2 -2
@@ -0,0 +1,220 @@
1
+ /**
2
+ * WU-1335: Maximum number of recovery attempts before escalating to manual intervention
3
+ * WU-1747: Now derived from the recovery retry preset for consistency
4
+ */
5
+ export declare const MAX_RECOVERY_ATTEMPTS: 4;
6
+ interface RecoveryDoc extends Record<string, unknown> {
7
+ title?: string;
8
+ status?: string;
9
+ locked?: boolean;
10
+ completed_at?: string;
11
+ completed?: string | boolean;
12
+ }
13
+ interface ResetWorktreeYAMLForRecoveryParams {
14
+ worktreePath: string;
15
+ id: string;
16
+ doc: RecoveryDoc;
17
+ }
18
+ interface RecoverZombieStateParams {
19
+ id: string;
20
+ doc: RecoveryDoc;
21
+ _worktreePath?: string;
22
+ _args?: unknown;
23
+ }
24
+ interface RecoverZombieStateResults {
25
+ stamp: {
26
+ created: boolean;
27
+ path: string;
28
+ reason?: string;
29
+ } | null;
30
+ yaml: {
31
+ updated: boolean;
32
+ reason?: string;
33
+ } | null;
34
+ docs: {
35
+ status: unknown | null;
36
+ backlog: unknown | null;
37
+ };
38
+ commit?: {
39
+ committed: boolean;
40
+ reason?: string;
41
+ };
42
+ }
43
+ /**
44
+ * WU-1335: Get the path to the recovery marker file for a WU
45
+ *
46
+ * @param {string} id - WU ID
47
+ * @param {string} [baseDir=process.cwd()] - Base directory for .lumenflow
48
+ * @returns {string} Path to recovery marker file
49
+ */
50
+ export declare function getRecoveryMarkerPath(id: string, baseDir?: string): string;
51
+ /**
52
+ * WU-1335: Get the current recovery attempt count for a WU
53
+ *
54
+ * @param {string} id - WU ID
55
+ * @param {string} [baseDir=process.cwd()] - Base directory for .lumenflow
56
+ * @returns {number} Current attempt count (0 if no marker exists)
57
+ */
58
+ export declare function getRecoveryAttemptCount(id: string, baseDir?: string): number;
59
+ /**
60
+ * WU-1335: Increment recovery attempt count for a WU
61
+ *
62
+ * @param {string} id - WU ID
63
+ * @param {string} [baseDir=process.cwd()] - Base directory for .lumenflow
64
+ * @returns {number} New attempt count
65
+ */
66
+ export declare function incrementRecoveryAttempt(id: string, baseDir?: string): number;
67
+ /**
68
+ * WU-1335: Clear recovery attempts for a WU (called on successful recovery)
69
+ *
70
+ * @param {string} id - WU ID
71
+ * @param {string} [baseDir=process.cwd()] - Base directory for .lumenflow
72
+ */
73
+ export declare function clearRecoveryAttempts(id: string, baseDir?: string): void;
74
+ /**
75
+ * WU-1335: Check if recovery should escalate to manual intervention
76
+ *
77
+ * @param {number} attempts - Current attempt count
78
+ * @returns {boolean} True if should escalate
79
+ */
80
+ export declare function shouldEscalateToManualIntervention(attempts: number): boolean;
81
+ /**
82
+ * Detect zombie state
83
+ *
84
+ * @param {object} doc - WU YAML document
85
+ * @param {string|null} worktreePath - Path to worktree
86
+ * @returns {boolean} True if zombie state detected
87
+ */
88
+ export declare function detectZombieState(doc: {
89
+ status?: string;
90
+ }, worktreePath: string | null): boolean;
91
+ /**
92
+ * WU-1440: Reset worktree WU YAML to in_progress for recovery
93
+ *
94
+ * Instead of committing directly to main (old recovery mode), this function
95
+ * resets the worktree YAML so the normal wu:done merge flow can proceed.
96
+ *
97
+ * Removes completion markers:
98
+ * - status → in_progress
99
+ * - locked → removed
100
+ * - completed_at → removed
101
+ *
102
+ * Preserves all other fields (description, acceptance, code_paths, etc.)
103
+ *
104
+ * @param {object} params - Recovery parameters
105
+ * @param {string} params.worktreePath - Path to worktree root
106
+ * @param {string} params.id - WU ID
107
+ * @param {object} params.doc - WU YAML document (will be mutated)
108
+ * @returns {{ reset: boolean }} Reset result
109
+ */
110
+ export declare function resetWorktreeYAMLForRecovery({ worktreePath, id, doc, }: ResetWorktreeYAMLForRecoveryParams): {
111
+ reset: boolean;
112
+ };
113
+ /**
114
+ * Recover from zombie state
115
+ *
116
+ * THE COMPLETE FIX for WU-1159 gap:
117
+ * - Ensures stamp exists
118
+ * - Ensures YAML completion markers
119
+ * - Ensures status.md updated (THE FIX)
120
+ * - Ensures backlog.md updated (THE FIX)
121
+ *
122
+ * All operations are idempotent - safe to run multiple times
123
+ *
124
+ * WU-1303: Added atomic rollback - if UnsafeAny operation fails, all files are
125
+ * restored to their original state to prevent leaving main checkout dirty.
126
+ *
127
+ * @param {object} params - Recovery parameters
128
+ * @param {string} params.id - WU ID
129
+ * @param {object} params.doc - WU YAML document
130
+ * @param {string} params.worktreePath - Path to worktree
131
+ * @param {object} params.args - Command-line args
132
+ * @returns {object} Recovery results
133
+ */
134
+ export declare function recoverZombieState({ id, doc, _worktreePath, _args, }: RecoverZombieStateParams): Promise<RecoverZombieStateResults>;
135
+ /**
136
+ * WU-1665: Environment variable key for legacy rollback compatibility guard.
137
+ * When set to "1", the legacy rollback path is used instead of state-machine-driven recovery.
138
+ */
139
+ export declare const LUMENFLOW_LEGACY_ROLLBACK_ENV_KEY = "LUMENFLOW_LEGACY_ROLLBACK";
140
+ /**
141
+ * WU-1665: Check if legacy rollback mode is enabled via environment variable.
142
+ *
143
+ * During the migration window, operators can set LUMENFLOW_LEGACY_ROLLBACK=1
144
+ * to use the pre-WU-1665 recovery path for rollback operations.
145
+ *
146
+ * @returns {boolean} True if legacy rollback is enabled
147
+ */
148
+ export declare function isLegacyRollbackEnabled(): boolean;
149
+ /**
150
+ * WU-1665: Rollback scope determined by the pipeline state where failure occurred.
151
+ *
152
+ * Maps each pipeline stage to the recovery actions needed:
153
+ * - validating/preparing: nothing written, no rollback needed
154
+ * - gating: nothing written (gates are read-only checks), no rollback needed
155
+ * - committing: files written to disk, need snapshot restore
156
+ * - merging: committed to worktree branch, need snapshot + branch rollback
157
+ * - pushing: merged but push failed, need snapshot + branch rollback
158
+ * - cleaningUp: push succeeded, only worktree cleanup remains
159
+ */
160
+ export interface RollbackScope {
161
+ /** Whether file snapshot restore is needed (files were written to disk) */
162
+ snapshotRestore: boolean;
163
+ /** Whether branch-level rollback is needed (commits were made) */
164
+ branchRollback: boolean;
165
+ /** Whether worktree cleanup is the remaining action (push already succeeded) */
166
+ worktreeCleanup: boolean;
167
+ }
168
+ /**
169
+ * WU-1665: Recovery state from the XState pipeline snapshot.
170
+ */
171
+ export interface PipelineRecoveryState {
172
+ wuId: string;
173
+ failedAt: string | null;
174
+ error: string | null;
175
+ retryCount: number;
176
+ }
177
+ /**
178
+ * WU-1665: State-machine-driven recovery manager.
179
+ *
180
+ * Determines rollback scope from the pipeline's failedAt state, replacing
181
+ * the ad-hoc per-function rollback logic scattered across wu-recovery.ts,
182
+ * wu-transaction.ts, and rollback-utils.ts.
183
+ *
184
+ * Usage:
185
+ * ```ts
186
+ * const manager = new StateMachineRecoveryManager({
187
+ * wuId: 'WU-1665',
188
+ * failedAt: 'committing',
189
+ * error: 'git commit failed',
190
+ * retryCount: 0,
191
+ * });
192
+ * const scope = manager.getRollbackScope();
193
+ * // scope.snapshotRestore === true
194
+ * // scope.branchRollback === false
195
+ * ```
196
+ */
197
+ export declare class StateMachineRecoveryManager {
198
+ readonly wuId: string;
199
+ readonly failedAt: string | null;
200
+ readonly error: string | null;
201
+ readonly retryCount: number;
202
+ constructor(state: PipelineRecoveryState);
203
+ /**
204
+ * Determine rollback scope based on the pipeline stage where failure occurred.
205
+ *
206
+ * The scope is deterministic: given the same failedAt state, the same
207
+ * rollback actions are always prescribed.
208
+ */
209
+ getRollbackScope(): RollbackScope;
210
+ /**
211
+ * Serialize recovery state for persistence (e.g., to .lumenflow/recovery/).
212
+ */
213
+ serialize(): string;
214
+ /**
215
+ * Deserialize recovery state from persisted JSON.
216
+ */
217
+ static deserialize(json: string): StateMachineRecoveryManager;
218
+ }
219
+ export {};
220
+ //# sourceMappingURL=wu-recovery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wu-recovery.d.ts","sourceRoot":"","sources":["../src/wu-recovery.ts"],"names":[],"mappings":"AAwCA;;;GAGG;AACH,eAAO,MAAM,qBAAqB,GAAqC,CAAC;AA4BxE,UAAU,WAAY,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAC9B;AAED,UAAU,kCAAkC;IAC1C,YAAY,EAAE,MAAM,CAAC;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,WAAW,CAAC;CAClB;AAED,UAAU,wBAAwB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,WAAW,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,UAAU,yBAAyB;IACjC,KAAK,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAClE,IAAI,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACnD,IAAI,EAAE;QAAE,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;QAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;KAAE,CAAC;IAC1D,MAAM,CAAC,EAAE;QAAE,SAAS,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAClD;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,SAAgB,GAAG,MAAM,CAEjF;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,SAAgB,GAAG,MAAM,CAYnF;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,SAAgB,GAAG,MAAM,CAoBpF;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,SAAgB,GAAG,IAAI,CAK/E;AAED;;;;;GAKG;AACH,wBAAgB,kCAAkC,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAE5E;AAgFD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAKhG;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,4BAA4B,CAAC,EAC3C,YAAY,EACZ,EAAE,EACF,GAAG,GACJ,EAAE,kCAAkC,GAAG;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,CAsBzD;AAID;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,kBAAkB,CAAC,EACvC,EAAE,EACF,GAAG,EACH,aAAa,EACb,KAAK,GACN,EAAE,wBAAwB,GAAG,OAAO,CAAC,yBAAyB,CAAC,CA0H/D;AAMD;;;GAGG;AACH,eAAO,MAAM,iCAAiC,8BAA8B,CAAC;AAE7E;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,IAAI,OAAO,CAEjD;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,aAAa;IAC5B,2EAA2E;IAC3E,eAAe,EAAE,OAAO,CAAC;IACzB,kEAAkE;IAClE,cAAc,EAAE,OAAO,CAAC;IACxB,gFAAgF;IAChF,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,2BAA2B;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;gBAEhB,KAAK,EAAE,qBAAqB;IAOxC;;;;;OAKG;IACH,gBAAgB,IAAI,aAAa;IA4CjC;;OAEG;IACH,SAAS,IAAI,MAAM;IAUnB;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,2BAA2B;CAI9D"}
@@ -0,0 +1,470 @@
1
+ // Copyright (c) 2026 Hellmai Ltd
2
+ // SPDX-License-Identifier: AGPL-3.0-only
3
+ /**
4
+ * WU Recovery Module
5
+ *
6
+ * Handles zombie state recovery (status=done but worktree still exists)
7
+ * Fixes WU-1159 gap by ensuring status.md AND backlog.md are updated
8
+ *
9
+ * Zombie states occur when wu:done crashes mid-execution:
10
+ * - WU YAML updated to status=done
11
+ * - But cleanup incomplete (worktree exists, docs not updated, etc.)
12
+ *
13
+ * Recovery mode is idempotent - safe to run multiple times
14
+ *
15
+ * NOTE (WU-1826): Core recovery functions are now re-exported from
16
+ * tools/lib/wu-repair-core.ts for use by the unified wu:repair command.
17
+ * This module remains the canonical implementation used by wu-done.ts.
18
+ *
19
+ * WU-1665: Adds state-machine-driven recovery consolidation.
20
+ * - StateMachineRecoveryManager determines rollback scope from pipeline failedAt state.
21
+ * - Legacy rollback path retained behind LUMENFLOW_LEGACY_ROLLBACK=1 env flag.
22
+ * - All recovery is now centralized through state-machine semantics by default.
23
+ */
24
+ import { existsSync, readFileSync, unlinkSync, writeFileSync, mkdirSync } from 'node:fs';
25
+ import { join, isAbsolute } from 'node:path';
26
+ import { RECOVERY } from './wu-done-messages.js';
27
+ import { createStamp } from './stamp-utils.js';
28
+ import { WU_PATHS } from './wu-paths.js';
29
+ import { writeWU } from './wu-yaml.js';
30
+ import { updateStatusRemoveInProgress, addToStatusCompleted } from './wu-status-updater.js';
31
+ import { moveWUToDoneBacklog } from './wu-backlog-updater.js';
32
+ import { getGitForCwd } from './git-adapter.js';
33
+ import { createError, ErrorCodes, getErrorMessage } from './error-handler.js';
34
+ import { rollbackFiles } from './rollback-utils.js';
35
+ import { LOG_PREFIX, EMOJI, WU_STATUS, getProjectRoot, LUMENFLOW_PATHS } from './wu-constants.js';
36
+ import { RETRY_PRESETS } from './retry-strategy.js';
37
+ /**
38
+ * WU-1335: Maximum number of recovery attempts before escalating to manual intervention
39
+ * WU-1747: Now derived from the recovery retry preset for consistency
40
+ */
41
+ export const MAX_RECOVERY_ATTEMPTS = RETRY_PRESETS.recovery.maxAttempts;
42
+ /**
43
+ * WU-1335: Recovery marker subdirectory within .lumenflow
44
+ */
45
+ const RECOVERY_MARKER_DIR = 'recovery';
46
+ /**
47
+ * WU-1335: Get the path to the recovery marker file for a WU
48
+ *
49
+ * @param {string} id - WU ID
50
+ * @param {string} [baseDir=process.cwd()] - Base directory for .lumenflow
51
+ * @returns {string} Path to recovery marker file
52
+ */
53
+ export function getRecoveryMarkerPath(id, baseDir = process.cwd()) {
54
+ return join(baseDir, LUMENFLOW_PATHS.BASE, RECOVERY_MARKER_DIR, `${id}.recovery`);
55
+ }
56
+ /**
57
+ * WU-1335: Get the current recovery attempt count for a WU
58
+ *
59
+ * @param {string} id - WU ID
60
+ * @param {string} [baseDir=process.cwd()] - Base directory for .lumenflow
61
+ * @returns {number} Current attempt count (0 if no marker exists)
62
+ */
63
+ export function getRecoveryAttemptCount(id, baseDir = process.cwd()) {
64
+ const markerPath = getRecoveryMarkerPath(id, baseDir);
65
+ if (!existsSync(markerPath)) {
66
+ return 0;
67
+ }
68
+ try {
69
+ const data = JSON.parse(readFileSync(markerPath, { encoding: 'utf-8' }));
70
+ return typeof data.attempts === 'number' ? data.attempts : 0;
71
+ }
72
+ catch {
73
+ // Corrupted file - treat as 0
74
+ return 0;
75
+ }
76
+ }
77
+ /**
78
+ * WU-1335: Increment recovery attempt count for a WU
79
+ *
80
+ * @param {string} id - WU ID
81
+ * @param {string} [baseDir=process.cwd()] - Base directory for .lumenflow
82
+ * @returns {number} New attempt count
83
+ */
84
+ export function incrementRecoveryAttempt(id, baseDir = process.cwd()) {
85
+ const markerPath = getRecoveryMarkerPath(id, baseDir);
86
+ const markerDir = join(baseDir, LUMENFLOW_PATHS.BASE, RECOVERY_MARKER_DIR);
87
+ // Ensure directory exists
88
+ if (!existsSync(markerDir)) {
89
+ mkdirSync(markerDir, { recursive: true });
90
+ }
91
+ const currentCount = getRecoveryAttemptCount(id, baseDir);
92
+ const newCount = currentCount + 1;
93
+ const data = {
94
+ attempts: newCount,
95
+ lastAttempt: new Date().toISOString(),
96
+ wuId: id,
97
+ };
98
+ writeFileSync(markerPath, JSON.stringify(data, null, 2));
99
+ return newCount;
100
+ }
101
+ /**
102
+ * WU-1335: Clear recovery attempts for a WU (called on successful recovery)
103
+ *
104
+ * @param {string} id - WU ID
105
+ * @param {string} [baseDir=process.cwd()] - Base directory for .lumenflow
106
+ */
107
+ export function clearRecoveryAttempts(id, baseDir = process.cwd()) {
108
+ const markerPath = getRecoveryMarkerPath(id, baseDir);
109
+ if (existsSync(markerPath)) {
110
+ unlinkSync(markerPath);
111
+ }
112
+ }
113
+ /**
114
+ * WU-1335: Check if recovery should escalate to manual intervention
115
+ *
116
+ * @param {number} attempts - Current attempt count
117
+ * @returns {boolean} True if should escalate
118
+ */
119
+ export function shouldEscalateToManualIntervention(attempts) {
120
+ return attempts >= MAX_RECOVERY_ATTEMPTS;
121
+ }
122
+ /**
123
+ * Record initial state for atomic rollback (WU-1303)
124
+ *
125
+ * @param {object} paths - Object containing file paths
126
+ * @param {string} paths.wuPath - Path to WU YAML
127
+ * @param {string} paths.statusPath - Path to status.md
128
+ * @param {string} paths.backlogPath - Path to backlog.md
129
+ * @param {string} paths.stampPath - Path to stamp file
130
+ * @returns {object} Transaction state for rollback
131
+ */
132
+ function recordRecoveryState(paths) {
133
+ const { wuPath, statusPath, backlogPath, stampPath } = paths;
134
+ return {
135
+ wuContent: existsSync(wuPath) ? readFileSync(wuPath, { encoding: 'utf-8' }) : null,
136
+ statusContent: existsSync(statusPath) ? readFileSync(statusPath, { encoding: 'utf-8' }) : null,
137
+ backlogContent: existsSync(backlogPath)
138
+ ? readFileSync(backlogPath, { encoding: 'utf-8' })
139
+ : null,
140
+ stampExisted: existsSync(stampPath),
141
+ timestamp: new Date().toISOString(),
142
+ };
143
+ }
144
+ /**
145
+ * Rollback recovery transaction on failure (WU-1303)
146
+ *
147
+ * @param {object} state - Transaction state from recordRecoveryState
148
+ * @param {object} paths - Object containing file paths
149
+ */
150
+ function rollbackRecoveryTransaction(state, paths) {
151
+ const { wuPath, statusPath, backlogPath, stampPath } = paths;
152
+ console.log(`${LOG_PREFIX.DONE} ${EMOJI.WARNING} Rolling back recovery transaction...`);
153
+ // Build list of files to restore
154
+ const filesToRestore = [];
155
+ if (state.wuContent !== null) {
156
+ filesToRestore.push({ name: 'WU YAML', path: wuPath, content: state.wuContent });
157
+ }
158
+ if (state.statusContent !== null) {
159
+ filesToRestore.push({ name: 'status.md', path: statusPath, content: state.statusContent });
160
+ }
161
+ if (state.backlogContent !== null) {
162
+ filesToRestore.push({ name: 'backlog.md', path: backlogPath, content: state.backlogContent });
163
+ }
164
+ // Restore files
165
+ if (filesToRestore.length > 0) {
166
+ const result = rollbackFiles(filesToRestore);
167
+ for (const name of result.restored) {
168
+ console.log(`${LOG_PREFIX.DONE} ${EMOJI.SUCCESS} Restored ${name}`);
169
+ }
170
+ for (const err of result.errors) {
171
+ console.error(`${LOG_PREFIX.DONE} ${EMOJI.FAILURE} Failed to restore ${err.name}: ${err.error}`);
172
+ }
173
+ }
174
+ // Remove stamp if it was created during recovery
175
+ if (!state.stampExisted && existsSync(stampPath)) {
176
+ try {
177
+ unlinkSync(stampPath);
178
+ console.log(`${LOG_PREFIX.DONE} ${EMOJI.SUCCESS} Removed stamp file`);
179
+ }
180
+ catch (err) {
181
+ console.error(`${LOG_PREFIX.DONE} ${EMOJI.FAILURE} Failed to remove stamp: ${getErrorMessage(err)}`);
182
+ }
183
+ }
184
+ console.log(`${LOG_PREFIX.DONE} ${EMOJI.SUCCESS} Rollback complete - main checkout is clean`);
185
+ }
186
+ /**
187
+ * Detect zombie state
188
+ *
189
+ * @param {object} doc - WU YAML document
190
+ * @param {string|null} worktreePath - Path to worktree
191
+ * @returns {boolean} True if zombie state detected
192
+ */
193
+ export function detectZombieState(doc, worktreePath) {
194
+ if (!worktreePath) {
195
+ return false;
196
+ }
197
+ return doc.status === WU_STATUS.DONE && existsSync(worktreePath);
198
+ }
199
+ /**
200
+ * WU-1440: Reset worktree WU YAML to in_progress for recovery
201
+ *
202
+ * Instead of committing directly to main (old recovery mode), this function
203
+ * resets the worktree YAML so the normal wu:done merge flow can proceed.
204
+ *
205
+ * Removes completion markers:
206
+ * - status → in_progress
207
+ * - locked → removed
208
+ * - completed_at → removed
209
+ *
210
+ * Preserves all other fields (description, acceptance, code_paths, etc.)
211
+ *
212
+ * @param {object} params - Recovery parameters
213
+ * @param {string} params.worktreePath - Path to worktree root
214
+ * @param {string} params.id - WU ID
215
+ * @param {object} params.doc - WU YAML document (will be mutated)
216
+ * @returns {{ reset: boolean }} Reset result
217
+ */
218
+ export function resetWorktreeYAMLForRecovery({ worktreePath, id, doc, }) {
219
+ const projectRoot = getProjectRoot(import.meta.url);
220
+ const resolvedWorktreeRoot = isAbsolute(worktreePath)
221
+ ? worktreePath
222
+ : join(projectRoot, worktreePath);
223
+ const wtWUPath = join(resolvedWorktreeRoot, WU_PATHS.WU(id));
224
+ // Reset status to in_progress
225
+ doc.status = WU_STATUS.IN_PROGRESS;
226
+ // Remove completion markers (delete from object)
227
+ delete doc.locked;
228
+ delete doc.completed_at;
229
+ // Write updated YAML to worktree
230
+ writeWU(wtWUPath, doc);
231
+ console.log(`${LOG_PREFIX.DONE} ${EMOJI.SUCCESS} Reset worktree YAML to in_progress for recovery`);
232
+ return { reset: true };
233
+ }
234
+ // Note: updateBacklogMd removed (WU-1163) - now uses shared moveWUToDoneBacklog from wu-backlog-updater.ts
235
+ /**
236
+ * Recover from zombie state
237
+ *
238
+ * THE COMPLETE FIX for WU-1159 gap:
239
+ * - Ensures stamp exists
240
+ * - Ensures YAML completion markers
241
+ * - Ensures status.md updated (THE FIX)
242
+ * - Ensures backlog.md updated (THE FIX)
243
+ *
244
+ * All operations are idempotent - safe to run multiple times
245
+ *
246
+ * WU-1303: Added atomic rollback - if UnsafeAny operation fails, all files are
247
+ * restored to their original state to prevent leaving main checkout dirty.
248
+ *
249
+ * @param {object} params - Recovery parameters
250
+ * @param {string} params.id - WU ID
251
+ * @param {object} params.doc - WU YAML document
252
+ * @param {string} params.worktreePath - Path to worktree
253
+ * @param {object} params.args - Command-line args
254
+ * @returns {object} Recovery results
255
+ */
256
+ export async function recoverZombieState({ id, doc, _worktreePath, _args, }) {
257
+ console.log(`\n${RECOVERY.DETECTED}`);
258
+ console.log(RECOVERY.RESUMING);
259
+ console.log(RECOVERY.EXPLANATION);
260
+ const results = {
261
+ stamp: null,
262
+ yaml: null,
263
+ docs: { status: null, backlog: null },
264
+ };
265
+ // WU-1303: Record file state BEFORE UnsafeAny modifications for atomic rollback
266
+ const wuPath = WU_PATHS.WU(id);
267
+ const statusPath = WU_PATHS.STATUS();
268
+ const backlogPath = WU_PATHS.BACKLOG();
269
+ const stampPath = WU_PATHS.STAMP(id);
270
+ const paths = { wuPath, statusPath, backlogPath, stampPath };
271
+ const initialState = recordRecoveryState(paths);
272
+ try {
273
+ // 1. Ensure stamp exists (idempotent)
274
+ console.log(RECOVERY.CREATING_STAMP);
275
+ results.stamp = createStamp({ id, title: doc.title ?? id });
276
+ console.log(RECOVERY.STAMP_CREATED);
277
+ // 2. Ensure YAML completion markers (idempotent)
278
+ console.log(RECOVERY.UPDATING_YAML);
279
+ let yamlUpdated = false;
280
+ if (doc.locked !== true) {
281
+ doc.locked = true;
282
+ yamlUpdated = true;
283
+ }
284
+ if (!doc.completed_at && !doc.completed) {
285
+ doc.completed_at = new Date().toISOString();
286
+ yamlUpdated = true;
287
+ }
288
+ if (yamlUpdated) {
289
+ writeWU(wuPath, doc);
290
+ results.yaml = { updated: true };
291
+ }
292
+ else {
293
+ results.yaml = { updated: false, reason: 'already_complete' };
294
+ }
295
+ console.log(RECOVERY.YAML_UPDATED);
296
+ // 3. **FIX WU-1159 GAP**: Update status.md and backlog.md (idempotent)
297
+ console.log(RECOVERY.UPDATING_DOCS);
298
+ updateStatusRemoveInProgress(statusPath, id);
299
+ addToStatusCompleted(statusPath, id, doc.title);
300
+ results.docs.status = { updated: true };
301
+ await moveWUToDoneBacklog(backlogPath, id, doc.title);
302
+ results.docs.backlog = { updated: true };
303
+ console.log(RECOVERY.DOCS_UPDATED);
304
+ // 4. **FIX WU-1201**: Commit recovery changes to prevent data loss
305
+ // Check if git status is dirty (files were updated)
306
+ const git = getGitForCwd();
307
+ const statusOutput = await git.getStatus();
308
+ if (statusOutput && statusOutput.trim()) {
309
+ console.log(RECOVERY.COMMITTING);
310
+ try {
311
+ await git.add([stampPath, wuPath, statusPath, backlogPath]);
312
+ // WU-1383: Set recovery mode env var to bypass stamp existence check in validate.ts
313
+ // During recovery, stamp and status=done are committed atomically, but pre-commit
314
+ // hooks run mid-commit when both files are staged but validation sees inconsistent state
315
+ process.env.WU_RECOVERY_ID = id;
316
+ try {
317
+ await git.commit(`chore(recovery): complete wu:done metadata for ${id}`);
318
+ }
319
+ finally {
320
+ // Always clean up env var (WU-1383)
321
+ delete process.env.WU_RECOVERY_ID;
322
+ }
323
+ results.commit = { committed: true };
324
+ console.log(RECOVERY.COMMIT_SUCCESS);
325
+ }
326
+ catch (commitError) {
327
+ const commitMessage = getErrorMessage(commitError);
328
+ // Commit failed - rollback all changes (WU-1303)
329
+ console.warn(RECOVERY.COMMIT_FAILED(commitMessage));
330
+ rollbackRecoveryTransaction(initialState, paths);
331
+ throw createError(ErrorCodes.GIT_ERROR, `Recovery commit failed: ${commitMessage}\nFiles rolled back to clean state. Re-run wu:done to retry.`, { originalError: commitMessage, wuId: id });
332
+ }
333
+ }
334
+ else {
335
+ results.commit = { committed: false, reason: 'no_changes' };
336
+ }
337
+ console.log(RECOVERY.MARKERS_VERIFIED);
338
+ console.log(RECOVERY.PROCEEDING_CLEANUP);
339
+ return results;
340
+ }
341
+ catch (error) {
342
+ // WU-1303: Atomic rollback on ANY failure (not just commit)
343
+ // Re-throw if it's already a structured error (from commit phase)
344
+ if (typeof error === 'object' &&
345
+ error !== null &&
346
+ 'code' in error &&
347
+ error.code === ErrorCodes.GIT_ERROR) {
348
+ throw error;
349
+ }
350
+ const message = getErrorMessage(error);
351
+ // Rollback file changes for non-commit errors
352
+ console.error(`${LOG_PREFIX.DONE} ${EMOJI.FAILURE} Recovery failed: ${message}`);
353
+ rollbackRecoveryTransaction(initialState, paths);
354
+ throw createError(ErrorCodes.RECOVERY_ERROR, `Recovery operation failed: ${message}\nFiles rolled back to clean state. Re-run wu:done to retry.`, { originalError: message, wuId: id });
355
+ }
356
+ }
357
+ // ---------------------------------------------------------------------------
358
+ // WU-1665: State-machine-driven recovery consolidation
359
+ // ---------------------------------------------------------------------------
360
+ /**
361
+ * WU-1665: Environment variable key for legacy rollback compatibility guard.
362
+ * When set to "1", the legacy rollback path is used instead of state-machine-driven recovery.
363
+ */
364
+ export const LUMENFLOW_LEGACY_ROLLBACK_ENV_KEY = 'LUMENFLOW_LEGACY_ROLLBACK';
365
+ /**
366
+ * WU-1665: Check if legacy rollback mode is enabled via environment variable.
367
+ *
368
+ * During the migration window, operators can set LUMENFLOW_LEGACY_ROLLBACK=1
369
+ * to use the pre-WU-1665 recovery path for rollback operations.
370
+ *
371
+ * @returns {boolean} True if legacy rollback is enabled
372
+ */
373
+ export function isLegacyRollbackEnabled() {
374
+ return process.env[LUMENFLOW_LEGACY_ROLLBACK_ENV_KEY] === '1';
375
+ }
376
+ /**
377
+ * WU-1665: State-machine-driven recovery manager.
378
+ *
379
+ * Determines rollback scope from the pipeline's failedAt state, replacing
380
+ * the ad-hoc per-function rollback logic scattered across wu-recovery.ts,
381
+ * wu-transaction.ts, and rollback-utils.ts.
382
+ *
383
+ * Usage:
384
+ * ```ts
385
+ * const manager = new StateMachineRecoveryManager({
386
+ * wuId: 'WU-1665',
387
+ * failedAt: 'committing',
388
+ * error: 'git commit failed',
389
+ * retryCount: 0,
390
+ * });
391
+ * const scope = manager.getRollbackScope();
392
+ * // scope.snapshotRestore === true
393
+ * // scope.branchRollback === false
394
+ * ```
395
+ */
396
+ export class StateMachineRecoveryManager {
397
+ wuId;
398
+ failedAt;
399
+ error;
400
+ retryCount;
401
+ constructor(state) {
402
+ this.wuId = state.wuId;
403
+ this.failedAt = state.failedAt;
404
+ this.error = state.error;
405
+ this.retryCount = state.retryCount;
406
+ }
407
+ /**
408
+ * Determine rollback scope based on the pipeline stage where failure occurred.
409
+ *
410
+ * The scope is deterministic: given the same failedAt state, the same
411
+ * rollback actions are always prescribed.
412
+ */
413
+ getRollbackScope() {
414
+ const failedAt = this.failedAt;
415
+ // Pre-write states: nothing to roll back
416
+ if (!failedAt ||
417
+ failedAt === 'validating' ||
418
+ failedAt === 'preparing' ||
419
+ failedAt === 'gating') {
420
+ return {
421
+ snapshotRestore: false,
422
+ branchRollback: false,
423
+ worktreeCleanup: false,
424
+ };
425
+ }
426
+ // Post-push state: push already succeeded, only cleanup remains
427
+ if (failedAt === 'cleaningUp') {
428
+ return {
429
+ snapshotRestore: false,
430
+ branchRollback: false,
431
+ worktreeCleanup: true,
432
+ };
433
+ }
434
+ // Commit-phase failures: files written, need snapshot restore
435
+ if (failedAt === 'committing') {
436
+ return {
437
+ snapshotRestore: true,
438
+ branchRollback: false,
439
+ worktreeCleanup: false,
440
+ };
441
+ }
442
+ // Merge/push phase failures: committed + potentially merged, need full rollback
443
+ // (merging, pushing)
444
+ return {
445
+ snapshotRestore: true,
446
+ branchRollback: true,
447
+ worktreeCleanup: false,
448
+ };
449
+ }
450
+ /**
451
+ * Serialize recovery state for persistence (e.g., to .lumenflow/recovery/).
452
+ */
453
+ serialize() {
454
+ return JSON.stringify({
455
+ wuId: this.wuId,
456
+ failedAt: this.failedAt,
457
+ error: this.error,
458
+ retryCount: this.retryCount,
459
+ serializedAt: new Date().toISOString(),
460
+ });
461
+ }
462
+ /**
463
+ * Deserialize recovery state from persisted JSON.
464
+ */
465
+ static deserialize(json) {
466
+ const data = JSON.parse(json);
467
+ return new StateMachineRecoveryManager(data);
468
+ }
469
+ }
470
+ //# sourceMappingURL=wu-recovery.js.map