@lumenflow/core 2.18.2 → 2.19.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 (167) 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/atomic-merge.d.ts +21 -0
  5. package/dist/atomic-merge.d.ts.map +1 -0
  6. package/dist/atomic-merge.js +83 -0
  7. package/dist/atomic-merge.js.map +1 -0
  8. package/dist/delegation-escalation.d.ts +91 -0
  9. package/dist/delegation-escalation.d.ts.map +1 -0
  10. package/dist/delegation-escalation.js +258 -0
  11. package/dist/delegation-escalation.js.map +1 -0
  12. package/dist/delegation-monitor.d.ts +230 -0
  13. package/dist/delegation-monitor.d.ts.map +1 -0
  14. package/dist/delegation-monitor.js +675 -0
  15. package/dist/delegation-monitor.js.map +1 -0
  16. package/dist/delegation-recovery.d.ts +83 -0
  17. package/dist/delegation-recovery.d.ts.map +1 -0
  18. package/dist/delegation-recovery.js +299 -0
  19. package/dist/delegation-recovery.js.map +1 -0
  20. package/dist/delegation-registry-schema.d.ts +80 -0
  21. package/dist/delegation-registry-schema.d.ts.map +1 -0
  22. package/dist/delegation-registry-schema.js +91 -0
  23. package/dist/delegation-registry-schema.js.map +1 -0
  24. package/dist/delegation-registry-store.d.ts +159 -0
  25. package/dist/delegation-registry-store.d.ts.map +1 -0
  26. package/dist/delegation-registry-store.js +299 -0
  27. package/dist/delegation-registry-store.js.map +1 -0
  28. package/dist/delegation-tree.d.ts +57 -0
  29. package/dist/delegation-tree.d.ts.map +1 -0
  30. package/dist/delegation-tree.js +203 -0
  31. package/dist/delegation-tree.js.map +1 -0
  32. package/dist/gates-agent-mode.d.ts +25 -0
  33. package/dist/gates-agent-mode.d.ts.map +1 -1
  34. package/dist/gates-agent-mode.js +41 -0
  35. package/dist/gates-agent-mode.js.map +1 -1
  36. package/dist/index.d.ts +10 -7
  37. package/dist/index.d.ts.map +1 -1
  38. package/dist/index.js +14 -9
  39. package/dist/index.js.map +1 -1
  40. package/dist/lumenflow-config-schema.d.ts +9 -3
  41. package/dist/lumenflow-config-schema.d.ts.map +1 -1
  42. package/dist/lumenflow-config-schema.js +18 -3
  43. package/dist/lumenflow-config-schema.js.map +1 -1
  44. package/dist/lumenflow-config.d.ts +2 -0
  45. package/dist/lumenflow-config.d.ts.map +1 -1
  46. package/dist/lumenflow-config.js +1 -0
  47. package/dist/lumenflow-config.js.map +1 -1
  48. package/dist/micro-worktree-shared.d.ts +134 -0
  49. package/dist/micro-worktree-shared.d.ts.map +1 -0
  50. package/dist/micro-worktree-shared.js +350 -0
  51. package/dist/micro-worktree-shared.js.map +1 -0
  52. package/dist/micro-worktree.d.ts +4 -273
  53. package/dist/micro-worktree.d.ts.map +1 -1
  54. package/dist/micro-worktree.js +17 -549
  55. package/dist/micro-worktree.js.map +1 -1
  56. package/dist/rollback-utils.d.ts +52 -0
  57. package/dist/rollback-utils.d.ts.map +1 -1
  58. package/dist/rollback-utils.js +111 -0
  59. package/dist/rollback-utils.js.map +1 -1
  60. package/dist/schemas/index.d.ts +3 -3
  61. package/dist/schemas/index.d.ts.map +1 -1
  62. package/dist/schemas/index.js +6 -6
  63. package/dist/schemas/index.js.map +1 -1
  64. package/dist/schemas/initiative-arg-validators.d.ts +1 -0
  65. package/dist/schemas/initiative-arg-validators.d.ts.map +1 -1
  66. package/dist/schemas/initiative-schemas.d.ts +3 -1
  67. package/dist/schemas/initiative-schemas.d.ts.map +1 -1
  68. package/dist/schemas/initiative-schemas.js +2 -1
  69. package/dist/schemas/initiative-schemas.js.map +1 -1
  70. package/dist/schemas/setup-arg-validators.d.ts +4 -4
  71. package/dist/schemas/setup-arg-validators.d.ts.map +1 -1
  72. package/dist/schemas/setup-arg-validators.js +6 -6
  73. package/dist/schemas/setup-arg-validators.js.map +1 -1
  74. package/dist/schemas/setup-schemas.d.ts +7 -7
  75. package/dist/schemas/setup-schemas.d.ts.map +1 -1
  76. package/dist/schemas/setup-schemas.js +10 -10
  77. package/dist/schemas/setup-schemas.js.map +1 -1
  78. package/dist/schemas/wu-lifecycle-arg-validators.d.ts +2 -1
  79. package/dist/schemas/wu-lifecycle-arg-validators.d.ts.map +1 -1
  80. package/dist/schemas/wu-lifecycle-schemas.d.ts +5 -3
  81. package/dist/schemas/wu-lifecycle-schemas.d.ts.map +1 -1
  82. package/dist/schemas/wu-lifecycle-schemas.js +5 -1
  83. package/dist/schemas/wu-lifecycle-schemas.js.map +1 -1
  84. package/dist/template-loader.d.ts +7 -3
  85. package/dist/template-loader.d.ts.map +1 -1
  86. package/dist/template-loader.js +22 -6
  87. package/dist/template-loader.js.map +1 -1
  88. package/dist/wu-consistency-checker.d.ts +1 -0
  89. package/dist/wu-consistency-checker.d.ts.map +1 -1
  90. package/dist/wu-consistency-checker.js +31 -2
  91. package/dist/wu-consistency-checker.js.map +1 -1
  92. package/dist/wu-context-constants.d.ts +0 -2
  93. package/dist/wu-context-constants.d.ts.map +1 -1
  94. package/dist/wu-context-constants.js +0 -2
  95. package/dist/wu-context-constants.js.map +1 -1
  96. package/dist/wu-done-branch-only.d.ts +2 -11
  97. package/dist/wu-done-branch-only.d.ts.map +1 -1
  98. package/dist/wu-done-branch-only.js +81 -45
  99. package/dist/wu-done-branch-only.js.map +1 -1
  100. package/dist/wu-done-cleanup.js +33 -1
  101. package/dist/wu-done-cleanup.js.map +1 -1
  102. package/dist/wu-done-initiative-sync.d.ts.map +1 -1
  103. package/dist/wu-done-initiative-sync.js +20 -5
  104. package/dist/wu-done-initiative-sync.js.map +1 -1
  105. package/dist/wu-done-machine.d.ts +175 -0
  106. package/dist/wu-done-machine.d.ts.map +1 -0
  107. package/dist/wu-done-machine.js +225 -0
  108. package/dist/wu-done-machine.js.map +1 -0
  109. package/dist/wu-done-metadata.d.ts.map +1 -1
  110. package/dist/wu-done-metadata.js +3 -1
  111. package/dist/wu-done-metadata.js.map +1 -1
  112. package/dist/wu-done-validation.d.ts +0 -37
  113. package/dist/wu-done-validation.d.ts.map +1 -1
  114. package/dist/wu-done-validation.js +1 -155
  115. package/dist/wu-done-validation.js.map +1 -1
  116. package/dist/wu-done-validators.d.ts +1 -2
  117. package/dist/wu-done-validators.d.ts.map +1 -1
  118. package/dist/wu-done-validators.js +1 -3
  119. package/dist/wu-done-validators.js.map +1 -1
  120. package/dist/wu-done-worktree-services.d.ts +191 -0
  121. package/dist/wu-done-worktree-services.d.ts.map +1 -0
  122. package/dist/wu-done-worktree-services.js +273 -0
  123. package/dist/wu-done-worktree-services.js.map +1 -0
  124. package/dist/wu-done-worktree.d.ts +0 -19
  125. package/dist/wu-done-worktree.d.ts.map +1 -1
  126. package/dist/wu-done-worktree.js +165 -118
  127. package/dist/wu-done-worktree.js.map +1 -1
  128. package/dist/wu-git-constants.d.ts +4 -0
  129. package/dist/wu-git-constants.d.ts.map +1 -1
  130. package/dist/wu-git-constants.js +4 -0
  131. package/dist/wu-git-constants.js.map +1 -1
  132. package/dist/wu-helpers.d.ts +5 -1
  133. package/dist/wu-helpers.d.ts.map +1 -1
  134. package/dist/wu-helpers.js +5 -1
  135. package/dist/wu-helpers.js.map +1 -1
  136. package/dist/wu-lint.d.ts +24 -0
  137. package/dist/wu-lint.d.ts.map +1 -1
  138. package/dist/wu-lint.js +48 -1
  139. package/dist/wu-lint.js.map +1 -1
  140. package/dist/wu-paths-constants.d.ts +3 -3
  141. package/dist/wu-paths-constants.d.ts.map +1 -1
  142. package/dist/wu-paths-constants.js +3 -3
  143. package/dist/wu-paths-constants.js.map +1 -1
  144. package/dist/wu-recovery.d.ts +89 -0
  145. package/dist/wu-recovery.d.ts.map +1 -1
  146. package/dist/wu-recovery.js +118 -0
  147. package/dist/wu-recovery.js.map +1 -1
  148. package/dist/wu-schema.d.ts +6 -6
  149. package/dist/wu-spawn-context.d.ts +1 -1
  150. package/dist/wu-spawn-context.d.ts.map +1 -1
  151. package/dist/wu-spawn-context.js +8 -2
  152. package/dist/wu-spawn-context.js.map +1 -1
  153. package/dist/wu-spawn-helpers.js +2 -2
  154. package/dist/wu-spawn-helpers.js.map +1 -1
  155. package/dist/wu-state-schema.d.ts +12 -12
  156. package/dist/wu-state-schema.d.ts.map +1 -1
  157. package/dist/wu-state-schema.js +10 -10
  158. package/dist/wu-state-schema.js.map +1 -1
  159. package/dist/wu-state-store.d.ts +10 -4
  160. package/dist/wu-state-store.d.ts.map +1 -1
  161. package/dist/wu-state-store.js +309 -11
  162. package/dist/wu-state-store.js.map +1 -1
  163. package/dist/wu-transaction.d.ts +21 -0
  164. package/dist/wu-transaction.d.ts.map +1 -1
  165. package/dist/wu-transaction.js +17 -0
  166. package/dist/wu-transaction.js.map +1 -1
  167. package/package.json +15 -9
@@ -1 +1 @@
1
- {"version":3,"file":"terminal-renderer.adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/terminal-renderer.adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAIH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,KAAK,EACV,aAAa,EACb,UAAU,EACV,aAAa,EACb,UAAU,EAMX,MAAM,kCAAkC,CAAC;AAkC1C;;;;;;;;;GASG;AACH,qBAAa,yBAA0B,YAAW,kBAAkB;IAClE;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI;IAuBjC;;;;OAIG;IACH,iBAAiB,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,IAAI;IAqBlD;;;;;OAKG;IACG,UAAU,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC;IA2B1D;;;;OAIG;IACH,KAAK,IAAI,IAAI;IAKb;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IA0E1B;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IA8C1B;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAkDxB;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAwBtB;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAqBpB;;;;;;;OAOG;YACW,UAAU;CAQzB"}
1
+ {"version":3,"file":"terminal-renderer.adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/terminal-renderer.adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAIH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,KAAK,EACV,aAAa,EACb,UAAU,EACV,aAAa,EACb,UAAU,EAMX,MAAM,kCAAkC,CAAC;AAkC1C;;;;;;;;;GASG;AACH,qBAAa,yBAA0B,YAAW,kBAAkB;IAClE;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI;IAuBjC;;;;OAIG;IACH,iBAAiB,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,IAAI;IAqBlD;;;;;OAKG;IACG,UAAU,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC;IA2B1D;;;;OAIG;IACH,KAAK,IAAI,IAAI;IAKb;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IA6E1B;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IA8C1B;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAkDxB;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAwBtB;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAqBpB;;;;;;;OAOG;YACW,UAAU;CAQzB"}
@@ -146,6 +146,8 @@ export class TerminalDashboardRenderer {
146
146
  * @private
147
147
  */
148
148
  renderGlobalStatus(status) {
149
+ const pendingMandatory = status.pendingMandatory ?? [];
150
+ const worktreesWithUncommittedChanges = status.worktreesWithUncommittedChanges ?? [];
149
151
  console.log(SECTION_SEPARATOR);
150
152
  console.log(picocolors.bold(`${HEADER_PREFIX} Global Status\n`));
151
153
  console.log(`${picocolors.gray('Active WUs:')} ${picocolors.cyan(status.activeWUs.toString())}`);
@@ -157,9 +159,9 @@ export class TerminalDashboardRenderer {
157
159
  const durationMinutes = Math.floor((status.longestRunning.durationMs % (1000 * 60 * 60)) / (1000 * 60));
158
160
  console.log(`${picocolors.gray('Longest Running:')} ${picocolors.cyan(status.longestRunning.wuId)} ${picocolors.gray(`(${durationHours}h ${durationMinutes}m)`)}`);
159
161
  }
160
- if (status.pendingMandatory.length > 0) {
162
+ if (pendingMandatory.length > 0) {
161
163
  console.log(`\n${picocolors.yellow(BULLET)} ${picocolors.bold('Pending Mandatory Agents:')}`);
162
- for (const pending of status.pendingMandatory) {
164
+ for (const pending of pendingMandatory) {
163
165
  console.log(` ${picocolors.gray('-')} ${picocolors.cyan(pending.wuId)}: ${pending.agent}`);
164
166
  }
165
167
  }
@@ -181,9 +183,9 @@ export class TerminalDashboardRenderer {
181
183
  console.log(`\n${picocolors.gray(BULLET)} ${picocolors.gray('No active agent session')}`);
182
184
  }
183
185
  // WU-1748: Display worktrees with uncommitted changes
184
- if (status.worktreesWithUncommittedChanges.length > 0) {
186
+ if (worktreesWithUncommittedChanges.length > 0) {
185
187
  console.log(`\n${picocolors.yellow(BULLET)} ${picocolors.bold('Worktrees with Uncommitted Changes:')}`);
186
- for (const wt of status.worktreesWithUncommittedChanges) {
188
+ for (const wt of worktreesWithUncommittedChanges) {
187
189
  const lastActivity = wt.lastActivityTimestamp
188
190
  ? new Date(wt.lastActivityTimestamp).toLocaleString('en-GB')
189
191
  : 'Unknown';
@@ -1 +1 @@
1
- {"version":3,"file":"terminal-renderer.adapter.js","sourceRoot":"","sources":["../../src/adapters/terminal-renderer.adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"terminal-renderer.adapter.js","sourceRoot":"","sources":["../../src/adapters/terminal-renderer.adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import type { GitAdapter } from './git-adapter.js';
2
+ export interface AtomicMergeCallbackContext {
3
+ worktreePath: string;
4
+ gitWorktree: GitAdapter;
5
+ tempBranchName: string;
6
+ }
7
+ export interface WithAtomicMergeOptions {
8
+ id: string;
9
+ laneBranch: string;
10
+ afterMerge?: (context: AtomicMergeCallbackContext) => Promise<void>;
11
+ operation?: string;
12
+ logPrefix?: string;
13
+ mergeRetries?: number;
14
+ command?: string;
15
+ }
16
+ export interface WithAtomicMergeResult {
17
+ tempBranchName: string;
18
+ worktreePath: string;
19
+ }
20
+ export declare function withAtomicMerge(options: WithAtomicMergeOptions): Promise<WithAtomicMergeResult>;
21
+ //# sourceMappingURL=atomic-merge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"atomic-merge.d.ts","sourceRoot":"","sources":["../src/atomic-merge.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,MAAM,WAAW,0BAA0B;IACzC,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,UAAU,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,0BAA0B,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;CACtB;AAkDD,wBAAsB,eAAe,CACnC,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,qBAAqB,CAAC,CA0EhC"}
@@ -0,0 +1,83 @@
1
+ import { createGitForPath, getGitForCwd } from './git-adapter.js';
2
+ import { MAX_MERGE_RETRIES, cleanupMicroWorktree, cleanupOrphanedMicroWorktree, createMicroWorktreeDir, formatRetryExhaustionError, getTempBranchName, isRetryExhaustionError, pushRefspecWithRetry, } from './micro-worktree-shared.js';
3
+ import { BRANCHES, GIT_REFS, REMOTES } from './wu-constants.js';
4
+ function buildMergeRetryExhaustionMessage(laneBranch, mergeRetries, command) {
5
+ return (`Atomic merge failed after ${mergeRetries} attempts while merging ${laneBranch}.\n\n` +
6
+ `Next steps:\n` +
7
+ ` 1. Wait a few seconds and retry:\n` +
8
+ ` ${command}\n` +
9
+ ` 2. If the issue persists, inspect branch divergence and rerun wu:prep\n` +
10
+ ` 3. Check if another agent is rapidly pushing to origin/main`);
11
+ }
12
+ async function mergeLaneBranchWithRetry(options) {
13
+ const { mainGit, gitWorktree, laneBranch, mergeRetries, logPrefix, command } = options;
14
+ for (let attempt = 1; attempt <= mergeRetries; attempt++) {
15
+ try {
16
+ console.log(`${logPrefix} Merging ${laneBranch} in temp worktree (attempt ${attempt}/${mergeRetries})...`);
17
+ await gitWorktree.merge(laneBranch, { ffOnly: true });
18
+ console.log(`${logPrefix} ✅ Temp-worktree merge succeeded`);
19
+ return;
20
+ }
21
+ catch (error) {
22
+ if (attempt >= mergeRetries) {
23
+ throw new Error(buildMergeRetryExhaustionMessage(laneBranch, mergeRetries, command));
24
+ }
25
+ const errorMessage = error instanceof Error ? error.message : String(error);
26
+ console.warn(`${logPrefix} ⚠️ Merge attempt failed: ${errorMessage}`);
27
+ console.log(`${logPrefix} Fetching ${REMOTES.ORIGIN}/${BRANCHES.MAIN} before retry...`);
28
+ await mainGit.fetch(REMOTES.ORIGIN, BRANCHES.MAIN);
29
+ console.log(`${logPrefix} Rebasing temp branch onto ${GIT_REFS.ORIGIN_MAIN}...`);
30
+ await gitWorktree.rebase(GIT_REFS.ORIGIN_MAIN);
31
+ }
32
+ }
33
+ }
34
+ export async function withAtomicMerge(options) {
35
+ const { id, laneBranch, afterMerge, operation = 'wu-done', logPrefix = '[wu-done]', mergeRetries = MAX_MERGE_RETRIES, command = `pnpm wu:done --id ${id}`, } = options;
36
+ const mainGit = getGitForCwd();
37
+ const tempBranchName = getTempBranchName(operation, id);
38
+ const worktreePath = createMicroWorktreeDir(`${operation}-`);
39
+ await cleanupOrphanedMicroWorktree(operation, id, mainGit, logPrefix);
40
+ try {
41
+ console.log(`${logPrefix} Fetching ${REMOTES.ORIGIN}/${BRANCHES.MAIN} before atomic merge...`);
42
+ await mainGit.fetch(REMOTES.ORIGIN, BRANCHES.MAIN);
43
+ console.log(`${logPrefix} Creating temp branch: ${tempBranchName}`);
44
+ await mainGit.createBranchNoCheckout(tempBranchName, GIT_REFS.ORIGIN_MAIN);
45
+ console.log(`${logPrefix} Creating temp worktree: ${worktreePath}`);
46
+ await mainGit.worktreeAddExisting(worktreePath, tempBranchName);
47
+ const gitWorktree = createGitForPath(worktreePath);
48
+ await mergeLaneBranchWithRetry({
49
+ mainGit,
50
+ gitWorktree,
51
+ laneBranch,
52
+ mergeRetries,
53
+ logPrefix,
54
+ command,
55
+ });
56
+ if (afterMerge) {
57
+ await afterMerge({ worktreePath, gitWorktree, tempBranchName });
58
+ }
59
+ const pushDescription = `${operation} atomic merge push for ${id} (automated)`;
60
+ await pushRefspecWithRetry(gitWorktree, mainGit, REMOTES.ORIGIN, tempBranchName, BRANCHES.MAIN, pushDescription, logPrefix);
61
+ try {
62
+ console.log(`${logPrefix} Catching up local ${BRANCHES.MAIN} after atomic push...`);
63
+ await mainGit.fetch(REMOTES.ORIGIN, BRANCHES.MAIN);
64
+ await mainGit.merge(GIT_REFS.ORIGIN_MAIN, { ffOnly: true });
65
+ console.log(`${logPrefix} ✅ Local ${BRANCHES.MAIN} caught up`);
66
+ }
67
+ catch (error) {
68
+ const errorMessage = error instanceof Error ? error.message : String(error);
69
+ console.warn(`${logPrefix} ⚠️ Could not fast-forward local ${BRANCHES.MAIN}: ${errorMessage}`);
70
+ }
71
+ return { tempBranchName, worktreePath };
72
+ }
73
+ catch (error) {
74
+ if (error instanceof Error && isRetryExhaustionError(error)) {
75
+ throw new Error(formatRetryExhaustionError(error, { command }));
76
+ }
77
+ throw error;
78
+ }
79
+ finally {
80
+ await cleanupMicroWorktree(worktreePath, tempBranchName, logPrefix);
81
+ }
82
+ }
83
+ //# sourceMappingURL=atomic-merge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"atomic-merge.js","sourceRoot":"","sources":["../src/atomic-merge.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,91 @@
1
+ /**
2
+ * Delegation Escalation Module (WU-1952, WU-1967)
3
+ *
4
+ * WU-1967: Replaced Bug WU creation with memory bus signalling.
5
+ * Signals orchestrator inbox instead of creating human-in-loop Bug WUs.
6
+ *
7
+ * Escalation Flow:
8
+ * 1. recoverStuckDelegation() returns { recovered: false, action: ESCALATED_STUCK }
9
+ * 2. escalateStuckDelegation() signals orchestrator via memory bus
10
+ * 3. Delegation status updated to ESCALATED (prevents duplicate signals)
11
+ * 4. Orchestrator decides: retry (1st), block (2nd), human escalate (3rd+)
12
+ *
13
+ * Library-First Note: This is project-specific delegation escalation code for
14
+ * PatientPath's custom delegation-registry.jsonl and memory bus patterns.
15
+ * No external library exists for this domain-specific agent lifecycle management.
16
+ *
17
+ * @see {@link packages/@lumenflow/cli/src/lib/__tests__/delegation-escalation.test.ts} - Tests
18
+ * @see {@link packages/@lumenflow/cli/src/lib/delegation-recovery.ts} - Recovery logic
19
+ * @see {@link packages/@lumenflow/cli/src/lib/mem-signal-core.ts} - Signal creation
20
+ */
21
+ /**
22
+ * Signal type for delegation failures.
23
+ */
24
+ export declare const DELEGATION_FAILURE_SIGNAL_TYPE = "delegation_failure";
25
+ /**
26
+ * Severity levels for delegation failure signals
27
+ */
28
+ export declare const SignalSeverity: Readonly<{
29
+ WARNING: "warning";
30
+ ERROR: "error";
31
+ CRITICAL: "critical";
32
+ }>;
33
+ /**
34
+ * Suggested actions for delegation failure signals
35
+ */
36
+ export declare const SuggestedAction: Readonly<{
37
+ RETRY: "retry";
38
+ BLOCK: "block";
39
+ HUMAN_ESCALATE: "human_escalate";
40
+ }>;
41
+ /**
42
+ * Escalates a stuck delegation by signalling the orchestrator.
43
+ *
44
+ * WU-1967: Replaced Bug WU creation with memory bus signalling.
45
+ * Called when recoverStuckDelegation() returns ESCALATED_STUCK.
46
+ * Signals orchestrator inbox with delegation failure context.
47
+ *
48
+ * Escalation levels based on recovery attempts:
49
+ * - 1st attempt: severity=warning, suggested_action=retry
50
+ * - 2nd attempt: severity=error, suggested_action=block
51
+ * - 3rd+ attempt: severity=critical, suggested_action=human_escalate
52
+ *
53
+ * @param {string} delegationId - ID of the stuck delegation
54
+ * @param {Object} options - Options
55
+ * @param {string} options.baseDir - Base directory for .lumenflow/
56
+ * @param {boolean} [options.dryRun=false] - If true, returns signal without sending
57
+ * @returns {Promise<EscalationResult>} Escalation result with signal details
58
+ *
59
+ * @throws {Error} If delegation not found
60
+ * @throws {Error} If delegation already escalated (duplicate prevention)
61
+ * @throws {Error} If no escalation audit log exists
62
+ *
63
+ * @example
64
+ * // After recoverStuckDelegation returns ESCALATED_STUCK
65
+ * const result = await escalateStuckDelegation('delegation-1234', { baseDir: '/path/to/project' });
66
+ * console.log(`Signal sent: ${result.signalId}, action: ${result.signal.suggested_action}`);
67
+ */
68
+ export interface EscalateStuckDelegationOptions {
69
+ /** Base directory for .lumenflow/ */
70
+ baseDir?: string;
71
+ /** If true, return spec only without sending signal */
72
+ dryRun?: boolean;
73
+ }
74
+ export declare function escalateStuckDelegation(delegationId: any, options?: EscalateStuckDelegationOptions): Promise<{
75
+ signalId: string;
76
+ signal: {
77
+ type: string;
78
+ severity: "error" | "warning" | "critical";
79
+ delegation_id: any;
80
+ target_wu_id: any;
81
+ parent_wu_id: any;
82
+ lane: any;
83
+ recovery_action: any;
84
+ recovery_attempts: any;
85
+ last_checkpoint: any;
86
+ suggested_action: "block" | "retry" | "human_escalate";
87
+ message: string;
88
+ };
89
+ delegationStatus: "escalated";
90
+ }>;
91
+ //# sourceMappingURL=delegation-escalation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delegation-escalation.d.ts","sourceRoot":"","sources":["../src/delegation-escalation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AA4BH;;GAEG;AACH,eAAO,MAAM,8BAA8B,uBAAuB,CAAC;AAEnE;;GAEG;AACH,eAAO,MAAM,cAAc;;;;EAIzB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,eAAe;;;;EAI1B,CAAC;AAiJH;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,WAAW,8BAA8B;IAC7C,qCAAqC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uDAAuD;IACvD,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAsB,uBAAuB,CAC3C,YAAY,KAAA,EACZ,OAAO,GAAE,8BAAmC;;;;;;;;;;;;;;;;GAiF7C"}
@@ -0,0 +1,258 @@
1
+ /**
2
+ * Delegation Escalation Module (WU-1952, WU-1967)
3
+ *
4
+ * WU-1967: Replaced Bug WU creation with memory bus signalling.
5
+ * Signals orchestrator inbox instead of creating human-in-loop Bug WUs.
6
+ *
7
+ * Escalation Flow:
8
+ * 1. recoverStuckDelegation() returns { recovered: false, action: ESCALATED_STUCK }
9
+ * 2. escalateStuckDelegation() signals orchestrator via memory bus
10
+ * 3. Delegation status updated to ESCALATED (prevents duplicate signals)
11
+ * 4. Orchestrator decides: retry (1st), block (2nd), human escalate (3rd+)
12
+ *
13
+ * Library-First Note: This is project-specific delegation escalation code for
14
+ * PatientPath's custom delegation-registry.jsonl and memory bus patterns.
15
+ * No external library exists for this domain-specific agent lifecycle management.
16
+ *
17
+ * @see {@link packages/@lumenflow/cli/src/lib/__tests__/delegation-escalation.test.ts} - Tests
18
+ * @see {@link packages/@lumenflow/cli/src/lib/delegation-recovery.ts} - Recovery logic
19
+ * @see {@link packages/@lumenflow/cli/src/lib/mem-signal-core.ts} - Signal creation
20
+ */
21
+ import fs from 'node:fs/promises';
22
+ import path from 'node:path';
23
+ import { DelegationRegistryStore } from './delegation-registry-store.js';
24
+ import { DelegationStatus } from './delegation-registry-schema.js';
25
+ import { RECOVERY_DIR_NAME } from './delegation-recovery.js';
26
+ import { LUMENFLOW_PATHS } from './wu-constants.js';
27
+ let createSignal = null;
28
+ try {
29
+ const mod = await import('@lumenflow/memory/signal');
30
+ createSignal = mod.createSignal;
31
+ }
32
+ catch {
33
+ // @lumenflow/memory not available - signal features disabled
34
+ }
35
+ /**
36
+ * Log prefix for delegation-escalation messages
37
+ */
38
+ const LOG_PREFIX = '[delegation-escalation]';
39
+ /**
40
+ * Signal type for delegation failures.
41
+ */
42
+ export const DELEGATION_FAILURE_SIGNAL_TYPE = 'delegation_failure';
43
+ /**
44
+ * Severity levels for delegation failure signals
45
+ */
46
+ export const SignalSeverity = Object.freeze({
47
+ WARNING: 'warning',
48
+ ERROR: 'error',
49
+ CRITICAL: 'critical',
50
+ });
51
+ /**
52
+ * Suggested actions for delegation failure signals
53
+ */
54
+ export const SuggestedAction = Object.freeze({
55
+ RETRY: 'retry',
56
+ BLOCK: 'block',
57
+ HUMAN_ESCALATE: 'human_escalate',
58
+ });
59
+ /**
60
+ * @typedef {Object} DelegationFailureSignal
61
+ * @property {string} type - Always 'delegation_failure'
62
+ * @property {string} severity - 'warning' | 'error' | 'critical'
63
+ * @property {string} delegation_id - Delegation ID
64
+ * @property {string} target_wu_id - Target WU ID
65
+ * @property {string} parent_wu_id - Parent WU ID (orchestrator)
66
+ * @property {string} lane - Lane name
67
+ * @property {string} recovery_action - Recovery action that triggered escalation
68
+ * @property {number} recovery_attempts - Number of recovery attempts
69
+ * @property {string|null} last_checkpoint - Last checkpoint timestamp
70
+ * @property {string} suggested_action - 'retry' | 'block' | 'human_escalate'
71
+ * @property {string} message - Human-readable message
72
+ */
73
+ /**
74
+ * @typedef {Object} EscalationResult
75
+ * @property {string} signalId - Signal ID (e.g., 'sig-abc12345')
76
+ * @property {DelegationFailureSignal} signal - The signal payload
77
+ * @property {string} delegationStatus - Updated delegation status (ESCALATED)
78
+ */
79
+ /**
80
+ * @typedef {Object} AuditLogEntry
81
+ * @property {string} timestamp - ISO timestamp of recovery action
82
+ * @property {string} delegationId - ID of the delegation being recovered
83
+ * @property {string} action - Recovery action taken
84
+ * @property {string} reason - Explanation of why action was taken
85
+ * @property {Object} context - Additional context
86
+ */
87
+ /**
88
+ * Counts existing escalation attempts for a delegation by reading audit logs.
89
+ *
90
+ * @param {string} baseDir - Base directory
91
+ * @param {string} delegationId - Delegation ID to count attempts for
92
+ * @returns {Promise<number>} Number of previous escalation attempts
93
+ */
94
+ async function countEscalationAttempts(baseDir, delegationId) {
95
+ // WU-1421: Use LUMENFLOW_PATHS.BASE for consistency
96
+ const recoveryDir = path.join(baseDir, LUMENFLOW_PATHS.BASE, RECOVERY_DIR_NAME);
97
+ try {
98
+ const files = await fs.readdir(recoveryDir);
99
+ const delegationFiles = files.filter((f) => f.startsWith(`${delegationId}-`) && f.endsWith('.json'));
100
+ return delegationFiles.length;
101
+ }
102
+ catch (error) {
103
+ if (error.code === 'ENOENT') {
104
+ return 0;
105
+ }
106
+ throw error;
107
+ }
108
+ }
109
+ /**
110
+ * Determines severity and suggested action based on recovery attempts.
111
+ *
112
+ * @param {number} attempts - Number of recovery attempts
113
+ * @returns {{ severity: string, suggestedAction: string }}
114
+ */
115
+ function determineEscalationLevel(attempts) {
116
+ if (attempts <= 1) {
117
+ return {
118
+ severity: SignalSeverity.WARNING,
119
+ suggestedAction: SuggestedAction.RETRY,
120
+ };
121
+ }
122
+ else if (attempts === 2) {
123
+ return {
124
+ severity: SignalSeverity.ERROR,
125
+ suggestedAction: SuggestedAction.BLOCK,
126
+ };
127
+ }
128
+ else {
129
+ return {
130
+ severity: SignalSeverity.CRITICAL,
131
+ suggestedAction: SuggestedAction.HUMAN_ESCALATE,
132
+ };
133
+ }
134
+ }
135
+ /**
136
+ * Find the most recent escalation audit log for a delegation.
137
+ *
138
+ * @param {string} baseDir - Base directory
139
+ * @param {string} delegationId - Delegation ID to find audit log for
140
+ * @returns {Promise<AuditLogEntry|null>} Audit log entry or null if not found
141
+ */
142
+ async function findEscalationAuditLog(baseDir, delegationId) {
143
+ // WU-1421: Use LUMENFLOW_PATHS.BASE for consistency
144
+ const recoveryDir = path.join(baseDir, LUMENFLOW_PATHS.BASE, RECOVERY_DIR_NAME);
145
+ try {
146
+ const files = await fs.readdir(recoveryDir);
147
+ // Filter files for this delegation ID, sorted by name (timestamp-based)
148
+ const delegationFiles = files
149
+ .filter((f) => f.startsWith(`${delegationId}-`) && f.endsWith('.json'))
150
+ .sort()
151
+ .reverse(); // Most recent first
152
+ if (delegationFiles.length === 0) {
153
+ return null;
154
+ }
155
+ // Read the most recent audit log
156
+ const auditPath = path.join(recoveryDir, delegationFiles[0]);
157
+ const content = await fs.readFile(auditPath, 'utf-8');
158
+ return JSON.parse(content);
159
+ }
160
+ catch (error) {
161
+ if (error.code === 'ENOENT') {
162
+ return null;
163
+ }
164
+ throw error;
165
+ }
166
+ }
167
+ /**
168
+ * Builds a delegation failure signal payload.
169
+ *
170
+ * @param {Object} delegation - Delegation event data
171
+ * @param {AuditLogEntry} auditLog - Escalation audit log
172
+ * @param {number} attempts - Number of recovery attempts
173
+ * @returns {DelegationFailureSignal} Signal payload
174
+ */
175
+ function buildDelegationFailureSignal(delegation, auditLog, attempts) {
176
+ const { severity, suggestedAction } = determineEscalationLevel(attempts);
177
+ const lastCheckpoint = auditLog.context.lastCheckpoint || null;
178
+ return {
179
+ type: DELEGATION_FAILURE_SIGNAL_TYPE,
180
+ severity,
181
+ delegation_id: delegation.id,
182
+ target_wu_id: delegation.targetWuId,
183
+ parent_wu_id: delegation.parentWuId,
184
+ lane: delegation.lane,
185
+ recovery_action: auditLog.action,
186
+ recovery_attempts: attempts,
187
+ last_checkpoint: lastCheckpoint,
188
+ suggested_action: suggestedAction,
189
+ message: `Delegation ${delegation.id} for ${delegation.targetWuId} stuck: ${auditLog.reason}`,
190
+ };
191
+ }
192
+ export async function escalateStuckDelegation(delegationId, options = {}) {
193
+ const { baseDir = process.cwd(), dryRun = false } = options;
194
+ // WU-1421: Use LUMENFLOW_PATHS.STATE_DIR for consistency
195
+ const registryDir = path.join(baseDir, LUMENFLOW_PATHS.STATE_DIR);
196
+ // Load delegation registry
197
+ const store = new DelegationRegistryStore(registryDir);
198
+ try {
199
+ await store.load();
200
+ }
201
+ catch {
202
+ throw new Error(`Delegation ${delegationId} not found: registry unavailable`);
203
+ }
204
+ // Find the delegation
205
+ const delegation = store.getById(delegationId);
206
+ if (!delegation) {
207
+ throw new Error(`Delegation ${delegationId} not found in registry`);
208
+ }
209
+ // Check if signal module is available
210
+ if (!createSignal) {
211
+ throw new Error('Signal module (@lumenflow/memory) not available - cannot escalate');
212
+ }
213
+ // WU-1967: Check if already escalated (prevents duplicate signals)
214
+ if (delegation.status === DelegationStatus.ESCALATED) {
215
+ throw new Error(`Delegation ${delegationId} already escalated`);
216
+ }
217
+ // Find escalation audit log
218
+ const auditLog = await findEscalationAuditLog(baseDir, delegationId);
219
+ if (!auditLog) {
220
+ throw new Error(`No escalation audit log found for delegation ${delegationId}`);
221
+ }
222
+ // Count previous escalation attempts
223
+ const attempts = await countEscalationAttempts(baseDir, delegationId);
224
+ // Build signal payload
225
+ const signalPayload = buildDelegationFailureSignal(delegation, auditLog, attempts);
226
+ if (dryRun) {
227
+ console.log(`${LOG_PREFIX} [dry-run] Would signal orchestrator`);
228
+ console.log(`${LOG_PREFIX} [dry-run] Severity: ${signalPayload.severity}`);
229
+ console.log(`${LOG_PREFIX} [dry-run] Suggested action: ${signalPayload.suggested_action}`);
230
+ console.log(`${LOG_PREFIX} [dry-run] Message: ${signalPayload.message}`);
231
+ return {
232
+ signalId: 'sig-dry-run',
233
+ signal: signalPayload,
234
+ delegationStatus: DelegationStatus.ESCALATED,
235
+ };
236
+ }
237
+ // WU-1967: Send signal to orchestrator inbox
238
+ console.log(`${LOG_PREFIX} Signalling orchestrator for delegation ${delegationId}`);
239
+ console.log(`${LOG_PREFIX} Target WU: ${delegation.targetWuId}`);
240
+ console.log(`${LOG_PREFIX} Severity: ${signalPayload.severity}`);
241
+ console.log(`${LOG_PREFIX} Suggested action: ${signalPayload.suggested_action}`);
242
+ // Create signal with structured message (JSON payload in message field)
243
+ const signalResult = await createSignal(baseDir, {
244
+ message: JSON.stringify(signalPayload),
245
+ wuId: delegation.parentWuId, // Signal targets the orchestrator (parent WU)
246
+ lane: delegation.lane,
247
+ });
248
+ // Update delegation status to ESCALATED (prevents duplicate signals)
249
+ await store.updateStatus(delegationId, DelegationStatus.ESCALATED);
250
+ console.log(`${LOG_PREFIX} Signal sent: ${signalResult.signal.id}`);
251
+ console.log(`${LOG_PREFIX} Delegation ${delegationId} status updated to ESCALATED`);
252
+ return {
253
+ signalId: signalResult.signal.id,
254
+ signal: signalPayload,
255
+ delegationStatus: DelegationStatus.ESCALATED,
256
+ };
257
+ }
258
+ //# sourceMappingURL=delegation-escalation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delegation-escalation.js","sourceRoot":"","sources":["../src/delegation-escalation.ts"],"names":[],"mappings":"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"}