steroids-cli 0.9.42 → 0.10.13

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 (232) hide show
  1. package/dist/cli/base-command.d.ts +16 -0
  2. package/dist/cli/base-command.d.ts.map +1 -0
  3. package/dist/cli/base-command.js +42 -0
  4. package/dist/cli/base-command.js.map +1 -0
  5. package/dist/cli/version-check.d.ts.map +1 -1
  6. package/dist/cli/version-check.js +28 -2
  7. package/dist/cli/version-check.js.map +1 -1
  8. package/dist/commands/disputes.js +15 -30
  9. package/dist/commands/disputes.js.map +1 -1
  10. package/dist/commands/gc.d.ts +1 -1
  11. package/dist/commands/gc.d.ts.map +1 -1
  12. package/dist/commands/gc.js +49 -64
  13. package/dist/commands/gc.js.map +1 -1
  14. package/dist/commands/git.d.ts.map +1 -1
  15. package/dist/commands/git.js +5 -8
  16. package/dist/commands/git.js.map +1 -1
  17. package/dist/commands/health-stuck.js +2 -6
  18. package/dist/commands/health-stuck.js.map +1 -1
  19. package/dist/commands/health.d.ts.map +1 -1
  20. package/dist/commands/health.js +2 -6
  21. package/dist/commands/health.js.map +1 -1
  22. package/dist/commands/llm.d.ts.map +1 -1
  23. package/dist/commands/llm.js +4 -12
  24. package/dist/commands/llm.js.map +1 -1
  25. package/dist/commands/locks.js +12 -24
  26. package/dist/commands/locks.js.map +1 -1
  27. package/dist/commands/loop-phases.d.ts +12 -4
  28. package/dist/commands/loop-phases.d.ts.map +1 -1
  29. package/dist/commands/loop-phases.js +163 -111
  30. package/dist/commands/loop-phases.js.map +1 -1
  31. package/dist/commands/purge.d.ts.map +1 -1
  32. package/dist/commands/purge.js +11 -22
  33. package/dist/commands/purge.js.map +1 -1
  34. package/dist/commands/runners-list.d.ts.map +1 -1
  35. package/dist/commands/runners-list.js +11 -30
  36. package/dist/commands/runners-list.js.map +1 -1
  37. package/dist/commands/runners-parallel.d.ts.map +1 -1
  38. package/dist/commands/runners-parallel.js +3 -7
  39. package/dist/commands/runners-parallel.js.map +1 -1
  40. package/dist/commands/runners.js +2 -9
  41. package/dist/commands/runners.js.map +1 -1
  42. package/dist/commands/scan.d.ts.map +1 -1
  43. package/dist/commands/scan.js +5 -8
  44. package/dist/commands/scan.js.map +1 -1
  45. package/dist/commands/sections-commands.d.ts.map +1 -1
  46. package/dist/commands/sections-commands.js +12 -24
  47. package/dist/commands/sections-commands.js.map +1 -1
  48. package/dist/commands/sections.js +6 -12
  49. package/dist/commands/sections.js.map +1 -1
  50. package/dist/commands/skills.d.ts +11 -0
  51. package/dist/commands/skills.d.ts.map +1 -0
  52. package/dist/commands/skills.js +181 -0
  53. package/dist/commands/skills.js.map +1 -0
  54. package/dist/commands/tasks-reset.d.ts +3 -0
  55. package/dist/commands/tasks-reset.d.ts.map +1 -0
  56. package/dist/commands/tasks-reset.js +200 -0
  57. package/dist/commands/tasks-reset.js.map +1 -0
  58. package/dist/commands/tasks.d.ts.map +1 -1
  59. package/dist/commands/tasks.js +57 -67
  60. package/dist/commands/tasks.js.map +1 -1
  61. package/dist/commands/web.d.ts.map +1 -1
  62. package/dist/commands/web.js +3 -1
  63. package/dist/commands/web.js.map +1 -1
  64. package/dist/config/loader.d.ts +1 -0
  65. package/dist/config/loader.d.ts.map +1 -1
  66. package/dist/config/loader.js.map +1 -1
  67. package/dist/database/connection.d.ts +10 -1
  68. package/dist/database/connection.d.ts.map +1 -1
  69. package/dist/database/connection.js +32 -6
  70. package/dist/database/connection.js.map +1 -1
  71. package/dist/database/queries.d.ts +18 -0
  72. package/dist/database/queries.d.ts.map +1 -1
  73. package/dist/database/queries.js +91 -20
  74. package/dist/database/queries.js.map +1 -1
  75. package/dist/database/schema.d.ts +2 -2
  76. package/dist/database/schema.d.ts.map +1 -1
  77. package/dist/database/schema.js +8 -0
  78. package/dist/database/schema.js.map +1 -1
  79. package/dist/git/status.d.ts.map +1 -1
  80. package/dist/git/status.js +13 -2
  81. package/dist/git/status.js.map +1 -1
  82. package/dist/git/submission-resolution.d.ts.map +1 -1
  83. package/dist/git/submission-resolution.js +3 -7
  84. package/dist/git/submission-resolution.js.map +1 -1
  85. package/dist/index.js +5 -0
  86. package/dist/index.js.map +1 -1
  87. package/dist/migrations/backfill.d.ts +3 -0
  88. package/dist/migrations/backfill.d.ts.map +1 -0
  89. package/dist/migrations/backfill.js +53 -0
  90. package/dist/migrations/backfill.js.map +1 -0
  91. package/dist/migrations/runner.d.ts.map +1 -1
  92. package/dist/migrations/runner.js +9 -0
  93. package/dist/migrations/runner.js.map +1 -1
  94. package/dist/orchestrator/base-runner.d.ts +14 -0
  95. package/dist/orchestrator/base-runner.d.ts.map +1 -0
  96. package/dist/orchestrator/base-runner.js +57 -0
  97. package/dist/orchestrator/base-runner.js.map +1 -0
  98. package/dist/orchestrator/coder.d.ts +4 -22
  99. package/dist/orchestrator/coder.d.ts.map +1 -1
  100. package/dist/orchestrator/coder.js +136 -183
  101. package/dist/orchestrator/coder.js.map +1 -1
  102. package/dist/orchestrator/coordinator.d.ts.map +1 -1
  103. package/dist/orchestrator/coordinator.js +1 -0
  104. package/dist/orchestrator/coordinator.js.map +1 -1
  105. package/dist/orchestrator/fallback-handler.d.ts +3 -23
  106. package/dist/orchestrator/fallback-handler.d.ts.map +1 -1
  107. package/dist/orchestrator/fallback-handler.js +40 -357
  108. package/dist/orchestrator/fallback-handler.js.map +1 -1
  109. package/dist/orchestrator/history-manager.d.ts +15 -0
  110. package/dist/orchestrator/history-manager.d.ts.map +1 -0
  111. package/dist/orchestrator/history-manager.js +93 -0
  112. package/dist/orchestrator/history-manager.js.map +1 -0
  113. package/dist/orchestrator/post-coder.d.ts.map +1 -1
  114. package/dist/orchestrator/post-coder.js +16 -24
  115. package/dist/orchestrator/post-coder.js.map +1 -1
  116. package/dist/orchestrator/post-reviewer.d.ts.map +1 -1
  117. package/dist/orchestrator/post-reviewer.js +25 -37
  118. package/dist/orchestrator/post-reviewer.js.map +1 -1
  119. package/dist/orchestrator/reviewer.d.ts +5 -29
  120. package/dist/orchestrator/reviewer.d.ts.map +1 -1
  121. package/dist/orchestrator/reviewer.js +193 -255
  122. package/dist/orchestrator/reviewer.js.map +1 -1
  123. package/dist/orchestrator/signal-parser.d.ts +32 -0
  124. package/dist/orchestrator/signal-parser.d.ts.map +1 -0
  125. package/dist/orchestrator/signal-parser.js +73 -0
  126. package/dist/orchestrator/signal-parser.js.map +1 -0
  127. package/dist/orchestrator/types.d.ts +9 -13
  128. package/dist/orchestrator/types.d.ts.map +1 -1
  129. package/dist/parallel/clone.d.ts.map +1 -1
  130. package/dist/parallel/clone.js +37 -2
  131. package/dist/parallel/clone.js.map +1 -1
  132. package/dist/parallel/merge-conflict-attempts.d.ts.map +1 -1
  133. package/dist/parallel/merge-conflict-attempts.js +4 -12
  134. package/dist/parallel/merge-conflict-attempts.js.map +1 -1
  135. package/dist/parallel/merge-conflict.d.ts.map +1 -1
  136. package/dist/parallel/merge-conflict.js +3 -10
  137. package/dist/parallel/merge-conflict.js.map +1 -1
  138. package/dist/parallel/merge-sealing.d.ts +0 -3
  139. package/dist/parallel/merge-sealing.d.ts.map +1 -1
  140. package/dist/parallel/merge-sealing.js +5 -9
  141. package/dist/parallel/merge-sealing.js.map +1 -1
  142. package/dist/prompts/coder.d.ts +1 -1
  143. package/dist/prompts/coder.d.ts.map +1 -1
  144. package/dist/prompts/coder.js +66 -119
  145. package/dist/prompts/coder.js.map +1 -1
  146. package/dist/prompts/prompt-helpers.d.ts +4 -0
  147. package/dist/prompts/prompt-helpers.d.ts.map +1 -1
  148. package/dist/prompts/prompt-helpers.js +35 -0
  149. package/dist/prompts/prompt-helpers.js.map +1 -1
  150. package/dist/prompts/reviewer.d.ts.map +1 -1
  151. package/dist/prompts/reviewer.js +1 -3
  152. package/dist/prompts/reviewer.js.map +1 -1
  153. package/dist/providers/claude.d.ts.map +1 -1
  154. package/dist/providers/claude.js +9 -1
  155. package/dist/providers/claude.js.map +1 -1
  156. package/dist/providers/codex.d.ts.map +1 -1
  157. package/dist/providers/codex.js +10 -1
  158. package/dist/providers/codex.js.map +1 -1
  159. package/dist/providers/gemini.d.ts +9 -48
  160. package/dist/providers/gemini.d.ts.map +1 -1
  161. package/dist/providers/gemini.js +133 -101
  162. package/dist/providers/gemini.js.map +1 -1
  163. package/dist/providers/interface.d.ts +9 -1
  164. package/dist/providers/interface.d.ts.map +1 -1
  165. package/dist/providers/interface.js +11 -1
  166. package/dist/providers/interface.js.map +1 -1
  167. package/dist/providers/invocation-logger.d.ts +2 -0
  168. package/dist/providers/invocation-logger.d.ts.map +1 -1
  169. package/dist/providers/invocation-logger.js +3 -3
  170. package/dist/providers/invocation-logger.js.map +1 -1
  171. package/dist/providers/mistral.d.ts.map +1 -1
  172. package/dist/providers/mistral.js +12 -1
  173. package/dist/providers/mistral.js.map +1 -1
  174. package/dist/providers/ping.d.ts +5 -0
  175. package/dist/providers/ping.d.ts.map +1 -0
  176. package/dist/providers/ping.js +35 -0
  177. package/dist/providers/ping.js.map +1 -0
  178. package/dist/providers/registry.d.ts +4 -0
  179. package/dist/providers/registry.d.ts.map +1 -1
  180. package/dist/providers/registry.js +18 -0
  181. package/dist/providers/registry.js.map +1 -1
  182. package/dist/runners/activity-log.d.ts.map +1 -1
  183. package/dist/runners/activity-log.js +12 -36
  184. package/dist/runners/activity-log.js.map +1 -1
  185. package/dist/runners/credit-pause.d.ts +2 -3
  186. package/dist/runners/credit-pause.d.ts.map +1 -1
  187. package/dist/runners/credit-pause.js +25 -40
  188. package/dist/runners/credit-pause.js.map +1 -1
  189. package/dist/runners/daemon.d.ts +0 -8
  190. package/dist/runners/daemon.d.ts.map +1 -1
  191. package/dist/runners/daemon.js +23 -76
  192. package/dist/runners/daemon.js.map +1 -1
  193. package/dist/runners/global-db.d.ts +14 -1
  194. package/dist/runners/global-db.d.ts.map +1 -1
  195. package/dist/runners/global-db.js +123 -59
  196. package/dist/runners/global-db.js.map +1 -1
  197. package/dist/runners/orchestrator-loop.d.ts.map +1 -1
  198. package/dist/runners/orchestrator-loop.js +2 -6
  199. package/dist/runners/orchestrator-loop.js.map +1 -1
  200. package/dist/runners/projects.d.ts +2 -32
  201. package/dist/runners/projects.d.ts.map +1 -1
  202. package/dist/runners/projects.js +23 -103
  203. package/dist/runners/projects.js.map +1 -1
  204. package/dist/runners/wakeup-checks.d.ts +0 -3
  205. package/dist/runners/wakeup-checks.d.ts.map +1 -1
  206. package/dist/runners/wakeup-checks.js +13 -26
  207. package/dist/runners/wakeup-checks.js.map +1 -1
  208. package/dist/runners/wakeup-timing.d.ts.map +1 -1
  209. package/dist/runners/wakeup-timing.js +4 -12
  210. package/dist/runners/wakeup-timing.js.map +1 -1
  211. package/dist/runners/wakeup.d.ts +1 -1
  212. package/dist/runners/wakeup.d.ts.map +1 -1
  213. package/dist/runners/wakeup.js +394 -359
  214. package/dist/runners/wakeup.js.map +1 -1
  215. package/dist/utils/tokens.d.ts +14 -0
  216. package/dist/utils/tokens.d.ts.map +1 -0
  217. package/dist/utils/tokens.js +62 -0
  218. package/dist/utils/tokens.js.map +1 -0
  219. package/migrations/004_add_section_dependencies.sql +1 -1
  220. package/migrations/017_add_invocation_runner_id.sql +8 -0
  221. package/migrations/018_expand_audit_columns.sql +13 -0
  222. package/migrations/019_add_task_start_sha.sql +9 -0
  223. package/migrations/manifest.json +25 -1
  224. package/package.json +4 -3
  225. package/dist/orchestrator/schemas.d.ts +0 -26
  226. package/dist/orchestrator/schemas.d.ts.map +0 -1
  227. package/dist/orchestrator/schemas.js +0 -154
  228. package/dist/orchestrator/schemas.js.map +0 -1
  229. package/dist/parallel/merge.test.d.ts +0 -5
  230. package/dist/parallel/merge.test.d.ts.map +0 -1
  231. package/dist/parallel/merge.test.js +0 -322
  232. package/dist/parallel/merge.test.js.map +0 -1
@@ -20,14 +20,13 @@ export interface CreditPauseOptions {
20
20
  }
21
21
  export interface CreditPauseResult {
22
22
  resolved: boolean;
23
- resolution: 'config_changed' | 'stopped' | 'immediate_fail';
23
+ resolution: 'config_changed' | 'stopped' | 'immediate_fail' | 'hibernating';
24
24
  }
25
25
  /**
26
26
  * Handle a credit exhaustion event.
27
27
  *
28
28
  * Records the incident, fires hooks, prints CLI output,
29
- * and polls for config changes every 30 seconds.
30
- * In onceMode, prints the message and returns immediately.
29
+ * and sets the project to a hibernating state.
31
30
  */
32
31
  export declare function handleCreditExhaustion(options: CreditPauseOptions): Promise<CreditPauseResult>;
33
32
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"credit-pause.d.ts","sourceRoot":"","sources":["../../src/runners/credit-pause.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAG3C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAczE,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,cAAc,GAAG,OAAO,GAAG,UAAU,CAAC;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC;IACtB,UAAU,EAAE,MAAM,OAAO,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,gBAAgB,GAAG,SAAS,GAAG,gBAAgB,CAAC;CAC7D;AAWD;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,iBAAiB,CAAC,CAgF5B;AAsBD;;GAEG;AACH,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,EACnH,IAAI,EAAE,OAAO,GAAG,UAAU,EAC1B,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC,CA0BxC"}
1
+ {"version":3,"file":"credit-pause.d.ts","sourceRoot":"","sources":["../../src/runners/credit-pause.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAG3C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAezE,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,cAAc,GAAG,OAAO,GAAG,UAAU,CAAC;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC;IACtB,UAAU,EAAE,MAAM,OAAO,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,gBAAgB,GAAG,SAAS,GAAG,gBAAgB,GAAG,aAAa,CAAC;CAC7E;AAWD;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,iBAAiB,CAAC,CA+C5B;AAsBD;;GAEG;AACH,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,EACnH,IAAI,EAAE,OAAO,GAAG,UAAU,EAC1B,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC,CAqCxC"}
@@ -12,6 +12,7 @@ const loader_js_1 = require("../config/loader.js");
12
12
  const registry_js_1 = require("../providers/registry.js");
13
13
  const queries_js_1 = require("../database/queries.js");
14
14
  const integration_js_1 = require("../hooks/integration.js");
15
+ const global_db_js_1 = require("./global-db.js");
15
16
  const POLL_INTERVAL_MS = 30_000; // 30 seconds
16
17
  const MAX_MESSAGE_LENGTH = 200;
17
18
  /**
@@ -28,8 +29,7 @@ function sanitizeMessage(message) {
28
29
  * Handle a credit exhaustion event.
29
30
  *
30
31
  * Records the incident, fires hooks, prints CLI output,
31
- * and polls for config changes every 30 seconds.
32
- * In onceMode, prints the message and returns immediately.
32
+ * and sets the project to a hibernating state.
33
33
  */
34
34
  async function handleCreditExhaustion(options) {
35
35
  const { provider, model, role, message, runnerId, projectPath, db, shouldStop, onHeartbeat, onceMode, } = options;
@@ -40,54 +40,29 @@ async function handleCreditExhaustion(options) {
40
40
  }, runnerId);
41
41
  // Fire credit.exhausted hook
42
42
  await (0, integration_js_1.triggerHooksSafely)(() => (0, integration_js_1.triggerCreditExhausted)({ provider, model, role, message: safeMessage, runner_id: runnerId }, { projectPath }));
43
+ // Calculate backoff schedule
44
+ const currentBackoff = (0, global_db_js_1.getProviderBackoffRemainingMs)(provider);
45
+ // Attempt 1: 5 minutes. Attempt 2+: 30 minutes.
46
+ const backoffMinutes = currentBackoff > 0 ? 30 : 5;
47
+ const backoffUntilMs = Date.now() + (backoffMinutes * 60 * 1000);
43
48
  // Print CLI output
44
49
  console.log('');
45
50
  console.log('============================================================');
46
- console.log(' OUT OF CREDITS');
51
+ console.log(' PROVIDER CAPACITY / TOKEN LIMIT REACHED');
47
52
  console.log('============================================================');
48
53
  console.log('');
49
54
  console.log(` Provider: ${provider} (model: ${model})`);
50
55
  console.log(` Role: ${role}`);
51
56
  console.log(` Message: ${safeMessage}`);
52
57
  console.log('');
53
- console.log(' The runner is paused. To resume, either:');
54
- console.log(` 1. Add credits to your ${provider} account`);
55
- console.log(` 2. Change the ${role} provider:`);
56
- console.log(` steroids config set ai.${role}.provider <new-provider>`);
57
- console.log('');
58
- console.log(' Checking for config changes every 30 seconds...');
58
+ console.log(` The provider is entering global backoff.`);
59
+ console.log(` Will sleep for ${backoffMinutes} minutes before retrying.`);
60
+ console.log(' The runner will now exit to conserve resources.');
59
61
  console.log('============================================================');
60
- // onceMode: return immediately
61
- if (onceMode) {
62
- return { resolved: false, resolution: 'immediate_fail' };
63
- }
64
- const creditData = { provider, model, role, message: safeMessage, runner_id: runnerId };
65
- // Poll for config change
66
- while (true) {
67
- if (shouldStop()) {
68
- (0, queries_js_1.resolveCreditIncident)(db, incidentId, 'dismissed');
69
- return { resolved: false, resolution: 'stopped' };
70
- }
71
- // Wait, but check shouldStop more frequently than the full interval
72
- const waited = await interruptibleSleep(POLL_INTERVAL_MS, shouldStop);
73
- if (!waited) {
74
- (0, queries_js_1.resolveCreditIncident)(db, incidentId, 'dismissed');
75
- return { resolved: false, resolution: 'stopped' };
76
- }
77
- // Update heartbeat so the wakeup system doesn't kill us
78
- onHeartbeat?.();
79
- // Check if config has changed
80
- const config = (0, loader_js_1.loadConfig)(projectPath);
81
- const currentProvider = config.ai?.[role]?.provider;
82
- const currentModel = config.ai?.[role]?.model;
83
- if (currentProvider !== provider || currentModel !== model) {
84
- console.log(`\n Configuration changed (${provider}/${model} → ${currentProvider}/${currentModel}). Resuming...`);
85
- (0, queries_js_1.resolveCreditIncident)(db, incidentId, 'config_changed');
86
- // Fire credit.resolved hook
87
- await (0, integration_js_1.triggerHooksSafely)(() => (0, integration_js_1.triggerCreditResolved)(creditData, 'config_changed', { projectPath }));
88
- return { resolved: true, resolution: 'config_changed' };
89
- }
90
- }
62
+ // Put provider into backoff state
63
+ (0, global_db_js_1.recordProviderBackoff)(provider, backoffUntilMs, safeMessage, 'capacity_exhaustion');
64
+ // Return immediately so runner exits
65
+ return { resolved: false, resolution: 'hibernating' };
91
66
  }
92
67
  /**
93
68
  * Sleep that can be interrupted by shouldStop returning true.
@@ -132,6 +107,16 @@ async function checkBatchCreditExhaustion(result, role, projectPath) {
132
107
  message: classification.message,
133
108
  };
134
109
  }
110
+ if (classification?.type === 'rate_limit') {
111
+ return {
112
+ action: 'rate_limit',
113
+ provider: providerName,
114
+ model: modelName,
115
+ role,
116
+ message: classification.message,
117
+ retryAfterMs: classification.retryAfterMs,
118
+ };
119
+ }
135
120
  return null;
136
121
  }
137
122
  //# sourceMappingURL=credit-pause.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"credit-pause.js","sourceRoot":"","sources":["../../src/runners/credit-pause.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"credit-pause.js","sourceRoot":"","sources":["../../src/runners/credit-pause.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,3 @@
1
- /**
2
- * Runner daemon - background process that executes tasks
3
- */
4
1
  export type RunnerStatus = 'idle' | 'running' | 'stopping';
5
2
  export interface Runner {
6
3
  id: string;
@@ -45,11 +42,6 @@ export declare function updateRunnerStatus(runnerId: string, status: RunnerStatu
45
42
  * Update runner heartbeat timestamp
46
43
  */
47
44
  export declare function updateRunnerHeartbeat(runnerId: string): void;
48
- /**
49
- * Sync project stats to global database
50
- * Called during heartbeat to cache stats for API/WebUI
51
- */
52
- export declare function syncProjectStats(projectPath: string): void;
53
45
  /**
54
46
  * Update runner's current task
55
47
  */
@@ -1 +1 @@
1
- {"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../../src/runners/daemon.ts"],"names":[],"mappings":"AAAA;;GAEG;AAeH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,CAAC;AAE3D,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,YAAY,CAAC;IACrB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,yFAAyF;IACzF,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;CACzB;AAED,KAAK,qBAAqB,GAAG;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF;;GAEG;AACH,wBAAgB,cAAc,CAC5B,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,MAAM,GAAG,qBAAqB,GACvC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,IAAI,CAAA;CAAE,CAwBzC;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,YAAY,EACpB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,GAC5B,IAAI,CAiBN;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAS5D;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAc1D;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GAAG,IAAI,GACpB,IAAI,CASN;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAOvD;AAED;;;GAGG;AACH,wBAAgB,WAAW,IAAI,MAAM,EAAE,CAYtC;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CASzD;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0H5E;AAwFD;;GAEG;AACH,wBAAgB,cAAc,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG;IACpD,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAwBA"}
1
+ {"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../../src/runners/daemon.ts"],"names":[],"mappings":"AAkBA,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,CAAC;AAE3D,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,YAAY,CAAC;IACrB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,yFAAyF;IACzF,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;CACzB;AAED,KAAK,qBAAqB,GAAG;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF;;GAEG;AACH,wBAAgB,cAAc,CAC5B,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,MAAM,GAAG,qBAAqB,GACvC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,IAAI,CAAA;CAAE,CAwBzC;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,YAAY,EACpB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,GAC5B,IAAI,CAcN;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAM5D;AAGD;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GAAG,IAAI,GACpB,IAAI,CAMN;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAIvD;AAED;;;GAGG;AACH,wBAAgB,WAAW,IAAI,MAAM,EAAE,CAStC;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMzD;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuH5E;AAqFD;;GAEG;AACH,wBAAgB,cAAc,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG;IACpD,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAwBA"}
@@ -1,29 +1,27 @@
1
1
  "use strict";
2
- /**
3
- * Runner daemon - background process that executes tasks
4
- */
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.registerRunner = registerRunner;
7
4
  exports.updateRunnerStatus = updateRunnerStatus;
8
5
  exports.updateRunnerHeartbeat = updateRunnerHeartbeat;
9
- exports.syncProjectStats = syncProjectStats;
10
6
  exports.updateRunnerCurrentTask = updateRunnerCurrentTask;
11
7
  exports.unregisterRunner = unregisterRunner;
12
8
  exports.listRunners = listRunners;
13
9
  exports.getRunner = getRunner;
14
10
  exports.startDaemon = startDaemon;
15
11
  exports.canStartDaemon = canStartDaemon;
12
+ const global_db_js_1 = require("../runners/global-db.js");
13
+ /**
14
+ * Runner daemon - background process that executes tasks
15
+ */
16
16
  const node_path_1 = require("node:path");
17
17
  const uuid_1 = require("uuid");
18
- const global_db_js_1 = require("./global-db.js");
18
+ const global_db_js_2 = require("./global-db.js");
19
19
  const heartbeat_js_1 = require("./heartbeat.js");
20
20
  const wakeup_js_1 = require("./wakeup.js");
21
21
  const orchestrator_loop_js_1 = require("./orchestrator-loop.js");
22
22
  const projects_js_1 = require("./projects.js");
23
- const connection_js_1 = require("../database/connection.js");
24
- const queries_js_1 = require("../database/queries.js");
25
23
  const merge_js_1 = require("../parallel/merge.js");
26
- const global_db_js_2 = require("./global-db.js");
24
+ const global_db_js_3 = require("./global-db.js");
27
25
  const loader_js_1 = require("../config/loader.js");
28
26
  /**
29
27
  * Register a new runner in the database
@@ -35,7 +33,7 @@ function registerRunner(projectPath, options) {
35
33
  const parallelSessionId = typeof options === 'string'
36
34
  ? null
37
35
  : (options?.parallelSessionId ?? null);
38
- const { db, close } = (0, global_db_js_1.openGlobalDatabase)();
36
+ const { db, close } = (0, global_db_js_2.openGlobalDatabase)();
39
37
  const runnerId = (0, uuid_1.v4)();
40
38
  db.prepare(`INSERT INTO runners (id, status, pid, project_path, section_id, parallel_session_id, started_at, heartbeat_at)
41
39
  VALUES (?, 'idle', ?, ?, ?, ?, datetime('now'), datetime('now'))`).run(runnerId, process.pid, projectPath ?? null, resolvedSectionId ?? null, parallelSessionId);
@@ -45,8 +43,7 @@ function registerRunner(projectPath, options) {
45
43
  * Update runner status
46
44
  */
47
45
  function updateRunnerStatus(runnerId, status, currentTaskId) {
48
- const { db, close } = (0, global_db_js_1.openGlobalDatabase)();
49
- try {
46
+ (0, global_db_js_1.withGlobalDatabase)((db) => {
50
47
  if (currentTaskId !== undefined) {
51
48
  db.prepare(`UPDATE runners SET status = ?, current_task_id = ?, heartbeat_at = datetime('now')
52
49
  WHERE id = ?`).run(status, currentTaskId, runnerId);
@@ -55,97 +52,53 @@ function updateRunnerStatus(runnerId, status, currentTaskId) {
55
52
  db.prepare(`UPDATE runners SET status = ?, heartbeat_at = datetime('now')
56
53
  WHERE id = ?`).run(status, runnerId);
57
54
  }
58
- }
59
- finally {
60
- close();
61
- }
55
+ });
62
56
  }
63
57
  /**
64
58
  * Update runner heartbeat timestamp
65
59
  */
66
60
  function updateRunnerHeartbeat(runnerId) {
67
- const { db, close } = (0, global_db_js_1.openGlobalDatabase)();
68
- try {
61
+ (0, global_db_js_1.withGlobalDatabase)((db) => {
69
62
  db.prepare(`UPDATE runners SET heartbeat_at = datetime('now') WHERE id = ?`).run(runnerId);
70
- }
71
- finally {
72
- close();
73
- }
74
- }
75
- /**
76
- * Sync project stats to global database
77
- * Called during heartbeat to cache stats for API/WebUI
78
- */
79
- function syncProjectStats(projectPath) {
80
- try {
81
- const { db, close } = (0, connection_js_1.openDatabase)(projectPath);
82
- try {
83
- const stats = (0, queries_js_1.getTaskCountsByStatus)(db);
84
- (0, projects_js_1.updateProjectStats)(projectPath, stats);
85
- }
86
- finally {
87
- close();
88
- }
89
- }
90
- catch (error) {
91
- // Silently fail if project DB is unavailable
92
- // (e.g., during initialization or corruption)
93
- console.error(`Failed to sync stats for ${projectPath}:`, error);
94
- }
63
+ });
95
64
  }
96
65
  /**
97
66
  * Update runner's current task
98
67
  */
99
68
  function updateRunnerCurrentTask(runnerId, taskId) {
100
- const { db, close } = (0, global_db_js_1.openGlobalDatabase)();
101
- try {
69
+ (0, global_db_js_1.withGlobalDatabase)((db) => {
102
70
  db.prepare(`UPDATE runners SET current_task_id = ?, heartbeat_at = datetime('now') WHERE id = ?`).run(taskId, runnerId);
103
- }
104
- finally {
105
- close();
106
- }
71
+ });
107
72
  }
108
73
  /**
109
74
  * Remove runner from database
110
75
  */
111
76
  function unregisterRunner(runnerId) {
112
- const { db, close } = (0, global_db_js_1.openGlobalDatabase)();
113
- try {
77
+ (0, global_db_js_1.withGlobalDatabase)((db) => {
114
78
  db.prepare('DELETE FROM runners WHERE id = ?').run(runnerId);
115
- }
116
- finally {
117
- close();
118
- }
79
+ });
119
80
  }
120
81
  /**
121
82
  * Get all runners.
122
83
  * For parallel runners, resolves the original project path from parallel_sessions.
123
84
  */
124
85
  function listRunners() {
125
- const { db, close } = (0, global_db_js_1.openGlobalDatabase)();
126
- try {
86
+ return (0, global_db_js_1.withGlobalDatabase)((db) => {
127
87
  return db.prepare(`SELECT r.*,
128
88
  COALESCE(ps.project_path, r.project_path) AS original_project_path
129
89
  FROM runners r
130
90
  LEFT JOIN parallel_sessions ps ON r.parallel_session_id = ps.id`).all();
131
- }
132
- finally {
133
- close();
134
- }
91
+ });
135
92
  }
136
93
  /**
137
94
  * Get runner by ID
138
95
  */
139
96
  function getRunner(runnerId) {
140
- const { db, close } = (0, global_db_js_1.openGlobalDatabase)();
141
- try {
97
+ return (0, global_db_js_1.withGlobalDatabase)((db) => {
142
98
  return db
143
99
  .prepare('SELECT * FROM runners WHERE id = ?')
144
100
  .get(runnerId);
145
- }
146
- finally {
147
- close();
148
- }
101
+ });
149
102
  }
150
103
  /**
151
104
  * Start the runner daemon
@@ -176,7 +129,7 @@ async function startDaemon(options = {}) {
176
129
  sectionIds: options.sectionIds,
177
130
  parallelSessionId: options.parallelSessionId,
178
131
  });
179
- const { db } = (0, global_db_js_1.openGlobalDatabase)();
132
+ const { db } = (0, global_db_js_2.openGlobalDatabase)();
180
133
  // Start heartbeat
181
134
  const heartbeat = (0, heartbeat_js_1.createHeartbeatManager)(db, runnerId);
182
135
  heartbeat.start();
@@ -222,8 +175,6 @@ async function startDaemon(options = {}) {
222
175
  onIteration: (iteration) => {
223
176
  // Update heartbeat on each iteration
224
177
  updateRunnerHeartbeat(runnerId);
225
- // Sync project stats to global DB for API/WebUI access
226
- syncProjectStats(effectiveProjectPath);
227
178
  },
228
179
  onHeartbeat: () => {
229
180
  updateRunnerHeartbeat(runnerId);
@@ -258,8 +209,7 @@ async function startDaemon(options = {}) {
258
209
  * so commits reach main even if other runners crash or stall.
259
210
  */
260
211
  async function autoMergeOnCompletion(parallelSessionId, workspacePath, runnerId) {
261
- const { db, close } = (0, global_db_js_1.openGlobalDatabase)();
262
- try {
212
+ return (0, global_db_js_1.withGlobalDatabase)(async (db) => {
263
213
  // Find our workstream
264
214
  const ours = db.prepare(`SELECT id, branch_name FROM workstreams
265
215
  WHERE session_id = ? AND clone_path = ? AND status = 'running'`).get(parallelSessionId, workspacePath);
@@ -304,7 +254,7 @@ async function autoMergeOnCompletion(parallelSessionId, workspacePath, runnerId)
304
254
  WHERE session_id = ? AND status NOT IN ('completed', 'failed', 'aborted')`).get(parallelSessionId);
305
255
  if (remaining.count === 0) {
306
256
  console.log('[AUTO-MERGE] All workstreams complete — marking session as completed');
307
- (0, global_db_js_2.updateParallelSessionStatus)(parallelSessionId, 'completed', true);
257
+ (0, global_db_js_3.updateParallelSessionStatus)(parallelSessionId, 'completed', true);
308
258
  }
309
259
  else {
310
260
  console.log(`[AUTO-MERGE] ${remaining.count} workstream(s) still running — session stays active`);
@@ -313,10 +263,7 @@ async function autoMergeOnCompletion(parallelSessionId, workspacePath, runnerId)
313
263
  else {
314
264
  console.error(`[AUTO-MERGE] Failed: ${result.errors.join('; ')}`);
315
265
  }
316
- }
317
- finally {
318
- close();
319
- }
266
+ });
320
267
  }
321
268
  /**
322
269
  * Check if daemon can be started (no existing lock or project-specific runner)
@@ -1 +1 @@
1
- {"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../src/runners/daemon.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../src/runners/daemon.ts"],"names":[],"mappings":"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"}
@@ -48,6 +48,14 @@ export declare function openGlobalDatabase(): GlobalDatabaseConnection;
48
48
  * Get global schema version
49
49
  */
50
50
  export declare function getGlobalSchemaVersion(db: Database.Database): string | null;
51
+ /**
52
+ * Get the global daemon active status
53
+ */
54
+ export declare function getDaemonActiveStatus(): boolean;
55
+ /**
56
+ * Set the global daemon active status
57
+ */
58
+ export declare function setDaemonActiveStatus(isActive: boolean): void;
51
59
  export declare function updateParallelSessionStatus(sessionId: string, status: ParallelSessionStatus, markCompletedAt?: boolean): void;
52
60
  export declare function revokeWorkstreamLeasesForSession(sessionId: string): number;
53
61
  export declare function listParallelSessionRunners(sessionId: string): ParallelSessionRunner[];
@@ -66,7 +74,7 @@ export declare function resolveValidationEscalationsForSession(sessionId: string
66
74
  * Record a provider rate limit backoff in the global DB.
67
75
  * Uses MAX so existing longer backoffs are never shortened.
68
76
  */
69
- export declare function recordProviderBackoff(provider: string, backoffUntilMs: number, reason?: string): void;
77
+ export declare function recordProviderBackoff(provider: string, backoffUntilMs: number, reason?: string, reasonType?: string): void;
70
78
  /**
71
79
  * Get how many ms until the provider's global backoff expires (0 if not backed off).
72
80
  */
@@ -75,4 +83,9 @@ export declare function getProviderBackoffRemainingMs(provider: string): number;
75
83
  * Clear a provider's backoff record (called after a successful invocation).
76
84
  */
77
85
  export declare function clearProviderBackoff(provider: string): void;
86
+ /**
87
+ * Execute a callback with a managed global database connection.
88
+ * Automatically handles closing the connection when done or if an error occurs.
89
+ */
90
+ export declare function withGlobalDatabase<T>(callback: (db: Database.Database) => T): T;
78
91
  //# sourceMappingURL=global-db.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"global-db.d.ts","sourceRoot":"","sources":["../../src/runners/global-db.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAStC,MAAM,WAAW,wBAAwB;IACvC,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC;IACtB,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED,MAAM,MAAM,qBAAqB,GAC7B,SAAS,GACT,SAAS,GACT,iBAAiB,GACjB,kBAAkB,GAClB,kBAAkB,GAClB,kBAAkB,GAClB,oBAAoB,GACpB,WAAW,GACX,QAAQ,GACR,SAAS,CAAC;AAEd,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACpB;AAED,MAAM,WAAW,0BAA0B;IACzC,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAmbD;;;;GAIG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAG7C;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,OAAO,CAE/C;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,wBAAwB,CAwM7D;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,MAAM,GAAG,IAAI,CAS3E;AAED,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,qBAAqB,EAC7B,eAAe,UAAQ,GACtB,IAAI,CAeN;AAED,wBAAgB,gCAAgC,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAa1E;AAED,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,MAAM,GAAG,qBAAqB,EAAE,CASrF;AAED,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAOlE;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE;IAChD,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B,GAAG,0BAA0B,CAqC7B;AAED,wBAAgB,sCAAsC,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAehF;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAerG;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAWtE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAO3D"}
1
+ {"version":3,"file":"global-db.d.ts","sourceRoot":"","sources":["../../src/runners/global-db.ts"],"names":[],"mappings":"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"}