steroids-cli 0.14.3 → 0.15.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 (111) hide show
  1. package/dist/commands/ai-run.d.ts +10 -0
  2. package/dist/commands/ai-run.d.ts.map +1 -0
  3. package/dist/commands/ai-run.js +255 -0
  4. package/dist/commands/ai-run.js.map +1 -0
  5. package/dist/commands/ai.d.ts.map +1 -1
  6. package/dist/commands/ai.js +7 -1
  7. package/dist/commands/ai.js.map +1 -1
  8. package/dist/commands/coder-noop-submission.d.ts +2 -2
  9. package/dist/commands/coder-noop-submission.d.ts.map +1 -1
  10. package/dist/commands/coder-noop-submission.js +8 -1
  11. package/dist/commands/coder-noop-submission.js.map +1 -1
  12. package/dist/commands/completion.d.ts.map +1 -1
  13. package/dist/commands/completion.js +9 -0
  14. package/dist/commands/completion.js.map +1 -1
  15. package/dist/commands/loop-phases-coder-decision.d.ts +2 -0
  16. package/dist/commands/loop-phases-coder-decision.d.ts.map +1 -1
  17. package/dist/commands/loop-phases-coder-decision.js +18 -41
  18. package/dist/commands/loop-phases-coder-decision.js.map +1 -1
  19. package/dist/commands/loop-phases-coder.d.ts.map +1 -1
  20. package/dist/commands/loop-phases-coder.js +2 -1
  21. package/dist/commands/loop-phases-coder.js.map +1 -1
  22. package/dist/commands/loop-phases-reviewer.d.ts.map +1 -1
  23. package/dist/commands/loop-phases-reviewer.js +42 -71
  24. package/dist/commands/loop-phases-reviewer.js.map +1 -1
  25. package/dist/commands/loop.d.ts.map +1 -1
  26. package/dist/commands/loop.js +6 -0
  27. package/dist/commands/loop.js.map +1 -1
  28. package/dist/commands/push-task-branch.d.ts +12 -0
  29. package/dist/commands/push-task-branch.d.ts.map +1 -0
  30. package/dist/commands/push-task-branch.js +24 -0
  31. package/dist/commands/push-task-branch.js.map +1 -0
  32. package/dist/commands/tasks.js +1 -1
  33. package/dist/commands/tasks.js.map +1 -1
  34. package/dist/database/queries.d.ts +8 -2
  35. package/dist/database/queries.d.ts.map +1 -1
  36. package/dist/database/queries.js +17 -1
  37. package/dist/database/queries.js.map +1 -1
  38. package/dist/git/section-pr.js +1 -1
  39. package/dist/health/stuck-task-detector-types.d.ts +3 -3
  40. package/dist/health/stuck-task-detector-types.d.ts.map +1 -1
  41. package/dist/health/stuck-task-detector.js +21 -5
  42. package/dist/health/stuck-task-detector.js.map +1 -1
  43. package/dist/index.js +0 -4
  44. package/dist/index.js.map +1 -1
  45. package/dist/monitor/investigator-actions.d.ts.map +1 -1
  46. package/dist/monitor/investigator-actions.js +44 -39
  47. package/dist/monitor/investigator-actions.js.map +1 -1
  48. package/dist/monitor/investigator-agent.d.ts +9 -0
  49. package/dist/monitor/investigator-agent.d.ts.map +1 -1
  50. package/dist/monitor/investigator-agent.js +2 -0
  51. package/dist/monitor/investigator-agent.js.map +1 -1
  52. package/dist/monitor/investigator-helpers.d.ts +5 -0
  53. package/dist/monitor/investigator-helpers.d.ts.map +1 -0
  54. package/dist/monitor/investigator-helpers.js +44 -0
  55. package/dist/monitor/investigator-helpers.js.map +1 -0
  56. package/dist/monitor/investigator-prompt.d.ts.map +1 -1
  57. package/dist/monitor/investigator-prompt.js +11 -3
  58. package/dist/monitor/investigator-prompt.js.map +1 -1
  59. package/dist/monitor/scanner-queries.d.ts +3 -0
  60. package/dist/monitor/scanner-queries.d.ts.map +1 -1
  61. package/dist/monitor/scanner-queries.js +57 -0
  62. package/dist/monitor/scanner-queries.js.map +1 -1
  63. package/dist/monitor/scanner.d.ts +1 -1
  64. package/dist/monitor/scanner.d.ts.map +1 -1
  65. package/dist/monitor/scanner.js +10 -2
  66. package/dist/monitor/scanner.js.map +1 -1
  67. package/dist/orchestrator/merge-queue-rebase.d.ts +27 -0
  68. package/dist/orchestrator/merge-queue-rebase.d.ts.map +1 -0
  69. package/dist/orchestrator/merge-queue-rebase.js +355 -0
  70. package/dist/orchestrator/merge-queue-rebase.js.map +1 -0
  71. package/dist/orchestrator/merge-queue.d.ts +40 -0
  72. package/dist/orchestrator/merge-queue.d.ts.map +1 -0
  73. package/dist/orchestrator/merge-queue.js +352 -0
  74. package/dist/orchestrator/merge-queue.js.map +1 -0
  75. package/dist/orchestrator/task-selector.d.ts +2 -1
  76. package/dist/orchestrator/task-selector.d.ts.map +1 -1
  77. package/dist/orchestrator/task-selector.js +20 -5
  78. package/dist/orchestrator/task-selector.js.map +1 -1
  79. package/dist/parallel/clone.d.ts +0 -15
  80. package/dist/parallel/clone.d.ts.map +1 -1
  81. package/dist/parallel/clone.js +0 -37
  82. package/dist/parallel/clone.js.map +1 -1
  83. package/dist/providers/invocation-logger.d.ts +2 -2
  84. package/dist/providers/invocation-logger.d.ts.map +1 -1
  85. package/dist/providers/invocation-logger.js +1 -1
  86. package/dist/providers/invocation-logger.js.map +1 -1
  87. package/dist/runners/daemon.d.ts.map +1 -1
  88. package/dist/runners/daemon.js +0 -79
  89. package/dist/runners/daemon.js.map +1 -1
  90. package/dist/runners/orchestrator-loop.d.ts.map +1 -1
  91. package/dist/runners/orchestrator-loop.js +11 -29
  92. package/dist/runners/orchestrator-loop.js.map +1 -1
  93. package/dist/runners/wakeup-checks.js +1 -1
  94. package/dist/runners/wakeup-checks.js.map +1 -1
  95. package/dist/runners/wakeup-sanitise-recovery.d.ts.map +1 -1
  96. package/dist/runners/wakeup-sanitise-recovery.js +39 -5
  97. package/dist/runners/wakeup-sanitise-recovery.js.map +1 -1
  98. package/dist/runners/wakeup-sanitise.d.ts.map +1 -1
  99. package/dist/runners/wakeup-sanitise.js +11 -7
  100. package/dist/runners/wakeup-sanitise.js.map +1 -1
  101. package/dist/workspace/git-helpers.d.ts +8 -0
  102. package/dist/workspace/git-helpers.d.ts.map +1 -1
  103. package/dist/workspace/git-helpers.js +34 -0
  104. package/dist/workspace/git-helpers.js.map +1 -1
  105. package/dist/workspace/merge-lock.d.ts +5 -3
  106. package/dist/workspace/merge-lock.d.ts.map +1 -1
  107. package/dist/workspace/merge-lock.js +16 -15
  108. package/dist/workspace/merge-lock.js.map +1 -1
  109. package/migrations/028_add_merge_queue_fields.sql +8 -0
  110. package/migrations/manifest.json +9 -1
  111. package/package.json +1 -1
@@ -0,0 +1,352 @@
1
+ "use strict";
2
+ /**
3
+ * Merge queue pipeline — routes merge_pending tasks through the merge gate.
4
+ *
5
+ * Responsibility: pipeline routing, merge orchestration, pool slot and lock lifecycle.
6
+ * Step functions (fetchAndPrepare, attemptRebaseAndFastForward, etc.) are composed
7
+ * here but contain their own logic.
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.classifyPushError = classifyPushError;
11
+ exports.classifyFetchError = classifyFetchError;
12
+ exports.fetchAndPrepare = fetchAndPrepare;
13
+ exports.handlePrepFailure = handlePrepFailure;
14
+ exports.attemptRebaseAndFastForward = attemptRebaseAndFastForward;
15
+ exports.pushTargetBranch = pushTargetBranch;
16
+ exports.cleanupTaskBranch = cleanupTaskBranch;
17
+ exports.markCompleted = markCompleted;
18
+ exports.transitionToRebasing = transitionToRebasing;
19
+ exports.handleMergeAttempt = handleMergeAttempt;
20
+ exports.processMergeQueue = processMergeQueue;
21
+ const node_child_process_1 = require("node:child_process");
22
+ const queries_js_1 = require("../database/queries.js");
23
+ const merge_lock_js_1 = require("../workspace/merge-lock.js");
24
+ const pool_js_1 = require("../workspace/pool.js");
25
+ const clone_js_1 = require("../parallel/clone.js");
26
+ const git_helpers_js_1 = require("../workspace/git-helpers.js");
27
+ const global_db_js_1 = require("../runners/global-db.js");
28
+ function classifyPushError(error) {
29
+ const lower = error.toLowerCase();
30
+ if (lower.includes('non-fast-forward') || lower.includes('fetch first') || lower.includes('stale info')) {
31
+ return 'race_loss';
32
+ }
33
+ if (lower.includes('could not resolve') ||
34
+ lower.includes('connection') ||
35
+ lower.includes('timeout') ||
36
+ lower.includes('unable to access') ||
37
+ lower.includes('temporary failure')) {
38
+ return 'transient';
39
+ }
40
+ return 'permanent';
41
+ }
42
+ function classifyFetchError(error) {
43
+ const lower = error.toLowerCase();
44
+ if (lower.includes('could not resolve') ||
45
+ lower.includes('connection') ||
46
+ lower.includes('timeout') ||
47
+ lower.includes('unable to access') ||
48
+ lower.includes('temporary failure')) {
49
+ return 'transient';
50
+ }
51
+ return 'permanent';
52
+ }
53
+ function fetchAndPrepare(slotPath, taskBranch, targetBranch, approvedSha) {
54
+ // Fetch latest from remote
55
+ try {
56
+ (0, node_child_process_1.execFileSync)('git', ['fetch', 'origin', targetBranch, taskBranch], {
57
+ cwd: slotPath, encoding: 'utf-8', timeout: 120_000,
58
+ env: { ...process.env, GIT_TERMINAL_PROMPT: '0' },
59
+ });
60
+ }
61
+ catch (err) {
62
+ const msg = err instanceof Error ? err.message : String(err);
63
+ const stderr = err?.stderr ?? '';
64
+ const errText = stderr.trim() || msg;
65
+ const classification = classifyFetchError(errText);
66
+ return { ok: false, error: classification === 'transient' ? 'fetch_transient' : 'fetch_permanent' };
67
+ }
68
+ // Idempotency check: if approved_sha is already an ancestor of target HEAD, skip
69
+ try {
70
+ (0, node_child_process_1.execFileSync)('git', ['merge-base', '--is-ancestor', approvedSha, `origin/${targetBranch}`], {
71
+ cwd: slotPath, encoding: 'utf-8', timeout: 30_000,
72
+ });
73
+ return { ok: true, alreadyMerged: true };
74
+ }
75
+ catch {
76
+ // Not an ancestor — proceed with merge
77
+ }
78
+ // SHA verification: branch HEAD must match approved_sha
79
+ try {
80
+ const branchHead = (0, node_child_process_1.execFileSync)('git', ['rev-parse', `origin/${taskBranch}`], {
81
+ cwd: slotPath, encoding: 'utf-8', timeout: 30_000,
82
+ }).trim();
83
+ if (branchHead !== approvedSha) {
84
+ return { ok: false, error: 'sha_mismatch' };
85
+ }
86
+ }
87
+ catch {
88
+ return { ok: false, error: 'fetch_permanent' };
89
+ }
90
+ return { ok: true, slotPath, taskBranchLocal: taskBranch, targetBranch };
91
+ }
92
+ function handlePrepFailure(db, taskId, error) {
93
+ switch (error) {
94
+ case 'sha_mismatch':
95
+ // Task branch was modified after approval — return to review
96
+ db.prepare(`UPDATE tasks SET status = 'review', merge_phase = NULL, approved_sha = NULL, rebase_attempts = 0, updated_at = datetime('now')
97
+ WHERE id = ?`).run(taskId);
98
+ (0, queries_js_1.addAuditEntry)(db, taskId, 'merge_pending', 'review', 'orchestrator', {
99
+ actorType: 'orchestrator',
100
+ notes: '[merge_queue] SHA mismatch — task branch modified after approval, returning to review',
101
+ });
102
+ break;
103
+ case 'fetch_transient':
104
+ // Transient network error — retry next iteration (no status change)
105
+ break;
106
+ case 'fetch_permanent':
107
+ (0, queries_js_1.updateTaskStatus)(db, taskId, 'blocked_error', 'orchestrator', '[merge_queue] Permanent fetch failure — remote may be unreachable or credentials expired');
108
+ break;
109
+ }
110
+ }
111
+ function attemptRebaseAndFastForward(slotPath, taskBranch, targetBranch) {
112
+ // Checkout target branch at origin HEAD
113
+ (0, node_child_process_1.execFileSync)('git', ['checkout', '-B', targetBranch, `origin/${targetBranch}`], {
114
+ cwd: slotPath, encoding: 'utf-8', timeout: 30_000,
115
+ });
116
+ // Try ff-only merge first
117
+ try {
118
+ (0, node_child_process_1.execFileSync)('git', ['merge', '--ff-only', `origin/${taskBranch}`], {
119
+ cwd: slotPath, encoding: 'utf-8', timeout: 30_000,
120
+ });
121
+ return { merged: true };
122
+ }
123
+ catch {
124
+ // Not fast-forwardable — try deterministic rebase
125
+ }
126
+ // Deterministic rebase: rebase task branch onto target, then ff merge
127
+ try {
128
+ (0, node_child_process_1.execFileSync)('git', ['checkout', '-B', taskBranch, `origin/${taskBranch}`], {
129
+ cwd: slotPath, encoding: 'utf-8', timeout: 30_000,
130
+ });
131
+ (0, node_child_process_1.execFileSync)('git', ['rebase', `origin/${targetBranch}`], {
132
+ cwd: slotPath, encoding: 'utf-8', timeout: 120_000,
133
+ });
134
+ // Switch back to target and ff-merge the rebased branch
135
+ (0, node_child_process_1.execFileSync)('git', ['checkout', targetBranch], {
136
+ cwd: slotPath, encoding: 'utf-8', timeout: 30_000,
137
+ });
138
+ (0, node_child_process_1.execFileSync)('git', ['merge', '--ff-only', taskBranch], {
139
+ cwd: slotPath, encoding: 'utf-8', timeout: 30_000,
140
+ });
141
+ return { merged: true };
142
+ }
143
+ catch {
144
+ // Abort any in-progress rebase
145
+ try {
146
+ (0, node_child_process_1.execFileSync)('git', ['rebase', '--abort'], { cwd: slotPath, encoding: 'utf-8', timeout: 10_000 });
147
+ }
148
+ catch { /* already clean */ }
149
+ return { merged: false, reason: 'conflicts' };
150
+ }
151
+ }
152
+ async function pushTargetBranch(slotPath, targetBranch) {
153
+ const result = await (0, git_helpers_js_1.pushWithRetriesAsync)(slotPath, 'origin', targetBranch, 3, [1000, 4000, 16000]);
154
+ if (result.success) {
155
+ return { ok: true };
156
+ }
157
+ const errorClass = classifyPushError(result.error ?? '');
158
+ return { ok: false, errorClass, error: result.error };
159
+ }
160
+ function cleanupTaskBranch(slotPath, taskBranch) {
161
+ try {
162
+ (0, node_child_process_1.execFileSync)('git', ['push', 'origin', '--delete', taskBranch], {
163
+ cwd: slotPath, encoding: 'utf-8', timeout: 60_000,
164
+ env: { ...process.env, GIT_TERMINAL_PROMPT: '0' },
165
+ });
166
+ }
167
+ catch {
168
+ // Non-fatal — branch may already be deleted or remote unreachable
169
+ }
170
+ }
171
+ function markCompleted(db, taskId, mergedSha) {
172
+ db.prepare(`UPDATE tasks SET status = 'completed', merge_phase = NULL, approved_sha = NULL, rebase_attempts = 0, updated_at = datetime('now')
173
+ WHERE id = ?`).run(taskId);
174
+ (0, queries_js_1.addAuditEntry)(db, taskId, 'merge_pending', 'completed', 'orchestrator', {
175
+ actorType: 'orchestrator',
176
+ notes: '[merge_queue] Merge completed successfully',
177
+ commitSha: mergedSha,
178
+ });
179
+ }
180
+ const MAX_REBASE_ATTEMPTS = 3;
181
+ function transitionToRebasing(db, taskId, reason) {
182
+ // Increment rebase_attempts and check cap
183
+ const task = db.prepare('SELECT rebase_attempts FROM tasks WHERE id = ?').get(taskId);
184
+ const attempts = (task?.rebase_attempts ?? 0) + 1;
185
+ if (attempts > MAX_REBASE_ATTEMPTS) {
186
+ db.prepare(`UPDATE tasks SET status = 'disputed', merge_phase = NULL, updated_at = datetime('now')
187
+ WHERE id = ?`).run(taskId);
188
+ (0, queries_js_1.addAuditEntry)(db, taskId, 'merge_pending', 'disputed', 'orchestrator', {
189
+ actorType: 'orchestrator',
190
+ notes: `[merge_queue] Rebase cap reached (${MAX_REBASE_ATTEMPTS} attempts): ${reason}`,
191
+ });
192
+ return;
193
+ }
194
+ db.prepare(`UPDATE tasks SET merge_phase = 'rebasing', rebase_attempts = ?, updated_at = datetime('now')
195
+ WHERE id = ?`).run(attempts, taskId);
196
+ (0, queries_js_1.addAuditEntry)(db, taskId, 'merge_pending', 'merge_pending', 'orchestrator', {
197
+ actorType: 'orchestrator',
198
+ notes: `[merge_queue] Transitioning to rebase (attempt ${attempts}/${MAX_REBASE_ATTEMPTS}): ${reason}`,
199
+ });
200
+ }
201
+ // ─── Orchestrator ────────────────────────────────────────────────────────────
202
+ async function handleMergeAttempt(db, task, config, sourceProjectPath, runnerId) {
203
+ const remote = config.git?.remote ?? 'origin';
204
+ const targetBranch = config.git?.branch ?? 'main';
205
+ const approvedSha = task.approved_sha;
206
+ if (!approvedSha) {
207
+ (0, queries_js_1.updateTaskStatus)(db, task.id, 'blocked_error', 'orchestrator', '[merge_queue] No approved_sha — cannot merge without reviewer-verified SHA');
208
+ return;
209
+ }
210
+ // Local-only guard: no remote configured → skip merge queue
211
+ const remoteUrl = (0, pool_js_1.resolveRemoteUrl)(sourceProjectPath);
212
+ if (!remoteUrl) {
213
+ markCompleted(db, task.id, approvedSha);
214
+ return;
215
+ }
216
+ const projectId = (0, clone_js_1.getProjectHash)(sourceProjectPath);
217
+ const gdb = (0, global_db_js_1.openGlobalDatabase)();
218
+ let slotId;
219
+ let lockAcquired = false;
220
+ try {
221
+ // Claim pool slot for merge workspace
222
+ const slot = (0, pool_js_1.claimSlot)(gdb.db, projectId, runnerId ?? `merge:${process.pid}`, task.id);
223
+ const finalSlot = (0, pool_js_1.finalizeSlotPath)(gdb.db, slot.id, sourceProjectPath, remoteUrl);
224
+ slotId = finalSlot.id;
225
+ // Try to acquire merge lock (non-blocking)
226
+ lockAcquired = (0, merge_lock_js_1.acquireWorkspaceMergeLock)(gdb.db, projectId, runnerId ?? `merge:${process.pid}`, slotId, 0, 0, true);
227
+ if (!lockAcquired) {
228
+ // Another merge is in progress — retry next iteration
229
+ return;
230
+ }
231
+ const taskBranch = finalSlot.task_branch ?? `steroids/task-${task.id}`;
232
+ const slotPath = finalSlot.slot_path;
233
+ // Step 1: Fetch and prepare
234
+ const prepResult = fetchAndPrepare(slotPath, taskBranch, targetBranch, approvedSha);
235
+ if (prepResult.alreadyMerged) {
236
+ markCompleted(db, task.id, approvedSha);
237
+ cleanupTaskBranch(slotPath, taskBranch);
238
+ return;
239
+ }
240
+ if (!prepResult.ok) {
241
+ handlePrepFailure(db, task.id, prepResult.error);
242
+ return;
243
+ }
244
+ // Step 2: Attempt rebase and fast-forward
245
+ const mergeResult = attemptRebaseAndFastForward(slotPath, taskBranch, targetBranch);
246
+ if (!mergeResult.merged) {
247
+ transitionToRebasing(db, task.id, 'Merge conflicts detected during fast-forward attempt');
248
+ return;
249
+ }
250
+ // Step 3: Push target branch
251
+ const pushResult = await pushTargetBranch(slotPath, targetBranch);
252
+ if (!pushResult.ok) {
253
+ switch (pushResult.errorClass) {
254
+ case 'race_loss':
255
+ // Another merge won the race — retry next iteration (no status change)
256
+ return;
257
+ case 'transient':
258
+ // Network issue — retry next iteration (no status change)
259
+ return;
260
+ case 'permanent':
261
+ (0, queries_js_1.updateTaskStatus)(db, task.id, 'blocked_error', 'orchestrator', `[merge_queue] Permanent push failure: ${pushResult.error}`);
262
+ return;
263
+ }
264
+ }
265
+ // Step 4: Get merged SHA
266
+ let mergedSha;
267
+ try {
268
+ mergedSha = (0, node_child_process_1.execFileSync)('git', ['rev-parse', 'HEAD'], {
269
+ cwd: slotPath, encoding: 'utf-8', timeout: 10_000,
270
+ }).trim();
271
+ }
272
+ catch { /* non-critical */ }
273
+ // Step 5: Cleanup task branch (non-fatal)
274
+ cleanupTaskBranch(slotPath, taskBranch);
275
+ // Step 6: Mark completed
276
+ markCompleted(db, task.id, mergedSha);
277
+ }
278
+ finally {
279
+ if (lockAcquired) {
280
+ try {
281
+ (0, merge_lock_js_1.releaseWorkspaceMergeLock)(gdb.db, projectId);
282
+ }
283
+ catch { /* ignore */ }
284
+ }
285
+ if (slotId !== undefined) {
286
+ try {
287
+ (0, pool_js_1.releaseSlot)(gdb.db, slotId);
288
+ }
289
+ catch { /* ignore */ }
290
+ }
291
+ try {
292
+ gdb.close();
293
+ }
294
+ catch { /* ignore */ }
295
+ }
296
+ }
297
+ // ─── Rebase phase wrapper ────────────────────────────────────────────────────
298
+ async function handleRebasePhase(db, task, config, sourceProjectPath, phase, runnerId) {
299
+ const { handleRebaseCoder, handleRebaseReview } = await import('./merge-queue-rebase.js');
300
+ const targetBranch = config.git?.branch ?? 'main';
301
+ const remoteUrl = (0, pool_js_1.resolveRemoteUrl)(sourceProjectPath);
302
+ if (!remoteUrl) {
303
+ // Local-only — no rebase needed, mark completed
304
+ markCompleted(db, task.id, task.approved_sha ?? undefined);
305
+ return;
306
+ }
307
+ const projectId = (0, clone_js_1.getProjectHash)(sourceProjectPath);
308
+ const gdb = (0, global_db_js_1.openGlobalDatabase)();
309
+ let slotId;
310
+ try {
311
+ const slot = (0, pool_js_1.claimSlot)(gdb.db, projectId, runnerId ?? `rebase:${process.pid}`, task.id);
312
+ const finalSlot = (0, pool_js_1.finalizeSlotPath)(gdb.db, slot.id, sourceProjectPath, remoteUrl);
313
+ slotId = finalSlot.id;
314
+ const taskBranch = finalSlot.task_branch ?? `steroids/task-${task.id}`;
315
+ const slotPath = finalSlot.slot_path;
316
+ if (phase === 'rebasing') {
317
+ await handleRebaseCoder(db, task, config, slotPath, targetBranch, taskBranch, runnerId);
318
+ }
319
+ else {
320
+ await handleRebaseReview(db, task, config, slotPath, targetBranch, taskBranch, runnerId);
321
+ }
322
+ }
323
+ finally {
324
+ if (slotId !== undefined) {
325
+ try {
326
+ (0, pool_js_1.releaseSlot)(gdb.db, slotId);
327
+ }
328
+ catch { /* ignore */ }
329
+ }
330
+ try {
331
+ gdb.close();
332
+ }
333
+ catch { /* ignore */ }
334
+ }
335
+ }
336
+ // ─── Router ──────────────────────────────────────────────────────────────────
337
+ async function processMergeQueue(db, task, config, sourceProjectPath, runnerId) {
338
+ const mergePhase = task.merge_phase ?? 'queued';
339
+ switch (mergePhase) {
340
+ case 'queued':
341
+ await handleMergeAttempt(db, task, config, sourceProjectPath, runnerId);
342
+ break;
343
+ case 'rebasing':
344
+ case 'rebase_review':
345
+ await handleRebasePhase(db, task, config, sourceProjectPath, mergePhase, runnerId);
346
+ break;
347
+ default:
348
+ (0, queries_js_1.updateTaskStatus)(db, task.id, 'blocked_error', 'orchestrator', `[merge_queue] Unknown merge_phase: ${mergePhase}`);
349
+ break;
350
+ }
351
+ }
352
+ //# sourceMappingURL=merge-queue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge-queue.js","sourceRoot":"","sources":["../../src/orchestrator/merge-queue.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAkBH,8CAeC;AAED,gDAYC;AAaD,0CA2CC;AAED,8CAyBC;AAOD,kEA2CC;AAED,4CAUC;AAED,8CAYC;AAED,sCAcC;AAID,oDA6BC;AAID,gDAmHC;AAiDD,8CAsBC;AA3bD,2DAAkD;AAElD,uDAAyE;AAEzE,8DAAkG;AAClG,kDAAkG;AAClG,mDAAsD;AACtD,gEAAmE;AAEnE,0DAA6D;AAO7D,SAAgB,iBAAiB,CAAC,KAAa;IAC7C,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAClC,IAAI,KAAK,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QACxG,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,IACE,KAAK,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QACnC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC;QAC5B,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC;QACzB,KAAK,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QAClC,KAAK,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EACnC,CAAC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,SAAgB,kBAAkB,CAAC,KAAa;IAC9C,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAClC,IACE,KAAK,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QACnC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC;QAC5B,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC;QACzB,KAAK,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QAClC,KAAK,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EACnC,CAAC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAaD,SAAgB,eAAe,CAC7B,QAAgB,EAChB,UAAkB,EAClB,YAAoB,EACpB,WAAmB;IAEnB,2BAA2B;IAC3B,IAAI,CAAC;QACH,IAAA,iCAAY,EAAC,KAAK,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,CAAC,EAAE;YACjE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;YAClD,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,mBAAmB,EAAE,GAAG,EAAE;SAClD,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7D,MAAM,MAAM,GAAI,GAA2B,EAAE,MAAM,IAAI,EAAE,CAAC;QAC1D,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC;QACrC,MAAM,cAAc,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACnD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,KAAK,WAAW,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;IACtG,CAAC;IAED,iFAAiF;IACjF,IAAI,CAAC;QACH,IAAA,iCAAY,EAAC,KAAK,EAAE,CAAC,YAAY,EAAE,eAAe,EAAE,WAAW,EAAE,UAAU,YAAY,EAAE,CAAC,EAAE;YAC1F,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM;SAClD,CAAC,CAAC;QACH,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,uCAAuC;IACzC,CAAC;IAED,wDAAwD;IACxD,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,IAAA,iCAAY,EAAC,KAAK,EAAE,CAAC,WAAW,EAAE,UAAU,UAAU,EAAE,CAAC,EAAE;YAC5E,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM;SAClD,CAAC,CAAC,IAAI,EAAE,CAAC;QACV,IAAI,UAAU,KAAK,WAAW,EAAE,CAAC;YAC/B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC;QAC9C,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC;IACjD,CAAC;IAED,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,eAAe,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC;AAC3E,CAAC;AAED,SAAgB,iBAAiB,CAC/B,EAAqB,EACrB,MAAc,EACd,KAA6D;IAE7D,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,cAAc;YACjB,6DAA6D;YAC7D,EAAE,CAAC,OAAO,CACR;sBACc,CACf,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACd,IAAA,0BAAa,EAAC,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,cAAc,EAAE;gBACnE,SAAS,EAAE,cAAc;gBACzB,KAAK,EAAE,uFAAuF;aAC/F,CAAC,CAAC;YACH,MAAM;QACR,KAAK,iBAAiB;YACpB,oEAAoE;YACpE,MAAM;QACR,KAAK,iBAAiB;YACpB,IAAA,6BAAgB,EAAC,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,cAAc,EAC1D,0FAA0F,CAAC,CAAC;YAC9F,MAAM;IACV,CAAC;AACH,CAAC;AAOD,SAAgB,2BAA2B,CACzC,QAAgB,EAChB,UAAkB,EAClB,YAAoB;IAEpB,wCAAwC;IACxC,IAAA,iCAAY,EAAC,KAAK,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,YAAY,EAAE,CAAC,EAAE;QAC9E,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM;KAClD,CAAC,CAAC;IAEH,0BAA0B;IAC1B,IAAI,CAAC;QACH,IAAA,iCAAY,EAAC,KAAK,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,UAAU,UAAU,EAAE,CAAC,EAAE;YAClE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM;SAClD,CAAC,CAAC;QACH,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,kDAAkD;IACpD,CAAC;IAED,sEAAsE;IACtE,IAAI,CAAC;QACH,IAAA,iCAAY,EAAC,KAAK,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,UAAU,EAAE,CAAC,EAAE;YAC1E,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM;SAClD,CAAC,CAAC;QACH,IAAA,iCAAY,EAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,UAAU,YAAY,EAAE,CAAC,EAAE;YACxD,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;SACnD,CAAC,CAAC;QACH,wDAAwD;QACxD,IAAA,iCAAY,EAAC,KAAK,EAAE,CAAC,UAAU,EAAE,YAAY,CAAC,EAAE;YAC9C,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM;SAClD,CAAC,CAAC;QACH,IAAA,iCAAY,EAAC,KAAK,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,UAAU,CAAC,EAAE;YACtD,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM;SAClD,CAAC,CAAC;QACH,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,+BAA+B;QAC/B,IAAI,CAAC;YACH,IAAA,iCAAY,EAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QACpG,CAAC;QAAC,MAAM,CAAC,CAAC,mBAAmB,CAAC,CAAC;QAC/B,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IAChD,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,gBAAgB,CACpC,QAAgB,EAChB,YAAoB;IAEpB,MAAM,MAAM,GAAG,MAAM,IAAA,qCAAoB,EAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IACpG,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IACtB,CAAC;IACD,MAAM,UAAU,GAAG,iBAAiB,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IACzD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;AACxD,CAAC;AAED,SAAgB,iBAAiB,CAC/B,QAAgB,EAChB,UAAkB;IAElB,IAAI,CAAC;QACH,IAAA,iCAAY,EAAC,KAAK,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE;YAC9D,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM;YACjD,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,mBAAmB,EAAE,GAAG,EAAE;SAClD,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,kEAAkE;IACpE,CAAC;AACH,CAAC;AAED,SAAgB,aAAa,CAC3B,EAAqB,EACrB,MAAc,EACd,SAAkB;IAElB,EAAE,CAAC,OAAO,CACR;kBACc,CACf,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACd,IAAA,0BAAa,EAAC,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,cAAc,EAAE;QACtE,SAAS,EAAE,cAAc;QACzB,KAAK,EAAE,4CAA4C;QACnD,SAAS,EAAE,SAAS;KACrB,CAAC,CAAC;AACL,CAAC;AAED,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAE9B,SAAgB,oBAAoB,CAClC,EAAqB,EACrB,MAAc,EACd,MAAc;IAEd,0CAA0C;IAC1C,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,gDAAgD,CAAC,CAAC,GAAG,CAAC,MAAM,CAA4C,CAAC;IACjI,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,eAAe,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IAElD,IAAI,QAAQ,GAAG,mBAAmB,EAAE,CAAC;QACnC,EAAE,CAAC,OAAO,CACR;oBACc,CACf,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACd,IAAA,0BAAa,EAAC,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,UAAU,EAAE,cAAc,EAAE;YACrE,SAAS,EAAE,cAAc;YACzB,KAAK,EAAE,qCAAqC,mBAAmB,eAAe,MAAM,EAAE;SACvF,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IAED,EAAE,CAAC,OAAO,CACR;kBACc,CACf,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACxB,IAAA,0BAAa,EAAC,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,eAAe,EAAE,cAAc,EAAE;QAC1E,SAAS,EAAE,cAAc;QACzB,KAAK,EAAE,kDAAkD,QAAQ,IAAI,mBAAmB,MAAM,MAAM,EAAE;KACvG,CAAC,CAAC;AACL,CAAC;AAED,gFAAgF;AAEzE,KAAK,UAAU,kBAAkB,CACtC,EAAqB,EACrB,IAAU,EACV,MAAsB,EACtB,iBAAyB,EACzB,QAAiB;IAEjB,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,EAAE,MAAM,IAAI,QAAQ,CAAC;IAC9C,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,EAAE,MAAM,IAAI,MAAM,CAAC;IAClD,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;IAEtC,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,IAAA,6BAAgB,EAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,eAAe,EAAE,cAAc,EAC3D,4EAA4E,CAAC,CAAC;QAChF,OAAO;IACT,CAAC;IAED,4DAA4D;IAC5D,MAAM,SAAS,GAAG,IAAA,0BAAgB,EAAC,iBAAiB,CAAC,CAAC;IACtD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,aAAa,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;QACxC,OAAO;IACT,CAAC;IAED,MAAM,SAAS,GAAG,IAAA,yBAAc,EAAC,iBAAiB,CAAC,CAAC;IACpD,MAAM,GAAG,GAAG,IAAA,iCAAkB,GAAE,CAAC;IACjC,IAAI,MAA0B,CAAC;IAC/B,IAAI,YAAY,GAAG,KAAK,CAAC;IAEzB,IAAI,CAAC;QACH,sCAAsC;QACtC,MAAM,IAAI,GAAG,IAAA,mBAAS,EAAC,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,QAAQ,IAAI,SAAS,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QACvF,MAAM,SAAS,GAAG,IAAA,0BAAgB,EAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,iBAAiB,EAAE,SAAS,CAAC,CAAC;QAClF,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;QAEtB,2CAA2C;QAC3C,YAAY,GAAG,IAAA,yCAAyB,EACtC,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,QAAQ,IAAI,SAAS,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,CAC1E,CAAC;QACF,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,sDAAsD;YACtD,OAAO;QACT,CAAC;QAED,MAAM,UAAU,GAAG,SAAS,CAAC,WAAW,IAAI,iBAAiB,IAAI,CAAC,EAAE,EAAE,CAAC;QACvE,MAAM,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC;QAErC,4BAA4B;QAC5B,MAAM,UAAU,GAAG,eAAe,CAAC,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;QAEpF,IAAI,UAAU,CAAC,aAAa,EAAE,CAAC;YAC7B,aAAa,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;YACxC,iBAAiB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YACxC,OAAO;QACT,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;YACnB,iBAAiB,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,UAAU,CAAC,KAAM,CAAC,CAAC;YAClD,OAAO;QACT,CAAC;QAED,0CAA0C;QAC1C,MAAM,WAAW,GAAG,2BAA2B,CAAC,QAAQ,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;QAEpF,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;YACxB,oBAAoB,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,sDAAsD,CAAC,CAAC;YAC1F,OAAO;QACT,CAAC;QAED,6BAA6B;QAC7B,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAElE,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;YACnB,QAAQ,UAAU,CAAC,UAAU,EAAE,CAAC;gBAC9B,KAAK,WAAW;oBACd,uEAAuE;oBACvE,OAAO;gBACT,KAAK,WAAW;oBACd,0DAA0D;oBAC1D,OAAO;gBACT,KAAK,WAAW;oBACd,IAAA,6BAAgB,EAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,eAAe,EAAE,cAAc,EAC3D,yCAAyC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;oBAC/D,OAAO;YACX,CAAC;QACH,CAAC;QAED,yBAAyB;QACzB,IAAI,SAA6B,CAAC;QAClC,IAAI,CAAC;YACH,SAAS,GAAG,IAAA,iCAAY,EAAC,KAAK,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE;gBACrD,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM;aAClD,CAAC,CAAC,IAAI,EAAE,CAAC;QACZ,CAAC;QAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;QAE9B,0CAA0C;QAC1C,iBAAiB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAExC,yBAAyB;QACzB,aAAa,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;IACxC,CAAC;YAAS,CAAC;QACT,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,CAAC;gBACH,IAAA,yCAAyB,EAAC,GAAG,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;YAC/C,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QAC1B,CAAC;QACD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,IAAA,qBAAW,EAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YAC9B,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC;YACH,GAAG,CAAC,KAAK,EAAE,CAAC;QACd,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IAC1B,CAAC;AACH,CAAC;AAED,gFAAgF;AAEhF,KAAK,UAAU,iBAAiB,CAC9B,EAAqB,EACrB,IAAU,EACV,MAAsB,EACtB,iBAAyB,EACzB,KAAmC,EACnC,QAAiB;IAEjB,MAAM,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;IAC1F,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,EAAE,MAAM,IAAI,MAAM,CAAC;IAClD,MAAM,SAAS,GAAG,IAAA,0BAAgB,EAAC,iBAAiB,CAAC,CAAC;IAEtD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,gDAAgD;QAChD,aAAa,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,YAAY,IAAI,SAAS,CAAC,CAAC;QAC3D,OAAO;IACT,CAAC;IAED,MAAM,SAAS,GAAG,IAAA,yBAAc,EAAC,iBAAiB,CAAC,CAAC;IACpD,MAAM,GAAG,GAAG,IAAA,iCAAkB,GAAE,CAAC;IACjC,IAAI,MAA0B,CAAC;IAE/B,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAA,mBAAS,EAAC,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,QAAQ,IAAI,UAAU,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QACxF,MAAM,SAAS,GAAG,IAAA,0BAAgB,EAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,iBAAiB,EAAE,SAAS,CAAC,CAAC;QAClF,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;QAEtB,MAAM,UAAU,GAAG,SAAS,CAAC,WAAW,IAAI,iBAAiB,IAAI,CAAC,EAAE,EAAE,CAAC;QACvE,MAAM,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC;QAErC,IAAI,KAAK,KAAK,UAAU,EAAE,CAAC;YACzB,MAAM,iBAAiB,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;QAC1F,CAAC;aAAM,CAAC;YACN,MAAM,kBAAkB,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;QAC3F,CAAC;IACH,CAAC;YAAS,CAAC;QACT,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,IAAI,CAAC;gBAAC,IAAA,qBAAW,EAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QAC7D,CAAC;QACD,IAAI,CAAC;YAAC,GAAG,CAAC,KAAK,EAAE,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC;AAED,gFAAgF;AAEzE,KAAK,UAAU,iBAAiB,CACrC,EAAqB,EACrB,IAAU,EACV,MAAsB,EACtB,iBAAyB,EACzB,QAAiB;IAEjB,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,IAAI,QAAQ,CAAC;IAEhD,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,QAAQ;YACX,MAAM,kBAAkB,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,iBAAiB,EAAE,QAAQ,CAAC,CAAC;YACxE,MAAM;QACR,KAAK,UAAU,CAAC;QAChB,KAAK,eAAe;YAClB,MAAM,iBAAiB,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,iBAAiB,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;YACnF,MAAM;QACR;YACE,IAAA,6BAAgB,EAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,eAAe,EAAE,cAAc,EAC3D,sCAAsC,UAAU,EAAE,CAAC,CAAC;YACtD,MAAM;IACV,CAAC;AACH,CAAC"}
@@ -8,7 +8,7 @@ import { isTaskLocked, type LockAcquisitionResult, type LockReleaseResult, type
8
8
  import { acquireSectionLock, releaseSectionLock, isSectionLocked } from '../locking/section-lock.js';
9
9
  export interface SelectedTask {
10
10
  task: Task;
11
- action: 'review' | 'resume' | 'start';
11
+ action: 'review' | 'resume' | 'start' | 'merge';
12
12
  rejectionNotes?: string;
13
13
  }
14
14
  export interface SelectedTaskWithLock extends SelectedTask {
@@ -69,6 +69,7 @@ export declare function getTaskCounts(db: Database.Database, sectionId?: string)
69
69
  pending: number;
70
70
  in_progress: number;
71
71
  review: number;
72
+ merge_pending: number;
72
73
  completed: number;
73
74
  disputed: number;
74
75
  failed: number;
@@ -1 +1 @@
1
- {"version":3,"file":"task-selector.d.ts","sourceRoot":"","sources":["../../src/orchestrator/task-selector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task-selector.d.ts","sourceRoot":"","sources":["../../src/orchestrator/task-selector.ts"],"names":[],"mappings":"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"}
@@ -35,7 +35,7 @@ function hasPendingOrInProgressWork(db, sectionId) {
35
35
  const row = db
36
36
  .prepare(`SELECT COUNT(*) as count FROM tasks
37
37
  WHERE section_id = ?
38
- AND status IN ('pending', 'in_progress', 'review')
38
+ AND status IN ('pending', 'in_progress', 'review', 'merge_pending')
39
39
  AND is_follow_up = 0`)
40
40
  .get(sectionId);
41
41
  return row.count > 0;
@@ -96,7 +96,7 @@ function selectTaskBatch(db, maxSize = 10) {
96
96
  const sections = db
97
97
  .prepare(`SELECT s.id, s.name, s.position,
98
98
  SUM(CASE WHEN t.status = 'pending' THEN 1 ELSE 0 END) as pending_count,
99
- SUM(CASE WHEN t.status IN ('in_progress', 'review') THEN 1 ELSE 0 END) as active_count
99
+ SUM(CASE WHEN t.status IN ('in_progress', 'review', 'merge_pending') THEN 1 ELSE 0 END) as active_count
100
100
  FROM sections s
101
101
  LEFT JOIN tasks t ON t.section_id = s.id
102
102
  GROUP BY s.id
@@ -163,6 +163,7 @@ function getTaskCounts(db, sectionId) {
163
163
  pending: 0,
164
164
  in_progress: 0,
165
165
  review: 0,
166
+ merge_pending: 0,
166
167
  completed: 0,
167
168
  disputed: 0,
168
169
  failed: 0,
@@ -244,10 +245,23 @@ function findNextTaskSkippingLocked(db, lockedTaskIds, runnerId, sectionId) {
244
245
  OR NOT EXISTS (
245
246
  SELECT 1 FROM tasks t2
246
247
  WHERE ((t2.section_id = t.section_id) OR (t2.section_id IS NULL AND t.section_id IS NULL))
247
- AND t2.status IN ('pending', 'in_progress', 'review')
248
+ AND t2.status IN ('pending', 'in_progress', 'review', 'merge_pending')
248
249
  AND t2.is_follow_up = 0
249
250
  )
250
251
  )`;
252
+ // Priority 0: Tasks awaiting merge (closest to completion)
253
+ const mergePendingTasks = db
254
+ .prepare(`SELECT t.* FROM tasks t
255
+ LEFT JOIN sections s ON t.section_id = s.id
256
+ WHERE t.status = 'merge_pending' ${sectionFilter}
257
+ ${followUpEligibilityFilter}
258
+ ORDER BY COALESCE(s.position, 999999), t.created_at`)
259
+ .all(...sectionParams);
260
+ for (const task of mergePendingTasks) {
261
+ if (canSelectTask(db, task) && (!lockedTaskIds.has(task.id) || isLockedByUs(db, task.id, runnerId))) {
262
+ return { task, action: 'merge' };
263
+ }
264
+ }
251
265
  // Priority 1: Tasks in 'review' status
252
266
  const reviewTasks = db
253
267
  .prepare(`SELECT t.* FROM tasks t
@@ -338,7 +352,7 @@ async function selectNextTaskWithWait(db, options) {
338
352
  }
339
353
  else {
340
354
  const counts = getTaskCounts(db);
341
- if (counts.pending === 0 && counts.in_progress === 0 && counts.review === 0) {
355
+ if (counts.pending === 0 && counts.in_progress === 0 && counts.review === 0 && counts.merge_pending === 0) {
342
356
  return null; // All tasks completed
343
357
  }
344
358
  }
@@ -365,7 +379,8 @@ async function selectNextTaskWithWait(db, options) {
365
379
  const currentCounts = getTaskCounts(db);
366
380
  if (currentCounts.pending === 0 &&
367
381
  currentCounts.in_progress === 0 &&
368
- currentCounts.review === 0) {
382
+ currentCounts.review === 0 &&
383
+ currentCounts.merge_pending === 0) {
369
384
  return null; // All tasks completed while waiting
370
385
  }
371
386
  }
@@ -1 +1 @@
1
- {"version":3,"file":"task-selector.js","sourceRoot":"","sources":["../../src/orchestrator/task-selector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task-selector.js","sourceRoot":"","sources":["../../src/orchestrator/task-selector.ts"],"names":[],"mappings":"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"}
@@ -19,20 +19,6 @@ export interface WorkspaceCloneResult {
19
19
  usedLocalClone: boolean;
20
20
  steroidsSymlinkPath: string;
21
21
  }
22
- export interface IntegrationWorkspaceOptions {
23
- projectPath: string;
24
- sessionId: string;
25
- baseBranch: string;
26
- remote?: string;
27
- workspaceRoot?: string;
28
- integrationBranchName?: string;
29
- /** Canonical remote URL (e.g. GitHub). When set, origin is re-pointed before any fetch. */
30
- canonicalRemoteUrl?: string;
31
- }
32
- export interface IntegrationWorkspaceResult extends WorkspaceCloneResult {
33
- integrationBranchName: string;
34
- integrationWorkstreamId: string;
35
- }
36
22
  export declare class WorkspaceCloneError extends Error {
37
23
  cause?: unknown | undefined;
38
24
  constructor(message: string, cause?: unknown | undefined);
@@ -55,5 +41,4 @@ export declare function ensureWorkspaceSteroidsSymlink(workspacePath: string, pr
55
41
  * Create an isolated workspace clone for one parallel workstream.
56
42
  */
57
43
  export declare function createWorkspaceClone(options: WorkspaceCloneOptions): WorkspaceCloneResult;
58
- export declare function createIntegrationWorkspace(options: IntegrationWorkspaceOptions): IntegrationWorkspaceResult;
59
44
  //# sourceMappingURL=clone.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"clone.d.ts","sourceRoot":"","sources":["../../src/parallel/clone.ts"],"names":[],"mappings":"AAAA;;GAEG;AA2BH,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,gGAAgG;IAChG,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,OAAO,CAAC;IACxB,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,2BAA2B;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,2FAA2F;IAC3F,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,0BAA2B,SAAQ,oBAAoB;IACtE,qBAAqB,EAAE,MAAM,CAAC;IAC9B,uBAAuB,EAAE,MAAM,CAAC;CACjC;AAED,qBAAa,mBAAoB,SAAQ,KAAK;IACR,KAAK,CAAC,EAAE,OAAO;gBAAvC,OAAO,EAAE,MAAM,EAAS,KAAK,CAAC,EAAE,OAAO,YAAA;CAQpD;AA6ED;;GAEG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAK1D;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CAEhD;AAED,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,aAAa,GAAE,MAAkC,GAChD,MAAM,CAER;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAK7E;AA0ED,wBAAgB,8BAA8B,CAC5C,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,GAClB,MAAM,CAyBR;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,qBAAqB,GAAG,oBAAoB,CAuJzF;AAMD,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,2BAA2B,GAAG,0BAA0B,CAkD3G"}
1
+ {"version":3,"file":"clone.d.ts","sourceRoot":"","sources":["../../src/parallel/clone.ts"],"names":[],"mappings":"AAAA;;GAEG;AA2BH,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,gGAAgG;IAChG,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,OAAO,CAAC;IACxB,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAID,qBAAa,mBAAoB,SAAQ,KAAK;IACR,KAAK,CAAC,EAAE,OAAO;gBAAvC,OAAO,EAAE,MAAM,EAAS,KAAK,CAAC,EAAE,OAAO,YAAA;CAQpD;AA6ED;;GAEG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAK1D;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CAEhD;AAED,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,aAAa,GAAE,MAAkC,GAChD,MAAM,CAER;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAK7E;AA0ED,wBAAgB,8BAA8B,CAC5C,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,GAClB,MAAM,CAyBR;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,qBAAqB,GAAG,oBAAoB,CAuJzF"}
@@ -10,7 +10,6 @@ exports.getWorkspacePath = getWorkspacePath;
10
10
  exports.isSameFileSystem = isSameFileSystem;
11
11
  exports.ensureWorkspaceSteroidsSymlink = ensureWorkspaceSteroidsSymlink;
12
12
  exports.createWorkspaceClone = createWorkspaceClone;
13
- exports.createIntegrationWorkspace = createIntegrationWorkspace;
14
13
  const node_crypto_1 = require("node:crypto");
15
14
  const loader_js_1 = require("../config/loader.js");
16
15
  const skills_js_1 = require("../commands/skills.js");
@@ -341,40 +340,4 @@ function createWorkspaceClone(options) {
341
340
  steroidsSymlinkPath,
342
341
  };
343
342
  }
344
- function getIntegrationWorkstreamId(sessionId) {
345
- return `integration-${sessionId.slice(0, 8)}`;
346
- }
347
- function createIntegrationWorkspace(options) {
348
- const remote = options.remote ?? 'origin';
349
- const integrationWorkstreamId = getIntegrationWorkstreamId(options.sessionId);
350
- const integrationBranchName = options.integrationBranchName ?? `steroids/integration-${options.sessionId.slice(0, 8)}`;
351
- const clone = createWorkspaceClone({
352
- projectPath: options.projectPath,
353
- workstreamId: integrationWorkstreamId,
354
- branchName: integrationBranchName,
355
- workspaceRoot: options.workspaceRoot,
356
- force: true,
357
- });
358
- try {
359
- // Re-point origin to canonical remote (e.g. GitHub) so workstream branch
360
- // fetches reach branches pushed by pool slots, not the local project dir.
361
- if (options.canonicalRemoteUrl) {
362
- (0, node_child_process_1.execFileSync)('git', ['-C', clone.workspacePath, 'remote', 'set-url', remote, options.canonicalRemoteUrl], { stdio: 'inherit', env: { ...process.env, GIT_TERMINAL_PROMPT: '0' } });
363
- }
364
- (0, node_child_process_1.execFileSync)('git', ['-C', clone.workspacePath, 'fetch', remote, options.baseBranch], { stdio: 'inherit', env: { ...process.env, GIT_TERMINAL_PROMPT: '0' } });
365
- // Force-update local base branch to match remote — getWorkstreamCommitList()
366
- // uses it as baseline, and it may be stale after origin rewrite.
367
- (0, node_child_process_1.execFileSync)('git', ['-C', clone.workspacePath, 'branch', '--force', options.baseBranch, `${remote}/${options.baseBranch}`], { stdio: 'inherit', env: { ...process.env, GIT_TERMINAL_PROMPT: '0' } });
368
- (0, node_child_process_1.execFileSync)('git', ['-C', clone.workspacePath, 'checkout', '-B', integrationBranchName, `${remote}/${options.baseBranch}`], { stdio: 'inherit', env: { ...process.env, GIT_TERMINAL_PROMPT: '0' } });
369
- }
370
- catch (error) {
371
- (0, node_fs_1.rmSync)(clone.workspacePath, { recursive: true, force: true });
372
- throw new WorkspaceCloneError('Failed to bootstrap integration workspace branch', error);
373
- }
374
- return {
375
- ...clone,
376
- integrationBranchName,
377
- integrationWorkstreamId,
378
- };
379
- }
380
343
  //# sourceMappingURL=clone.js.map