@telora/daemon 0.22.226 → 0.22.233

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 (164) hide show
  1. package/build-info.json +4 -3
  2. package/dist/completion/codex-activity.d.ts +40 -0
  3. package/dist/completion/codex-activity.d.ts.map +1 -0
  4. package/dist/completion/codex-activity.js +69 -0
  5. package/dist/completion/codex-activity.js.map +1 -0
  6. package/dist/completion/completion-phase-registry.d.ts +2 -1
  7. package/dist/completion/completion-phase-registry.d.ts.map +1 -1
  8. package/dist/completion/completion-phase-registry.js +15 -3
  9. package/dist/completion/completion-phase-registry.js.map +1 -1
  10. package/dist/completion/exit-classification.d.ts.map +1 -1
  11. package/dist/completion/exit-classification.js +3 -1
  12. package/dist/completion/exit-classification.js.map +1 -1
  13. package/dist/completion/index.js +1 -1
  14. package/dist/completion/review-defect-detector.d.ts +58 -18
  15. package/dist/completion/review-defect-detector.d.ts.map +1 -1
  16. package/dist/completion/review-defect-detector.js +62 -27
  17. package/dist/completion/review-defect-detector.js.map +1 -1
  18. package/dist/completion/review-exit-attribution.d.ts +6 -3
  19. package/dist/completion/review-exit-attribution.d.ts.map +1 -1
  20. package/dist/completion/review-exit-attribution.js +9 -7
  21. package/dist/completion/review-exit-attribution.js.map +1 -1
  22. package/dist/completion/review-exit-deps.d.ts +2 -0
  23. package/dist/completion/review-exit-deps.d.ts.map +1 -1
  24. package/dist/completion/review-exit-deps.js +3 -0
  25. package/dist/completion/review-exit-deps.js.map +1 -1
  26. package/dist/completion/review-exit-evidence.d.ts +8 -0
  27. package/dist/completion/review-exit-evidence.d.ts.map +1 -1
  28. package/dist/completion/review-exit-evidence.js +39 -27
  29. package/dist/completion/review-exit-evidence.js.map +1 -1
  30. package/dist/completion/review-exit-foreign-findings.d.ts +5 -1
  31. package/dist/completion/review-exit-foreign-findings.d.ts.map +1 -1
  32. package/dist/completion/review-exit-foreign-findings.js +4 -4
  33. package/dist/completion/review-exit-foreign-findings.js.map +1 -1
  34. package/dist/completion/review-exit-phase.js +5 -5
  35. package/dist/completion/review-exit-phase.js.map +1 -1
  36. package/dist/completion/team-phase.d.ts.map +1 -1
  37. package/dist/completion/team-phase.js +3 -2
  38. package/dist/completion/team-phase.js.map +1 -1
  39. package/dist/completion/team-progress-measure.d.ts +22 -1
  40. package/dist/completion/team-progress-measure.d.ts.map +1 -1
  41. package/dist/completion/team-progress-measure.js +53 -6
  42. package/dist/completion/team-progress-measure.js.map +1 -1
  43. package/dist/delivery/delivery-reconciler.d.ts +3 -3
  44. package/dist/directive/agentless-directive.d.ts +28 -0
  45. package/dist/directive/agentless-directive.d.ts.map +1 -0
  46. package/dist/directive/agentless-directive.js +12 -0
  47. package/dist/directive/agentless-directive.js.map +1 -0
  48. package/dist/directive/directive-dispatch.d.ts +1 -20
  49. package/dist/directive/directive-dispatch.d.ts.map +1 -1
  50. package/dist/directive/directive-dispatch.js +4 -22
  51. package/dist/directive/directive-dispatch.js.map +1 -1
  52. package/dist/directive/directive-queue.d.ts.map +1 -1
  53. package/dist/directive/directive-queue.js +1 -20
  54. package/dist/directive/directive-queue.js.map +1 -1
  55. package/dist/drift/artifact-ref-shape.d.ts +23 -0
  56. package/dist/drift/artifact-ref-shape.d.ts.map +1 -1
  57. package/dist/drift/artifact-ref-shape.js +49 -0
  58. package/dist/drift/artifact-ref-shape.js.map +1 -1
  59. package/dist/focus/focus-lifecycle.d.ts.map +1 -1
  60. package/dist/focus/focus-lifecycle.js +3 -2
  61. package/dist/focus/focus-lifecycle.js.map +1 -1
  62. package/dist/focus/focus-team-state.js +1 -1
  63. package/dist/focus/listener-spawn.js +8 -8
  64. package/dist/focus/listener-spawn.js.map +1 -1
  65. package/dist/prompt-sections/persona-sections.d.ts +29 -0
  66. package/dist/prompt-sections/persona-sections.d.ts.map +1 -1
  67. package/dist/prompt-sections/persona-sections.js +82 -21
  68. package/dist/prompt-sections/persona-sections.js.map +1 -1
  69. package/dist/prompt-sections/testing-standard.d.ts +4 -1
  70. package/dist/prompt-sections/testing-standard.d.ts.map +1 -1
  71. package/dist/prompt-sections/testing-standard.js +14 -4
  72. package/dist/prompt-sections/testing-standard.js.map +1 -1
  73. package/dist/queries/escalations.js +1 -1
  74. package/dist/queries/focuses.d.ts.map +1 -1
  75. package/dist/queries/focuses.js +1 -0
  76. package/dist/queries/focuses.js.map +1 -1
  77. package/dist/queries/review-finding-facts.d.ts +38 -0
  78. package/dist/queries/review-finding-facts.d.ts.map +1 -0
  79. package/dist/queries/review-finding-facts.js +43 -0
  80. package/dist/queries/review-finding-facts.js.map +1 -0
  81. package/dist/queries/shortfall-rulings.d.ts +13 -0
  82. package/dist/queries/shortfall-rulings.d.ts.map +1 -1
  83. package/dist/queries/shortfall-rulings.js +14 -0
  84. package/dist/queries/shortfall-rulings.js.map +1 -1
  85. package/dist/spawn/codex-limit.d.ts +42 -0
  86. package/dist/spawn/codex-limit.d.ts.map +1 -0
  87. package/dist/spawn/codex-limit.js +146 -0
  88. package/dist/spawn/codex-limit.js.map +1 -0
  89. package/dist/spawn/directive-route.d.ts +41 -0
  90. package/dist/spawn/directive-route.d.ts.map +1 -0
  91. package/dist/spawn/directive-route.js +54 -0
  92. package/dist/spawn/directive-route.js.map +1 -0
  93. package/dist/spawn/guards.d.ts.map +1 -1
  94. package/dist/spawn/guards.js +4 -2
  95. package/dist/spawn/guards.js.map +1 -1
  96. package/dist/spawn/helpers.d.ts.map +1 -1
  97. package/dist/spawn/helpers.js +29 -1
  98. package/dist/spawn/helpers.js.map +1 -1
  99. package/dist/spawn/index.d.ts +1 -0
  100. package/dist/spawn/index.d.ts.map +1 -1
  101. package/dist/spawn/index.js +1 -0
  102. package/dist/spawn/index.js.map +1 -1
  103. package/dist/spawn/next-spawn-cooldown.d.ts +43 -0
  104. package/dist/spawn/next-spawn-cooldown.d.ts.map +1 -0
  105. package/dist/spawn/next-spawn-cooldown.js +123 -0
  106. package/dist/spawn/next-spawn-cooldown.js.map +1 -0
  107. package/dist/spawn/one-shot-model.d.ts +4 -3
  108. package/dist/spawn/one-shot-model.d.ts.map +1 -1
  109. package/dist/spawn/one-shot-model.js +8 -6
  110. package/dist/spawn/one-shot-model.js.map +1 -1
  111. package/dist/spawn/provider-window.d.ts +39 -0
  112. package/dist/spawn/provider-window.d.ts.map +1 -0
  113. package/dist/spawn/provider-window.js +99 -0
  114. package/dist/spawn/provider-window.js.map +1 -0
  115. package/dist/spawn/routing-decider-spawn.d.ts.map +1 -1
  116. package/dist/spawn/routing-decider-spawn.js +4 -3
  117. package/dist/spawn/routing-decider-spawn.js.map +1 -1
  118. package/dist/spawn/routing-decider.js +2 -2
  119. package/dist/spawn/routing-decider.js.map +1 -1
  120. package/dist/spawn/spawn-cooldown.d.ts +43 -12
  121. package/dist/spawn/spawn-cooldown.d.ts.map +1 -1
  122. package/dist/spawn/spawn-cooldown.js +51 -58
  123. package/dist/spawn/spawn-cooldown.js.map +1 -1
  124. package/dist/spawn/spawn-decision.d.ts +11 -2
  125. package/dist/spawn/spawn-decision.d.ts.map +1 -1
  126. package/dist/spawn/spawn-decision.js +28 -60
  127. package/dist/spawn/spawn-decision.js.map +1 -1
  128. package/dist/spawn/worktree-session.d.ts +16 -0
  129. package/dist/spawn/worktree-session.d.ts.map +1 -1
  130. package/dist/spawn/worktree-session.js +45 -12
  131. package/dist/spawn/worktree-session.js.map +1 -1
  132. package/dist/testing/fixtures/codex-stream-session.d.ts +10 -0
  133. package/dist/testing/fixtures/codex-stream-session.d.ts.map +1 -0
  134. package/dist/testing/fixtures/codex-stream-session.js +47 -0
  135. package/dist/testing/fixtures/codex-stream-session.js.map +1 -0
  136. package/dist/testing/fixtures/index.js +1 -1
  137. package/dist/types/focus.d.ts +20 -0
  138. package/dist/types/focus.d.ts.map +1 -1
  139. package/dist/types/index.js +1 -1
  140. package/dist/verify/ai-inspection-runner.js +5 -5
  141. package/dist/verify/ai-inspection-runner.js.map +1 -1
  142. package/dist/verify/parked-shortfall-reuse.d.ts.map +1 -1
  143. package/dist/verify/parked-shortfall-reuse.js +3 -0
  144. package/dist/verify/parked-shortfall-reuse.js.map +1 -1
  145. package/dist/verify/ruling-evidence-resolution.d.ts +36 -0
  146. package/dist/verify/ruling-evidence-resolution.d.ts.map +1 -0
  147. package/dist/verify/ruling-evidence-resolution.js +133 -0
  148. package/dist/verify/ruling-evidence-resolution.js.map +1 -0
  149. package/dist/verify/shortfall-rulings.d.ts +30 -2
  150. package/dist/verify/shortfall-rulings.d.ts.map +1 -1
  151. package/dist/verify/shortfall-rulings.js +35 -3
  152. package/dist/verify/shortfall-rulings.js.map +1 -1
  153. package/dist/verify/verification-deps-default.d.ts.map +1 -1
  154. package/dist/verify/verification-deps-default.js +3 -0
  155. package/dist/verify/verification-deps-default.js.map +1 -1
  156. package/dist/verify/verification-deps.d.ts +9 -0
  157. package/dist/verify/verification-deps.d.ts.map +1 -1
  158. package/dist/verify/verification-engine.d.ts.map +1 -1
  159. package/dist/verify/verification-engine.js +4 -4
  160. package/dist/verify/verification-engine.js.map +1 -1
  161. package/dist/verify/verify-restatement.d.ts.map +1 -1
  162. package/dist/verify/verify-restatement.js +1 -19
  163. package/dist/verify/verify-restatement.js.map +1 -1
  164. package/package.json +2 -2
@@ -22,8 +22,11 @@ import { handleTeamCompletion } from '../completion/index.js';
22
22
  import { isSigtermExit, classifyTeamExit } from '../completion/exit-classification.js';
23
23
  import { formatTeamExitLine } from '../completion/shutdown-attribution.js';
24
24
  import { parseRateLimitInfo } from './rate-limit.js';
25
+ import { noteCodexTeamLimit } from './codex-limit.js';
26
+ import { codexToolActivityEvent, noteCodexDelegation } from '../completion/codex-activity.js';
25
27
  import { reengageOnIdleResult } from './lead-continuation.js';
26
28
  import { recordRespawnCooldown } from './spawn-cooldown.js';
29
+ import { CLAUDE_PROVIDER } from './provider-window.js';
27
30
  import { stampSessionStarted } from '../session/session-stamp.js';
28
31
  import { acknowledgePendingSpawnDirective } from '../directive/directive-queue.js';
29
32
  import { shouldFailClosedForUndeliveredTools, mcpToolsUndeliveredSessionUpdate, } from '../backends/codex/codex-mcp-proxy.js';
@@ -127,6 +130,13 @@ function handleTeamAgentEvent(event, ctx) {
127
130
  // segment so pass grouping is exact (INJ-A/INJ-B).
128
131
  stampSessionStarted({ teamState, focusId, focusName, engineId, eventSessionId: event.sessionId });
129
132
  break;
133
+ case 'tool_activity':
134
+ // Inspection evidence for the review-exit gate (reviewInspected): every
135
+ // tool the pass invokes -- a Claude tool call, a Codex MCP call, shell
136
+ // command, file change or search (completion/codex-activity.ts). An idle
137
+ // resume that only emits prose leaves it at 0: a blind gate.
138
+ teamState.toolActivityCount = (teamState.toolActivityCount ?? 0) + 1;
139
+ break;
130
140
  case 'subagent_activity':
131
141
  if (event.phase === 'spawned') {
132
142
  log.info(` [focus-team] Worker spawned: ${event.agentName}`);
@@ -164,6 +174,20 @@ function handleTeamAgentEvent(event, ctx) {
164
174
  break;
165
175
  }
166
176
  }
177
+ /**
178
+ * Read one raw line of a Codex team's stream for what the daemon-core parser
179
+ * does not surface: a usage or rate limit (spawn/codex-limit.ts), a silent
180
+ * delegation opening or closing, and a completed shell / file-change / search
181
+ * item, which is handled as the tool_activity event a Claude tool call is
182
+ * (completion/codex-activity.ts).
183
+ */
184
+ function handleCodexRawLine(raw, ctx) {
185
+ noteCodexTeamLimit(ctx.teamState, raw, ctx.focusName);
186
+ noteCodexDelegation(ctx.focusId, raw);
187
+ const toolEvent = codexToolActivityEvent(raw);
188
+ if (toolEvent)
189
+ handleTeamAgentEvent(toolEvent, ctx);
190
+ }
167
191
  /**
168
192
  * Attach stream parser, completion detector, activity tracker, and event
169
193
  * handlers to the spawned team lead process.
@@ -203,6 +227,10 @@ export function attachStreamHandlers(params) {
203
227
  // Capture it on the team so the spawn cooldown can schedule a reset-aware
204
228
  // resume at teardown/close instead of a blind cooldown (spawn/rate-limit.ts,
205
229
  // spawn/spawn-cooldown.ts).
230
+ // Codex facts the neutral stream does not carry (limits, shell/file/search
231
+ // work, silent delegations). Claude's typed rate-limit event is read below.
232
+ if (backend.id === 'codex')
233
+ handleCodexRawLine(raw, { teamState, focusId, focusName, engineId: backend.id });
206
234
  const rl = parseRateLimitInfo(raw);
207
235
  if (rl && rl.status === 'rejected' && rl.resetsAtMs != null) {
208
236
  teamState.rateLimitResetAtMs = rl.resetsAtMs;
@@ -354,7 +382,7 @@ export async function handleTeamProcessClose(ctx, deps = {}) {
354
382
  code, signal, teamPhase: teamState.phase, shutdownReason: teamState.shutdownReason,
355
383
  });
356
384
  recordRespawnCooldown({
357
- focusId,
385
+ focusId, provider: teamState.provider ?? CLAUDE_PROVIDER,
358
386
  disposition: exitClass.disposition,
359
387
  rateLimitResetAtMs: teamState.rateLimitResetAtMs,
360
388
  });
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/spawn/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/spawn/helpers.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,0EAA0E;AAC1E,8EAA8E;AAC9E,+DAA+D;AAC/D,+DAA+D;AAC/D,wEAAwE;AACxE,6DAA6D;AAC7D,oEAAoE;AACpE,qEAAqE;AACrE,0DAA0D;AAC1D,gBAAgB;AAUhB,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAKjC,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEvD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAChH,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAChH,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EACL,cAAc,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,kBAAkB,EACvE,wBAAwB,EAAE,6BAA6B,GACxD,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AACvF,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAC9F,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,gCAAgC,EAAE,MAAM,iCAAiC,CAAC;AAEnF,OAAO,EACL,mCAAmC,EACnC,gCAAgC,GACjC,MAAM,sCAAsC,CAAC;AAG9C,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,MAAM,GAAG,GAAG,YAAY,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC;AA+DvD;;;;;;GAMG;AACH,KAAK,UAAU,yBAAyB,CACtC,SAAyB,EACzB,WAAwC,EACxC,OAAe,EACf,UAA6C;IAE7C,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACrD,SAAS,CAAC,KAAK,GAAG,YAAY,CAAC;IAC/B,6BAA6B,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IACzE,IAAI,CAAC,OAAO,CAAC,IAAI;QAAE,GAAG,CAAC,KAAK,CAAC,aAAa,SAAS,CAAC,SAAS,qBAAqB,OAAO,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;AACnH,CAAC;AAED,2EAA2E;AAE3E;;;;GAIG;AACH,MAAM,UAAU,iCAAiC,CAC/C,SAAyB,EACzB,OAAe,EACf,cAAuD,gCAAgC;IAEvF,MAAM,WAAW,GAAG,SAAS,CAAC,qBAAqB,CAAC;IACpD,IAAI,CAAC,WAAW,IAAI,CAAC,SAAS,CAAC,wBAAwB,IAAI,CAAC,SAAS,CAAC,yBAAyB,EAAE,CAAC;QAChG,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,YAAY,GAAG,WAAW,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IACvD,IAAI,YAAY;QAAE,SAAS,CAAC,yBAAyB,GAAG,WAAW,CAAC;IACpE,4EAA4E;IAC5E,8EAA8E;IAC9E,SAAS,CAAC,qBAAqB,GAAG,IAAI,CAAC;IACvC,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,4BAA4B,CAC1C,SAAyB,EACzB,OAAe,EACf,WAAqD;IAErD,SAAS,CAAC,wBAAwB,GAAG,IAAI,CAAC;IAC1C,OAAO,iCAAiC,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;AAC5E,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,6BAA6B,CAC3C,SAAyB,EACzB,OAAe,EACf,WAAqD;IAErD,SAAS,CAAC,yBAAyB,GAAG,IAAI,CAAC;IAC3C,OAAO,iCAAiC,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;AAC5E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAc,EAAE,UAAkB,EAAE,SAAiB;IACvF,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACjE,MAAM,SAAS,GAAG,SAAS,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,SAAS,EAAE,CAAC;IACzE,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,SAAS,aAAa,CAAC,CAAC;IAC3D,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,SAAS,aAAa,CAAC,CAAC;IAC3D,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,SAAS,eAAe,CAAC,CAAC;IAE5D,MAAM,eAAe,GAAG,iBAAiB,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACvE,MAAM,YAAY,GAAG,iBAAiB,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACpE,MAAM,WAAW,GAAG,iBAAiB,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAElE,qFAAqF;IACrF,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;QAClC,GAAG,CAAC,IAAI,CAAC,gCAAgC,SAAS,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;IACH,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;QAC/B,GAAG,CAAC,IAAI,CAAC,gCAAgC,SAAS,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;IACH,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;QAC9B,GAAG,CAAC,IAAI,CAAC,+BAA+B,SAAS,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC;AAC3F,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,oBAAoB,CAC3B,KAAiB,EACjB,GAAwF;IAExF,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAC;IACxD,yEAAyE;IACzE,gEAAgE;IAChE,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC5B,oFAAoF;IACpF,kBAAkB,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IAC9C,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,iBAAiB;YACpB,GAAG,CAAC,IAAI,CAAC,8CAA8C,KAAK,CAAC,KAAK,IAAI,SAAS,GAAG,CAAC,CAAC;YACpF,oEAAoE;YACpE,0EAA0E;YAC1E,uEAAuE;YACvE,sDAAsD;YACtD,iBAAiB,CAAC,SAAS,CAAC,CAAC;YAC7B,6BAA6B,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAClD,qEAAqE;YACrE,sEAAsE;YACtE,mDAAmD;YACnD,mBAAmB,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;YAClG,MAAM;QACR,KAAK,eAAe;YAClB,wEAAwE;YACxE,uEAAuE;YACvE,yEAAyE;YACzE,6DAA6D;YAC7D,SAAS,CAAC,iBAAiB,GAAG,CAAC,SAAS,CAAC,iBAAiB,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YACrE,MAAM;QACR,KAAK,mBAAmB;YACtB,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC9B,GAAG,CAAC,IAAI,CAAC,kCAAkC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;YAChE,CAAC;iBAAM,IAAI,KAAK,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;gBACvC,GAAG,CAAC,IAAI,CAAC,yBAAyB,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,KAAK,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;YAClG,CAAC;YACD,MAAM;QACR,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;YACnD,GAAG,CAAC,IAAI,CAAC,0BAA0B,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,KAAK,KAAK,CAAC,QAAQ,YAAY,IAAI,EAAE,CAAC,CAAC;YAC7G,sEAAsE;YACtE,wEAAwE;YACxE,wEAAwE;YACxE,qEAAqE;YACrE,yEAAyE;YACzE,4EAA4E;YAC5E,6EAA6E;YAC7E,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBAClB,SAAS,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvC,CAAC;YACD,2EAA2E;YAC3E,0EAA0E;YAC1E,2EAA2E;YAC3E,2EAA2E;YAC3E,wEAAwE;YACxE,4EAA4E;YAC5E,iBAAiB;YACjB,KAAK,oBAAoB,CAAC;gBACxB,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO;aACxD,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CACf,GAAG,CAAC,KAAK,CAAC,gDAAgD,EAAG,GAAa,CAAC,OAAO,CAAC,CACpF,CAAC;YACF,MAAM;QACR,CAAC;QACD;YACE,MAAM;IACV,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAS,kBAAkB,CACzB,GAAY,EACZ,GAAwF;IAExF,kBAAkB,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;IACtD,mBAAmB,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACtC,MAAM,SAAS,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC;IAC9C,IAAI,SAAS;QAAE,oBAAoB,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;AACtD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAkC;IACrE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IAEjF,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IACtC,2EAA2E;IAC3E,8EAA8E;IAC9E,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC,oHAAoH;IACrJ,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,mEAAmE;IAC9F,MAAM,kBAAkB,GAAG,IAAI,kBAAkB,CAAC;QAChD,eAAe,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,iBAAiB,CAAC,OAAO,EAAE,SAAS,CAAC;QACrE,4EAA4E;QAC5E,+EAA+E;QAC/E,qBAAqB,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC;QACpD,QAAQ,EAAE,SAAS;KACpB,CAAC,CAAC;IAEH,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAO,CAAC,CAAC;IAC5B,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAClC,SAAS,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;IAElD,sDAAsD;IACtD,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAChE,eAAe,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IACnE,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAE/B,+EAA+E;IAC/E,0BAA0B;IAC1B,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;QAChC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;QACnD,sEAAsE;QACtE,gBAAgB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAC/B,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;QAC7C,CAAC;QACD,2EAA2E;QAC3E,yEAAyE;QACzE,0EAA0E;QAC1E,6EAA6E;QAC7E,4BAA4B;QAC5B,2EAA2E;QAC3E,4EAA4E;QAC5E,IAAI,OAAO,CAAC,EAAE,KAAK,OAAO;YAAE,kBAAkB,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7G,MAAM,EAAE,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,EAAE,IAAI,EAAE,CAAC,MAAM,KAAK,UAAU,IAAI,EAAE,CAAC,UAAU,IAAI,IAAI,EAAE,CAAC;YAC5D,SAAS,CAAC,kBAAkB,GAAG,EAAE,CAAC,UAAU,CAAC;YAC7C,GAAG,CAAC,IAAI,CACN,2CAA2C,SAAS,GAAG;gBACvD,GAAG,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM;gBACzD,uBAAuB,IAAI,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,EAAE,CAC/D,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,wEAAwE;IACxE,MAAM,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,KAAiB,EAAE,EAAE,CAC7C,oBAAoB,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CACrF,CAAC;IAEF,sBAAsB;IACtB,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAErC,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,CAAC;AACjD,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,SAAS,mBAAmB,CAAC,IAK5B;IACC,MAAM,2BAA2B,GAAG,MAAM,CAAC;IAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;IAC9C,OAAO,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;WACxB,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;WACtC,IAAI,CAAC,IAAI,KAAK,CAAC;WACf,IAAI,CAAC,IAAI,KAAK,IAAI;WAClB,SAAS,GAAG,2BAA2B,CAAC;AAC/C,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,GAAiC,EAAE,OAAmC,EAAE;IACnH,MAAM,EACJ,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EACrD,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,kBAAkB,EAAE,eAAe,EACtE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,GAC7D,GAAG,GAAG,CAAC;IACR,MAAM,gBAAgB,GAAG,IAAI,CAAC,cAAc,IAAI,cAAc,CAAC;IAC/D,MAAM,kBAAkB,GAAG,IAAI,CAAC,gBAAgB,IAAI,gBAAgB,CAAC;IACrE,MAAM,eAAe,GAAG,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC;IAC5D,MAAM,gBAAgB,GAAG,IAAI,CAAC,cAAc,IAAI,cAAc,CAAC;IAC/D,MAAM,sBAAsB,GAAG,IAAI,CAAC,oBAAoB,IAAI,oBAAoB,CAAC;IACjF,MAAM,YAAY,GAAG,IAAI,CAAC,0BAA0B,IAAI,0BAA0B,CAAC;IACnF,MAAM,WAAW,GAAG,gBAAgB,EAAE,CAAC;IAEvC,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;IAEtG,IAAI,mBAAmB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;QAC/D,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QACzC,GAAG,CAAC,IAAI,CAAC,sBAAsB,SAAS,gBAAgB,SAAS,8BAA8B,CAAC,CAAC;QAEjG,mDAAmD;QACnD,IAAI,wBAAwB,CAAC,OAAO,EAAE,SAAS,EAAE,WAAW,CAAC;YAAE,kBAAkB,CAAC,OAAO,EAAE,QAAQ,IAAI,IAAI,CAAC,CAAC;QAC7G,kBAAkB,CAAC,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;QAEvB,kCAAkC;QAClC,IAAI,CAAC;YACH,MAAM,eAAe,CAAC,SAAS,EAAE;gBAC/B,MAAM,EAAE,QAAQ;gBAChB,WAAW,EAAE,uBAAuB,IAAI,4BAA4B;gBACpE,aAAa,EAAE,UAAU;gBACzB,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACnC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,SAAS,EAAE,CAAC;YACnB,GAAG,CAAC,IAAI,CAAC,gDAAgD,EAAG,SAAmB,CAAC,OAAO,CAAC,CAAC;QAC3F,CAAC;QACD,MAAM,yBAAyB,CAAC,SAAS,EAAE,WAAW,EAAE,sBAAsB,EAAE,YAAY,CAAC,CAAC;QAE9F,wEAAwE;QACxE,yDAAyD;QACzD,MAAM,OAAO,CAAC,EAAE,GAAG,WAAW,EAAE,mBAAmB,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC;QACrF,OAAO;IACT,CAAC;IAED,+EAA+E;IAC/E,sEAAsE;IACtE,IAAI,wBAAwB,CAAC,OAAO,EAAE,SAAS,EAAE,WAAW,CAAC;QAAE,kBAAkB,CAAC,OAAO,EAAE,QAAQ,IAAI,IAAI,CAAC,CAAC;IAE7G,+DAA+D;IAC/D,2EAA2E;IAC3E,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC;IAE3B,sCAAsC;IACtC,IAAI,CAAC;QAAC,MAAM,eAAe,CAAC,UAAU,EAAE,CAAC;IAAC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QAAC,GAAG,CAAC,IAAI,CAAC,oCAAoC,EAAG,GAAa,CAAC,OAAO,CAAC,CAAC;IAAC,CAAC;IAEnI,mBAAmB;IACnB,kBAAkB,CAAC,OAAO,EAAE,CAAC;IAC7B,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC;IAC3B,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;IACxB,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;IACvB,gBAAgB,EAAE,CAAC;IAEnB,4EAA4E;IAC5E,yEAAyE;IACzE,uEAAuE;IACvE,+EAA+E;IAC/E,gFAAgF;IAChF,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,IAAI,IAAI,CAAC;IAC5C,IAAI,QAAQ,EAAE,CAAC;QACb,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC;QAC1B,MAAM,OAAO,GAAG,mCAAmC,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC,CAAC;QAClF,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,wBAAwB,EAAE,EAAE,KAAK,EAAE,MAAM,CAAE,GAAa,EAAE,OAAO,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnI,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,GAAG,CAAC,KAAK,CACP,0CAA0C,SAAS,oCAAoC;gBACvF,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,wDAAwD,CACvF,CAAC;YACF,IAAI,CAAC;gBACH,MAAM,eAAe,CAAC,SAAS,EAAE;oBAC/B,GAAG,gCAAgC,CAAC,OAAO,CAAC,OAAO,CAAC;oBACpD,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBACnC,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,SAAS,EAAE,CAAC;gBACnB,GAAG,CAAC,IAAI,CAAC,gDAAgD,EAAG,SAAmB,CAAC,OAAO,CAAC,CAAC;YAC3F,CAAC;YACD,MAAM,yBAAyB,CAAC,SAAS,EAAE,WAAW,EAAE,+BAA+B,EAAE,YAAY,CAAC,CAAC;YACvG,OAAO;QACT,CAAC;IACH,CAAC;IAED,+DAA+D;IAC/D,wEAAwE;IACxE,wEAAwE;IACxE,2EAA2E;IAC3E,4EAA4E;IAC5E,+EAA+E;IAC/E,6EAA6E;IAC7E,2EAA2E;IAC3E,4EAA4E;IAC5E,MAAM,SAAS,GAAG,gBAAgB,CAAC;QACjC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,KAAK,EAAE,cAAc,EAAE,SAAS,CAAC,cAAc;KACnF,CAAC,CAAC;IACH,qBAAqB,CAAC;QACpB,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,QAAQ,IAAI,eAAe;QACxD,WAAW,EAAE,SAAS,CAAC,WAAW;QAClC,kBAAkB,EAAE,SAAS,CAAC,kBAAkB;KACjD,CAAC,CAAC;IAEH,MAAM,sBAAsB,CAAC;QAC3B,MAAM,EAAE,GAAG;QACX,SAAS;QACT,SAAS;QACT,IAAI;QACJ,MAAM;KACP,CAAC,CAAC;AACL,CAAC"}
@@ -26,4 +26,5 @@ export { setupTeamLogStreams, attachStreamHandlers, handleTeamProcessClose, } fr
26
26
  export type { TeamLogStreams, AttachStreamHandlersParams, AttachStreamHandlersResult, HandleTeamProcessCloseParams, } from './helpers.js';
27
27
  export { shouldSkipPendingSpawn, recordPendingSpawnAttempt, } from './guards.js';
28
28
  export type { PendingSpawnGuardDeps } from './guards.js';
29
+ export { isNextSpawnInCooldown, type NextSpawnRoute } from './next-spawn-cooldown.js';
29
30
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/spawn/index.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;GAgBG;AAKH,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,eAAe,EACf,mBAAmB,EACnB,cAAc,GACf,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAOtE,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,YAAY,EACV,cAAc,EACd,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,gBAAgB,CAAC;AAMxB,OAAO,EACL,WAAW,EACX,uBAAuB,EACvB,cAAc,EACd,cAAc,GACf,MAAM,4BAA4B,CAAC;AACpC,YAAY,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACvE,YAAY,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGpD,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,cAAc,EACd,0BAA0B,EAC1B,0BAA0B,EAC1B,4BAA4B,GAC7B,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/spawn/index.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;GAgBG;AAKH,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,eAAe,EACf,mBAAmB,EACnB,cAAc,GACf,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAOtE,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,YAAY,EACV,cAAc,EACd,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,gBAAgB,CAAC;AAMxB,OAAO,EACL,WAAW,EACX,uBAAuB,EACvB,cAAc,EACd,cAAc,GACf,MAAM,4BAA4B,CAAC;AACpC,YAAY,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACvE,YAAY,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGpD,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,cAAc,EACd,0BAA0B,EAC1B,0BAA0B,EAC1B,4BAA4B,GAC7B,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC"}
@@ -38,4 +38,5 @@ export { getGovernor, generateFocusBranchName, buildAgentArgs, spawnFocusTeam, }
38
38
  export { setupTeamLogStreams, attachStreamHandlers, handleTeamProcessClose, } from './helpers.js';
39
39
  // ── Pending-spawn guard (legacy ./pending-spawn-guard.js surface) ────────────
40
40
  export { shouldSkipPendingSpawn, recordPendingSpawnAttempt, } from './guards.js';
41
+ export { isNextSpawnInCooldown } from './next-spawn-cooldown.js';
41
42
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/spawn/index.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,+DAA+D;AAC/D,yDAAyD;AACzD,gBAAgB;AAEhB;;;;;;;;;;;;;;;;GAgBG;AAEH,gFAAgF;AAChF,gFAAgF;AAChF,8EAA8E;AAC9E,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,eAAe,EACf,mBAAmB,EACnB,cAAc,GACf,MAAM,YAAY,CAAC;AAGpB,gFAAgF;AAChF,+EAA+E;AAC/E,gFAAgF;AAChF,6EAA6E;AAC7E,yCAAyC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAOjD,gFAAgF;AAChF,gFAAgF;AAChF,+EAA+E;AAC/E,iCAAiC;AACjC,OAAO,EACL,WAAW,EACX,uBAAuB,EACvB,cAAc,EACd,cAAc,GACf,MAAM,4BAA4B,CAAC;AAIpC,gFAAgF;AAChF,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,cAAc,CAAC;AAQtB,gFAAgF;AAChF,OAAO,EACL,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/spawn/index.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,+DAA+D;AAC/D,yDAAyD;AACzD,gBAAgB;AAEhB;;;;;;;;;;;;;;;;GAgBG;AAEH,gFAAgF;AAChF,gFAAgF;AAChF,8EAA8E;AAC9E,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,eAAe,EACf,mBAAmB,EACnB,cAAc,GACf,MAAM,YAAY,CAAC;AAGpB,gFAAgF;AAChF,+EAA+E;AAC/E,gFAAgF;AAChF,6EAA6E;AAC7E,yCAAyC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAOjD,gFAAgF;AAChF,gFAAgF;AAChF,+EAA+E;AAC/E,iCAAiC;AACjC,OAAO,EACL,WAAW,EACX,uBAAuB,EACvB,cAAc,EACd,cAAc,GACf,MAAM,4BAA4B,CAAC;AAIpC,gFAAgF;AAChF,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,cAAc,CAAC;AAQtB,gFAAgF;AAChF,OAAO,EACL,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,qBAAqB,EAAuB,MAAM,0BAA0B,CAAC"}
@@ -0,0 +1,43 @@
1
+ import { getActiveFocuses } from '../queries/focus-discovery.js';
2
+ import { fetchFocusWorkflow, getFocusDeliveries } from '../queries/focuses.js';
3
+ import type { DaemonConfig, PipelineConfig } from '../types/index.js';
4
+ import { type ModelProvider } from './provider-window.js';
5
+ /** The route inputs of a focus's next spawn, as the ready and active focus rows both carry them. */
6
+ export interface NextSpawnRoute {
7
+ focus_id: string;
8
+ product_id: string | null;
9
+ pipeline_config: PipelineConfig | null;
10
+ engine_override: Record<string, string | null> | null;
11
+ local_model_override: Record<string, string | null> | null;
12
+ org_default_engine: string | null;
13
+ org_default_coding_model: string | null;
14
+ org_default_review_model: string | null;
15
+ }
16
+ /** The reads the stage half of the route needs; injectable for tests. */
17
+ export interface NextSpawnRouteDeps {
18
+ getActiveFocuses: typeof getActiveFocuses;
19
+ getFocusDeliveries: typeof getFocusDeliveries;
20
+ fetchFocusWorkflow: typeof fetchFocusWorkflow;
21
+ }
22
+ /**
23
+ * The provider the focus's next team spawn would run on, resolved from the
24
+ * route as it stands now; null when a read failed (the gate then holds on no
25
+ * window, and the spawn checks its own resolution).
26
+ */
27
+ export declare function resolveNextSpawnProvider(config: DaemonConfig, route: NextSpawnRoute, deps?: NextSpawnRouteDeps): Promise<ModelProvider | null>;
28
+ /**
29
+ * True when the focus's next team spawn is held: by its teardown streak, or by
30
+ * the rate-limit window of the provider it would run on now.
31
+ */
32
+ export declare function isNextSpawnInCooldown(config: DaemonConfig, route: NextSpawnRoute, deps?: NextSpawnRouteDeps): Promise<boolean>;
33
+ /** True when the focus's teardown streak holds its next spawn, whatever it runs on (the pending-spawn guard's reading). */
34
+ export declare function isNextSpawnInTeardownCooldown(focusId: string): boolean;
35
+ /**
36
+ * The team-phase map's reading (completion/team-phase.ts): held as the gate's
37
+ * latest verdict for the focus would be now -- the provider it resolved then,
38
+ * against the windows as they stand. Display only; no spawn reads it.
39
+ */
40
+ export declare function wasNextSpawnHeldAtLastGate(focusId: string): boolean;
41
+ /** Test-only: forget every gate reading. */
42
+ export declare function __resetNextSpawnGateForTests(): void;
43
+ //# sourceMappingURL=next-spawn-cooldown.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"next-spawn-cooldown.d.ts","sourceRoot":"","sources":["../../src/spawn/next-spawn-cooldown.ts"],"names":[],"mappings":"AAqCA,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE/E,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAyB,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AASjF,oGAAoG;AACpG,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,eAAe,EAAE,cAAc,GAAG,IAAI,CAAC;IACvC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IACtD,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAC3D,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,wBAAwB,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,wBAAwB,EAAE,MAAM,GAAG,IAAI,CAAC;CACzC;AAED,yEAAyE;AACzE,MAAM,WAAW,kBAAkB;IACjC,gBAAgB,EAAE,OAAO,gBAAgB,CAAC;IAC1C,kBAAkB,EAAE,OAAO,kBAAkB,CAAC;IAC9C,kBAAkB,EAAE,OAAO,kBAAkB,CAAC;CAC/C;AAiCD;;;;GAIG;AACH,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,cAAc,EACrB,IAAI,GAAE,kBAAuC,GAC5C,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAkB/B;AAKD;;;GAGG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,cAAc,EACrB,IAAI,GAAE,kBAAuC,GAC5C,OAAO,CAAC,OAAO,CAAC,CAIlB;AAED,2HAA2H;AAC3H,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEtE;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEnE;AAED,4CAA4C;AAC5C,wBAAgB,4BAA4B,IAAI,IAAI,CAEnD"}
@@ -0,0 +1,123 @@
1
+ // PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
2
+ // Pinned by: packages/daemon/src/spawn/empty-directive-route.test.ts,
3
+ // packages/daemon/src/spawn/provider-window.test.ts
4
+ // PINNED-BY-END
5
+ /**
6
+ * Is a focus's NEXT team spawn held? The spawn gates' reading of the spawn
7
+ * cooldown (the ready-focus gate, the pending-spawn gate, the team-phase map).
8
+ *
9
+ * A teardown streak holds a spawn whatever it runs on. A rate-limit window holds
10
+ * it only when it would run on that window's provider (spawn/provider-window.ts):
11
+ * a Claude limit holds a Claude coding team and not a Codex review. So while any
12
+ * window is open the gate RESOLVES the provider of the spawn it is about to let
13
+ * through, from the route as it stands now -- the focus row's engine and model
14
+ * pins and org defaults, and the directive the spawn would run: the queued spawn
15
+ * directive, or else the stage directive of the phase the focus is in. It runs
16
+ * the SAME selection Phase B runs (spawn/worktree-session.ts
17
+ * selectProviderForPass), on the same directive metadata
18
+ * resolveDirectiveOrFallback (spawn/spawn-decision.ts) reads, minus the worktree:
19
+ * the stage is derived as syncFocusPhase derives it, without writing it. Nothing
20
+ * about an earlier spawn is remembered, so a route that moved off a held
21
+ * provider is not held by it on the very next poll.
22
+ *
23
+ * With no window open nothing is resolved: no provider holds anything. A read
24
+ * that fails names no provider, so no window holds the spawn at the gate; the
25
+ * spawn then checks the provider its own engine resolved to
26
+ * (spawn/worktree-session.ts createTeamSession), before any session exists.
27
+ *
28
+ * The route is the one resolveDirectiveOrFallback resolves, from the one
29
+ * derivation both read (spawn/directive-route.ts): what the directive declares,
30
+ * never what its body assembles to -- so a stage whose body assembles empty,
31
+ * which the spawn runs on the legacy prompt, still routes where its directive
32
+ * pins it, at the gate and at the spawn alike.
33
+ */
34
+ import { getPendingSpawnDirective } from '../directive/directive-queue.js';
35
+ import { resolveFocusStageName } from '../directive/phase-sync.js';
36
+ import { getActiveFocuses } from '../queries/focus-discovery.js';
37
+ import { fetchFocusWorkflow, getFocusDeliveries } from '../queries/focuses.js';
38
+ import { configForProduct, findProduct } from '../shell/config.js';
39
+ import { anyProviderWindowOpen } from './provider-window.js';
40
+ import { isInSpawnCooldown } from './spawn-cooldown.js';
41
+ import { selectProviderForPass } from './worktree-session.js';
42
+ import { pendingDirectiveRoute, stageAtSpawn, stageDirectiveRoute } from './directive-route.js';
43
+ import { createLogger } from '../shell/log.js';
44
+ const log = createLogger({ module: 'spawn-cooldown' });
45
+ const DEFAULT_ROUTE_DEPS = { getActiveFocuses, getFocusDeliveries, fetchFocusWorkflow };
46
+ /**
47
+ * The route the spawn would resolve: the queued spawn directive's, or the stage
48
+ * directive's of the phase the focus is in -- through the SAME derivation
49
+ * resolveDirectiveOrFallback uses (spawn/directive-route.ts). The synced stage
50
+ * id is what syncFocusPhase would return (the stage the derived phase names,
51
+ * else the focus's current stage), read without writing it.
52
+ */
53
+ async function nextSpawnDirectiveRoute(config, route, deps) {
54
+ const pending = getPendingSpawnDirective(route.focus_id);
55
+ if (pending && pending.message.trim())
56
+ return pendingDirectiveRoute(pending);
57
+ const focus = (await deps.getActiveFocuses(config.organizationId, route.product_id ?? undefined))
58
+ .find((f) => f.focus_id === route.focus_id);
59
+ const workflow = await deps.fetchFocusWorkflow(route.focus_id);
60
+ let syncedStageId = null;
61
+ if (focus) {
62
+ const deliveries = await deps.getFocusDeliveries(route.focus_id);
63
+ const stageName = resolveFocusStageName({
64
+ deliveries: deliveries.map((d) => ({ executionStatus: d.executionStatus })),
65
+ reviewRequestedAt: focus.review_requested_at,
66
+ });
67
+ syncedStageId = workflow.stages.find((s) => s.name === stageName)?.id ?? focus.current_workflow_stage_id;
68
+ }
69
+ return stageDirectiveRoute(workflow, stageAtSpawn(workflow, syncedStageId));
70
+ }
71
+ /**
72
+ * The provider the focus's next team spawn would run on, resolved from the
73
+ * route as it stands now; null when a read failed (the gate then holds on no
74
+ * window, and the spawn checks its own resolution).
75
+ */
76
+ export async function resolveNextSpawnProvider(config, route, deps = DEFAULT_ROUTE_DEPS) {
77
+ try {
78
+ const product = route.product_id ? findProduct(config, route.product_id) : undefined;
79
+ const productConfig = product ? configForProduct(config, product) : config;
80
+ const metadata = await nextSpawnDirectiveRoute(productConfig, route, deps);
81
+ return selectProviderForPass({
82
+ engineOverride: route.engine_override,
83
+ localModelOverride: route.local_model_override,
84
+ config: productConfig,
85
+ orgDefaultEngine: route.org_default_engine,
86
+ pipelineConfig: route.pipeline_config,
87
+ orgDefaultCodingModel: route.org_default_coding_model,
88
+ orgDefaultReviewModel: route.org_default_review_model,
89
+ }, metadata);
90
+ }
91
+ catch (err) {
92
+ log.warn(`[spawn-gate] could not resolve the next spawn's provider for focus ${route.focus_id.slice(0, 8)}: ${err.message}`);
93
+ return null;
94
+ }
95
+ }
96
+ /** Each focus's provider at the gate's latest reading -- for the team-phase map only, which makes no spawn. */
97
+ const latestGateProvider = new Map();
98
+ /**
99
+ * True when the focus's next team spawn is held: by its teardown streak, or by
100
+ * the rate-limit window of the provider it would run on now.
101
+ */
102
+ export async function isNextSpawnInCooldown(config, route, deps = DEFAULT_ROUTE_DEPS) {
103
+ const provider = anyProviderWindowOpen() ? await resolveNextSpawnProvider(config, route, deps) : null;
104
+ latestGateProvider.set(route.focus_id, provider);
105
+ return isInSpawnCooldown(route.focus_id, provider);
106
+ }
107
+ /** True when the focus's teardown streak holds its next spawn, whatever it runs on (the pending-spawn guard's reading). */
108
+ export function isNextSpawnInTeardownCooldown(focusId) {
109
+ return isInSpawnCooldown(focusId, null);
110
+ }
111
+ /**
112
+ * The team-phase map's reading (completion/team-phase.ts): held as the gate's
113
+ * latest verdict for the focus would be now -- the provider it resolved then,
114
+ * against the windows as they stand. Display only; no spawn reads it.
115
+ */
116
+ export function wasNextSpawnHeldAtLastGate(focusId) {
117
+ return isInSpawnCooldown(focusId, latestGateProvider.get(focusId) ?? null);
118
+ }
119
+ /** Test-only: forget every gate reading. */
120
+ export function __resetNextSpawnGateForTests() {
121
+ latestGateProvider.clear();
122
+ }
123
+ //# sourceMappingURL=next-spawn-cooldown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"next-spawn-cooldown.js","sourceRoot":"","sources":["../../src/spawn/next-spawn-cooldown.ts"],"names":[],"mappings":"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"}
@@ -21,9 +21,10 @@
21
21
  * provider gave one, and the tail of BOTH streams. A caller that must tell
22
22
  * "the model could not run" from "the model judged" reads `kind`; a caller
23
23
  * that only catches keeps working (it is still an Error).
24
- * - The provider-wide window is READ before spawning and WRITTEN on a
25
- * rate-limit rejection (spawn-cooldown.ts providerRateLimitHoldUntilMs /
26
- * recordProviderRateLimit). During an open window no subprocess is spawned:
24
+ * - The claude provider's window is READ before spawning and WRITTEN on a
25
+ * rate-limit rejection (provider-window.ts providerWindowHoldUntilMs /
26
+ * openProviderWindow, keyed CLAUDE_PROVIDER: every call here runs
27
+ * `claude --print`). During an open window no subprocess is spawned:
27
28
  * the call rejects at once with kind rate_limit and the reset instant.
28
29
  *
29
30
  * @module spawn/one-shot-model
@@ -1 +1 @@
1
- {"version":3,"file":"one-shot-model.d.ts","sourceRoot":"","sources":["../../src/spawn/one-shot-model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"one-shot-model.d.ts","sourceRoot":"","sources":["../../src/spawn/one-shot-model.ts"],"names":[],"mappings":"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"}
@@ -28,9 +28,10 @@
28
28
  * provider gave one, and the tail of BOTH streams. A caller that must tell
29
29
  * "the model could not run" from "the model judged" reads `kind`; a caller
30
30
  * that only catches keeps working (it is still an Error).
31
- * - The provider-wide window is READ before spawning and WRITTEN on a
32
- * rate-limit rejection (spawn-cooldown.ts providerRateLimitHoldUntilMs /
33
- * recordProviderRateLimit). During an open window no subprocess is spawned:
31
+ * - The claude provider's window is READ before spawning and WRITTEN on a
32
+ * rate-limit rejection (provider-window.ts providerWindowHoldUntilMs /
33
+ * openProviderWindow, keyed CLAUDE_PROVIDER: every call here runs
34
+ * `claude --print`). During an open window no subprocess is spawned:
34
35
  * the call rejects at once with kind rate_limit and the reset instant.
35
36
  *
36
37
  * @module spawn/one-shot-model
@@ -39,7 +40,7 @@ import { spawn } from 'node:child_process';
39
40
  import { createLogger } from '../shell/log.js';
40
41
  import { trackChildProcess } from './worker-registry.js';
41
42
  import { parseRateLimitInfo } from './rate-limit.js';
42
- import { providerRateLimitHoldUntilMs, recordProviderRateLimit } from './spawn-cooldown.js';
43
+ import { CLAUDE_PROVIDER, openProviderWindow, providerWindowHoldUntilMs } from './provider-window.js';
43
44
  const log = createLogger({ module: 'one-shot-model' });
44
45
  const DEFAULT_TIMEOUT_MS = 2 * 60 * 1000;
45
46
  /** How much of each stream a failure carries (enough to read the reason, never the whole transcript). */
@@ -209,7 +210,8 @@ export function buildOneShotArgs(systemPrompt) {
209
210
  let lastLoggedHoldUntilMs = null;
210
211
  /** The typed refusal for a call made inside an open provider window, or null when no window is open. */
211
212
  function heldByProviderWindow(label, nowMs) {
212
- const holdUntil = providerRateLimitHoldUntilMs(nowMs);
213
+ // Every one-shot here is `claude --print`: it runs on the claude backend's provider.
214
+ const holdUntil = providerWindowHoldUntilMs(CLAUDE_PROVIDER, nowMs);
213
215
  if (holdUntil === null)
214
216
  return null;
215
217
  if (lastLoggedHoldUntilMs !== holdUntil) {
@@ -290,7 +292,7 @@ export function invokeOneShotModel(systemPrompt, userMessage, opts) {
290
292
  settled = true;
291
293
  clearTimeout(timer);
292
294
  if (kind === 'rate_limit' && resetAtMs !== null)
293
- recordProviderRateLimit(resetAtMs, nowMs());
295
+ openProviderWindow(CLAUDE_PROVIDER, resetAtMs, nowMs());
294
296
  reject(new ModelUnavailable({
295
297
  kind,
296
298
  label,
@@ -1 +1 @@
1
- {"version":3,"file":"one-shot-model.js","sourceRoot":"","sources":["../../src/spawn/one-shot-model.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,+DAA+D;AAC/D,gEAAgE;AAChE,4DAA4D;AAC5D,4EAA4E;AAC5E,0DAA0D;AAC1D,gBAAgB;AAEhB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,EAAE,KAAK,EAAqB,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,4BAA4B,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAE5F,MAAM,GAAG,GAAG,YAAY,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC;AAEvD,MAAM,kBAAkB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AACzC,yGAAyG;AACzG,MAAM,iBAAiB,GAAG,IAAI,CAAC;AAQ/B;;;;GAIG;AACH,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IAChC,IAAI,CAAuB;IAC3B,KAAK,CAAS;IACd,QAAQ,CAAgB;IACjC,wFAAwF;IAC/E,SAAS,CAAgB;IACzB,UAAU,CAAS;IACnB,UAAU,CAAS;IAE5B,YAAY,IAQX;QACC,KAAK,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC;QACtC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC;QACxC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;QACxC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;IAC1C,CAAC;CACF;AAED,SAAS,sBAAsB,CAAC,IAQ/B;IACC,MAAM,KAAK,GAAa,CAAC,GAAG,IAAI,CAAC,KAAK,wBAAwB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3E,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI;QAAE,KAAK,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IACjG,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;QAC5D,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IACnE,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM;WACrB,QAAQ,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;WAC/B,QAAQ,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;IACrC,IAAI,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC;IACtC,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY;IAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IAC5E,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAE,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAY,CAAC,CAAC,CAAC,IAAI,CAAC;AACvE,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,kBAAkB,CAAC,GAAY;IAC7C,OAAO,GAAG,YAAY,gBAAgB,CAAC;AACzC,CAAC;AAuDD,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;AACrD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAc;IAC/C,MAAM,OAAO,GAAyB,EAAE,CAAC;IACzC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,OAAO,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS;QACzD,IAAI,KAAc,CAAC;QACnB,IAAI,CAAC;YACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC9B,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,SAAS;QAC/B,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QAC3B,IAAI,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,MAAM,IAAI,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC3F,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC,OAAO,CAAW,CAAC;YAC7C,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,kBAAkB,EAAE,CAAC;YAChC,MAAM,IAAI,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;YACvC,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBACvC,OAAO,CAAC,iBAAiB,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC;YAChG,CAAC;YACD,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAE,KAAK,CAAC,OAAO,CAAkB,CAAC,CAAC,CAAC,SAAS,CAAC;YACtF,MAAM,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YACvC,MAAM,aAAa,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACpF,MAAM,MAAM,GAAG,KAAK,CAAC,kBAAkB,CAAC,CAAC;YACzC,OAAO,CAAC,MAAM,GAAG;gBACf,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK,IAAI;gBACnC,IAAI,EAAE,OAAO,KAAK,CAAC,QAAQ,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAE,KAAK,CAAC,QAAQ,CAAY,CAAC,CAAC,CAAC,IAAI;gBAC9E,cAAc,EAAE,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI;gBAC1D,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3B,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3C,OAAO,EAAE,OAAO,KAAK,CAAC,gBAAgB,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAE,KAAK,CAAC,gBAAgB,CAAY,CAAC,CAAC,CAAC,IAAI;aAClG,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,0GAA0G;AAC1G,MAAM,gBAAgB,GAAG,yGAAyG,CAAC;AACnI,gDAAgD;AAChD,MAAM,UAAU,GAAG,iFAAiF,CAAC;AAErG;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAa;IAClD,IAAI,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,YAAY,CAAC;IACtD,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IAC1C,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;GAMG;AACH,SAAS,OAAO,CAAC,OAA6B,EAAE,MAAc,EAAE,MAAc;IAC5E,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IAChF,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,IAAI,EAAE,EAAE,GAAG,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACnE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAMtC;IACC,IAAI,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;QACnC,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,SAAS,EAAE,CAAC;IACrF,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,cAAc,IAAI,IAAI,CAAC;IAC3D,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IACnE,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC/E,IAAI,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC/D,MAAM,OAAO,GAAG,sBAAsB,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACxF,OAAO,EAAE,IAAI,EAAE,OAAO,IAAI,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AACzD,CAAC;AAED,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E,oFAAoF;AACpF,MAAM,UAAU,gBAAgB,CAAC,YAAoB;IACnD,OAAO;QACL,SAAS;QACT,iBAAiB,EAAE,aAAa;QAChC,WAAW;QACX,0BAA0B;QAC1B,iBAAiB,EAAE,YAAY;KAChC,CAAC;AACJ,CAAC;AAED,kGAAkG;AAClG,IAAI,qBAAqB,GAAkB,IAAI,CAAC;AAEhD,wGAAwG;AACxG,SAAS,oBAAoB,CAAC,KAAa,EAAE,KAAa;IACxD,MAAM,SAAS,GAAG,4BAA4B,CAAC,KAAK,CAAC,CAAC;IACtD,IAAI,SAAS,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACpC,IAAI,qBAAqB,KAAK,SAAS,EAAE,CAAC;QACxC,qBAAqB,GAAG,SAAS,CAAC;QAClC,GAAG,CAAC,IAAI,CACN,cAAc,KAAK,+DAA+D;YAClF,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,EAAE,CACvC,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,gBAAgB,CAAC;QAC1B,IAAI,EAAE,YAAY;QAClB,KAAK;QACL,SAAS,EAAE,SAAS;QACpB,MAAM,EAAE,wDAAwD;KACjE,CAAC,CAAC;AACL,CAAC;AAED,iEAAiE;AACjE,SAAS,eAAe,CAAC,OAA6B;IACpD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAqD,CAAC;IAC7E,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC,aAAa,CAAC;IACxD,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE;QACvB,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChD,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;KACxB,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAChC,YAAoB,EACpB,WAAmB,EACnB,IAAyB;IAEzB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IACzB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,QAAQ,CAAC;IAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,kBAAkB,CAAC;IACvD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IAEhF,MAAM,IAAI,GAAG,oBAAoB,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IAClD,IAAI,IAAI;QAAE,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAEtC,OAAO,IAAI,OAAO,CAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACzD,IAAI,KAAmB,CAAC;QACxB,IAAI,CAAC;YACH,KAAK,GAAG,OAAO,CAAC,SAAS,EAAE,gBAAgB,CAAC,YAAY,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QAClG,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,gBAAgB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAkB,GAAa,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;YAC1G,OAAO;QACT,CAAC;QACD,0EAA0E;QAC1E,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAEhC,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnF,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnF,2EAA2E;QAC3E,4EAA4E;QAC5E,oEAAoE;QACpE,KAAK,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAA6B,CAAC,CAAC,CAAC;QAEhE,0EAA0E;QAC1E,4EAA4E;QAC5E,4EAA4E;QAC5E,0DAA0D;QAC1D,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,QAAQ,GAAG,IAAI,CAAC;YAChB,IAAI,CAAC;gBAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;YACrD,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,sBAAsB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,kBAAkB,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;YACtI,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,oBAAoB,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;QAC3F,CAAC,EAAE,SAAS,CAAC,CAAC;QAEd,MAAM,IAAI,GAAG,CAAC,IAA0B,EAAE,QAAuB,EAAE,SAAwB,EAAE,MAAe,EAAE,EAAE;YAC9G,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,IAAI,IAAI,KAAK,YAAY,IAAI,SAAS,KAAK,IAAI;gBAAE,uBAAuB,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;YAC7F,MAAM,CAAC,IAAI,gBAAgB,CAAC;gBAC1B,IAAI;gBACJ,KAAK;gBACL,QAAQ;gBACR,SAAS;gBACT,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,iBAAiB,CAAC;gBAC5C,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,iBAAiB,CAAC;gBAC5C,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC9B,CAAC,CAAC,CAAC;QACN,CAAC,CAAC;QAEF,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YACxB,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,gBAAiB,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACzB,IAAI,OAAO;gBAAE,OAAO;YACpB,MAAM,OAAO,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;YAC3C,MAAM,SAAS,GAAG,IAAI,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;YACxF,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,sBAAsB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;gBAC1G,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,IAAI,SAAS,CAAC,CAAC;gBAC/D,OAAO;YACT,CAAC;YACD,OAAO,GAAG,IAAI,CAAC;YACf,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;YAChC,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC;QACrB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,uBAAwB,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"one-shot-model.js","sourceRoot":"","sources":["../../src/spawn/one-shot-model.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,+DAA+D;AAC/D,gEAAgE;AAChE,4DAA4D;AAC5D,4EAA4E;AAC5E,0DAA0D;AAC1D,gBAAgB;AAEhB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,EAAE,KAAK,EAAqB,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEtG,MAAM,GAAG,GAAG,YAAY,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC;AAEvD,MAAM,kBAAkB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AACzC,yGAAyG;AACzG,MAAM,iBAAiB,GAAG,IAAI,CAAC;AAQ/B;;;;GAIG;AACH,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IAChC,IAAI,CAAuB;IAC3B,KAAK,CAAS;IACd,QAAQ,CAAgB;IACjC,wFAAwF;IAC/E,SAAS,CAAgB;IACzB,UAAU,CAAS;IACnB,UAAU,CAAS;IAE5B,YAAY,IAQX;QACC,KAAK,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC;QACtC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC;QACxC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;QACxC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;IAC1C,CAAC;CACF;AAED,SAAS,sBAAsB,CAAC,IAQ/B;IACC,MAAM,KAAK,GAAa,CAAC,GAAG,IAAI,CAAC,KAAK,wBAAwB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3E,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI;QAAE,KAAK,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IACjG,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;QAC5D,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IACnE,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM;WACrB,QAAQ,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;WAC/B,QAAQ,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;IACrC,IAAI,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC;IACtC,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY;IAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IAC5E,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAE,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAY,CAAC,CAAC,CAAC,IAAI,CAAC;AACvE,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,kBAAkB,CAAC,GAAY;IAC7C,OAAO,GAAG,YAAY,gBAAgB,CAAC;AACzC,CAAC;AAuDD,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;AACrD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAc;IAC/C,MAAM,OAAO,GAAyB,EAAE,CAAC;IACzC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,OAAO,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS;QACzD,IAAI,KAAc,CAAC;QACnB,IAAI,CAAC;YACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC9B,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,SAAS;QAC/B,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QAC3B,IAAI,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,MAAM,IAAI,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC3F,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC,OAAO,CAAW,CAAC;YAC7C,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,kBAAkB,EAAE,CAAC;YAChC,MAAM,IAAI,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;YACvC,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBACvC,OAAO,CAAC,iBAAiB,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC;YAChG,CAAC;YACD,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAE,KAAK,CAAC,OAAO,CAAkB,CAAC,CAAC,CAAC,SAAS,CAAC;YACtF,MAAM,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YACvC,MAAM,aAAa,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACpF,MAAM,MAAM,GAAG,KAAK,CAAC,kBAAkB,CAAC,CAAC;YACzC,OAAO,CAAC,MAAM,GAAG;gBACf,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK,IAAI;gBACnC,IAAI,EAAE,OAAO,KAAK,CAAC,QAAQ,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAE,KAAK,CAAC,QAAQ,CAAY,CAAC,CAAC,CAAC,IAAI;gBAC9E,cAAc,EAAE,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI;gBAC1D,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3B,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3C,OAAO,EAAE,OAAO,KAAK,CAAC,gBAAgB,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAE,KAAK,CAAC,gBAAgB,CAAY,CAAC,CAAC,CAAC,IAAI;aAClG,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,0GAA0G;AAC1G,MAAM,gBAAgB,GAAG,yGAAyG,CAAC;AACnI,gDAAgD;AAChD,MAAM,UAAU,GAAG,iFAAiF,CAAC;AAErG;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAa;IAClD,IAAI,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,YAAY,CAAC;IACtD,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IAC1C,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;GAMG;AACH,SAAS,OAAO,CAAC,OAA6B,EAAE,MAAc,EAAE,MAAc;IAC5E,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IAChF,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,IAAI,EAAE,EAAE,GAAG,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACnE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAMtC;IACC,IAAI,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;QACnC,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,SAAS,EAAE,CAAC;IACrF,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,cAAc,IAAI,IAAI,CAAC;IAC3D,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IACnE,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC/E,IAAI,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC/D,MAAM,OAAO,GAAG,sBAAsB,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACxF,OAAO,EAAE,IAAI,EAAE,OAAO,IAAI,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AACzD,CAAC;AAED,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E,oFAAoF;AACpF,MAAM,UAAU,gBAAgB,CAAC,YAAoB;IACnD,OAAO;QACL,SAAS;QACT,iBAAiB,EAAE,aAAa;QAChC,WAAW;QACX,0BAA0B;QAC1B,iBAAiB,EAAE,YAAY;KAChC,CAAC;AACJ,CAAC;AAED,kGAAkG;AAClG,IAAI,qBAAqB,GAAkB,IAAI,CAAC;AAEhD,wGAAwG;AACxG,SAAS,oBAAoB,CAAC,KAAa,EAAE,KAAa;IACxD,qFAAqF;IACrF,MAAM,SAAS,GAAG,yBAAyB,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;IACpE,IAAI,SAAS,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACpC,IAAI,qBAAqB,KAAK,SAAS,EAAE,CAAC;QACxC,qBAAqB,GAAG,SAAS,CAAC;QAClC,GAAG,CAAC,IAAI,CACN,cAAc,KAAK,+DAA+D;YAClF,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,EAAE,CACvC,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,gBAAgB,CAAC;QAC1B,IAAI,EAAE,YAAY;QAClB,KAAK;QACL,SAAS,EAAE,SAAS;QACpB,MAAM,EAAE,wDAAwD;KACjE,CAAC,CAAC;AACL,CAAC;AAED,iEAAiE;AACjE,SAAS,eAAe,CAAC,OAA6B;IACpD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAqD,CAAC;IAC7E,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC,aAAa,CAAC;IACxD,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE;QACvB,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChD,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;KACxB,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAChC,YAAoB,EACpB,WAAmB,EACnB,IAAyB;IAEzB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IACzB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,QAAQ,CAAC;IAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,kBAAkB,CAAC;IACvD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IAEhF,MAAM,IAAI,GAAG,oBAAoB,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IAClD,IAAI,IAAI;QAAE,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAEtC,OAAO,IAAI,OAAO,CAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACzD,IAAI,KAAmB,CAAC;QACxB,IAAI,CAAC;YACH,KAAK,GAAG,OAAO,CAAC,SAAS,EAAE,gBAAgB,CAAC,YAAY,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QAClG,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,gBAAgB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAkB,GAAa,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;YAC1G,OAAO;QACT,CAAC;QACD,0EAA0E;QAC1E,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAEhC,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnF,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnF,2EAA2E;QAC3E,4EAA4E;QAC5E,oEAAoE;QACpE,KAAK,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAA6B,CAAC,CAAC,CAAC;QAEhE,0EAA0E;QAC1E,4EAA4E;QAC5E,4EAA4E;QAC5E,0DAA0D;QAC1D,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,QAAQ,GAAG,IAAI,CAAC;YAChB,IAAI,CAAC;gBAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;YACrD,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,sBAAsB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,kBAAkB,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;YACtI,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,oBAAoB,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;QAC3F,CAAC,EAAE,SAAS,CAAC,CAAC;QAEd,MAAM,IAAI,GAAG,CAAC,IAA0B,EAAE,QAAuB,EAAE,SAAwB,EAAE,MAAe,EAAE,EAAE;YAC9G,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,IAAI,IAAI,KAAK,YAAY,IAAI,SAAS,KAAK,IAAI;gBAAE,kBAAkB,CAAC,eAAe,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;YACzG,MAAM,CAAC,IAAI,gBAAgB,CAAC;gBAC1B,IAAI;gBACJ,KAAK;gBACL,QAAQ;gBACR,SAAS;gBACT,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,iBAAiB,CAAC;gBAC5C,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,iBAAiB,CAAC;gBAC5C,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC9B,CAAC,CAAC,CAAC;QACN,CAAC,CAAC;QAEF,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YACxB,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,gBAAiB,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACzB,IAAI,OAAO;gBAAE,OAAO;YACpB,MAAM,OAAO,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;YAC3C,MAAM,SAAS,GAAG,IAAI,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;YACxF,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,sBAAsB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;gBAC1G,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,IAAI,SAAS,CAAC,CAAC;gBAC/D,OAAO;YACT,CAAC;YACD,OAAO,GAAG,IAAI,CAAC;YACf,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;YAChC,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC;QACrB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,uBAAwB,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * The account a spawn's model calls are billed and limited against.
3
+ * - anthropic: the claude backend (team spawns and every `claude --print` one-shot).
4
+ * - openai: the codex backend on a hosted model.
5
+ * - local: a local model (routed through codex, or any other non-hosted
6
+ * engine). No hosted limit reaches it; nothing records here today.
7
+ */
8
+ export type ModelProvider = 'anthropic' | 'openai' | 'local';
9
+ /** The provider of the claude backend -- the daemon's default engine (backends/registry.ts DEFAULT_BACKEND_ID). */
10
+ export declare const CLAUDE_PROVIDER: ModelProvider;
11
+ /** The provider of the codex backend on a hosted model. */
12
+ export declare const CODEX_PROVIDER: ModelProvider;
13
+ /**
14
+ * The provider a spawn will run on, from its resolved engine id and whether the
15
+ * pass routes a local model. Pure. An engine the daemon does not know as hosted
16
+ * is read as local: it reaches neither hosted account, so neither window may
17
+ * hold it.
18
+ */
19
+ export declare function providerForEngine(engineId: string, localModelSelected?: boolean): ModelProvider;
20
+ /**
21
+ * Record a rate-limit signal on one provider. Returns true when that provider's
22
+ * window is now open (the reset is in the future), false when the signal closed
23
+ * it. Leaves every other provider's window untouched.
24
+ */
25
+ export declare function openProviderWindow(provider: ModelProvider, resetAtMs: number, nowMs?: number): boolean;
26
+ /**
27
+ * The instant a provider's window closes, or null when it is not open. A window
28
+ * whose reset has passed reads as closed and is dropped.
29
+ */
30
+ export declare function providerWindowHoldUntilMs(provider: ModelProvider, nowMs?: number): number | null;
31
+ /**
32
+ * True when any provider's window is open. The spawn gates resolve the provider
33
+ * of the spawn they are about to let through only then: with every window closed
34
+ * no provider holds anything, so the route needs no reading.
35
+ */
36
+ export declare function anyProviderWindowOpen(nowMs?: number): boolean;
37
+ /** Test-only: close every window, as a daemon re-exec starts with none. */
38
+ export declare function __resetProviderWindowsForTests(): void;
39
+ //# sourceMappingURL=provider-window.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-window.d.ts","sourceRoot":"","sources":["../../src/spawn/provider-window.ts"],"names":[],"mappings":"AAgCA;;;;;;GAMG;AACH,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE7D,mHAAmH;AACnH,eAAO,MAAM,eAAe,EAAE,aAA2B,CAAC;AAE1D,2DAA2D;AAC3D,eAAO,MAAM,cAAc,EAAE,aAAwB,CAAC;AAEtD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,kBAAkB,UAAQ,GAAG,aAAa,CAI7F;AAID;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,GAAE,MAAmB,GAAG,OAAO,CAkBlH;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,GAAE,MAAmB,GAAG,MAAM,GAAG,IAAI,CAQ5G;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,GAAE,MAAmB,GAAG,OAAO,CAKzE;AAED,2EAA2E;AAC3E,wBAAgB,8BAA8B,IAAI,IAAI,CAErD"}
@@ -0,0 +1,99 @@
1
+ // PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
2
+ // Pinned by: packages/daemon/src/completion/model-unavailable-review-exit.test.ts,
3
+ // packages/daemon/src/spawn/codex-limit.test.ts, packages/daemon/src/spawn/empty-directive-route.test.ts,
4
+ // packages/daemon/src/spawn/provider-window.test.ts
5
+ // PINNED-BY-END
6
+ /**
7
+ * Per-provider rate-limit windows.
8
+ *
9
+ * A rate limit belongs to the ACCOUNT that reported it, and the daemon spawns on
10
+ * more than one account: the claude backend runs on Anthropic, the codex backend
11
+ * on OpenAI (or, when a local model is routed through it, on no hosted account
12
+ * at all). Until 2026-09-24 the daemon kept ONE window that every spawn read, so
13
+ * a Claude limit held the Codex review spawns that run on a separate OpenAI
14
+ * account (on mars every review has run on Codex since 2026-09-16), and a Codex
15
+ * limit recorded there would have held the Claude coding teams.
16
+ *
17
+ * So the window is keyed by provider. A limit opens only its own provider's
18
+ * window; a reader names the provider of the spawn it is about to make
19
+ * (providerForEngine, from the spawn's resolved engine and whether a local model
20
+ * is routed) and is held only by that provider's window. A limit on both holds
21
+ * both. Within one provider the semantics are the ones the single window had: a
22
+ * reset in the future opens it until then, the LATER of two open resets binds (a
23
+ * five_hour rejection inside a seven_day window does not shorten it), and a
24
+ * reset already in the past closes it. In-memory only: a restart re-learns it
25
+ * from the provider on the first attempt.
26
+ */
27
+ import { createLogger } from '../shell/log.js';
28
+ const log = createLogger({ module: 'spawn-cooldown' });
29
+ /** The provider of the claude backend -- the daemon's default engine (backends/registry.ts DEFAULT_BACKEND_ID). */
30
+ export const CLAUDE_PROVIDER = 'anthropic';
31
+ /** The provider of the codex backend on a hosted model. */
32
+ export const CODEX_PROVIDER = 'openai';
33
+ /**
34
+ * The provider a spawn will run on, from its resolved engine id and whether the
35
+ * pass routes a local model. Pure. An engine the daemon does not know as hosted
36
+ * is read as local: it reaches neither hosted account, so neither window may
37
+ * hold it.
38
+ */
39
+ export function providerForEngine(engineId, localModelSelected = false) {
40
+ if (engineId === 'claude')
41
+ return CLAUDE_PROVIDER;
42
+ if (engineId === 'codex')
43
+ return localModelSelected ? 'local' : CODEX_PROVIDER;
44
+ return 'local';
45
+ }
46
+ const windows = new Map();
47
+ /**
48
+ * Record a rate-limit signal on one provider. Returns true when that provider's
49
+ * window is now open (the reset is in the future), false when the signal closed
50
+ * it. Leaves every other provider's window untouched.
51
+ */
52
+ export function openProviderWindow(provider, resetAtMs, nowMs = Date.now()) {
53
+ const current = windows.get(provider) ?? null;
54
+ if (!Number.isFinite(resetAtMs) || resetAtMs <= nowMs) {
55
+ if (current !== null) {
56
+ log.info(`Provider rate limit (${provider}): window closed (reset instant has passed); ${provider} spawns resume`);
57
+ }
58
+ windows.delete(provider);
59
+ return false;
60
+ }
61
+ const next = Math.max(current ?? 0, resetAtMs);
62
+ if (current !== next) {
63
+ log.warn(`Provider rate limit (${provider}): holding every ${provider} spawn (teams and one-shots) until ` +
64
+ `${new Date(next).toISOString()} -- spawns on other providers proceed`);
65
+ }
66
+ windows.set(provider, next);
67
+ return true;
68
+ }
69
+ /**
70
+ * The instant a provider's window closes, or null when it is not open. A window
71
+ * whose reset has passed reads as closed and is dropped.
72
+ */
73
+ export function providerWindowHoldUntilMs(provider, nowMs = Date.now()) {
74
+ const until = windows.get(provider);
75
+ if (until === undefined)
76
+ return null;
77
+ if (until <= nowMs) {
78
+ windows.delete(provider);
79
+ return null;
80
+ }
81
+ return until;
82
+ }
83
+ /**
84
+ * True when any provider's window is open. The spawn gates resolve the provider
85
+ * of the spawn they are about to let through only then: with every window closed
86
+ * no provider holds anything, so the route needs no reading.
87
+ */
88
+ export function anyProviderWindowOpen(nowMs = Date.now()) {
89
+ for (const provider of [...windows.keys()]) {
90
+ if (providerWindowHoldUntilMs(provider, nowMs) !== null)
91
+ return true;
92
+ }
93
+ return false;
94
+ }
95
+ /** Test-only: close every window, as a daemon re-exec starts with none. */
96
+ export function __resetProviderWindowsForTests() {
97
+ windows.clear();
98
+ }
99
+ //# sourceMappingURL=provider-window.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-window.js","sourceRoot":"","sources":["../../src/spawn/provider-window.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,mFAAmF;AACnF,4GAA4G;AAC5G,sDAAsD;AACtD,gBAAgB;AAEhB;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,MAAM,GAAG,GAAG,YAAY,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC;AAWvD,mHAAmH;AACnH,MAAM,CAAC,MAAM,eAAe,GAAkB,WAAW,CAAC;AAE1D,2DAA2D;AAC3D,MAAM,CAAC,MAAM,cAAc,GAAkB,QAAQ,CAAC;AAEtD;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,QAAgB,EAAE,kBAAkB,GAAG,KAAK;IAC5E,IAAI,QAAQ,KAAK,QAAQ;QAAE,OAAO,eAAe,CAAC;IAClD,IAAI,QAAQ,KAAK,OAAO;QAAE,OAAO,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC;IAC/E,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,OAAO,GAAG,IAAI,GAAG,EAAyB,CAAC;AAEjD;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,QAAuB,EAAE,SAAiB,EAAE,QAAgB,IAAI,CAAC,GAAG,EAAE;IACvG,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC;IAC9C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,IAAI,KAAK,EAAE,CAAC;QACtD,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,GAAG,CAAC,IAAI,CAAC,wBAAwB,QAAQ,gDAAgD,QAAQ,gBAAgB,CAAC,CAAC;QACrH,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACzB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC;IAC/C,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,GAAG,CAAC,IAAI,CACN,wBAAwB,QAAQ,oBAAoB,QAAQ,qCAAqC;YACjG,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,uCAAuC,CACvE,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC5B,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CAAC,QAAuB,EAAE,QAAgB,IAAI,CAAC,GAAG,EAAE;IAC3F,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACpC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACrC,IAAI,KAAK,IAAI,KAAK,EAAE,CAAC;QACnB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,QAAgB,IAAI,CAAC,GAAG,EAAE;IAC9D,KAAK,MAAM,QAAQ,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QAC3C,IAAI,yBAAyB,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;IACvE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,8BAA8B;IAC5C,OAAO,CAAC,KAAK,EAAE,CAAC;AAClB,CAAC"}