steroids-cli 0.8.33 → 0.8.35

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 (109) hide show
  1. package/dist/commands/loop-phases.d.ts +6 -2
  2. package/dist/commands/loop-phases.d.ts.map +1 -1
  3. package/dist/commands/loop-phases.js +42 -2
  4. package/dist/commands/loop-phases.js.map +1 -1
  5. package/dist/commands/merge.d.ts.map +1 -1
  6. package/dist/commands/merge.js +13 -1
  7. package/dist/commands/merge.js.map +1 -1
  8. package/dist/commands/runners-parallel.d.ts +1 -0
  9. package/dist/commands/runners-parallel.d.ts.map +1 -1
  10. package/dist/commands/runners-parallel.js +93 -6
  11. package/dist/commands/runners-parallel.js.map +1 -1
  12. package/dist/commands/workspaces.d.ts.map +1 -1
  13. package/dist/commands/workspaces.js +38 -4
  14. package/dist/commands/workspaces.js.map +1 -1
  15. package/dist/config/loader.d.ts +9 -0
  16. package/dist/config/loader.d.ts.map +1 -1
  17. package/dist/config/loader.js +12 -3
  18. package/dist/config/loader.js.map +1 -1
  19. package/dist/config/schema.d.ts.map +1 -1
  20. package/dist/config/schema.js +48 -3
  21. package/dist/config/schema.js.map +1 -1
  22. package/dist/database/queries.d.ts.map +1 -1
  23. package/dist/database/queries.js +15 -1
  24. package/dist/database/queries.js.map +1 -1
  25. package/dist/database/schema.d.ts +2 -2
  26. package/dist/database/schema.d.ts.map +1 -1
  27. package/dist/database/schema.js +9 -0
  28. package/dist/database/schema.js.map +1 -1
  29. package/dist/orchestrator/coder.js +1 -1
  30. package/dist/orchestrator/coder.js.map +1 -1
  31. package/dist/orchestrator/coordinator.d.ts.map +1 -1
  32. package/dist/orchestrator/coordinator.js +5 -3
  33. package/dist/orchestrator/coordinator.js.map +1 -1
  34. package/dist/orchestrator/fallback-handler.d.ts +2 -1
  35. package/dist/orchestrator/fallback-handler.d.ts.map +1 -1
  36. package/dist/orchestrator/fallback-handler.js +36 -20
  37. package/dist/orchestrator/fallback-handler.js.map +1 -1
  38. package/dist/orchestrator/post-reviewer.d.ts.map +1 -1
  39. package/dist/orchestrator/post-reviewer.js +18 -23
  40. package/dist/orchestrator/post-reviewer.js.map +1 -1
  41. package/dist/orchestrator/reviewer.d.ts +1 -1
  42. package/dist/orchestrator/reviewer.d.ts.map +1 -1
  43. package/dist/orchestrator/reviewer.js +19 -16
  44. package/dist/orchestrator/reviewer.js.map +1 -1
  45. package/dist/parallel/clone.d.ts +13 -0
  46. package/dist/parallel/clone.d.ts.map +1 -1
  47. package/dist/parallel/clone.js +40 -0
  48. package/dist/parallel/clone.js.map +1 -1
  49. package/dist/parallel/merge-conflict-attempts.d.ts +8 -0
  50. package/dist/parallel/merge-conflict-attempts.d.ts.map +1 -0
  51. package/dist/parallel/merge-conflict-attempts.js +68 -0
  52. package/dist/parallel/merge-conflict-attempts.js.map +1 -0
  53. package/dist/parallel/merge-conflict-invoke.d.ts +2 -0
  54. package/dist/parallel/merge-conflict-invoke.d.ts.map +1 -0
  55. package/dist/parallel/merge-conflict-invoke.js +41 -0
  56. package/dist/parallel/merge-conflict-invoke.js.map +1 -0
  57. package/dist/parallel/merge-conflict-prompts.d.ts +23 -0
  58. package/dist/parallel/merge-conflict-prompts.d.ts.map +1 -0
  59. package/dist/parallel/merge-conflict-prompts.js +40 -0
  60. package/dist/parallel/merge-conflict-prompts.js.map +1 -0
  61. package/dist/parallel/merge-conflict-task.d.ts +3 -0
  62. package/dist/parallel/merge-conflict-task.d.ts.map +1 -0
  63. package/dist/parallel/merge-conflict-task.js +59 -0
  64. package/dist/parallel/merge-conflict-task.js.map +1 -0
  65. package/dist/parallel/merge-conflict.d.ts +7 -7
  66. package/dist/parallel/merge-conflict.d.ts.map +1 -1
  67. package/dist/parallel/merge-conflict.js +91 -135
  68. package/dist/parallel/merge-conflict.js.map +1 -1
  69. package/dist/parallel/merge-errors.d.ts +2 -0
  70. package/dist/parallel/merge-errors.d.ts.map +1 -1
  71. package/dist/parallel/merge-errors.js +2 -0
  72. package/dist/parallel/merge-errors.js.map +1 -1
  73. package/dist/parallel/merge-git.d.ts.map +1 -1
  74. package/dist/parallel/merge-git.js +4 -1
  75. package/dist/parallel/merge-git.js.map +1 -1
  76. package/dist/parallel/merge-lock.d.ts +4 -2
  77. package/dist/parallel/merge-lock.d.ts.map +1 -1
  78. package/dist/parallel/merge-lock.js +51 -18
  79. package/dist/parallel/merge-lock.js.map +1 -1
  80. package/dist/parallel/merge-progress.d.ts +3 -1
  81. package/dist/parallel/merge-progress.d.ts.map +1 -1
  82. package/dist/parallel/merge-progress.js +9 -4
  83. package/dist/parallel/merge-progress.js.map +1 -1
  84. package/dist/parallel/merge.d.ts +4 -0
  85. package/dist/parallel/merge.d.ts.map +1 -1
  86. package/dist/parallel/merge.js +222 -17
  87. package/dist/parallel/merge.js.map +1 -1
  88. package/dist/prompts/prompt-helpers.d.ts +1 -1
  89. package/dist/prompts/prompt-helpers.d.ts.map +1 -1
  90. package/dist/prompts/prompt-helpers.js +10 -7
  91. package/dist/prompts/prompt-helpers.js.map +1 -1
  92. package/dist/prompts/reviewer.d.ts.map +1 -1
  93. package/dist/prompts/reviewer.js +48 -21
  94. package/dist/prompts/reviewer.js.map +1 -1
  95. package/dist/runners/global-db.d.ts +32 -0
  96. package/dist/runners/global-db.d.ts.map +1 -1
  97. package/dist/runners/global-db.js +403 -2
  98. package/dist/runners/global-db.js.map +1 -1
  99. package/dist/runners/orchestrator-loop.d.ts.map +1 -1
  100. package/dist/runners/orchestrator-loop.js +50 -3
  101. package/dist/runners/orchestrator-loop.js.map +1 -1
  102. package/dist/runners/wakeup.d.ts +1 -0
  103. package/dist/runners/wakeup.d.ts.map +1 -1
  104. package/dist/runners/wakeup.js +363 -29
  105. package/dist/runners/wakeup.js.map +1 -1
  106. package/migrations/012_add_merge_lock_epoch.sql +15 -0
  107. package/migrations/013_add_merge_progress_applied_commit_sha.sql +15 -0
  108. package/migrations/manifest.json +17 -1
  109. package/package.json +1 -1
@@ -6,6 +6,10 @@ import { getTask } from '../database/queries.js';
6
6
  import type { openDatabase } from '../database/connection.js';
7
7
  import { type CoordinatorResult } from '../orchestrator/coordinator.js';
8
8
  export { type CoordinatorResult };
9
+ interface LeaseFenceContext {
10
+ parallelSessionId?: string;
11
+ runnerId?: string;
12
+ }
9
13
  /**
10
14
  * Returned when a provider invocation is classified as credit exhaustion.
11
15
  * The main loop should pause and wait for a config change instead of retrying.
@@ -17,6 +21,6 @@ export interface CreditExhaustionResult {
17
21
  role: 'coder' | 'reviewer';
18
22
  message: string;
19
23
  }
20
- export declare function runCoderPhase(db: ReturnType<typeof openDatabase>['db'], task: ReturnType<typeof getTask>, projectPath: string, action: 'start' | 'resume', jsonMode?: boolean, coordinatorCache?: Map<string, CoordinatorResult>, coordinatorThresholds?: number[]): Promise<CreditExhaustionResult | void>;
21
- export declare function runReviewerPhase(db: ReturnType<typeof openDatabase>['db'], task: ReturnType<typeof getTask>, projectPath: string, jsonMode?: boolean, coordinatorResult?: CoordinatorResult, branchName?: string): Promise<CreditExhaustionResult | void>;
24
+ export declare function runCoderPhase(db: ReturnType<typeof openDatabase>['db'], task: ReturnType<typeof getTask>, projectPath: string, action: 'start' | 'resume', jsonMode?: boolean, coordinatorCache?: Map<string, CoordinatorResult>, coordinatorThresholds?: number[], leaseFence?: LeaseFenceContext): Promise<CreditExhaustionResult | void>;
25
+ export declare function runReviewerPhase(db: ReturnType<typeof openDatabase>['db'], task: ReturnType<typeof getTask>, projectPath: string, jsonMode?: boolean, coordinatorResult?: CoordinatorResult, branchName?: string, leaseFence?: LeaseFenceContext): Promise<CreditExhaustionResult | void>;
22
26
  //# sourceMappingURL=loop-phases.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"loop-phases.d.ts","sourceRoot":"","sources":["../../src/commands/loop-phases.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EACL,OAAO,EASR,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAG9D,OAAO,EAA8C,KAAK,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAkBpH,OAAO,EAAE,KAAK,iBAAiB,EAAE,CAAC;AAElC;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,yBAAyB,CAAC;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,OAAO,GAAG,UAAU,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;CACjB;AAkED,wBAAsB,aAAa,CACjC,EAAE,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,IAAI,CAAC,EACzC,IAAI,EAAE,UAAU,CAAC,OAAO,OAAO,CAAC,EAChC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,OAAO,GAAG,QAAQ,EAC1B,QAAQ,UAAQ,EAChB,gBAAgB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,EACjD,qBAAqB,CAAC,EAAE,MAAM,EAAE,GAC/B,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC,CA8NxC;AAED,wBAAsB,gBAAgB,CACpC,EAAE,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,IAAI,CAAC,EACzC,IAAI,EAAE,UAAU,CAAC,OAAO,OAAO,CAAC,EAChC,WAAW,EAAE,MAAM,EACnB,QAAQ,UAAQ,EAChB,iBAAiB,CAAC,EAAE,iBAAiB,EACrC,UAAU,GAAE,MAAe,GAC1B,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC,CAuKxC"}
1
+ {"version":3,"file":"loop-phases.d.ts","sourceRoot":"","sources":["../../src/commands/loop-phases.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EACL,OAAO,EASR,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAG9D,OAAO,EAA8C,KAAK,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAmBpH,OAAO,EAAE,KAAK,iBAAiB,EAAE,CAAC;AAElC,UAAU,iBAAiB;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AA8CD;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,yBAAyB,CAAC;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,OAAO,GAAG,UAAU,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;CACjB;AAkED,wBAAsB,aAAa,CACjC,EAAE,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,IAAI,CAAC,EACzC,IAAI,EAAE,UAAU,CAAC,OAAO,OAAO,CAAC,EAChC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,OAAO,GAAG,QAAQ,EAC1B,QAAQ,UAAQ,EAChB,gBAAgB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,EACjD,qBAAqB,CAAC,EAAE,MAAM,EAAE,EAChC,UAAU,CAAC,EAAE,iBAAiB,GAC7B,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC,CAgOxC;AAED,wBAAsB,gBAAgB,CACpC,EAAE,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,IAAI,CAAC,EACzC,IAAI,EAAE,UAAU,CAAC,OAAO,OAAO,CAAC,EAChC,WAAW,EAAE,MAAM,EACnB,QAAQ,UAAQ,EAChB,iBAAiB,CAAC,EAAE,iBAAiB,EACrC,UAAU,GAAE,MAAe,EAC3B,UAAU,CAAC,EAAE,iBAAiB,GAC7B,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC,CA0KxC"}
@@ -17,6 +17,41 @@ const invoke_js_1 = require("../orchestrator/invoke.js");
17
17
  const fallback_handler_js_1 = require("../orchestrator/fallback-handler.js");
18
18
  const loader_js_1 = require("../config/loader.js");
19
19
  const registry_js_1 = require("../providers/registry.js");
20
+ const global_db_js_1 = require("../runners/global-db.js");
21
+ function refreshParallelWorkstreamLease(projectPath, leaseFence) {
22
+ if (!leaseFence?.parallelSessionId) {
23
+ return;
24
+ }
25
+ const { db, close } = (0, global_db_js_1.openGlobalDatabase)();
26
+ try {
27
+ const row = db
28
+ .prepare(`SELECT id, claim_generation, runner_id
29
+ FROM workstreams
30
+ WHERE session_id = ?
31
+ AND clone_path = ?
32
+ AND status = 'running'
33
+ LIMIT 1`)
34
+ .get(leaseFence.parallelSessionId, projectPath);
35
+ if (!row) {
36
+ throw new Error('Parallel workstream row not found for lease refresh');
37
+ }
38
+ const owner = leaseFence.runnerId ?? row.runner_id ?? `runner:${process.pid ?? 'unknown'}`;
39
+ const updateResult = db
40
+ .prepare(`UPDATE workstreams
41
+ SET runner_id = ?,
42
+ lease_expires_at = datetime('now', '+120 seconds')
43
+ WHERE id = ?
44
+ AND status = 'running'
45
+ AND claim_generation = ?`)
46
+ .run(owner, row.id, row.claim_generation);
47
+ if (updateResult.changes !== 1) {
48
+ throw new Error('Parallel workstream lease fence check failed');
49
+ }
50
+ }
51
+ finally {
52
+ close();
53
+ }
54
+ }
20
55
  /**
21
56
  * Check a coder/reviewer result for credit exhaustion using the provider's classifier.
22
57
  * Uses provider.classifyResult() which checks both stderr and stdout.
@@ -65,9 +100,10 @@ function countConsecutiveOrchestratorFallbackEntries(db, taskId, marker) {
65
100
  }
66
101
  return count;
67
102
  }
68
- async function runCoderPhase(db, task, projectPath, action, jsonMode = false, coordinatorCache, coordinatorThresholds) {
103
+ async function runCoderPhase(db, task, projectPath, action, jsonMode = false, coordinatorCache, coordinatorThresholds, leaseFence) {
69
104
  if (!task)
70
105
  return;
106
+ refreshParallelWorkstreamLease(projectPath, leaseFence);
71
107
  let coordinatorGuidance;
72
108
  const thresholds = coordinatorThresholds || [2, 5, 9];
73
109
  // Run coordinator at rejection thresholds (same as before)
@@ -227,6 +263,7 @@ async function runCoderPhase(db, task, projectPath, action, jsonMode = false, co
227
263
  }
228
264
  break;
229
265
  case 'stage_commit_submit':
266
+ refreshParallelWorkstreamLease(projectPath, leaseFence);
230
267
  // Stage all changes
231
268
  try {
232
269
  (0, node_child_process_1.execSync)('git add -A', { cwd: projectPath, stdio: 'pipe' });
@@ -262,9 +299,10 @@ async function runCoderPhase(db, task, projectPath, action, jsonMode = false, co
262
299
  break;
263
300
  }
264
301
  }
265
- async function runReviewerPhase(db, task, projectPath, jsonMode = false, coordinatorResult, branchName = 'main') {
302
+ async function runReviewerPhase(db, task, projectPath, jsonMode = false, coordinatorResult, branchName = 'main', leaseFence) {
266
303
  if (!task)
267
304
  return;
305
+ refreshParallelWorkstreamLease(projectPath, leaseFence);
268
306
  // STEP 1: Invoke reviewer (no status commands in prompt anymore)
269
307
  if (!jsonMode) {
270
308
  console.log('\n>>> Invoking REVIEWER...\n');
@@ -371,6 +409,7 @@ async function runReviewerPhase(db, task, projectPath, jsonMode = false, coordin
371
409
  console.log(`\n✓ Task APPROVED (confidence: ${decision.metadata.confidence})`);
372
410
  console.log('Pushing to git...');
373
411
  }
412
+ refreshParallelWorkstreamLease(projectPath, leaseFence);
374
413
  const pushResult = (0, push_js_1.pushToRemote)(projectPath, 'origin', branchName);
375
414
  if (!jsonMode && pushResult.success) {
376
415
  console.log(`Pushed successfully (${pushResult.commitHash})`);
@@ -392,6 +431,7 @@ async function runReviewerPhase(db, task, projectPath, jsonMode = false, coordin
392
431
  console.log(`\n! Task DISPUTED (confidence: ${decision.metadata.confidence})`);
393
432
  console.log('Pushing current work and moving to next task.');
394
433
  }
434
+ refreshParallelWorkstreamLease(projectPath, leaseFence);
395
435
  const disputePush = (0, push_js_1.pushToRemote)(projectPath, 'origin', branchName);
396
436
  if (!jsonMode && disputePush.success) {
397
437
  console.log(`Pushed disputed work (${disputePush.commitHash})`);
@@ -1 +1 @@
1
- {"version":3,"file":"loop-phases.js","sourceRoot":"","sources":["../../src/commands/loop-phases.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loop-phases.js","sourceRoot":"","sources":["../../src/commands/loop-phases.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAmKH,sCAyOC;AAED,4CAkLC;AA9jBD,2DAA8C;AAC9C,uDAUgC;AAEhC,uDAAyE;AACzE,6DAAkF;AAClF,mEAAoH;AACpH,4CAA8C;AAC9C,gDAQ0B;AAC1B,yDAAgG;AAChG,6EAAmF;AAEnF,mDAAiD;AACjD,0DAA+D;AAE/D,0DAA6D;AAS7D,SAAS,8BAA8B,CAAC,WAAmB,EAAE,UAA8B;IACzF,IAAI,CAAC,UAAU,EAAE,iBAAiB,EAAE,CAAC;QACnC,OAAO;IACT,CAAC;IAED,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,IAAA,iCAAkB,GAAE,CAAC;IAC3C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,EAAE;aACX,OAAO,CACN;;;;;iBAKS,CACV;aACA,GAAG,CAAC,UAAU,CAAC,iBAAiB,EAAE,WAAW,CAEnC,CAAC;QAEd,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACzE,CAAC;QAED,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,IAAI,GAAG,CAAC,SAAS,IAAI,UAAU,OAAO,CAAC,GAAG,IAAI,SAAS,EAAE,CAAC;QAC3F,MAAM,YAAY,GAAG,EAAE;aACpB,OAAO,CACN;;;;;oCAK4B,CAC7B;aACA,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAE5C,IAAI,YAAY,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;YAAS,CAAC;QACT,KAAK,EAAE,CAAC;IACV,CAAC;AACH,CAAC;AAcD;;;;GAIG;AACH,SAAS,qBAAqB,CAC5B,MAAoB,EACpB,IAA0B,EAC1B,WAAmB;IAEnB,IAAI,MAAM,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAEhC,MAAM,MAAM,GAAG,IAAA,sBAAU,EAAC,WAAW,CAAC,CAAC;IACvC,MAAM,UAAU,GAAG,MAAM,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,YAAY,GAAG,UAAU,EAAE,QAAQ,CAAC;IAC1C,MAAM,SAAS,GAAG,UAAU,EAAE,KAAK,CAAC;IAEpC,IAAI,CAAC,YAAY,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAE7C,MAAM,QAAQ,GAAG,IAAA,iCAAmB,GAAE,CAAC;IACvC,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAC/C,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAE3B,MAAM,cAAc,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IACvD,IAAI,cAAc,EAAE,IAAI,KAAK,mBAAmB,EAAE,CAAC;QACjD,OAAO;YACL,MAAM,EAAE,yBAAyB;YACjC,QAAQ,EAAE,YAAY;YACtB,KAAK,EAAE,SAAS;YAChB,IAAI;YACJ,OAAO,EAAE,cAAc,CAAC,OAAO;SAChC,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,8BAA8B,GAAG,CAAC,CAAC;AACzC,MAAM,2BAA2B,GAAG,4DAA4D,CAAC;AACjG,MAAM,8BAA8B,GAAG,0DAA0D,CAAC;AAElG,SAAS,2CAA2C,CAClD,EAAyC,EACzC,MAAc,EACd,MAAc;IAEd,MAAM,KAAK,GAAG,IAAA,yBAAY,EAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IACvC,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACvB,IAAI,KAAK,CAAC,KAAK,KAAK,cAAc;YAAE,MAAM;QAE1C,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACzC,KAAK,IAAI,CAAC,CAAC;YACX,SAAS;QACX,CAAC;QAED,MAAM;IACR,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAEM,KAAK,UAAU,aAAa,CACjC,EAAyC,EACzC,IAAgC,EAChC,WAAmB,EACnB,MAA0B,EAC1B,QAAQ,GAAG,KAAK,EAChB,gBAAiD,EACjD,qBAAgC,EAChC,UAA8B;IAE9B,IAAI,CAAC,IAAI;QAAE,OAAO;IAClB,8BAA8B,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IAExD,IAAI,mBAAuC,CAAC;IAC5C,MAAM,UAAU,GAAG,qBAAqB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAEtD,2DAA2D;IAC3D,MAAM,uBAAuB,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC1E,MAAM,YAAY,GAAG,gBAAgB,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEpD,IAAI,uBAAuB,EAAE,CAAC;QAC5B,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,CAAC,eAAe,yDAAyD,CAAC,CAAC;QAC/G,CAAC;QAED,IAAI,CAAC;YACH,MAAM,gBAAgB,GAAG,IAAA,8BAAiB,EAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;YACxD,MAAM,UAAU,GAAuB,EAAE,CAAC;YAE1C,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACpB,MAAM,eAAe,GAAG,IAAA,sBAAS,EAAC,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;gBACtE,UAAU,CAAC,YAAY,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBAClD,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM;iBAC3C,CAAC,CAAC,CAAC;YACN,CAAC;YAED,UAAU,CAAC,eAAe,GAAG,IAAA,qCAAwB,EAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;YAEnE,MAAM,QAAQ,GAAG,IAAA,4BAAgB,EAAC,WAAW,CAAC,CAAC;YAC/C,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,UAAU,CAAC,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClD,CAAC;YAED,IAAI,YAAY,EAAE,CAAC;gBACjB,UAAU,CAAC,gBAAgB,GAAG,YAAY,CAAC,QAAQ,CAAC;YACtD,CAAC;YAED,MAAM,WAAW,GAAG,MAAM,IAAA,kCAAiB,EAAC,IAAI,EAAE,gBAAgB,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;YAE7F,IAAI,WAAW,EAAE,CAAC;gBAChB,mBAAmB,GAAG,WAAW,CAAC,QAAQ,CAAC;gBAC3C,gBAAgB,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;gBAE5C,IAAA,0BAAa,EAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE;oBAClE,SAAS,EAAE,cAAc;oBACzB,KAAK,EAAE,IAAI,WAAW,CAAC,QAAQ,KAAK,WAAW,CAAC,QAAQ,EAAE;iBAC3D,CAAC,CAAC;gBAEH,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,OAAO,CAAC,GAAG,CAAC,2BAA2B,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;oBAC/D,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;gBAC1E,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO,CAAC,IAAI,CAAC,6DAA6D,EAAE,KAAK,CAAC,CAAC;YACrF,CAAC;QACH,CAAC;IACH,CAAC;SAAM,IAAI,YAAY,EAAE,CAAC;QACxB,mBAAmB,GAAG,YAAY,CAAC,QAAQ,CAAC;QAC5C,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,eAAe,IAAI,CAAC,EAAE,CAAC;YAC3C,OAAO,CAAC,GAAG,CAAC,oDAAoD,YAAY,CAAC,QAAQ,GAAG,CAAC,CAAC;QAC5F,CAAC;IACH,CAAC;IAED,8DAA8D;IAC9D,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,WAAW,GAAgB,MAAM,IAAA,sBAAW,EAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAEnG,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC;QACzB,OAAO,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;QAC5D,OAAO;IACT,CAAC;IAED,gEAAgE;IAChE,MAAM,WAAW,GAAG,qBAAqB,CAAC,WAAW,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IAC7E,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,2BAA2B;IAC3B,MAAM,OAAO,GAAG,IAAA,4BAAgB,EAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IACjD,MAAM,aAAa,GAAG,IAAA,2BAAe,EAAC,WAAW,CAAC,CAAC;IACnD,MAAM,eAAe,GAAG,IAAA,iCAAqB,EAAC,WAAW,CAAC,CAAC;IAC3D,MAAM,YAAY,GAAG,IAAA,0BAAc,EAAC,WAAW,CAAC,CAAC;IAEjD,MAAM,QAAQ,GAAG;QACf,OAAO;QACP,aAAa;QACb,uBAAuB,EAAE,eAAe;QACxC,YAAY;KACb,CAAC;IAEF,qCAAqC;IACrC,6BAA6B;IAC7B,MAAM,kBAAkB,GAAG,IAAI,CAAC,eAAe,GAAG,CAAC;QACjD,CAAC,CAAC,IAAA,8BAAiB,EAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,SAAS;QACjE,CAAC,CAAC,SAAS,CAAC;IAEd,MAAM,OAAO,GAAiB;QAC5B,IAAI,EAAE;YACJ,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,WAAW,EAAE,IAAI,CAAC,KAAK,EAAE,mCAAmC;YAC5D,eAAe,EAAE,kBAAkB;YACnC,eAAe,EAAE,IAAI,CAAC,eAAe;SACtC;QACD,YAAY,EAAE;YACZ,MAAM,EAAE,WAAW,CAAC,MAAM;YAC1B,MAAM,EAAE,WAAW,CAAC,MAAM;YAC1B,SAAS,EAAE,WAAW,CAAC,QAAQ;YAC/B,SAAS,EAAE,WAAW,CAAC,QAAQ;YAC/B,WAAW,EAAE,WAAW,CAAC,QAAQ;SAClC;QACD,SAAS,EAAE,QAAQ;KACpB,CAAC;IAEF,8BAA8B;IAC9B,IAAI,kBAA0B,CAAC;IAC/B,IAAI,CAAC;QACH,kBAAkB,GAAG,MAAM,IAAA,mCAAuB,EAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAC3E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;QACxD,kCAAkC;QAClC,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC;YAClC,MAAM,EAAE,OAAO;YACf,SAAS,EAAE,0CAA0C;YACrD,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,aAAa;YAC1B,QAAQ,EAAE;gBACR,aAAa,EAAE,CAAC;gBAChB,UAAU,EAAE,KAAK;gBACjB,UAAU,EAAE,IAAI;gBAChB,WAAW,EAAE,KAAK;aACnB;SACF,CAAC,CAAC;IACL,CAAC;IAED,kDAAkD;IAClD,MAAM,OAAO,GAAG,IAAI,kDAA4B,EAAE,CAAC;IACnD,IAAI,QAAQ,GAAG,OAAO,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;IAE5D,IAAI,QAAQ,CAAC,MAAM,KAAK,OAAO,IAAI,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,+BAA+B,CAAC,EAAE,CAAC;QAClG,MAAM,+BAA+B,GACnC,2CAA2C,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,2BAA2B,CAAC,GAAG,CAAC,CAAC;QAE5F,IAAI,+BAA+B,IAAI,8BAA8B,EAAE,CAAC;YACtE,QAAQ,GAAG;gBACT,GAAG,QAAQ;gBACX,MAAM,EAAE,OAAO;gBACf,SAAS,EAAE,6BAA6B,+BAA+B,iDAAiD;gBACxH,WAAW,EAAE,QAAQ;gBACrB,QAAQ,EAAE;oBACR,GAAG,QAAQ,CAAC,QAAQ;oBACpB,UAAU,EAAE,KAAK;oBACjB,UAAU,EAAE,KAAK;iBAClB;aACF,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,QAAQ,GAAG;gBACT,GAAG,QAAQ;gBACX,SAAS,EAAE,GAAG,QAAQ,CAAC,SAAS,iBAAiB,+BAA+B,IAAI,8BAA8B,GAAG;aACtH,CAAC;QACJ,CAAC;IACH,CAAC;IAED,oDAAoD;IACpD,IAAA,0BAAa,EAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,WAAW,EAAE,cAAc,EAAE;QAC5E,SAAS,EAAE,cAAc;QACzB,KAAK,EAAE,IAAI,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,SAAS,iBAAiB,QAAQ,CAAC,QAAQ,CAAC,UAAU,GAAG;KAClG,CAAC,CAAC;IAEH,+BAA+B;IAC/B,QAAQ,QAAQ,CAAC,MAAM,EAAE,CAAC;QACxB,KAAK,QAAQ;YACX,IAAA,6BAAgB,EAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;YAC5E,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,wDAAwD,QAAQ,CAAC,QAAQ,CAAC,UAAU,GAAG,CAAC,CAAC;YACvG,CAAC;YACD,MAAM;QAER,KAAK,qBAAqB;YACxB,8BAA8B,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;YACxD,oBAAoB;YACpB,IAAI,CAAC;gBACH,IAAA,6BAAQ,EAAC,YAAY,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;gBAC5D,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,IAAI,oCAAoC,CAAC;gBAChF,IAAA,6BAAQ,EAAC,kBAAkB,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,EAAE;oBAC1D,GAAG,EAAE,WAAW;oBAChB,KAAK,EAAE,MAAM;iBACd,CAAC,CAAC;gBACH,IAAA,6BAAgB,EAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,cAAc,EACpD,iCAAiC,QAAQ,CAAC,SAAS,GAAG,CAAC,CAAC;gBAC1D,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,OAAO,CAAC,GAAG,CAAC,2DAA2D,QAAQ,CAAC,QAAQ,CAAC,UAAU,GAAG,CAAC,CAAC;gBAC1G,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;gBAChD,oBAAoB;gBACpB,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;gBAClD,CAAC;YACH,CAAC;YACD,MAAM;QAER,KAAK,OAAO;YACV,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,uBAAuB,QAAQ,CAAC,SAAS,iBAAiB,QAAQ,CAAC,QAAQ,CAAC,UAAU,GAAG,CAAC,CAAC;YACzG,CAAC;YACD,MAAM;QAER,KAAK,OAAO;YACV,IAAA,6BAAgB,EAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,cAAc,EACpD,gBAAgB,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC;YACxC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,oBAAoB,QAAQ,CAAC,SAAS,GAAG,CAAC,CAAC;gBACvD,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;YAC9C,CAAC;YACD,MAAM;IACV,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,gBAAgB,CACpC,EAAyC,EACzC,IAAgC,EAChC,WAAmB,EACnB,QAAQ,GAAG,KAAK,EAChB,iBAAqC,EACrC,aAAqB,MAAM,EAC3B,UAA8B;IAE9B,IAAI,CAAC,IAAI;QAAE,OAAO;IAClB,8BAA8B,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IAExD,iEAAiE;IACjE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QAC5C,IAAI,iBAAiB,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,4CAA4C,iBAAiB,CAAC,QAAQ,GAAG,CAAC,CAAC;QACzF,CAAC;IACH,CAAC;IAED,MAAM,cAAc,GAAmB,MAAM,IAAA,4BAAc,EACzD,IAAI,EACJ,WAAW,EACX,iBAAiB,EAAE,QAAQ,EAC3B,iBAAiB,EAAE,QAAQ,CAC5B,CAAC;IAEF,IAAI,cAAc,CAAC,QAAQ,EAAE,CAAC;QAC5B,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;QACjE,CAAC;QACD,OAAO;IACT,CAAC;IAED,gEAAgE;IAChE,MAAM,WAAW,GAAG,qBAAqB,CAAC,cAAc,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;IACnF,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,6BAA6B;IAC7B,MAAM,UAAU,GAAG,IAAA,+BAAmB,EAAC,WAAW,CAAC,IAAI,EAAE,CAAC;IAC1D,MAAM,aAAa,GAAG,IAAA,4BAAgB,EAAC,WAAW,CAAC,CAAC;IACpD,MAAM,SAAS,GAAG,IAAA,wBAAY,EAAC,WAAW,CAAC,CAAC;IAE5C,MAAM,UAAU,GAAG;QACjB,UAAU;QACV,aAAa;QACb,SAAS,EAAE,SAAS,CAAC,SAAS;QAC9B,SAAS,EAAE,SAAS,CAAC,SAAS;KAC/B,CAAC;IAEF,qCAAqC;IACrC,MAAM,OAAO,GAAoB;QAC/B,IAAI,EAAE;YACJ,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,eAAe,EAAE,IAAI,CAAC,eAAe;SACtC;QACD,eAAe,EAAE;YACf,MAAM,EAAE,cAAc,CAAC,MAAM;YAC7B,MAAM,EAAE,cAAc,CAAC,MAAM;YAC7B,SAAS,EAAE,cAAc,CAAC,QAAQ;YAClC,SAAS,EAAE,cAAc,CAAC,QAAQ;YAClC,WAAW,EAAE,cAAc,CAAC,QAAQ;SACrC;QACD,WAAW,EAAE,UAAU;KACxB,CAAC;IAEF,8BAA8B;IAC9B,IAAI,kBAA0B,CAAC;IAC/B,IAAI,CAAC;QACH,kBAAkB,GAAG,MAAM,IAAA,sCAA0B,EAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAC9E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;QACxD,oCAAoC;QACpC,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC;YAClC,QAAQ,EAAE,SAAS;YACnB,SAAS,EAAE,sCAAsC;YACjD,KAAK,EAAE,0BAA0B;YACjC,WAAW,EAAE,QAAQ;YACrB,QAAQ,EAAE;gBACR,eAAe,EAAE,IAAI,CAAC,eAAe;gBACrC,UAAU,EAAE,KAAK;gBACjB,cAAc,EAAE,KAAK;gBACrB,cAAc,EAAE,KAAK;aACtB;SACF,CAAC,CAAC;IACL,CAAC;IAED,kDAAkD;IAClD,MAAM,OAAO,GAAG,IAAI,kDAA4B,EAAE,CAAC;IACnD,IAAI,QAAQ,GAAG,OAAO,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,CAAC;IAE/D,IAAI,QAAQ,CAAC,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,+BAA+B,CAAC,EAAE,CAAC;QACtG,MAAM,+BAA+B,GACnC,2CAA2C,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,8BAA8B,CAAC,GAAG,CAAC,CAAC;QAE/F,IAAI,+BAA+B,IAAI,8BAA8B,EAAE,CAAC;YACtE,QAAQ,GAAG;gBACT,GAAG,QAAQ;gBACX,QAAQ,EAAE,SAAS;gBACnB,SAAS,EAAE,6BAA6B,+BAA+B,+BAA+B;gBACtG,KAAK,EAAE,iEAAiE;gBACxE,WAAW,EAAE,UAAU;gBACvB,QAAQ,EAAE;oBACR,GAAG,QAAQ,CAAC,QAAQ;oBACpB,UAAU,EAAE,KAAK;oBACjB,cAAc,EAAE,KAAK;iBACtB;aACF,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,QAAQ,GAAG;gBACT,GAAG,QAAQ;gBACX,SAAS,EAAE,GAAG,QAAQ,CAAC,SAAS,iBAAiB,+BAA+B,IAAI,8BAA8B,GAAG;aACtH,CAAC;QACJ,CAAC;IACH,CAAC;IAED,oDAAoD;IACpD,IAAA,0BAAa,EAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,WAAW,EAAE,cAAc,EAAE;QAC5E,SAAS,EAAE,cAAc;QACzB,KAAK,EAAE,IAAI,QAAQ,CAAC,QAAQ,KAAK,QAAQ,CAAC,SAAS,iBAAiB,QAAQ,CAAC,QAAQ,CAAC,UAAU,GAAG;KACpG,CAAC,CAAC;IAEH,+BAA+B;IAC/B,MAAM,SAAS,GAAG,UAAU,IAAI,SAAS,CAAC;IAE1C,QAAQ,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAC1B,KAAK,SAAS;YACZ,IAAA,wBAAW,EAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,cAAc,EAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;YACpE,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,kCAAkC,QAAQ,CAAC,QAAQ,CAAC,UAAU,GAAG,CAAC,CAAC;gBAC/E,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;YACnC,CAAC;YACD,8BAA8B,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;YACxD,MAAM,UAAU,GAAG,IAAA,sBAAY,EAAC,WAAW,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;YACnE,IAAI,CAAC,QAAQ,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;gBACpC,OAAO,CAAC,GAAG,CAAC,wBAAwB,UAAU,CAAC,UAAU,GAAG,CAAC,CAAC;YAChE,CAAC;iBAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACrB,OAAO,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;YACxE,CAAC;YACD,MAAM;QAER,KAAK,QAAQ;YACX,IAAA,uBAAU,EAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,cAAc,EAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;YACnE,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,CAAC,eAAe,GAAG,CAAC,oBAAoB,QAAQ,CAAC,QAAQ,CAAC,UAAU,GAAG,CAAC,CAAC;gBAC/G,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;YAC/C,CAAC;YACD,MAAM;QAER,KAAK,SAAS;YACZ,IAAA,6BAAgB,EAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,UAAU,EAAE,cAAc,EAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;YACrF,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,kCAAkC,QAAQ,CAAC,QAAQ,CAAC,UAAU,GAAG,CAAC,CAAC;gBAC/E,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;YAC/D,CAAC;YACD,8BAA8B,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;YACxD,MAAM,WAAW,GAAG,IAAA,sBAAY,EAAC,WAAW,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;YACpE,IAAI,CAAC,QAAQ,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;gBACrC,OAAO,CAAC,GAAG,CAAC,yBAAyB,WAAW,CAAC,UAAU,GAAG,CAAC,CAAC;YAClE,CAAC;YACD,MAAM;QAER,KAAK,MAAM;YACT,IAAA,6BAAgB,EAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;YACpF,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,iCAAiC,QAAQ,CAAC,QAAQ,CAAC,UAAU,GAAG,CAAC,CAAC;YAChF,CAAC;YACD,MAAM;QAER,KAAK,SAAS;YACZ,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,uBAAuB,QAAQ,CAAC,SAAS,eAAe,CAAC,CAAC;YACxE,CAAC;YACD,MAAM;IACV,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"merge.d.ts","sourceRoot":"","sources":["../../src/commands/merge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AA+NnD,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA+FpF"}
1
+ {"version":3,"file":"merge.d.ts","sourceRoot":"","sources":["../../src/commands/merge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAmOnD,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAwGpF"}
@@ -13,6 +13,7 @@ const help_js_1 = require("../cli/help.js");
13
13
  const errors_js_1 = require("../cli/errors.js");
14
14
  const connection_js_1 = require("../database/connection.js");
15
15
  const global_db_js_1 = require("../runners/global-db.js");
16
+ const loader_js_1 = require("../config/loader.js");
16
17
  const merge_js_1 = require("../parallel/merge.js");
17
18
  const HELP = (0, help_js_1.generateHelp)({
18
19
  command: 'merge',
@@ -29,6 +30,8 @@ const HELP = (0, help_js_1.generateHelp)({
29
30
  { long: 'session-id', description: 'Alias for --session', values: '<id>' },
30
31
  { long: 'remote', description: 'Git remote to fetch from', values: '<name>', default: 'origin' },
31
32
  { long: 'main-branch', description: 'Target branch for cherry-picks', values: '<name>', default: 'main' },
33
+ { long: 'integration-branch', description: 'Temporary integration branch name', values: '<name>' },
34
+ { long: 'validation-command', description: 'Shell command to validate merged state before push', values: '<cmd>' },
32
35
  ],
33
36
  examples: [
34
37
  { command: 'steroids merge', description: 'Merge latest parallel session in current project' },
@@ -134,7 +137,8 @@ function resolveMergePlan(db, projectPath, explicitSessionId) {
134
137
  }
135
138
  throw new Error(`No parallel sessions found for project: ${projectPath}`);
136
139
  }
137
- const plan = buildPlanForSession(db, targetSession, false);
140
+ const includeRunning = targetSession.status === 'running' || targetSession.status === 'merging';
141
+ const plan = buildPlanForSession(db, targetSession, includeRunning);
138
142
  if (plan.sectionPlans.length === 0) {
139
143
  throw new Error(`No completed workstreams found for session: ${targetSession.id}`);
140
144
  }
@@ -160,6 +164,8 @@ async function mergeCommand(args, flags) {
160
164
  'session-id': { type: 'string' },
161
165
  remote: { type: 'string', default: 'origin' },
162
166
  'main-branch': { type: 'string', default: 'main' },
167
+ 'integration-branch': { type: 'string' },
168
+ 'validation-command': { type: 'string' },
163
169
  },
164
170
  allowPositionals: false,
165
171
  });
@@ -194,6 +200,10 @@ async function mergeCommand(args, flags) {
194
200
  let result;
195
201
  const remote = values.remote;
196
202
  const mainBranch = values['main-branch'];
203
+ const integrationBranch = values['integration-branch'];
204
+ const configuredValidationCommand = (0, loader_js_1.loadConfig)(projectPath).runners?.parallel?.validationCommand;
205
+ const validationCommand = values['validation-command']
206
+ ?? (typeof configuredValidationCommand === 'string' ? configuredValidationCommand : undefined);
197
207
  try {
198
208
  const { close } = (0, connection_js_1.openDatabase)(projectPath);
199
209
  close();
@@ -209,6 +219,8 @@ async function mergeCommand(args, flags) {
209
219
  workstreams: plan.workstreams,
210
220
  remote,
211
221
  mainBranch,
222
+ integrationBranchName: integrationBranch,
223
+ validationCommand,
212
224
  });
213
225
  if (!result.success) {
214
226
  const isLockContention = result.errors.some((entry) => entry.includes('Could not acquire merge lock'));
@@ -1 +1 @@
1
- {"version":3,"file":"merge.js","sourceRoot":"","sources":["../../src/commands/merge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"merge.js","sourceRoot":"","sources":["../../src/commands/merge.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { CyclicDependencyError } from '../parallel/scheduler.js';
2
2
  export interface ParallelWorkstreamPlan {
3
3
  sessionId: string;
4
4
  projectPath: string;
5
+ projectRepoId: string;
5
6
  maxClones: number;
6
7
  workstreams: Array<{
7
8
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"runners-parallel.d.ts","sourceRoot":"","sources":["../../src/commands/runners-parallel.ts"],"names":[],"mappings":"AASA,OAAO,EAAwB,qBAAqB,EAA0B,MAAM,0BAA0B,CAAC;AAG/G,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,KAAK,CAAC;QACjB,EAAE,EAAE,MAAM,CAAC;QACX,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,YAAY,EAAE,MAAM,EAAE,CAAC;KACxB,CAAC,CAAC;CACJ;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAKvD;AAED,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,sBAAsB,GAAG,IAAI,CAc1F;AAED,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAOlE;AAED,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,MAAM,GAAG,sBAAsB,CAyF5G;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAmE/F;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG;IAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CA4C9H;AAED,OAAO,EAAE,qBAAqB,EAAE,CAAC"}
1
+ {"version":3,"file":"runners-parallel.d.ts","sourceRoot":"","sources":["../../src/commands/runners-parallel.ts"],"names":[],"mappings":"AASA,OAAO,EAAwB,qBAAqB,EAA0B,MAAM,0BAA0B,CAAC;AAG/G,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,KAAK,CAAC;QACjB,EAAE,EAAE,MAAM,CAAC;QACX,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,YAAY,EAAE,MAAM,EAAE,CAAC;KACxB,CAAC,CAAC;CACJ;AAUD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAKvD;AAyBD,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,sBAAsB,GAAG,IAAI,CAe1F;AAED,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAOlE;AAuCD,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,MAAM,GAAG,sBAAsB,CA8G5G;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAuH/F;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG;IAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CA6C9H;AAED,OAAO,EAAE,qBAAqB,EAAE,CAAC"}
@@ -52,14 +52,36 @@ const global_db_js_1 = require("../runners/global-db.js");
52
52
  const scheduler_js_1 = require("../parallel/scheduler.js");
53
53
  Object.defineProperty(exports, "CyclicDependencyError", { enumerable: true, get: function () { return scheduler_js_1.CyclicDependencyError; } });
54
54
  const queries_js_1 = require("../database/queries.js");
55
+ function getProjectRepoId(projectPath) {
56
+ try {
57
+ return fs.realpathSync(projectPath);
58
+ }
59
+ catch {
60
+ return path.resolve(projectPath);
61
+ }
62
+ }
55
63
  function parseSectionIds(value) {
56
64
  return value
57
65
  .split(',')
58
66
  .map((id) => id.trim())
59
67
  .filter((id) => id.length > 0);
60
68
  }
69
+ function claimWorkstreamLease(db, workstreamId, claimOwner, expectedClaimGeneration) {
70
+ const result = db.prepare(`UPDATE workstreams
71
+ SET runner_id = ?,
72
+ claim_generation = claim_generation + 1,
73
+ lease_expires_at = datetime('now', '+120 seconds')
74
+ WHERE id = ?
75
+ AND status = 'running'
76
+ AND claim_generation = ?`).run(claimOwner, workstreamId, expectedClaimGeneration);
77
+ if (result.changes !== 1) {
78
+ throw new Error(`Failed to claim lease for workstream ${workstreamId}`);
79
+ }
80
+ return expectedClaimGeneration + 1;
81
+ }
61
82
  function printParallelPlan(_projectPath, plan) {
62
83
  console.log(`Parallel plan for ${plan.projectPath}`);
84
+ console.log(`Repo ID: ${plan.projectRepoId}`);
63
85
  console.log(`Session: ${plan.sessionId}`);
64
86
  console.log(`Workstreams: ${plan.workstreams.length}`);
65
87
  console.log(`Max clones: ${plan.maxClones}`);
@@ -78,15 +100,53 @@ function getConfiguredMaxClones(projectPath) {
78
100
  ? Number(configured)
79
101
  : 3;
80
102
  }
103
+ function toFinitePositive(value, fallback) {
104
+ if (!Number.isFinite(value) || (value ?? 0) <= 0) {
105
+ return fallback;
106
+ }
107
+ return Number(value);
108
+ }
109
+ function resolveResourceCloneLimit(projectPath, config) {
110
+ const minMemoryMbPerClone = toFinitePositive(config.runners?.parallel?.minFreeMemoryMbPerClone, 1024);
111
+ const minDiskMbPerClone = toFinitePositive(config.runners?.parallel?.minFreeDiskMbPerClone, 512);
112
+ const freeMemoryMb = Math.max(0, Math.floor(os.freemem() / (1024 * 1024)));
113
+ const memoryLimitedMax = Math.max(1, Math.floor(freeMemoryMb / minMemoryMbPerClone));
114
+ let diskLimitedMax = Number.MAX_SAFE_INTEGER;
115
+ try {
116
+ const stats = fs.statfsSync(projectPath);
117
+ const bavail = typeof stats.bavail === 'bigint' ? Number(stats.bavail) : (stats.bavail ?? 0);
118
+ const bsize = typeof stats.bsize === 'bigint' ? Number(stats.bsize) : (stats.bsize ?? 0);
119
+ const freeDiskMb = Math.max(0, Math.floor((bavail * bsize) / (1024 * 1024)));
120
+ diskLimitedMax = Math.max(1, Math.floor(freeDiskMb / minDiskMbPerClone));
121
+ }
122
+ catch {
123
+ // If statfs isn't available for this path, treat disk as unconstrained.
124
+ }
125
+ return Math.max(1, Math.min(memoryLimitedMax, diskLimitedMax));
126
+ }
81
127
  function buildParallelRunPlan(projectPath, maxClonesOverride) {
82
128
  const sessionId = (0, uuid_1.v4)();
83
129
  const shortSessionId = sessionId.slice(0, 8);
130
+ const projectRepoId = getProjectRepoId(projectPath);
84
131
  const config = (0, loader_js_1.loadConfig)(projectPath);
85
132
  if (config.runners?.parallel?.enabled !== true) {
86
133
  throw new Error('Parallel mode is disabled. Set runners.parallel.enabled: true to use --parallel.');
87
134
  }
135
+ if (config.runners?.parallel?.allowSharedMutableDependencies === true) {
136
+ throw new Error('Parallel mode forbids shared mutable dependency directories. ' +
137
+ 'Set runners.parallel.allowSharedMutableDependencies to false.');
138
+ }
88
139
  const configuredMaxClones = getConfiguredMaxClones(projectPath);
89
- const effectiveMaxClones = maxClonesOverride ?? configuredMaxClones;
140
+ const requestedMaxClones = maxClonesOverride ?? configuredMaxClones;
141
+ const resourceMaxClones = resolveResourceCloneLimit(projectPath, config);
142
+ const autoDownshift = config.runners?.parallel?.autoDownshiftMaxClones !== false;
143
+ const effectiveMaxClones = autoDownshift
144
+ ? Math.min(requestedMaxClones, resourceMaxClones)
145
+ : requestedMaxClones;
146
+ if (!autoDownshift && requestedMaxClones > resourceMaxClones) {
147
+ throw new Error(`Insufficient resources for maxClones=${requestedMaxClones}. ` +
148
+ `Resource preflight limit is ${resourceMaxClones}.`);
149
+ }
90
150
  const { db, close } = (0, connection_js_1.openDatabase)(projectPath);
91
151
  try {
92
152
  const sections = (0, queries_js_1.listSections)(db);
@@ -134,6 +194,7 @@ function buildParallelRunPlan(projectPath, maxClonesOverride) {
134
194
  return {
135
195
  sessionId,
136
196
  projectPath,
197
+ projectRepoId,
137
198
  maxClones: effectiveMaxClones,
138
199
  workstreams: filteredWorkstreams,
139
200
  };
@@ -144,12 +205,30 @@ function buildParallelRunPlan(projectPath, maxClonesOverride) {
144
205
  }
145
206
  function launchParallelSession(plan, projectPath) {
146
207
  const { db, close } = (0, global_db_js_1.openGlobalDatabase)();
147
- const configuredWorkspaceRoot = (0, loader_js_1.loadConfig)(projectPath).runners?.parallel?.workspaceRoot;
208
+ const parallelConfig = (0, loader_js_1.loadConfig)(projectPath).runners?.parallel;
209
+ const configuredWorkspaceRoot = parallelConfig?.workspaceRoot;
210
+ const hydrationCommand = typeof parallelConfig?.hydrationCommand === 'string' ? parallelConfig.hydrationCommand.trim() : '';
211
+ const allowSharedMutableDependencies = parallelConfig?.allowSharedMutableDependencies === true;
148
212
  try {
149
- db.prepare('INSERT INTO parallel_sessions (id, project_path, status) VALUES (?, ?, ?)').run(plan.sessionId, projectPath, 'running');
213
+ if (allowSharedMutableDependencies) {
214
+ throw new Error('Parallel session launch blocked: shared mutable dependency directories are unsafe in full-access mode.');
215
+ }
216
+ const activeSession = db
217
+ .prepare(`SELECT id, status
218
+ FROM parallel_sessions
219
+ WHERE project_repo_id = ?
220
+ AND status NOT IN ('completed', 'failed', 'aborted')
221
+ LIMIT 1`)
222
+ .get(plan.projectRepoId);
223
+ if (activeSession) {
224
+ throw new Error(`Active parallel session already exists for this repository: ${activeSession.id} (${activeSession.status})`);
225
+ }
226
+ db.prepare('INSERT INTO parallel_sessions (id, project_path, project_repo_id, status) VALUES (?, ?, ?, ?)').run(plan.sessionId, projectPath, plan.projectRepoId, 'running');
150
227
  const insertWorkstream = db.prepare(`INSERT INTO workstreams (
151
- id, session_id, branch_name, section_ids, status, clone_path
152
- ) VALUES (?, ?, ?, ?, ?, ?)`);
228
+ id, session_id, branch_name, section_ids, status, clone_path, claim_generation, lease_expires_at,
229
+ sealed_base_sha, sealed_head_sha, sealed_commit_shas, completion_order,
230
+ recovery_attempts, next_retry_at, last_reconcile_action, last_reconciled_at
231
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`);
153
232
  for (const workstream of plan.workstreams) {
154
233
  let workspacePath = null;
155
234
  try {
@@ -160,7 +239,14 @@ function launchParallelSession(plan, projectPath) {
160
239
  workspaceRoot: configuredWorkspaceRoot,
161
240
  });
162
241
  workspacePath = workspaceClone.workspacePath;
163
- insertWorkstream.run(workstream.id, plan.sessionId, workstream.branchName, JSON.stringify(workstream.sectionIds), 'running', workspaceClone.workspacePath);
242
+ if (hydrationCommand.length > 0) {
243
+ (0, node_child_process_1.execSync)(hydrationCommand, {
244
+ cwd: workspaceClone.workspacePath,
245
+ stdio: 'inherit',
246
+ });
247
+ }
248
+ insertWorkstream.run(workstream.id, plan.sessionId, workstream.branchName, JSON.stringify(workstream.sectionIds), 'running', workspaceClone.workspacePath, 0, null, null, null, null, null, 0, null, null, null);
249
+ claimWorkstreamLease(db, workstream.id, `launcher:${process.pid ?? 'unknown'}`, 0);
164
250
  const spawnResult = spawnDetachedRunner({
165
251
  projectPath: workspaceClone.workspacePath,
166
252
  args: [
@@ -204,6 +290,7 @@ function spawnDetachedRunner(options) {
204
290
  logFile = tempLogPath;
205
291
  }
206
292
  const child = (0, node_child_process_1.spawn)(process.execPath, options.args, {
293
+ cwd: options.projectPath,
207
294
  detached: true,
208
295
  stdio: daemonLogsEnabled && logFd !== undefined
209
296
  ? ['ignore', logFd, logFd]
@@ -1 +1 @@
1
- {"version":3,"file":"runners-parallel.js","sourceRoot":"","sources":["../../src/commands/runners-parallel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runners-parallel.js","sourceRoot":"","sources":["../../src/commands/runners-parallel.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"workspaces.d.ts","sourceRoot":"","sources":["../../src/commands/workspaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AA8fnD,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBzF"}
1
+ {"version":3,"file":"workspaces.d.ts","sourceRoot":"","sources":["../../src/commands/workspaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AA6iBnD,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBzF"}
@@ -36,6 +36,32 @@ const HELP = (0, help_js_1.generateHelp)({
36
36
  { command: 'steroids merge', description: 'Merge completed parallel workstreams' },
37
37
  ],
38
38
  });
39
+ const TERMINAL_PARALLEL_SESSION_STATUSES = new Set(['completed', 'failed', 'aborted']);
40
+ function isActiveParallelSessionStatus(status) {
41
+ return !TERMINAL_PARALLEL_SESSION_STATUSES.has(status);
42
+ }
43
+ function terminateRunnerPid(pid) {
44
+ try {
45
+ process.kill(pid, 'SIGTERM');
46
+ return true;
47
+ }
48
+ catch {
49
+ return false;
50
+ }
51
+ }
52
+ function drainParallelSessionsForCleanup(records) {
53
+ const sessionIds = [...new Set(records.map((record) => record.sessionId))];
54
+ for (const sessionId of sessionIds) {
55
+ (0, global_db_js_1.revokeWorkstreamLeasesForSession)(sessionId);
56
+ const runners = (0, global_db_js_1.listParallelSessionRunners)(sessionId);
57
+ for (const runner of runners) {
58
+ if (runner.pid) {
59
+ terminateRunnerPid(runner.pid);
60
+ }
61
+ (0, global_db_js_1.removeParallelSessionRunner)(runner.id);
62
+ }
63
+ }
64
+ }
39
65
  function resolveProjectPath(projectArg) {
40
66
  const projectPath = (0, node_path_1.resolve)(projectArg ?? process.cwd());
41
67
  const projectDbPath = (0, node_path_1.join)(projectPath, '.steroids', 'steroids.db');
@@ -65,8 +91,11 @@ function parseSectionIds(raw) {
65
91
  function getActiveSessionIds(db, projectPath) {
66
92
  const active = new Set();
67
93
  const runningSessions = db
68
- .prepare('SELECT id FROM parallel_sessions WHERE project_path = ? AND status = ?')
69
- .all(projectPath, 'running');
94
+ .prepare(`SELECT id
95
+ FROM parallel_sessions
96
+ WHERE project_path = ?
97
+ AND status NOT IN ('completed', 'failed', 'aborted')`)
98
+ .all(projectPath);
70
99
  for (const row of runningSessions) {
71
100
  active.add(row.id);
72
101
  }
@@ -123,8 +152,10 @@ function collectWorkspaceData(db, projectPath) {
123
152
  const sessionStatus = row.session_status ?? 'unknown';
124
153
  const clonePath = (0, node_path_1.resolve)(row.clone_path ?? (0, node_path_1.join)(projectWorkspaceRoot, workstreamId));
125
154
  const workstreamStatus = row.workstream_status ?? sessionStatus;
126
- const sessionActive = activeSessionIds.has(sessionId) || sessionStatus === 'running';
127
- const cleanable = !sessionActive && workstreamStatus !== 'running' && sessionStatus !== 'running';
155
+ const sessionActive = activeSessionIds.has(sessionId) || isActiveParallelSessionStatus(sessionStatus);
156
+ const cleanable = !sessionActive &&
157
+ workstreamStatus !== 'running' &&
158
+ !isActiveParallelSessionStatus(sessionStatus);
128
159
  known.add(clonePath);
129
160
  records.push({
130
161
  sessionId,
@@ -332,6 +363,9 @@ async function cleanWorkspaces(args, flags) {
332
363
  }
333
364
  try {
334
365
  const { records, orphans, workspaceRoot } = collectWorkspaceData(db, projectPath);
366
+ if (removeAll && !flags.dryRun) {
367
+ drainParallelSessionsForCleanup(records);
368
+ }
335
369
  const result = executeClean(records, orphans, removeAll, flags.dryRun);
336
370
  if (result.failures.length > 0) {
337
371
  out.error(errors_js_1.ErrorCode.GENERAL_ERROR, removeAll