steroids-cli 0.12.6 → 0.12.8

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 (185) hide show
  1. package/README.md +52 -0
  2. package/dist/commands/gc.d.ts.map +1 -1
  3. package/dist/commands/gc.js +10 -0
  4. package/dist/commands/gc.js.map +1 -1
  5. package/dist/commands/llm-content.d.ts +2 -0
  6. package/dist/commands/llm-content.d.ts.map +1 -0
  7. package/dist/commands/llm-content.js +319 -0
  8. package/dist/commands/llm-content.js.map +1 -0
  9. package/dist/commands/llm.d.ts.map +1 -1
  10. package/dist/commands/llm.js +22 -290
  11. package/dist/commands/llm.js.map +1 -1
  12. package/dist/commands/loop-phases-coder.js +1 -1
  13. package/dist/commands/loop-phases-coder.js.map +1 -1
  14. package/dist/commands/loop-phases-reviewer-follow-ups.d.ts +7 -0
  15. package/dist/commands/loop-phases-reviewer-follow-ups.d.ts.map +1 -0
  16. package/dist/commands/loop-phases-reviewer-follow-ups.js +44 -0
  17. package/dist/commands/loop-phases-reviewer-follow-ups.js.map +1 -0
  18. package/dist/commands/loop-phases-reviewer.d.ts.map +1 -1
  19. package/dist/commands/loop-phases-reviewer.js +6 -45
  20. package/dist/commands/loop-phases-reviewer.js.map +1 -1
  21. package/dist/commands/web.d.ts.map +1 -1
  22. package/dist/commands/web.js +12 -1
  23. package/dist/commands/web.js.map +1 -1
  24. package/dist/config/loader.d.ts +4 -0
  25. package/dist/config/loader.d.ts.map +1 -1
  26. package/dist/config/loader.js +27 -0
  27. package/dist/config/loader.js.map +1 -1
  28. package/dist/config/schema.d.ts.map +1 -1
  29. package/dist/config/schema.js +111 -0
  30. package/dist/config/schema.js.map +1 -1
  31. package/dist/config/validator.d.ts.map +1 -1
  32. package/dist/config/validator.js +74 -0
  33. package/dist/config/validator.js.map +1 -1
  34. package/dist/database/intake-queries.d.ts +51 -0
  35. package/dist/database/intake-queries.d.ts.map +1 -0
  36. package/dist/database/intake-queries.js +250 -0
  37. package/dist/database/intake-queries.js.map +1 -0
  38. package/dist/database/queries.d.ts +4 -0
  39. package/dist/database/queries.d.ts.map +1 -1
  40. package/dist/database/queries.js.map +1 -1
  41. package/dist/database/schema.d.ts +2 -2
  42. package/dist/database/schema.d.ts.map +1 -1
  43. package/dist/database/schema.js +49 -0
  44. package/dist/database/schema.js.map +1 -1
  45. package/dist/git/section-pr.d.ts +3 -2
  46. package/dist/git/section-pr.d.ts.map +1 -1
  47. package/dist/git/section-pr.js +95 -15
  48. package/dist/git/section-pr.js.map +1 -1
  49. package/dist/hooks/events.d.ts +10 -1
  50. package/dist/hooks/events.d.ts.map +1 -1
  51. package/dist/hooks/events.js +23 -1
  52. package/dist/hooks/events.js.map +1 -1
  53. package/dist/hooks/integration.d.ts +22 -0
  54. package/dist/hooks/integration.d.ts.map +1 -1
  55. package/dist/hooks/integration.js +52 -0
  56. package/dist/hooks/integration.js.map +1 -1
  57. package/dist/hooks/payload-factories.d.ts +17 -0
  58. package/dist/hooks/payload-factories.d.ts.map +1 -0
  59. package/dist/hooks/payload-factories.js +69 -0
  60. package/dist/hooks/payload-factories.js.map +1 -0
  61. package/dist/hooks/payload-types.d.ts +169 -0
  62. package/dist/hooks/payload-types.d.ts.map +1 -0
  63. package/dist/hooks/payload-types.js +3 -0
  64. package/dist/hooks/payload-types.js.map +1 -0
  65. package/dist/hooks/payload-validation.d.ts +6 -0
  66. package/dist/hooks/payload-validation.d.ts.map +1 -0
  67. package/dist/hooks/payload-validation.js +186 -0
  68. package/dist/hooks/payload-validation.js.map +1 -0
  69. package/dist/hooks/payload.d.ts +6 -334
  70. package/dist/hooks/payload.d.ts.map +1 -1
  71. package/dist/hooks/payload.js +21 -307
  72. package/dist/hooks/payload.js.map +1 -1
  73. package/dist/hooks/template-resolvers.d.ts +9 -0
  74. package/dist/hooks/template-resolvers.d.ts.map +1 -0
  75. package/dist/hooks/template-resolvers.js +133 -0
  76. package/dist/hooks/template-resolvers.js.map +1 -0
  77. package/dist/hooks/templates.d.ts +13 -0
  78. package/dist/hooks/templates.d.ts.map +1 -1
  79. package/dist/hooks/templates.js +40 -118
  80. package/dist/hooks/templates.js.map +1 -1
  81. package/dist/index.js +2 -0
  82. package/dist/index.js.map +1 -1
  83. package/dist/intake/github-gate-api.d.ts +37 -0
  84. package/dist/intake/github-gate-api.d.ts.map +1 -0
  85. package/dist/intake/github-gate-api.js +210 -0
  86. package/dist/intake/github-gate-api.js.map +1 -0
  87. package/dist/intake/github-gate.d.ts +22 -0
  88. package/dist/intake/github-gate.d.ts.map +1 -0
  89. package/dist/intake/github-gate.js +261 -0
  90. package/dist/intake/github-gate.js.map +1 -0
  91. package/dist/intake/github-issues-connector.d.ts +26 -0
  92. package/dist/intake/github-issues-connector.d.ts.map +1 -0
  93. package/dist/intake/github-issues-connector.js +350 -0
  94. package/dist/intake/github-issues-connector.js.map +1 -0
  95. package/dist/intake/index.d.ts +10 -0
  96. package/dist/intake/index.d.ts.map +1 -0
  97. package/dist/intake/index.js +26 -0
  98. package/dist/intake/index.js.map +1 -0
  99. package/dist/intake/pipeline-glue.d.ts +61 -0
  100. package/dist/intake/pipeline-glue.d.ts.map +1 -0
  101. package/dist/intake/pipeline-glue.js +137 -0
  102. package/dist/intake/pipeline-glue.js.map +1 -0
  103. package/dist/intake/poller.d.ts +28 -0
  104. package/dist/intake/poller.d.ts.map +1 -0
  105. package/dist/intake/poller.js +186 -0
  106. package/dist/intake/poller.js.map +1 -0
  107. package/dist/intake/post-pr.d.ts +17 -0
  108. package/dist/intake/post-pr.d.ts.map +1 -0
  109. package/dist/intake/post-pr.js +78 -0
  110. package/dist/intake/post-pr.js.map +1 -0
  111. package/dist/intake/registry.d.ts +17 -0
  112. package/dist/intake/registry.d.ts.map +1 -0
  113. package/dist/intake/registry.js +57 -0
  114. package/dist/intake/registry.js.map +1 -0
  115. package/dist/intake/reviewer-approval.d.ts +10 -0
  116. package/dist/intake/reviewer-approval.d.ts.map +1 -0
  117. package/dist/intake/reviewer-approval.js +70 -0
  118. package/dist/intake/reviewer-approval.js.map +1 -0
  119. package/dist/intake/task-reference.d.ts +10 -0
  120. package/dist/intake/task-reference.d.ts.map +1 -0
  121. package/dist/intake/task-reference.js +23 -0
  122. package/dist/intake/task-reference.js.map +1 -0
  123. package/dist/intake/task-templates.d.ts +25 -0
  124. package/dist/intake/task-templates.d.ts.map +1 -0
  125. package/dist/intake/task-templates.js +98 -0
  126. package/dist/intake/task-templates.js.map +1 -0
  127. package/dist/intake/types.d.ts +103 -0
  128. package/dist/intake/types.d.ts.map +1 -0
  129. package/dist/intake/types.js +3 -0
  130. package/dist/intake/types.js.map +1 -0
  131. package/dist/orchestrator/coder.d.ts +2 -0
  132. package/dist/orchestrator/coder.d.ts.map +1 -1
  133. package/dist/orchestrator/coder.js +25 -2
  134. package/dist/orchestrator/coder.js.map +1 -1
  135. package/dist/providers/gemini.d.ts.map +1 -1
  136. package/dist/providers/gemini.js +7 -14
  137. package/dist/providers/gemini.js.map +1 -1
  138. package/dist/providers/interface.d.ts.map +1 -1
  139. package/dist/providers/interface.js +50 -0
  140. package/dist/providers/interface.js.map +1 -1
  141. package/dist/runners/orchestrator-loop.d.ts.map +1 -1
  142. package/dist/runners/orchestrator-loop.js +7 -0
  143. package/dist/runners/orchestrator-loop.js.map +1 -1
  144. package/dist/runners/system-pressure.d.ts +26 -0
  145. package/dist/runners/system-pressure.d.ts.map +1 -0
  146. package/dist/runners/system-pressure.js +128 -0
  147. package/dist/runners/system-pressure.js.map +1 -0
  148. package/dist/runners/wakeup-checks.d.ts.map +1 -1
  149. package/dist/runners/wakeup-checks.js +16 -1
  150. package/dist/runners/wakeup-checks.js.map +1 -1
  151. package/dist/runners/wakeup-global-cleanup.d.ts +20 -0
  152. package/dist/runners/wakeup-global-cleanup.d.ts.map +1 -0
  153. package/dist/runners/wakeup-global-cleanup.js +317 -0
  154. package/dist/runners/wakeup-global-cleanup.js.map +1 -0
  155. package/dist/runners/wakeup-needed.d.ts +5 -0
  156. package/dist/runners/wakeup-needed.d.ts.map +1 -0
  157. package/dist/runners/wakeup-needed.js +42 -0
  158. package/dist/runners/wakeup-needed.js.map +1 -0
  159. package/dist/runners/wakeup-project-parallel.d.ts +13 -0
  160. package/dist/runners/wakeup-project-parallel.d.ts.map +1 -0
  161. package/dist/runners/wakeup-project-parallel.js +238 -0
  162. package/dist/runners/wakeup-project-parallel.js.map +1 -0
  163. package/dist/runners/wakeup-project.d.ts +10 -0
  164. package/dist/runners/wakeup-project.d.ts.map +1 -0
  165. package/dist/runners/wakeup-project.js +209 -0
  166. package/dist/runners/wakeup-project.js.map +1 -0
  167. package/dist/runners/wakeup-registration.d.ts +2 -0
  168. package/dist/runners/wakeup-registration.d.ts.map +1 -0
  169. package/dist/runners/wakeup-registration.js +42 -0
  170. package/dist/runners/wakeup-registration.js.map +1 -0
  171. package/dist/runners/wakeup-types.d.ts +25 -0
  172. package/dist/runners/wakeup-types.d.ts.map +1 -0
  173. package/dist/runners/wakeup-types.js +3 -0
  174. package/dist/runners/wakeup-types.js.map +1 -0
  175. package/dist/runners/wakeup.d.ts +4 -24
  176. package/dist/runners/wakeup.d.ts.map +1 -1
  177. package/dist/runners/wakeup.js +25 -601
  178. package/dist/runners/wakeup.js.map +1 -1
  179. package/dist/workspace/pool.d.ts.map +1 -1
  180. package/dist/workspace/pool.js +37 -4
  181. package/dist/workspace/pool.js.map +1 -1
  182. package/migrations/025_add_intake_tables.sql +51 -0
  183. package/migrations/026_add_section_coder_and_pr_fields.sql +11 -0
  184. package/migrations/manifest.json +18 -2
  185. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator-loop.js","sourceRoot":"","sources":["../../src/runners/orchestrator-loop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orchestrator-loop.js","sourceRoot":"","sources":["../../src/runners/orchestrator-loop.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * System pressure monitoring — prevents runners from consuming all
3
+ * available memory/disk and crashing the host.
4
+ *
5
+ * On macOS, swap files live on the boot APFS container and share free
6
+ * space with the system volume. A single runaway provider process can
7
+ * generate 20+ GB of swap and fill the drive.
8
+ */
9
+ export interface PressureSnapshot {
10
+ bootVolumeFreeBytes: number;
11
+ memoryFreePct: number;
12
+ swapUsedMb: number;
13
+ }
14
+ export interface PressureCheckResult {
15
+ ok: boolean;
16
+ reason?: string;
17
+ snapshot: PressureSnapshot;
18
+ }
19
+ export declare function takePressureSnapshot(): PressureSnapshot;
20
+ export declare function checkSystemPressure(snapshot?: PressureSnapshot): PressureCheckResult;
21
+ /**
22
+ * Wait for system pressure to drop below thresholds.
23
+ * Returns true if pressure cleared, false if timed out.
24
+ */
25
+ export declare function waitForPressureRelief(log?: (msg: string) => void): Promise<boolean>;
26
+ //# sourceMappingURL=system-pressure.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system-pressure.d.ts","sourceRoot":"","sources":["../../src/runners/system-pressure.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAwBH,MAAM,WAAW,gBAAgB;IAC/B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,gBAAgB,CAAC;CAC5B;AAyCD,wBAAgB,oBAAoB,IAAI,gBAAgB,CAMvD;AAID,wBAAgB,mBAAmB,CAAC,QAAQ,CAAC,EAAE,gBAAgB,GAAG,mBAAmB,CA6BpF;AAID;;;GAGG;AACH,wBAAsB,qBAAqB,CACzC,GAAG,GAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAkB,GACvC,OAAO,CAAC,OAAO,CAAC,CA0BlB"}
@@ -0,0 +1,128 @@
1
+ "use strict";
2
+ /**
3
+ * System pressure monitoring — prevents runners from consuming all
4
+ * available memory/disk and crashing the host.
5
+ *
6
+ * On macOS, swap files live on the boot APFS container and share free
7
+ * space with the system volume. A single runaway provider process can
8
+ * generate 20+ GB of swap and fill the drive.
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.takePressureSnapshot = takePressureSnapshot;
12
+ exports.checkSystemPressure = checkSystemPressure;
13
+ exports.waitForPressureRelief = waitForPressureRelief;
14
+ const node_child_process_1 = require("node:child_process");
15
+ const node_fs_1 = require("node:fs");
16
+ // ── Thresholds ──────────────────────────────────────────────────────
17
+ /** Minimum free bytes on the boot volume before we refuse to spawn. */
18
+ const BOOT_VOLUME_MIN_FREE_BYTES = 10 * 1024 * 1024 * 1024; // 10 GB
19
+ /** Memory-free percentage below which we pause (macOS `memory_pressure`). */
20
+ const MEMORY_FREE_MIN_PCT = 20;
21
+ /** Maximum swap-used MB before we pause. */
22
+ const SWAP_USED_MAX_MB = 8_000; // 8 GB
23
+ /** How long to wait between pressure checks when paused (ms). */
24
+ const PRESSURE_POLL_INTERVAL_MS = 15_000;
25
+ /** Maximum total time we'll wait for pressure to drop before aborting (ms). */
26
+ const PRESSURE_MAX_WAIT_MS = 5 * 60 * 1000; // 5 minutes
27
+ // ── Snapshot collection ─────────────────────────────────────────────
28
+ function getBootVolumeFreeBytes() {
29
+ try {
30
+ const stats = (0, node_fs_1.statfsSync)('/');
31
+ return stats.bfree * stats.bsize;
32
+ }
33
+ catch {
34
+ return Number.MAX_SAFE_INTEGER; // Can't check → don't block
35
+ }
36
+ }
37
+ function getMemoryFreePct() {
38
+ if (process.platform !== 'darwin')
39
+ return 100;
40
+ try {
41
+ const out = (0, node_child_process_1.execFileSync)('memory_pressure', [], {
42
+ timeout: 5000,
43
+ stdio: ['pipe', 'pipe', 'pipe'],
44
+ }).toString();
45
+ const match = out.match(/free percentage:\s*(\d+)%/);
46
+ return match ? parseInt(match[1], 10) : 100;
47
+ }
48
+ catch {
49
+ return 100; // Can't check → don't block
50
+ }
51
+ }
52
+ function getSwapUsedMb() {
53
+ if (process.platform !== 'darwin')
54
+ return 0;
55
+ try {
56
+ const out = (0, node_child_process_1.execFileSync)('sysctl', ['vm.swapusage'], {
57
+ timeout: 5000,
58
+ stdio: ['pipe', 'pipe', 'pipe'],
59
+ }).toString();
60
+ const match = out.match(/used\s*=\s*([\d.]+)M/);
61
+ return match ? parseFloat(match[1]) : 0;
62
+ }
63
+ catch {
64
+ return 0;
65
+ }
66
+ }
67
+ function takePressureSnapshot() {
68
+ return {
69
+ bootVolumeFreeBytes: getBootVolumeFreeBytes(),
70
+ memoryFreePct: getMemoryFreePct(),
71
+ swapUsedMb: getSwapUsedMb(),
72
+ };
73
+ }
74
+ // ── Pressure check ──────────────────────────────────────────────────
75
+ function checkSystemPressure(snapshot) {
76
+ const s = snapshot ?? takePressureSnapshot();
77
+ if (s.bootVolumeFreeBytes < BOOT_VOLUME_MIN_FREE_BYTES) {
78
+ const freeGb = (s.bootVolumeFreeBytes / (1024 * 1024 * 1024)).toFixed(1);
79
+ return {
80
+ ok: false,
81
+ reason: `Boot volume critically low: ${freeGb} GB free (min ${BOOT_VOLUME_MIN_FREE_BYTES / (1024 * 1024 * 1024)} GB)`,
82
+ snapshot: s,
83
+ };
84
+ }
85
+ if (s.memoryFreePct < MEMORY_FREE_MIN_PCT) {
86
+ return {
87
+ ok: false,
88
+ reason: `Memory pressure critical: ${s.memoryFreePct}% free (min ${MEMORY_FREE_MIN_PCT}%)`,
89
+ snapshot: s,
90
+ };
91
+ }
92
+ if (s.swapUsedMb > SWAP_USED_MAX_MB) {
93
+ return {
94
+ ok: false,
95
+ reason: `Swap usage excessive: ${s.swapUsedMb.toFixed(0)} MB (max ${SWAP_USED_MAX_MB} MB)`,
96
+ snapshot: s,
97
+ };
98
+ }
99
+ return { ok: true, snapshot: s };
100
+ }
101
+ // ── Blocking wait with backoff ──────────────────────────────────────
102
+ /**
103
+ * Wait for system pressure to drop below thresholds.
104
+ * Returns true if pressure cleared, false if timed out.
105
+ */
106
+ async function waitForPressureRelief(log = console.log) {
107
+ const initial = checkSystemPressure();
108
+ if (initial.ok)
109
+ return true;
110
+ log(`[pressure] Pausing: ${initial.reason}`);
111
+ const deadline = Date.now() + PRESSURE_MAX_WAIT_MS;
112
+ let waited = 0;
113
+ while (Date.now() < deadline) {
114
+ await new Promise((r) => setTimeout(r, PRESSURE_POLL_INTERVAL_MS));
115
+ waited += PRESSURE_POLL_INTERVAL_MS;
116
+ const check = checkSystemPressure();
117
+ if (check.ok) {
118
+ log(`[pressure] Pressure cleared after ${(waited / 1000).toFixed(0)}s — resuming`);
119
+ return true;
120
+ }
121
+ if (waited % 60_000 < PRESSURE_POLL_INTERVAL_MS) {
122
+ log(`[pressure] Still waiting (${(waited / 1000).toFixed(0)}s): ${check.reason}`);
123
+ }
124
+ }
125
+ log(`[pressure] Timed out after ${(PRESSURE_MAX_WAIT_MS / 1000).toFixed(0)}s — aborting task`);
126
+ return false;
127
+ }
128
+ //# sourceMappingURL=system-pressure.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system-pressure.js","sourceRoot":"","sources":["../../src/runners/system-pressure.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"wakeup-checks.d.ts","sourceRoot":"","sources":["../../src/runners/wakeup-checks.ts"],"names":[],"mappings":"AAaA;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CA8BjF;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CActE;AAED,wBAAgB,kCAAkC,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAqB/E"}
1
+ {"version":3,"file":"wakeup-checks.d.ts","sourceRoot":"","sources":["../../src/runners/wakeup-checks.ts"],"names":[],"mappings":"AAiCA;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CA8BjF;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CActE;AAED,wBAAgB,kCAAkC,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAqB/E"}
@@ -5,6 +5,7 @@ exports.hasActiveRunnerForProject = hasActiveRunnerForProject;
5
5
  exports.hasActiveParallelSessionForProject = hasActiveParallelSessionForProject;
6
6
  const connection_js_1 = require("../database/connection.js");
7
7
  const global_db_js_1 = require("./global-db.js");
8
+ const loader_js_1 = require("../config/loader.js");
8
9
  /**
9
10
  * Project state checks for wakeup
10
11
  */
@@ -12,6 +13,20 @@ const node_fs_1 = require("node:fs");
12
13
  const node_path_1 = require("node:path");
13
14
  const task_selector_js_1 = require("../orchestrator/task-selector.js");
14
15
  const parallel_session_state_js_1 = require("./parallel-session-state.js");
16
+ function hasPendingGitHubGateWork(projectPath, db) {
17
+ const config = (0, loader_js_1.loadConfig)(projectPath);
18
+ if (config.intake?.enabled !== true || config.intake.connectors?.github?.enabled !== true) {
19
+ return false;
20
+ }
21
+ const row = db
22
+ .prepare(`SELECT COUNT(*) as count
23
+ FROM intake_reports
24
+ WHERE source = 'github'
25
+ AND linked_task_id IS NULL
26
+ AND status NOT IN ('resolved', 'ignored')`)
27
+ .get();
28
+ return row.count > 0;
29
+ }
15
30
  /**
16
31
  * Check if a project has pending work
17
32
  */
@@ -34,7 +49,7 @@ async function projectHasPendingWork(projectPath) {
34
49
  FROM tasks
35
50
  WHERE status IN ('pending', 'in_progress', 'review')`)
36
51
  .get();
37
- return row.count > 0;
52
+ return row.count > 0 || hasPendingGitHubGateWork(projectPath, db);
38
53
  }, { timeoutMs: 1000 });
39
54
  }
40
55
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"wakeup-checks.js","sourceRoot":"","sources":["../../src/runners/wakeup-checks.ts"],"names":[],"mappings":";;AAgBA,sDA8BC;AAMD,8DAcC;AAED,gFAqBC;AAzFD,6DAAyD;AACzD,iDAAoD;AACpD;;GAEG;AAEH,qCAAqC;AACrC,yCAAiC;AAGjC,uEAAkE;AAClE,2EAA+G;AAE/G;;GAEG;AACI,KAAK,UAAU,qBAAqB,CAAC,WAAmB;IAC7D,MAAM,MAAM,GAAG,IAAA,gBAAI,EAAC,WAAW,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC;IAC7D,IAAI,CAAC,IAAA,oBAAU,EAAC,MAAM,CAAC,EAAE,CAAC;QACxB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC;QACH,OAAO,IAAA,4BAAY,EAAC,WAAW,EAAE,CAAC,EAAO,EAAE,EAAE;YAC3C,uCAAuC;YACvC,IAAI,IAAA,iCAAc,EAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;gBAChC,OAAO,IAAI,CAAC;YACd,CAAC;YAED,uEAAuE;YACvE,yEAAyE;YACzE,0EAA0E;YAC1E,MAAM,GAAG,GAAG,EAAE;iBACX,OAAO,CACN;;gEAEsD,CACvD;iBACA,GAAG,EAAuB,CAAC;YAE9B,OAAO,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC;QACvB,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,iEAAiE;QACjE,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAgB,yBAAyB,CAAC,WAAmB;IAC3D,OAAO,IAAA,iCAAkB,EAAC,CAAC,EAAO,EAAE,EAAE;QACpC,MAAM,GAAG,GAAG,EAAE;aACX,OAAO,CACN;;;;yCAIiC,CAClC;aACA,GAAG,CAAC,WAAW,CAA8B,CAAC;QAEjD,OAAO,GAAG,KAAK,SAAS,CAAC;IAC3B,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,kCAAkC,CAAC,WAAmB;IACpE,OAAO,IAAA,iCAAkB,EAAC,CAAC,EAAO,EAAE,EAAE;QACpC,IAAA,sDAA0B,EAAC,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;QAChD,IAAI,IAAA,gEAAoC,EAAC,EAAE,EAAE,WAAW,CAAC;YAAE,OAAO,IAAI,CAAC;QAEvE,qEAAqE;QACrE,uEAAuE;QACvE,4EAA4E;QAC5E,MAAM,WAAW,GAAG,EAAE;aACnB,OAAO,CACN;;;;;8DAKsD,CACvD;aACA,GAAG,CAAC,WAAW,CAA8B,CAAC;QAEjD,OAAO,WAAW,KAAK,SAAS,CAAC;IACnC,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"wakeup-checks.js","sourceRoot":"","sources":["../../src/runners/wakeup-checks.ts"],"names":[],"mappings":";;AAoCA,sDA8BC;AAMD,8DAcC;AAED,gFAqBC;AA7GD,6DAAyD;AACzD,iDAAoD;AACpD,mDAAiD;AACjD;;GAEG;AAEH,qCAAqC;AACrC,yCAAiC;AAGjC,uEAAkE;AAClE,2EAA+G;AAE/G,SAAS,wBAAwB,CAAC,WAAmB,EAAE,EAAO;IAC5D,MAAM,MAAM,GAAG,IAAA,sBAAU,EAAC,WAAW,CAAC,CAAC;IACvC,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,EAAE,CAAC;QAC1F,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,GAAG,GAAG,EAAE;SACX,OAAO,CACN;;;;mDAI6C,CAC9C;SACA,GAAG,EAAuB,CAAC;IAE9B,OAAO,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC;AACvB,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,qBAAqB,CAAC,WAAmB;IAC7D,MAAM,MAAM,GAAG,IAAA,gBAAI,EAAC,WAAW,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC;IAC7D,IAAI,CAAC,IAAA,oBAAU,EAAC,MAAM,CAAC,EAAE,CAAC;QACxB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC;QACH,OAAO,IAAA,4BAAY,EAAC,WAAW,EAAE,CAAC,EAAO,EAAE,EAAE;YAC3C,uCAAuC;YACvC,IAAI,IAAA,iCAAc,EAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;gBAChC,OAAO,IAAI,CAAC;YACd,CAAC;YAED,uEAAuE;YACvE,yEAAyE;YACzE,0EAA0E;YAC1E,MAAM,GAAG,GAAG,EAAE;iBACX,OAAO,CACN;;gEAEsD,CACvD;iBACA,GAAG,EAAuB,CAAC;YAE9B,OAAO,GAAG,CAAC,KAAK,GAAG,CAAC,IAAI,wBAAwB,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QACpE,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,iEAAiE;QACjE,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAgB,yBAAyB,CAAC,WAAmB;IAC3D,OAAO,IAAA,iCAAkB,EAAC,CAAC,EAAO,EAAE,EAAE;QACpC,MAAM,GAAG,GAAG,EAAE;aACX,OAAO,CACN;;;;yCAIiC,CAClC;aACA,GAAG,CAAC,WAAW,CAA8B,CAAC;QAEjD,OAAO,GAAG,KAAK,SAAS,CAAC;IAC3B,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,kCAAkC,CAAC,WAAmB;IACpE,OAAO,IAAA,iCAAkB,EAAC,CAAC,EAAO,EAAE,EAAE;QACpC,IAAA,sDAA0B,EAAC,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;QAChD,IAAI,IAAA,gEAAoC,EAAC,EAAE,EAAE,WAAW,CAAC;YAAE,OAAO,IAAI,CAAC;QAEvE,qEAAqE;QACrE,uEAAuE;QACvE,4EAA4E;QAC5E,MAAM,WAAW,GAAG,EAAE;aACnB,OAAO,CACN;;;;;8DAKsD,CACvD;aACA,GAAG,CAAC,WAAW,CAA8B,CAAC;QAEjD,OAAO,WAAW,KAAK,SAAS,CAAC;IACnC,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,20 @@
1
+ import type { WakeupLogger, WakeupResult } from './wakeup-types.js';
2
+ interface GlobalMaintenanceOptions {
3
+ globalDb: any;
4
+ dryRun: boolean;
5
+ log: WakeupLogger;
6
+ }
7
+ /**
8
+ * Remove stale provider isolated-HOME directories from temp locations.
9
+ * These are created by setupIsolatedHome() in each provider and should be
10
+ * cleaned by the provider's close/error handler. When the runner process is
11
+ * SIGTERM'd, the cleanup never fires and dirs accumulate (with npm caches
12
+ * reaching 500MB+ each).
13
+ *
14
+ * Scans both os.tmpdir() and /private/tmp (macOS /tmp symlink target) since
15
+ * older versions may have used a different temp root.
16
+ */
17
+ export declare function cleanStaleProviderHomes(dryRun: boolean, log: WakeupLogger): number;
18
+ export declare function performWakeupGlobalMaintenance(options: GlobalMaintenanceOptions): Promise<WakeupResult[]>;
19
+ export {};
20
+ //# sourceMappingURL=wakeup-global-cleanup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wakeup-global-cleanup.d.ts","sourceRoot":"","sources":["../../src/runners/wakeup-global-cleanup.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEpE,UAAU,wBAAwB;IAChC,QAAQ,EAAE,GAAG,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,GAAG,EAAE,YAAY,CAAC;CACnB;AA8HD;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,YAAY,GAAG,MAAM,CA0ClF;AA4JD,wBAAsB,8BAA8B,CAClD,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,YAAY,EAAE,CAAC,CAWzB"}
@@ -0,0 +1,317 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.cleanStaleProviderHomes = cleanStaleProviderHomes;
4
+ exports.performWakeupGlobalMaintenance = performWakeupGlobalMaintenance;
5
+ const node_fs_1 = require("node:fs");
6
+ const node_path_1 = require("node:path");
7
+ const node_os_1 = require("node:os");
8
+ const lock_js_1 = require("./lock.js");
9
+ const heartbeat_js_1 = require("./heartbeat.js");
10
+ const connection_js_1 = require("../database/connection.js");
11
+ const wakeup_runner_js_1 = require("./wakeup-runner.js");
12
+ function cleanupStaleRunnerTaskState(runner) {
13
+ if (!runner.current_task_id || !runner.project_path) {
14
+ return;
15
+ }
16
+ try {
17
+ const { db: projectDb, close: closeProjectDb } = (0, connection_js_1.openDatabase)(runner.project_path);
18
+ try {
19
+ const nowMs = Date.now();
20
+ projectDb.prepare(`UPDATE task_invocations
21
+ SET status = 'failed', success = 0, timed_out = 0, exit_code = 1,
22
+ completed_at_ms = ?, duration_ms = ?,
23
+ error = COALESCE(error, 'Runner process died (stale heartbeat).')
24
+ WHERE task_id = ? AND status = 'running'`).run(nowMs, 0, runner.current_task_id);
25
+ projectDb.prepare(`UPDATE tasks SET status = 'pending', updated_at = datetime('now')
26
+ WHERE id = ? AND status = 'in_progress'`).run(runner.current_task_id);
27
+ projectDb.prepare(`DELETE FROM task_locks WHERE task_id = ?`).run(runner.current_task_id);
28
+ }
29
+ finally {
30
+ closeProjectDb();
31
+ }
32
+ }
33
+ catch {
34
+ // Project DB errors must not block runner row cleanup.
35
+ }
36
+ }
37
+ function cleanupStaleRunners(globalDb, dryRun, log) {
38
+ const results = [];
39
+ try {
40
+ const staleRunners = (0, heartbeat_js_1.findStaleRunners)(globalDb);
41
+ if (staleRunners.length === 0) {
42
+ return results;
43
+ }
44
+ log(`Found ${staleRunners.length} stale runner(s), cleaning up...`);
45
+ if (!dryRun) {
46
+ for (const runner of staleRunners) {
47
+ cleanupStaleRunnerTaskState(runner);
48
+ if (runner.pid) {
49
+ (0, wakeup_runner_js_1.killProcess)(runner.pid);
50
+ }
51
+ globalDb.prepare(`UPDATE workstreams
52
+ SET runner_id = NULL,
53
+ lease_expires_at = datetime('now')
54
+ WHERE runner_id = ?`).run(runner.id);
55
+ globalDb.prepare('DELETE FROM runners WHERE id = ?').run(runner.id);
56
+ }
57
+ }
58
+ results.push({
59
+ action: 'cleaned',
60
+ reason: `Cleaned ${staleRunners.length} stale runner(s)`,
61
+ staleRunners: staleRunners.length,
62
+ });
63
+ }
64
+ catch {
65
+ // Ignore global DB issues; wakeup will still attempt per-project checks.
66
+ }
67
+ return results;
68
+ }
69
+ function releaseExpiredLeases(globalDb, log) {
70
+ try {
71
+ const releasedLeases = globalDb.prepare(`UPDATE workstreams
72
+ SET runner_id = NULL,
73
+ lease_expires_at = NULL
74
+ WHERE status = 'running'
75
+ AND lease_expires_at IS NOT NULL
76
+ AND lease_expires_at <= datetime('now')`).run().changes;
77
+ if (releasedLeases > 0) {
78
+ log(`Released ${releasedLeases} expired workstream lease(s)`);
79
+ }
80
+ }
81
+ catch {
82
+ // Ignore lease cleanup issues in wakeup.
83
+ }
84
+ }
85
+ async function reconcileStaleWorkspaces(globalDb, log) {
86
+ try {
87
+ const { reconcileStaleWorkspaces: reconcile } = await import('../workspace/reconcile.js');
88
+ const reconcileResult = reconcile(globalDb);
89
+ if (reconcileResult.resetSlots > 0 || reconcileResult.deletedLocks > 0) {
90
+ log(`Workspace pool reconciliation: reset ${reconcileResult.resetSlots} slot(s), ` +
91
+ `deleted ${reconcileResult.deletedLocks} stale lock(s)`);
92
+ }
93
+ }
94
+ catch {
95
+ // Ignore workspace pool reconciliation issues in wakeup.
96
+ }
97
+ }
98
+ function cleanupZombieLock(dryRun, log) {
99
+ const lockStatus = (0, lock_js_1.checkLockStatus)();
100
+ if (!lockStatus.isZombie || !lockStatus.pid) {
101
+ return;
102
+ }
103
+ log(`Found zombie lock (PID: ${lockStatus.pid}), cleaning...`);
104
+ if (!dryRun) {
105
+ (0, lock_js_1.removeLock)();
106
+ }
107
+ }
108
+ const STALE_PROVIDER_HOME_AGE_MS = 2 * 60 * 60 * 1000; // 2 hours
109
+ const PROVIDER_HOME_PREFIXES = ['steroids-claude-', 'steroids-codex-', 'steroids-gemini-', 'steroids-mistral-'];
110
+ /**
111
+ * Remove stale provider isolated-HOME directories from temp locations.
112
+ * These are created by setupIsolatedHome() in each provider and should be
113
+ * cleaned by the provider's close/error handler. When the runner process is
114
+ * SIGTERM'd, the cleanup never fires and dirs accumulate (with npm caches
115
+ * reaching 500MB+ each).
116
+ *
117
+ * Scans both os.tmpdir() and /private/tmp (macOS /tmp symlink target) since
118
+ * older versions may have used a different temp root.
119
+ */
120
+ function cleanStaleProviderHomes(dryRun, log) {
121
+ let cleaned = 0;
122
+ const cutoffMs = Date.now() - STALE_PROVIDER_HOME_AGE_MS;
123
+ // Collect unique directories to scan
124
+ const dirsToScan = new Set();
125
+ dirsToScan.add((0, node_os_1.tmpdir)());
126
+ // macOS: /tmp → /private/tmp, but os.tmpdir() returns /var/folders/.../T/
127
+ if (process.platform === 'darwin') {
128
+ dirsToScan.add('/private/tmp');
129
+ }
130
+ for (const scanDir of dirsToScan) {
131
+ try {
132
+ const entries = (0, node_fs_1.readdirSync)(scanDir, { withFileTypes: true });
133
+ for (const entry of entries) {
134
+ if (!entry.isDirectory())
135
+ continue;
136
+ if (!PROVIDER_HOME_PREFIXES.some((p) => entry.name.startsWith(p)))
137
+ continue;
138
+ const dirPath = (0, node_path_1.join)(scanDir, entry.name);
139
+ try {
140
+ const stat = (0, node_fs_1.statSync)(dirPath);
141
+ if (stat.mtimeMs > cutoffMs)
142
+ continue; // Still fresh, skip
143
+ if (!dryRun) {
144
+ (0, node_fs_1.rmSync)(dirPath, { recursive: true, force: true });
145
+ }
146
+ cleaned++;
147
+ }
148
+ catch {
149
+ // Stat or remove failed — skip this entry
150
+ }
151
+ }
152
+ }
153
+ catch {
154
+ // Directory listing failed — not critical
155
+ }
156
+ }
157
+ if (cleaned > 0) {
158
+ log(`Cleaned ${cleaned} stale provider home dir(s)`);
159
+ }
160
+ return cleaned;
161
+ }
162
+ const TERMINAL_SESSION_STATUSES = ['completed', 'failed', 'aborted'];
163
+ const MAX_POOL_SLOTS_PER_PROJECT = 2;
164
+ /**
165
+ * Remove workstream clone directories for completed/failed parallel sessions,
166
+ * and prune excess idle pool slots beyond MAX_POOL_SLOTS_PER_PROJECT.
167
+ *
168
+ * Workstream clones (ws-*) are single-use — once the session ends, they're
169
+ * dead weight. Pool slots (pool-*) are reusable across sessions, so we keep
170
+ * a small number per project for fast re-start.
171
+ */
172
+ async function pruneCompletedWorkspaces(globalDb, dryRun, log) {
173
+ let cleaned = 0;
174
+ try {
175
+ // 1. Clean workstream clone dirs for terminal sessions
176
+ const terminalClones = globalDb.prepare(`SELECT w.clone_path
177
+ FROM workstreams w
178
+ JOIN parallel_sessions s ON s.id = w.session_id
179
+ WHERE s.status IN (${TERMINAL_SESSION_STATUSES.map(() => '?').join(',')})
180
+ AND w.clone_path IS NOT NULL`).all(...TERMINAL_SESSION_STATUSES);
181
+ for (const row of terminalClones) {
182
+ if (!row.clone_path || !(0, node_fs_1.existsSync)(row.clone_path))
183
+ continue;
184
+ if (!dryRun) {
185
+ try {
186
+ (0, node_fs_1.rmSync)(row.clone_path, { recursive: true, force: true });
187
+ cleaned++;
188
+ }
189
+ catch {
190
+ // Ignore individual removal failures
191
+ }
192
+ }
193
+ else {
194
+ cleaned++;
195
+ }
196
+ }
197
+ // 2. Prune excess idle pool slots (keep MAX per project)
198
+ const projectIds = globalDb.prepare(`SELECT DISTINCT project_id FROM workspace_pool_slots`).all();
199
+ for (const { project_id } of projectIds) {
200
+ // Get all idle slots for this project, ordered by index (keep lowest)
201
+ const idleSlots = globalDb.prepare(`SELECT id, slot_path, slot_index FROM workspace_pool_slots
202
+ WHERE project_id = ? AND status = 'idle'
203
+ ORDER BY slot_index ASC`).all(project_id);
204
+ // Keep the first MAX slots, prune the rest
205
+ const toPrune = idleSlots.slice(MAX_POOL_SLOTS_PER_PROJECT);
206
+ for (const slot of toPrune) {
207
+ if (!dryRun) {
208
+ try {
209
+ if (slot.slot_path && (0, node_fs_1.existsSync)(slot.slot_path)) {
210
+ (0, node_fs_1.rmSync)(slot.slot_path, { recursive: true, force: true });
211
+ }
212
+ globalDb.prepare('DELETE FROM workspace_pool_slots WHERE id = ?').run(slot.id);
213
+ cleaned++;
214
+ }
215
+ catch {
216
+ // Ignore individual removal failures
217
+ }
218
+ }
219
+ else {
220
+ cleaned++;
221
+ }
222
+ }
223
+ }
224
+ // 3. Remove entire workspace dirs for unregistered projects
225
+ const { getRegisteredProjects } = await import('./projects.js');
226
+ const { getProjectHash } = await import('../parallel/clone.js');
227
+ const registeredHashes = new Set(getRegisteredProjects(false).map((p) => getProjectHash(p.path)));
228
+ const workspaceRoot = (0, node_path_1.join)((0, node_os_1.homedir)(), '.steroids', 'workspaces');
229
+ if ((0, node_fs_1.existsSync)(workspaceRoot)) {
230
+ // Remove entire hash dirs for unregistered projects
231
+ try {
232
+ for (const hashEntry of (0, node_fs_1.readdirSync)(workspaceRoot, { withFileTypes: true })) {
233
+ if (!hashEntry.isDirectory())
234
+ continue;
235
+ if (registeredHashes.has(hashEntry.name))
236
+ continue; // Active project, skip
237
+ const hashDir = (0, node_path_1.join)(workspaceRoot, hashEntry.name);
238
+ if (!dryRun) {
239
+ try {
240
+ (0, node_fs_1.rmSync)(hashDir, { recursive: true, force: true });
241
+ // Also clean DB records for this project hash
242
+ globalDb.prepare('DELETE FROM workspace_pool_slots WHERE project_id = ?').run(hashEntry.name);
243
+ cleaned++;
244
+ }
245
+ catch {
246
+ // Ignore
247
+ }
248
+ }
249
+ else {
250
+ cleaned++;
251
+ }
252
+ }
253
+ }
254
+ catch {
255
+ // Ignore workspace root scan errors
256
+ }
257
+ // Build set of all known clone paths from DB
258
+ const allClonePaths = new Set();
259
+ const dbClones = globalDb.prepare('SELECT clone_path FROM workstreams WHERE clone_path IS NOT NULL').all();
260
+ for (const c of dbClones)
261
+ allClonePaths.add(c.clone_path);
262
+ const dbSlots = globalDb.prepare('SELECT slot_path FROM workspace_pool_slots WHERE slot_path IS NOT NULL').all();
263
+ for (const s of dbSlots)
264
+ allClonePaths.add(s.slot_path);
265
+ // Scan each project hash dir for orphan ws-*/pool-* subdirs
266
+ try {
267
+ for (const hashEntry of (0, node_fs_1.readdirSync)(workspaceRoot, { withFileTypes: true })) {
268
+ if (!hashEntry.isDirectory())
269
+ continue;
270
+ const hashDir = (0, node_path_1.join)(workspaceRoot, hashEntry.name);
271
+ for (const sub of (0, node_fs_1.readdirSync)(hashDir, { withFileTypes: true })) {
272
+ if (!sub.isDirectory())
273
+ continue;
274
+ if (!sub.name.startsWith('ws-'))
275
+ continue; // Only clean ws-* orphans; keep pool-* slots
276
+ const subPath = (0, node_path_1.join)(hashDir, sub.name);
277
+ if (allClonePaths.has(subPath))
278
+ continue; // Tracked in DB, skip
279
+ if (!dryRun) {
280
+ try {
281
+ (0, node_fs_1.rmSync)(subPath, { recursive: true, force: true });
282
+ cleaned++;
283
+ }
284
+ catch {
285
+ // Ignore
286
+ }
287
+ }
288
+ else {
289
+ cleaned++;
290
+ }
291
+ }
292
+ }
293
+ }
294
+ catch {
295
+ // Ignore workspace root scan errors
296
+ }
297
+ }
298
+ }
299
+ catch {
300
+ // Workspace cleanup errors must not block other wakeup steps
301
+ }
302
+ if (cleaned > 0) {
303
+ log(`Pruned ${cleaned} stale workspace clone(s) / excess pool slot(s)`);
304
+ }
305
+ return cleaned;
306
+ }
307
+ async function performWakeupGlobalMaintenance(options) {
308
+ const { globalDb, dryRun, log } = options;
309
+ const results = cleanupStaleRunners(globalDb, dryRun, log);
310
+ releaseExpiredLeases(globalDb, log);
311
+ await reconcileStaleWorkspaces(globalDb, log);
312
+ cleanupZombieLock(dryRun, log);
313
+ cleanStaleProviderHomes(dryRun, log);
314
+ await pruneCompletedWorkspaces(globalDb, dryRun, log);
315
+ return results;
316
+ }
317
+ //# sourceMappingURL=wakeup-global-cleanup.js.map