@lumenflow/core 2.18.3 → 2.20.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 (215) hide show
  1. package/dist/adapters/terminal-renderer.adapter.d.ts.map +1 -1
  2. package/dist/adapters/terminal-renderer.adapter.js +6 -4
  3. package/dist/adapters/terminal-renderer.adapter.js.map +1 -1
  4. package/dist/arg-parser.js +2 -2
  5. package/dist/arg-parser.js.map +1 -1
  6. package/dist/atomic-merge.d.ts +21 -0
  7. package/dist/atomic-merge.d.ts.map +1 -0
  8. package/dist/atomic-merge.js +83 -0
  9. package/dist/atomic-merge.js.map +1 -0
  10. package/dist/context/wu-state-reader.d.ts +2 -0
  11. package/dist/context/wu-state-reader.d.ts.map +1 -1
  12. package/dist/context/wu-state-reader.js +3 -0
  13. package/dist/context/wu-state-reader.js.map +1 -1
  14. package/dist/delegation-escalation.d.ts +91 -0
  15. package/dist/delegation-escalation.d.ts.map +1 -0
  16. package/dist/delegation-escalation.js +258 -0
  17. package/dist/delegation-escalation.js.map +1 -0
  18. package/dist/delegation-monitor.d.ts +230 -0
  19. package/dist/delegation-monitor.d.ts.map +1 -0
  20. package/dist/delegation-monitor.js +675 -0
  21. package/dist/delegation-monitor.js.map +1 -0
  22. package/dist/delegation-recovery.d.ts +83 -0
  23. package/dist/delegation-recovery.d.ts.map +1 -0
  24. package/dist/delegation-recovery.js +299 -0
  25. package/dist/delegation-recovery.js.map +1 -0
  26. package/dist/delegation-registry-schema.d.ts +80 -0
  27. package/dist/delegation-registry-schema.d.ts.map +1 -0
  28. package/dist/delegation-registry-schema.js +91 -0
  29. package/dist/delegation-registry-schema.js.map +1 -0
  30. package/dist/delegation-registry-store.d.ts +159 -0
  31. package/dist/delegation-registry-store.d.ts.map +1 -0
  32. package/dist/delegation-registry-store.js +299 -0
  33. package/dist/delegation-registry-store.js.map +1 -0
  34. package/dist/delegation-tree.d.ts +57 -0
  35. package/dist/delegation-tree.d.ts.map +1 -0
  36. package/dist/delegation-tree.js +203 -0
  37. package/dist/delegation-tree.js.map +1 -0
  38. package/dist/gates-agent-mode.d.ts +25 -0
  39. package/dist/gates-agent-mode.d.ts.map +1 -1
  40. package/dist/gates-agent-mode.js +41 -0
  41. package/dist/gates-agent-mode.js.map +1 -1
  42. package/dist/index.d.ts +16 -7
  43. package/dist/index.d.ts.map +1 -1
  44. package/dist/index.js +20 -9
  45. package/dist/index.js.map +1 -1
  46. package/dist/lumenflow-config-schema.d.ts +9 -3
  47. package/dist/lumenflow-config-schema.d.ts.map +1 -1
  48. package/dist/lumenflow-config-schema.js +19 -4
  49. package/dist/lumenflow-config-schema.js.map +1 -1
  50. package/dist/lumenflow-config.d.ts +2 -0
  51. package/dist/lumenflow-config.d.ts.map +1 -1
  52. package/dist/lumenflow-config.js +1 -0
  53. package/dist/lumenflow-config.js.map +1 -1
  54. package/dist/micro-worktree.d.ts.map +1 -1
  55. package/dist/micro-worktree.js +15 -9
  56. package/dist/micro-worktree.js.map +1 -1
  57. package/dist/rollback-utils.d.ts +52 -0
  58. package/dist/rollback-utils.d.ts.map +1 -1
  59. package/dist/rollback-utils.js +111 -0
  60. package/dist/rollback-utils.js.map +1 -1
  61. package/dist/sandbox-allowlist.d.ts +16 -0
  62. package/dist/sandbox-allowlist.d.ts.map +1 -0
  63. package/dist/sandbox-allowlist.js +75 -0
  64. package/dist/sandbox-allowlist.js.map +1 -0
  65. package/dist/sandbox-backend-linux.d.ts +6 -0
  66. package/dist/sandbox-backend-linux.d.ts.map +1 -0
  67. package/dist/sandbox-backend-linux.js +65 -0
  68. package/dist/sandbox-backend-linux.js.map +1 -0
  69. package/dist/sandbox-backend-macos.d.ts +6 -0
  70. package/dist/sandbox-backend-macos.d.ts.map +1 -0
  71. package/dist/sandbox-backend-macos.js +64 -0
  72. package/dist/sandbox-backend-macos.js.map +1 -0
  73. package/dist/sandbox-backend-windows.d.ts +6 -0
  74. package/dist/sandbox-backend-windows.d.ts.map +1 -0
  75. package/dist/sandbox-backend-windows.js +28 -0
  76. package/dist/sandbox-backend-windows.js.map +1 -0
  77. package/dist/sandbox-profile.d.ts +53 -0
  78. package/dist/sandbox-profile.d.ts.map +1 -0
  79. package/dist/sandbox-profile.js +62 -0
  80. package/dist/sandbox-profile.js.map +1 -0
  81. package/dist/schemas/index.d.ts +3 -3
  82. package/dist/schemas/index.d.ts.map +1 -1
  83. package/dist/schemas/index.js +6 -6
  84. package/dist/schemas/index.js.map +1 -1
  85. package/dist/schemas/initiative-arg-validators.d.ts +1 -0
  86. package/dist/schemas/initiative-arg-validators.d.ts.map +1 -1
  87. package/dist/schemas/initiative-schemas.d.ts +3 -1
  88. package/dist/schemas/initiative-schemas.d.ts.map +1 -1
  89. package/dist/schemas/initiative-schemas.js +2 -1
  90. package/dist/schemas/initiative-schemas.js.map +1 -1
  91. package/dist/schemas/setup-arg-validators.d.ts +4 -4
  92. package/dist/schemas/setup-arg-validators.d.ts.map +1 -1
  93. package/dist/schemas/setup-arg-validators.js +6 -6
  94. package/dist/schemas/setup-arg-validators.js.map +1 -1
  95. package/dist/schemas/setup-schemas.d.ts +7 -7
  96. package/dist/schemas/setup-schemas.d.ts.map +1 -1
  97. package/dist/schemas/setup-schemas.js +11 -11
  98. package/dist/schemas/setup-schemas.js.map +1 -1
  99. package/dist/schemas/wu-lifecycle-arg-validators.d.ts +2 -1
  100. package/dist/schemas/wu-lifecycle-arg-validators.d.ts.map +1 -1
  101. package/dist/schemas/wu-lifecycle-schemas.d.ts +5 -3
  102. package/dist/schemas/wu-lifecycle-schemas.d.ts.map +1 -1
  103. package/dist/schemas/wu-lifecycle-schemas.js +6 -2
  104. package/dist/schemas/wu-lifecycle-schemas.js.map +1 -1
  105. package/dist/spawn-strategy.d.ts +1 -1
  106. package/dist/spawn-strategy.js +1 -1
  107. package/dist/template-loader.d.ts +7 -3
  108. package/dist/template-loader.d.ts.map +1 -1
  109. package/dist/template-loader.js +22 -6
  110. package/dist/template-loader.js.map +1 -1
  111. package/dist/validation/types.d.ts +2 -0
  112. package/dist/validation/types.d.ts.map +1 -1
  113. package/dist/wu-consistency-checker.d.ts +1 -0
  114. package/dist/wu-consistency-checker.d.ts.map +1 -1
  115. package/dist/wu-consistency-checker.js +31 -2
  116. package/dist/wu-consistency-checker.js.map +1 -1
  117. package/dist/wu-context-constants.d.ts +4 -2
  118. package/dist/wu-context-constants.d.ts.map +1 -1
  119. package/dist/wu-context-constants.js +4 -2
  120. package/dist/wu-context-constants.js.map +1 -1
  121. package/dist/wu-done-branch-only.d.ts +2 -11
  122. package/dist/wu-done-branch-only.d.ts.map +1 -1
  123. package/dist/wu-done-branch-only.js +81 -45
  124. package/dist/wu-done-branch-only.js.map +1 -1
  125. package/dist/wu-done-cleanup.js +33 -1
  126. package/dist/wu-done-cleanup.js.map +1 -1
  127. package/dist/wu-done-initiative-sync.d.ts.map +1 -1
  128. package/dist/wu-done-initiative-sync.js +20 -5
  129. package/dist/wu-done-initiative-sync.js.map +1 -1
  130. package/dist/wu-done-machine.d.ts +175 -0
  131. package/dist/wu-done-machine.d.ts.map +1 -0
  132. package/dist/wu-done-machine.js +225 -0
  133. package/dist/wu-done-machine.js.map +1 -0
  134. package/dist/wu-done-metadata.d.ts.map +1 -1
  135. package/dist/wu-done-metadata.js +3 -1
  136. package/dist/wu-done-metadata.js.map +1 -1
  137. package/dist/wu-done-preflight.d.ts +8 -0
  138. package/dist/wu-done-preflight.d.ts.map +1 -1
  139. package/dist/wu-done-preflight.js +17 -1
  140. package/dist/wu-done-preflight.js.map +1 -1
  141. package/dist/wu-done-validation.d.ts +0 -37
  142. package/dist/wu-done-validation.d.ts.map +1 -1
  143. package/dist/wu-done-validation.js +1 -155
  144. package/dist/wu-done-validation.js.map +1 -1
  145. package/dist/wu-done-validators.d.ts +1 -2
  146. package/dist/wu-done-validators.d.ts.map +1 -1
  147. package/dist/wu-done-validators.js +1 -3
  148. package/dist/wu-done-validators.js.map +1 -1
  149. package/dist/wu-done-worktree-services.d.ts +191 -0
  150. package/dist/wu-done-worktree-services.d.ts.map +1 -0
  151. package/dist/wu-done-worktree-services.js +273 -0
  152. package/dist/wu-done-worktree-services.js.map +1 -0
  153. package/dist/wu-done-worktree.d.ts +0 -19
  154. package/dist/wu-done-worktree.d.ts.map +1 -1
  155. package/dist/wu-done-worktree.js +165 -118
  156. package/dist/wu-done-worktree.js.map +1 -1
  157. package/dist/wu-git-constants.d.ts +4 -0
  158. package/dist/wu-git-constants.d.ts.map +1 -1
  159. package/dist/wu-git-constants.js +4 -0
  160. package/dist/wu-git-constants.js.map +1 -1
  161. package/dist/wu-helpers.d.ts +5 -1
  162. package/dist/wu-helpers.d.ts.map +1 -1
  163. package/dist/wu-helpers.js +5 -1
  164. package/dist/wu-helpers.js.map +1 -1
  165. package/dist/wu-lint.d.ts +53 -37
  166. package/dist/wu-lint.d.ts.map +1 -1
  167. package/dist/wu-lint.js +95 -105
  168. package/dist/wu-lint.js.map +1 -1
  169. package/dist/wu-paths-constants.d.ts +3 -3
  170. package/dist/wu-paths-constants.d.ts.map +1 -1
  171. package/dist/wu-paths-constants.js +3 -3
  172. package/dist/wu-paths-constants.js.map +1 -1
  173. package/dist/wu-preflight-validators.d.ts +28 -77
  174. package/dist/wu-preflight-validators.d.ts.map +1 -1
  175. package/dist/wu-preflight-validators.js +86 -130
  176. package/dist/wu-preflight-validators.js.map +1 -1
  177. package/dist/wu-recovery.d.ts +89 -0
  178. package/dist/wu-recovery.d.ts.map +1 -1
  179. package/dist/wu-recovery.js +118 -0
  180. package/dist/wu-recovery.js.map +1 -1
  181. package/dist/wu-rules-core.d.ts +95 -0
  182. package/dist/wu-rules-core.d.ts.map +1 -0
  183. package/dist/wu-rules-core.js +399 -0
  184. package/dist/wu-rules-core.js.map +1 -0
  185. package/dist/wu-rules-engine.d.ts +29 -0
  186. package/dist/wu-rules-engine.d.ts.map +1 -0
  187. package/dist/wu-rules-engine.js +59 -0
  188. package/dist/wu-rules-engine.js.map +1 -0
  189. package/dist/wu-rules-resolvers.d.ts +19 -0
  190. package/dist/wu-rules-resolvers.d.ts.map +1 -0
  191. package/dist/wu-rules-resolvers.js +208 -0
  192. package/dist/wu-rules-resolvers.js.map +1 -0
  193. package/dist/wu-schema.d.ts +24 -9
  194. package/dist/wu-schema.d.ts.map +1 -1
  195. package/dist/wu-schema.js +14 -1
  196. package/dist/wu-schema.js.map +1 -1
  197. package/dist/wu-spawn-context.d.ts +1 -1
  198. package/dist/wu-spawn-context.d.ts.map +1 -1
  199. package/dist/wu-spawn-context.js +8 -2
  200. package/dist/wu-spawn-context.js.map +1 -1
  201. package/dist/wu-spawn-helpers.js +2 -2
  202. package/dist/wu-spawn-helpers.js.map +1 -1
  203. package/dist/wu-state-schema.d.ts +12 -12
  204. package/dist/wu-state-schema.d.ts.map +1 -1
  205. package/dist/wu-state-schema.js +10 -10
  206. package/dist/wu-state-schema.js.map +1 -1
  207. package/dist/wu-state-store.d.ts +10 -4
  208. package/dist/wu-state-store.d.ts.map +1 -1
  209. package/dist/wu-state-store.js +309 -11
  210. package/dist/wu-state-store.js.map +1 -1
  211. package/dist/wu-transaction.d.ts +21 -0
  212. package/dist/wu-transaction.d.ts.map +1 -1
  213. package/dist/wu-transaction.js +17 -0
  214. package/dist/wu-transaction.js.map +1 -1
  215. package/package.json +14 -11
@@ -0,0 +1,273 @@
1
+ /**
2
+ * WU-1664: Extracted wu:done worktree completion services for state-driven execution.
3
+ *
4
+ * Each exported service function corresponds to a pipeline state from the XState
5
+ * wu:done machine (WU-1662). Services receive explicit dependencies and return
6
+ * typed results, enabling the state-machine orchestrator (WU-1663) to invoke them
7
+ * independently without changing branch-only or public completion semantics.
8
+ *
9
+ * Pipeline state mapping:
10
+ * validateWorktreeState -> validating
11
+ * prepareTransaction -> preparing
12
+ * commitTransaction -> committing
13
+ * mergeToMain -> merging + pushing (atomic merge combines both)
14
+ * finalizeCompletion -> cleaningUp
15
+ *
16
+ * @module wu-done-worktree-services
17
+ */
18
+ import path from 'node:path';
19
+ import { collectMetadataToTransaction, stageAndFormatMetadata, generateCommitMessage, defaultBranchFrom, branchExists, validatePostMutation, } from './wu-done-validators.js';
20
+ import { validateDoneWU, validateAndNormalizeWUYAML } from './wu-schema.js';
21
+ import { assertTransition } from './state-machine.js';
22
+ import { validateMainNotBehindOrigin, resolveWorktreeMetadataPaths } from './wu-done-worktree.js';
23
+ import { emitLaneSignalForCompletion } from './wu-done-branch-only.js';
24
+ import { WU_DONE_COMPLETION_MODES } from './wu-done-pr.js';
25
+ import { clearRecoveryAttempts, detectZombieState } from './wu-recovery.js';
26
+ import { countPreviousCompletionAttempts, squashPreviousCompletionAttempts, } from './wu-done-retry-helpers.js';
27
+ import { WUTransaction, createTransactionSnapshot, restoreFromSnapshot } from './wu-transaction.js';
28
+ import { maybeRegenerateAndStageDocs } from './wu-done-docs-generate.js';
29
+ import { withMergeLock } from './merge-lock.js';
30
+ import { withAtomicMerge } from './atomic-merge.js';
31
+ import { BRANCHES, LOG_PREFIX, WU_STATUS } from './wu-constants.js';
32
+ import { createError, ErrorCodes } from './error-handler.js';
33
+ import { createValidationError } from './wu-done-errors.js';
34
+ /**
35
+ * Validate worktree state for wu:done completion.
36
+ *
37
+ * Checks:
38
+ * 1. WU status can transition to done
39
+ * 2. Local main is not behind origin/main
40
+ * 3. WU YAML schema is valid and normalizable
41
+ * 4. Done-specific completeness (acceptance, code_paths, etc.)
42
+ * 5. Zombie state detection
43
+ *
44
+ * @param input - Validation inputs
45
+ * @returns Validation result with error details
46
+ */
47
+ export async function validateWorktreeState(input) {
48
+ const { wuId, worktreePath, doc, gitAdapterForMain } = input;
49
+ const errors = [];
50
+ let zombieDetected = false;
51
+ let normalizedDoc = doc;
52
+ // Check for zombie state (status=done in worktree)
53
+ if (detectZombieState(doc, worktreePath)) {
54
+ zombieDetected = true;
55
+ // Zombie detection is informational; the caller decides how to handle it
56
+ return { valid: true, errors: [], zombieDetected, normalizedDoc: doc };
57
+ }
58
+ // Validate state transition
59
+ const currentStatus = doc.status || WU_STATUS.IN_PROGRESS;
60
+ try {
61
+ assertTransition(currentStatus, WU_STATUS.DONE, wuId);
62
+ }
63
+ catch (err) {
64
+ errors.push(`State transition invalid: ${err.message}`);
65
+ return { valid: false, errors, zombieDetected };
66
+ }
67
+ // Check main is not behind origin
68
+ try {
69
+ const mainResult = await validateMainNotBehindOrigin(gitAdapterForMain);
70
+ if (!mainResult.valid) {
71
+ errors.push(`Local main is ${mainResult.commitsBehind} commit(s) behind origin/main. ` +
72
+ `Fix: git pull origin main`);
73
+ return { valid: false, errors, zombieDetected };
74
+ }
75
+ }
76
+ catch {
77
+ // Fail-open for network errors
78
+ }
79
+ // Validate and normalize WU YAML schema
80
+ const normalizeResult = validateAndNormalizeWUYAML(doc);
81
+ if (!normalizeResult.valid) {
82
+ errors.push(`WU YAML validation failed: ${normalizeResult.errors.join('; ')}`);
83
+ return { valid: false, errors, zombieDetected };
84
+ }
85
+ normalizedDoc = normalizeResult.normalized;
86
+ // Validate done-specific completeness
87
+ const completenessResult = validateDoneWU(normalizedDoc);
88
+ if (!completenessResult.valid) {
89
+ errors.push(`Spec incomplete: ${completenessResult.errors.join('; ')}`);
90
+ return { valid: false, errors, zombieDetected };
91
+ }
92
+ return { valid: true, errors: [], zombieDetected, normalizedDoc };
93
+ }
94
+ /**
95
+ * Prepare the metadata transaction for wu:done completion.
96
+ *
97
+ * Collects all metadata changes (WU YAML, status, backlog, stamp, events)
98
+ * into a WUTransaction without writing any files. The transaction can then
99
+ * be committed atomically by the commitTransaction service.
100
+ *
101
+ * @param input - Preparation inputs
102
+ * @returns Transaction and metadata allowlist
103
+ */
104
+ export async function prepareTransaction(input) {
105
+ const { wuId, title, doc, worktreePath } = input;
106
+ const metaPaths = resolveWorktreeMetadataPaths(worktreePath, wuId);
107
+ const transaction = new WUTransaction(wuId);
108
+ await collectMetadataToTransaction({
109
+ id: wuId,
110
+ title,
111
+ doc,
112
+ wuPath: metaPaths.wuPath,
113
+ statusPath: metaPaths.statusPath,
114
+ backlogPath: metaPaths.backlogPath,
115
+ stampPath: metaPaths.stampPath,
116
+ transaction,
117
+ projectRoot: worktreePath,
118
+ });
119
+ // Build the staged metadata allowlist from pending writes
120
+ const pendingWrites = transaction.getPendingWrites();
121
+ const stagedMetadataAllowlist = pendingWrites
122
+ .map((write) => path.relative(worktreePath, write.path).split(path.sep).join('/'))
123
+ .filter((relativePath) => Boolean(relativePath) && !relativePath.startsWith('..') && !path.isAbsolute(relativePath));
124
+ const initiativeMetadataWrite = pendingWrites.find((write) => write.description === 'initiative YAML');
125
+ const initiativeMetadataPath = initiativeMetadataWrite?.path ?? null;
126
+ // Validate the transaction
127
+ const txValidation = transaction.validate();
128
+ if (!txValidation.valid) {
129
+ throw createError(ErrorCodes.TRANSACTION_ERROR, `Transaction validation failed:\n ${txValidation.errors.join('\n ')}`, { wuId });
130
+ }
131
+ return { transaction, stagedMetadataAllowlist, initiativeMetadataPath };
132
+ }
133
+ /**
134
+ * Commit the metadata transaction and create a git commit in the worktree.
135
+ *
136
+ * Steps:
137
+ * 1. Create a file snapshot (for rollback)
138
+ * 2. Commit the transaction (write files)
139
+ * 3. Run post-mutation validation
140
+ * 4. Regenerate docs if needed
141
+ * 5. Stage and format metadata
142
+ * 6. Squash previous completion attempts
143
+ * 7. Create the git commit
144
+ *
145
+ * @param input - Commit inputs
146
+ * @returns Commit result with pre-commit SHA for rollback
147
+ */
148
+ export async function commitTransaction(input) {
149
+ const { wuId, title, transaction, worktreePath, worktreeGit, doc, maxCommitLength, isDocsOnly, stagedMetadataAllowlist, initiativeMetadataPath, validateStagedFiles, } = input;
150
+ const metaPaths = resolveWorktreeMetadataPaths(worktreePath, wuId);
151
+ // Snapshot for rollback
152
+ const pathsToSnapshot = Array.from(new Set(transaction.getPendingWrites().map((write) => write.path)));
153
+ const transactionSnapshot = createTransactionSnapshot(pathsToSnapshot);
154
+ // Atomic transaction commit (write files)
155
+ const commitResult = transaction.commit();
156
+ if (!commitResult.success) {
157
+ throw createError(ErrorCodes.TRANSACTION_ERROR, `Transaction commit failed: ${commitResult.failed.map((f) => f.path).join(', ')}`, { wuId });
158
+ }
159
+ // Post-mutation validation
160
+ const postResult = validatePostMutation({
161
+ id: wuId,
162
+ wuPath: metaPaths.wuPath,
163
+ stampPath: metaPaths.stampPath,
164
+ eventsPath: metaPaths.eventsPath,
165
+ });
166
+ if (!postResult.valid) {
167
+ // Rollback files on post-mutation failure
168
+ restoreFromSnapshot(transactionSnapshot);
169
+ throw createValidationError(`Post-mutation validation failed: ${postResult.errors.join('; ')}`, { wuId });
170
+ }
171
+ // Regenerate docs
172
+ await maybeRegenerateAndStageDocs({
173
+ baseBranch: BRANCHES.MAIN,
174
+ repoRoot: worktreePath,
175
+ });
176
+ // Stage and format metadata
177
+ await stageAndFormatMetadata({
178
+ id: wuId,
179
+ wuPath: metaPaths.wuPath,
180
+ statusPath: metaPaths.statusPath,
181
+ backlogPath: metaPaths.backlogPath,
182
+ stampsDir: metaPaths.stampsDir,
183
+ initiativePath: initiativeMetadataPath ?? undefined,
184
+ gitAdapter: worktreeGit,
185
+ repoRoot: worktreePath,
186
+ });
187
+ // Validate staged files
188
+ await validateStagedFiles(wuId, isDocsOnly, {
189
+ metadataAllowlist: stagedMetadataAllowlist,
190
+ });
191
+ // Squash previous completion attempts (WU-1584)
192
+ const previousAttempts = await countPreviousCompletionAttempts(wuId, worktreeGit);
193
+ if (previousAttempts > 0) {
194
+ await squashPreviousCompletionAttempts(wuId, previousAttempts, worktreeGit);
195
+ }
196
+ // Generate commit message and commit
197
+ const laneBranch = await defaultBranchFrom(doc);
198
+ const msg = generateCommitMessage(wuId, title, maxCommitLength, {
199
+ branch: laneBranch ?? undefined,
200
+ worktreePath,
201
+ });
202
+ const preCommitSha = await worktreeGit.getCommitHash('HEAD');
203
+ await worktreeGit.commit(msg);
204
+ return { committed: true, preCommitSha };
205
+ }
206
+ /**
207
+ * Merge the lane branch to main (or create a PR in PR mode).
208
+ *
209
+ * Uses the atomic merge path which creates a temporary worktree for the
210
+ * merge+push operation, keeping the live main checkout untouched.
211
+ *
212
+ * @param input - Merge inputs
213
+ * @returns Merge result with PR URL if applicable
214
+ */
215
+ export async function mergeToMain(input) {
216
+ const { wuId, doc, args } = input;
217
+ if (args.noMerge) {
218
+ return { merged: false, prUrl: null };
219
+ }
220
+ const laneBranch = await defaultBranchFrom(doc);
221
+ if (!laneBranch || !(await branchExists(laneBranch))) {
222
+ throw createError(ErrorCodes.BRANCH_ERROR, `Lane branch not found: ${laneBranch}`, {
223
+ wuId,
224
+ laneBranch,
225
+ });
226
+ }
227
+ if (args.prMode) {
228
+ // PR mode: import and use createPR
229
+ const { createPR, printPRCreatedMessage } = await import('./wu-done-pr.js');
230
+ const prResult = await createPR({
231
+ branch: laneBranch,
232
+ id: wuId,
233
+ title: doc.title || wuId,
234
+ doc,
235
+ draft: args.prDraft,
236
+ });
237
+ const prUrl = prResult.success && prResult.prUrl ? prResult.prUrl : null;
238
+ if (prUrl) {
239
+ printPRCreatedMessage(prUrl, wuId);
240
+ }
241
+ return { merged: false, prUrl };
242
+ }
243
+ // Default mode: atomic merge + push
244
+ await withMergeLock(wuId, async () => {
245
+ await withAtomicMerge({
246
+ id: wuId,
247
+ laneBranch,
248
+ command: `pnpm wu:done --id ${wuId}`,
249
+ logPrefix: LOG_PREFIX.DONE,
250
+ });
251
+ });
252
+ return { merged: true, prUrl: null };
253
+ }
254
+ /**
255
+ * Finalize the completion by clearing recovery state and emitting telemetry.
256
+ *
257
+ * @param input - Finalization inputs
258
+ * @returns Finalization result
259
+ */
260
+ export async function finalizeCompletion(input) {
261
+ const { wuId, doc, laneBranch } = input;
262
+ // Clear recovery attempts on successful completion
263
+ clearRecoveryAttempts(wuId);
264
+ // Passive lane telemetry (fail-open)
265
+ await emitLaneSignalForCompletion({
266
+ wuId,
267
+ lane: doc.lane,
268
+ laneBranch,
269
+ completionMode: WU_DONE_COMPLETION_MODES.WORKTREE,
270
+ });
271
+ return { finalized: true };
272
+ }
273
+ //# sourceMappingURL=wu-done-worktree-services.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wu-done-worktree-services.js","sourceRoot":"","sources":["../src/wu-done-worktree-services.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EACL,4BAA4B,EAC5B,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,EACjB,YAAY,EACZ,oBAAoB,GACrB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,2BAA2B,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AAClG,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EACL,+BAA+B,EAC/B,gCAAgC,GACjC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AACpG,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAyF5D;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,KAAiC;IAEjC,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,iBAAiB,EAAE,GAAG,KAAK,CAAC;IAC7D,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,cAAc,GAAG,KAAK,CAAC;IAC3B,IAAI,aAAa,GAAG,GAAG,CAAC;IAExB,mDAAmD;IACnD,IAAI,iBAAiB,CAAC,GAAG,EAAE,YAAY,CAAC,EAAE,CAAC;QACzC,cAAc,GAAG,IAAI,CAAC;QACtB,yEAAyE;QACzE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC;IACzE,CAAC;IAED,4BAA4B;IAC5B,MAAM,aAAa,GAAI,GAAG,CAAC,MAAiB,IAAI,SAAS,CAAC,WAAW,CAAC;IACtE,IAAI,CAAC;QACH,gBAAgB,CAAC,aAAa,EAAE,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACxD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CAAC,6BAA8B,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QACnE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;IAClD,CAAC;IAED,kCAAkC;IAClC,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,MAAM,2BAA2B,CAAC,iBAA0B,CAAC,CAAC;QACjF,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACtB,MAAM,CAAC,IAAI,CACT,iBAAiB,UAAU,CAAC,aAAa,iCAAiC;gBACxE,2BAA2B,CAC9B,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;QAClD,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,+BAA+B;IACjC,CAAC;IAED,wCAAwC;IACxC,MAAM,eAAe,GAAG,0BAA0B,CAAC,GAAG,CAAC,CAAC;IACxD,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC,8BAA8B,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/E,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;IAClD,CAAC;IACD,aAAa,GAAG,eAAe,CAAC,UAAU,CAAC;IAE3C,sCAAsC;IACtC,MAAM,kBAAkB,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC;IACzD,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,oBAAoB,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;IAClD,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC;AACpE,CAAC;AAaD;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,KAA8B;IAE9B,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC;IAEjD,MAAM,SAAS,GAAG,4BAA4B,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IACnE,MAAM,WAAW,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC;IAE5C,MAAM,4BAA4B,CAAC;QACjC,EAAE,EAAE,IAAI;QACR,KAAK;QACL,GAAG;QACH,MAAM,EAAE,SAAS,CAAC,MAAM;QACxB,UAAU,EAAE,SAAS,CAAC,UAAU;QAChC,WAAW,EAAE,SAAS,CAAC,WAAW;QAClC,SAAS,EAAE,SAAS,CAAC,SAAS;QAC9B,WAAW;QACX,WAAW,EAAE,YAAY;KAC1B,CAAC,CAAC;IAEH,0DAA0D;IAC1D,MAAM,aAAa,GAAG,WAAW,CAAC,gBAAgB,EAAE,CAAC;IACrD,MAAM,uBAAuB,GAAG,aAAa;SAC1C,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACjF,MAAM,CACL,CAAC,YAAY,EAAE,EAAE,CACf,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAC5F,CAAC;IAEJ,MAAM,uBAAuB,GAAG,aAAa,CAAC,IAAI,CAChD,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,KAAK,iBAAiB,CACnD,CAAC;IACF,MAAM,sBAAsB,GAAG,uBAAuB,EAAE,IAAI,IAAI,IAAI,CAAC;IAErE,2BAA2B;IAC3B,MAAM,YAAY,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;IAC5C,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QACxB,MAAM,WAAW,CACf,UAAU,CAAC,iBAAiB,EAC5B,qCAAqC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EACvE,EAAE,IAAI,EAAE,CACT,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,WAAW,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,CAAC;AAC1E,CAAC;AA6BD;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,KAA6B;IACnE,MAAM,EACJ,IAAI,EACJ,KAAK,EACL,WAAW,EACX,YAAY,EACZ,WAAW,EACX,GAAG,EACH,eAAe,EACf,UAAU,EACV,uBAAuB,EACvB,sBAAsB,EACtB,mBAAmB,GACpB,GAAG,KAAK,CAAC;IAEV,MAAM,SAAS,GAAG,4BAA4B,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IAEnE,wBAAwB;IACxB,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,CAChC,IAAI,GAAG,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CACnE,CAAC;IACF,MAAM,mBAAmB,GAAG,yBAAyB,CAAC,eAAe,CAAC,CAAC;IAEvE,0CAA0C;IAC1C,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC;IAC1C,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;QAC1B,MAAM,WAAW,CACf,UAAU,CAAC,iBAAiB,EAC5B,8BAA8B,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EACjF,EAAE,IAAI,EAAE,CACT,CAAC;IACJ,CAAC;IAED,2BAA2B;IAC3B,MAAM,UAAU,GAAG,oBAAoB,CAAC;QACtC,EAAE,EAAE,IAAI;QACR,MAAM,EAAE,SAAS,CAAC,MAAM;QACxB,SAAS,EAAE,SAAS,CAAC,SAAS;QAC9B,UAAU,EAAE,SAAS,CAAC,UAAU;KACjC,CAAC,CAAC;IACH,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACtB,0CAA0C;QAC1C,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;QACzC,MAAM,qBAAqB,CACzB,oCAAoC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAClE,EAAE,IAAI,EAAE,CACT,CAAC;IACJ,CAAC;IAED,kBAAkB;IAClB,MAAM,2BAA2B,CAAC;QAChC,UAAU,EAAE,QAAQ,CAAC,IAAI;QACzB,QAAQ,EAAE,YAAY;KACvB,CAAC,CAAC;IAEH,4BAA4B;IAC5B,MAAM,sBAAsB,CAAC;QAC3B,EAAE,EAAE,IAAI;QACR,MAAM,EAAE,SAAS,CAAC,MAAM;QACxB,UAAU,EAAE,SAAS,CAAC,UAAU;QAChC,WAAW,EAAE,SAAS,CAAC,WAAW;QAClC,SAAS,EAAE,SAAS,CAAC,SAAS;QAC9B,cAAc,EAAE,sBAAsB,IAAI,SAAS;QACnD,UAAU,EAAE,WAAW;QACvB,QAAQ,EAAE,YAAY;KACvB,CAAC,CAAC;IAEH,wBAAwB;IACxB,MAAM,mBAAmB,CAAC,IAAI,EAAE,UAAU,EAAE;QAC1C,iBAAiB,EAAE,uBAAuB;KAC3C,CAAC,CAAC;IAEH,gDAAgD;IAChD,MAAM,gBAAgB,GAAG,MAAM,+BAA+B,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAClF,IAAI,gBAAgB,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,gCAAgC,CAAC,IAAI,EAAE,gBAAgB,EAAE,WAAW,CAAC,CAAC;IAC9E,CAAC;IAED,qCAAqC;IACrC,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAChD,MAAM,GAAG,GAAG,qBAAqB,CAAC,IAAI,EAAE,KAAK,EAAE,eAAe,EAAE;QAC9D,MAAM,EAAE,UAAU,IAAI,SAAS;QAC/B,YAAY;KACb,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,MAAM,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC7D,MAAM,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAE9B,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;AAC3C,CAAC;AAkBD;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,KAAuB;IACvD,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;IAElC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACxC,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAChD,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,MAAM,YAAY,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;QACrD,MAAM,WAAW,CAAC,UAAU,CAAC,YAAY,EAAE,0BAA0B,UAAU,EAAE,EAAE;YACjF,IAAI;YACJ,UAAU;SACX,CAAC,CAAC;IACL,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,mCAAmC;QACnC,MAAM,EAAE,QAAQ,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAC5E,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC;YAC9B,MAAM,EAAE,UAAU;YAClB,EAAE,EAAE,IAAI;YACR,KAAK,EAAG,GAAG,CAAC,KAAgB,IAAI,IAAI;YACpC,GAAG;YACH,KAAK,EAAE,IAAI,CAAC,OAAO;SACpB,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QACzE,IAAI,KAAK,EAAE,CAAC;YACV,qBAAqB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACrC,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAClC,CAAC;IAED,oCAAoC;IACpC,MAAM,aAAa,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE;QACnC,MAAM,eAAe,CAAC;YACpB,EAAE,EAAE,IAAI;YACR,UAAU;YACV,OAAO,EAAE,qBAAqB,IAAI,EAAE;YACpC,SAAS,EAAE,UAAU,CAAC,IAAI;SAC3B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACvC,CAAC;AAYD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,KAA8B;IAE9B,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;IAExC,mDAAmD;IACnD,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAE5B,qCAAqC;IACrC,MAAM,2BAA2B,CAAC;QAChC,IAAI;QACJ,IAAI,EAAE,GAAG,CAAC,IAAc;QACxB,UAAU;QACV,cAAc,EAAE,wBAAwB,CAAC,QAAQ;KAClD,CAAC,CAAC;IAEH,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AAC7B,CAAC"}
@@ -213,24 +213,5 @@ export declare function validateMainNotBehindOrigin(gitAdapter: any): Promise<{
213
213
  commitsBehind: number;
214
214
  failOpen?: boolean;
215
215
  }>;
216
- /**
217
- * WU-1577: Rollback main checkout to pre-merge SHA after merge/push failure.
218
- *
219
- * When executeWorktreeCompletion() merges the lane branch into local main
220
- * (ff-only) but the subsequent pull --rebase or push fails, main is left
221
- * with leaked metadata (wu-events.jsonl complete event, backlog, status).
222
- * This function resets main to its pre-merge state so no metadata leaks.
223
- *
224
- * Best-effort: never throws. Returns success/failure status for logging.
225
- *
226
- * @param gitAdapter - Git adapter instance (must be in main checkout context)
227
- * @param preMainMergeSha - SHA to reset to (captured before merge)
228
- * @param wuId - WU ID for logging
229
- * @returns Rollback result
230
- */
231
- export declare function rollbackMainAfterMergeFailure(gitAdapter: any, preMainMergeSha: string, wuId: string): Promise<{
232
- success: boolean;
233
- error?: string;
234
- }>;
235
216
  export {};
236
217
  //# sourceMappingURL=wu-done-worktree.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wu-done-worktree.d.ts","sourceRoot":"","sources":["../src/wu-done-worktree.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;;;;GAkBG;AAwEH;;;;;;;;;;;GAWG;AAEH;;;;;;;;;GASG;AAEH,UAAU,qBAAqB;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC1C,YAAY,EAAE,MAAM,EACpB,EAAE,EAAE,MAAM,GACT,qBAAqB,CASvB;AAED;;;;;;GAMG;AACH,wBAAsB,yBAAyB,CAAC,OAAO,KAAA;;;;;;;GA2mBtD;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,KAAA,mBA6B5C;AAwID;;;;;;;;;;GAUG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,KAAA,EAAE,YAAY,KAAA,EAAE,IAAI,KAAA;;;;;;GAgGhE;AAED;;;;;;;;GAQG;AACH,UAAU,kBAAkB;IAC1B,uCAAuC;IACvC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,qDAAqD;IACrD,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,mDAAmD;IACnD,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,wBAAsB,qBAAqB,CAAC,MAAM,KAAA,EAAE,OAAO,GAAE,kBAAuB,iBAgDnF;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,KAAA,EAAE,OAAO,GAAE,kBAAuB,iBAyD/E;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CAAC,MAAM,KAAA,iBAkB/C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,eAAe,CAAC,MAAM,KAAA,EAAE,GAAG,MAAO,iBAwDvD;AAWD;;;;;;;;;;GAUG;AACH,UAAU,sBAAuB,SAAQ,kBAAkB;IACzD,kCAAkC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAsB,eAAe,CAAC,MAAM,KAAA,EAAE,OAAO,GAAE,sBAA2B,iBA6FjF;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,KAAA,EAAE,KAAK,KAAA,WAMhD;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,4BAA4B,CAAC,UAAU,KAAA,EAAE,YAAY,KAAA,EAAE,IAAI,KAAA;;;;;;GAsBhF;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,2BAA2B,CAC/C,UAAU,KAAA,GACT,OAAO,CAAC;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CA2BxE;AAwCD;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,6BAA6B,CACjD,UAAU,KAAA,EACV,eAAe,EAAE,MAAM,EACvB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAoB/C"}
1
+ {"version":3,"file":"wu-done-worktree.d.ts","sourceRoot":"","sources":["../src/wu-done-worktree.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;;;;GAkBG;AA8EH;;;;;;;;;;;GAWG;AAEH;;;;;;;;;GASG;AAEH,UAAU,qBAAqB;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC1C,YAAY,EAAE,MAAM,EACpB,EAAE,EAAE,MAAM,GACT,qBAAqB,CASvB;AAED;;;;;;GAMG;AACH,wBAAsB,yBAAyB,CAAC,OAAO,KAAA;;;;;;;GAukBtD;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,KAAA,mBA6B5C;AAmND;;;;;;;;;;GAUG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,KAAA,EAAE,YAAY,KAAA,EAAE,IAAI,KAAA;;;;;;GAkJhE;AAED;;;;;;;;GAQG;AACH,UAAU,kBAAkB;IAC1B,uCAAuC;IACvC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,qDAAqD;IACrD,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,mDAAmD;IACnD,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,wBAAsB,qBAAqB,CAAC,MAAM,KAAA,EAAE,OAAO,GAAE,kBAAuB,iBAgDnF;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,KAAA,EAAE,OAAO,GAAE,kBAAuB,iBAyD/E;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CAAC,MAAM,KAAA,iBAgD/C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,eAAe,CAAC,MAAM,KAAA,EAAE,GAAG,MAAO,iBAwDvD;AAWD;;;;;;;;;;GAUG;AACH,UAAU,sBAAuB,SAAQ,kBAAkB;IACzD,kCAAkC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAsB,eAAe,CAAC,MAAM,KAAA,EAAE,OAAO,GAAE,sBAA2B,iBA6FjF;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,KAAA,EAAE,KAAK,KAAA,WAMhD;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,4BAA4B,CAAC,UAAU,KAAA,EAAE,YAAY,KAAA,EAAE,IAAI,KAAA;;;;;;GAsBhF;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,2BAA2B,CAC/C,UAAU,KAAA,GACT,OAAO,CAAC;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CA2BxE"}