@zhixuan92/multi-model-agent-core 1.3.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/dist/config/schema.d.ts +5 -7
  2. package/dist/config/schema.d.ts.map +1 -1
  3. package/dist/config/schema.js +9 -4
  4. package/dist/config/schema.js.map +1 -1
  5. package/dist/delegate-with-escalation.d.ts +1 -0
  6. package/dist/delegate-with-escalation.d.ts.map +1 -1
  7. package/dist/delegate-with-escalation.js +59 -5
  8. package/dist/delegate-with-escalation.js.map +1 -1
  9. package/dist/review/quality-reviewer.d.ts.map +1 -1
  10. package/dist/review/quality-reviewer.js +0 -1
  11. package/dist/review/quality-reviewer.js.map +1 -1
  12. package/dist/review/spec-reviewer.d.ts.map +1 -1
  13. package/dist/review/spec-reviewer.js +0 -1
  14. package/dist/review/spec-reviewer.js.map +1 -1
  15. package/dist/run-tasks.d.ts.map +1 -1
  16. package/dist/run-tasks.js +65 -30
  17. package/dist/run-tasks.js.map +1 -1
  18. package/dist/runners/claude-runner.d.ts +0 -1
  19. package/dist/runners/claude-runner.d.ts.map +1 -1
  20. package/dist/runners/claude-runner.js +41 -45
  21. package/dist/runners/claude-runner.js.map +1 -1
  22. package/dist/runners/codex-runner.d.ts +0 -1
  23. package/dist/runners/codex-runner.d.ts.map +1 -1
  24. package/dist/runners/codex-runner.js +32 -34
  25. package/dist/runners/codex-runner.js.map +1 -1
  26. package/dist/runners/openai-runner.d.ts +0 -1
  27. package/dist/runners/openai-runner.d.ts.map +1 -1
  28. package/dist/runners/openai-runner.js +112 -46
  29. package/dist/runners/openai-runner.js.map +1 -1
  30. package/dist/runners/prevention.d.ts +4 -3
  31. package/dist/runners/prevention.d.ts.map +1 -1
  32. package/dist/runners/prevention.js +12 -10
  33. package/dist/runners/prevention.js.map +1 -1
  34. package/dist/runners/supervision.d.ts +10 -0
  35. package/dist/runners/supervision.d.ts.map +1 -1
  36. package/dist/runners/supervision.js +22 -0
  37. package/dist/runners/supervision.js.map +1 -1
  38. package/dist/types.d.ts +26 -44
  39. package/dist/types.d.ts.map +1 -1
  40. package/dist/types.js.map +1 -1
  41. package/package.json +1 -1
@@ -9,7 +9,7 @@ import { TextScratchpad } from '../tools/scratchpad.js';
9
9
  import { CostMeter } from '../cost/cost-meter.js';
10
10
  import { CallCache } from '../tools/call-cache.js';
11
11
  import { buildSystemPrompt, buildBudgetHint, buildReGroundingMessage, buildBudgetPressureNudge, buildFormatConstraintSuffix, RE_GROUNDING_INTERVAL_TURNS, } from './prevention.js';
12
- import { validateSubAgentOutput, buildRePrompt, sameDegenerateOutput, resolveInputTokenSoftLimit, checkWatchdogThreshold, logWatchdogEvent, THINKING_DIAGNOSTIC_MARKER, hasCompletedWork, } from './supervision.js';
12
+ import { validateSubAgentOutput, buildRePrompt, sameDegenerateOutput, resolveInputTokenSoftLimit, checkWatchdogThreshold, logWatchdogEvent, THINKING_DIAGNOSTIC_MARKER, hasCompletedWork, MAX_DEGENERATE_RETRIES, STALL_DETECTION_TURNS, detectToolCallLoop, hasNewFileActivity, } from './supervision.js';
13
13
  import { classifyError } from './error-classification.js';
14
14
  import { findModelProfile } from '../routing/model-profiles.js';
15
15
  // Disable tracing — not all OpenAI-compatible providers support it
@@ -36,17 +36,6 @@ export function stripThinkingTags(text) {
36
36
  }
37
37
  return stripped;
38
38
  }
39
- /**
40
- * Hard cap on supervision re-prompts before we give up and salvage. Three is
41
- * the value chosen in the spec (A.2.2): enough room for the model to recover
42
- * from a one-off fragment but not so many that a wedged model can burn the
43
- * budget via repeated re-prompts.
44
- */
45
- /** Maximum turns for each continuation (reprompt/reground/watchdog-warning) in the
46
- * supervision loop. Higher than the old hardcoded 1 so the model can call a tool
47
- * and reply to the tool result without immediately exhausting the sub-budget. */
48
- const SUPERVISION_CONTINUATION_BUDGET = 5;
49
- const MAX_SUPERVISION_RETRIES = 3;
50
39
  /**
51
40
  * Extract every assistant text emission from a single `agentRun(...)` result.
52
41
  * See the SDK introspection finding in supervision.ts: `result.newItems` is a
@@ -77,7 +66,6 @@ function extractAssistantText(newItems) {
77
66
  return chunks.join('');
78
67
  }
79
68
  export async function runOpenAI(prompt, options, runner) {
80
- const maxTurns = options.maxTurns ?? runner.providerConfig.maxTurns ?? runner.defaults.maxTurns;
81
69
  const timeoutMs = options.timeoutMs ?? runner.providerConfig.timeoutMs ?? runner.defaults.timeoutMs;
82
70
  const toolMode = options.tools ?? runner.defaults.tools;
83
71
  const cwd = options.cwd ?? process.cwd();
@@ -134,13 +122,13 @@ export async function runOpenAI(prompt, options, runner) {
134
122
  // --- Prevention layer: system prompt + budget hint ---
135
123
  //
136
124
  // buildSystemPrompt() is deliberately static and parameter-free. The Task 1
137
- // review rejected speculative `providerLabel` / `maxTurns` parameters — the
138
- // system prompt is generic ~400 tokens of discipline that applies to every
139
- // provider. Per-turn budget information is threaded through buildBudgetHint
140
- // (prepended to the first user prompt) and buildReGroundingMessage
141
- // (injected every RE_GROUNDING_INTERVAL_TURNS turns).
125
+ // review rejected speculative `providerLabel` parameters — the system prompt
126
+ // is generic ~400 tokens of discipline that applies to every provider.
127
+ // Budget information is threaded through buildBudgetHint (prepended to the
128
+ // first user prompt) and buildReGroundingMessage (injected every
129
+ // RE_GROUNDING_INTERVAL_TURNS turns).
142
130
  const systemPrompt = buildSystemPrompt() + buildFormatConstraintSuffix(options.formatConstraints ?? {});
143
- const budgetHint = buildBudgetHint({ maxTurns });
131
+ const budgetHint = buildBudgetHint({ timeoutMs, maxCostUSD: options.maxCostUSD });
144
132
  const promptWithBudgetHint = `${budgetHint}\n\n${prompt}`;
145
133
  // --- onInitialRequest (Task 12) ----------------------------------------
146
134
  //
@@ -224,11 +212,11 @@ export async function runOpenAI(prompt, options, runner) {
224
212
  * 3. `turn_complete` — fires AFTER agentRun, with the post-call
225
213
  * cumulative usage from `result.state.usage`.
226
214
  */
227
- const runTurnAndBuffer = async (input, turnBudget) => {
215
+ const runTurnAndBuffer = async (input) => {
228
216
  const nextTurn = (currentResult?.state.usage.requests ?? 0) + 1;
229
217
  emit({ kind: 'turn_start', turn: nextTurn, provider: 'openai-compatible' });
230
218
  const result = (await agentRun(agent, input, {
231
- maxTurns: turnBudget,
219
+ maxTurns: Number.MAX_SAFE_INTEGER,
232
220
  signal: abortController.signal,
233
221
  }));
234
222
  const text = stripThinkingTags(extractAssistantText(result.newItems));
@@ -257,12 +245,19 @@ export async function runOpenAI(prompt, options, runner) {
257
245
  };
258
246
  const run = async () => {
259
247
  try {
260
- currentResult = await runTurnAndBuffer(promptWithBudgetHint, maxTurns);
261
- let supervisionRetries = 0;
248
+ currentResult = await runTurnAndBuffer(promptWithBudgetHint);
249
+ // --- Supervision state: monitor model replaces gatekeeper ---
250
+ // Only count degenerate retries when worker has NO tool calls in a turn.
251
+ // If the worker is still making tool calls, it's making progress even
252
+ // if the output text is degenerate — don't count against budget.
253
+ let degenerateRetries = 0;
254
+ let stallTurnCounter = 0;
255
+ let lastFilesRead = tracker.getReads().length;
256
+ let lastFilesWritten = tracker.getWrites().length;
262
257
  // Continuation-exhausted flag: set when runContinuationTurn catches a
263
258
  // MaxTurnsExceededError on a re-prompt or re-ground continuation.
264
259
  // The break below lands in the exhausted handler so we don't conflate
265
- // a 5-turn sub-budget exhaustion with the user-declared maxTurns limit.
260
+ // a continuation-exhaustion with the user-declared limits.
266
261
  let supervisionExhausted = false;
267
262
  // Initialized to `null` (NOT ''): on the first turn there is no
268
263
  // previous degenerate output to compare against, so the
@@ -307,14 +302,13 @@ export async function runOpenAI(prompt, options, runner) {
307
302
  };
308
303
  }
309
304
  /**
310
- * Wraps a continuation turn (re-prompt or re-ground) that uses a small
311
- * fixed budget. Catches MaxTurnsExceededError from the SDK and returns a
312
- * discriminated union so callers can handle exhaustion without conflating it
313
- * with the user-declared maxTurns limit.
305
+ * Wraps a continuation turn (re-prompt or re-ground). Time and cost bounds
306
+ * are the only effective limits; no turn-count sub-budget is imposed.
307
+ * Catches MaxTurnsExceededError from the SDK as a safety net.
314
308
  */
315
- async function runContinuationTurn(currentResult, instruction, budget) {
309
+ async function runContinuationTurn(currentResult, instruction) {
316
310
  try {
317
- const result = await runTurnAndBuffer(continueWith(currentResult, instruction), budget);
311
+ const result = await runTurnAndBuffer(continueWith(currentResult, instruction));
318
312
  return { ok: true, result };
319
313
  }
320
314
  catch (err) {
@@ -386,7 +380,7 @@ export async function runOpenAI(prompt, options, runner) {
386
380
  emit({ kind: 'done', status: costExceeded.status });
387
381
  return costExceeded;
388
382
  }
389
- const warningCont = await runContinuationTurn(currentResult, warning, SUPERVISION_CONTINUATION_BUDGET);
383
+ const warningCont = await runContinuationTurn(currentResult, warning);
390
384
  if (!warningCont.ok) {
391
385
  supervisionExhausted = true;
392
386
  break;
@@ -407,14 +401,82 @@ export async function runOpenAI(prompt, options, runner) {
407
401
  }
408
402
  // Track last validation kind so the exhausted handler can report it.
409
403
  lastValidationKind = validation.kind;
404
+ // --- Loop detection (advisory) ---
405
+ // After a turn with tool calls, check for repetitive patterns.
406
+ // If stuck in a loop, inject re-grounding — don't terminate or count as degenerate.
407
+ if (detectToolCallLoop(tracker.getToolCalls())) {
408
+ const reground = buildReGroundingMessage({
409
+ originalPromptExcerpt: prompt,
410
+ elapsedMs: Date.now() - taskStartMs,
411
+ timeoutMs,
412
+ toolCallsSoFar: tracker.getToolCalls().length,
413
+ filesReadSoFar: tracker.getReads().length,
414
+ });
415
+ emit({
416
+ kind: 'injection',
417
+ injectionType: 'reground',
418
+ turn: currentResult.state.usage.requests,
419
+ contentLengthChars: reground.length,
420
+ });
421
+ if (canAffordNextTurn()) {
422
+ const regroundCont = await runContinuationTurn(currentResult, reground);
423
+ if (regroundCont.ok) {
424
+ currentResult = regroundCont.result;
425
+ continue;
426
+ }
427
+ }
428
+ }
429
+ // --- Stall detection (advisory) ---
430
+ // Track consecutive turns without new file activity.
431
+ // If stalled, inject re-grounding — don't terminate.
432
+ const currentFilesRead = tracker.getReads().length;
433
+ const currentFilesWritten = tracker.getWrites().length;
434
+ const hasActivity = hasNewFileActivity(lastFilesRead, lastFilesWritten, currentFilesRead, currentFilesWritten);
435
+ if (hasActivity) {
436
+ stallTurnCounter = 0;
437
+ lastFilesRead = currentFilesRead;
438
+ lastFilesWritten = currentFilesWritten;
439
+ }
440
+ else {
441
+ stallTurnCounter++;
442
+ if (stallTurnCounter >= STALL_DETECTION_TURNS) {
443
+ const reground = buildReGroundingMessage({
444
+ originalPromptExcerpt: prompt,
445
+ elapsedMs: Date.now() - taskStartMs,
446
+ timeoutMs,
447
+ toolCallsSoFar: tracker.getToolCalls().length,
448
+ filesReadSoFar: tracker.getReads().length,
449
+ });
450
+ emit({
451
+ kind: 'injection',
452
+ injectionType: 'reground',
453
+ turn: currentResult.state.usage.requests,
454
+ contentLengthChars: reground.length,
455
+ });
456
+ if (canAffordNextTurn()) {
457
+ const regroundCont = await runContinuationTurn(currentResult, reground);
458
+ if (regroundCont.ok) {
459
+ currentResult = regroundCont.result;
460
+ stallTurnCounter = 0;
461
+ continue;
462
+ }
463
+ }
464
+ }
465
+ }
410
466
  // Degenerate. Apply same-output early-out (only when we have a
411
467
  // prior degenerate output to compare against) and retry budget.
468
+ // Only count as degenerate when worker has NO tool calls in this turn.
412
469
  if (lastDegenerateOutput !== null && sameDegenerateOutput(stripped, lastDegenerateOutput))
413
470
  break;
414
471
  lastDegenerateOutput = stripped;
415
- supervisionRetries++;
416
- if (supervisionRetries >= MAX_SUPERVISION_RETRIES)
417
- break;
472
+ // Only increment degenerate retries when no tool calls were made this turn.
473
+ // If the worker is still calling tools, it's making progress even if the
474
+ // output text is incomplete.
475
+ if (!hasCompletedWork(tracker.getToolCalls())) {
476
+ degenerateRetries++;
477
+ if (degenerateRetries >= MAX_DEGENERATE_RETRIES)
478
+ break;
479
+ }
418
480
  // --- Re-prompt the model to recover ---
419
481
  const rePrompt = buildRePrompt(validation);
420
482
  emit({
@@ -430,7 +492,7 @@ export async function runOpenAI(prompt, options, runner) {
430
492
  emit({ kind: 'done', status: costExceeded.status });
431
493
  return costExceeded;
432
494
  }
433
- const rePromptCont = await runContinuationTurn(currentResult, rePrompt, SUPERVISION_CONTINUATION_BUDGET);
495
+ const rePromptCont = await runContinuationTurn(currentResult, rePrompt);
434
496
  if (!rePromptCont.ok) {
435
497
  supervisionExhausted = true;
436
498
  break;
@@ -446,8 +508,8 @@ export async function runOpenAI(prompt, options, runner) {
446
508
  }
447
509
  const reground = buildReGroundingMessage({
448
510
  originalPromptExcerpt: prompt,
449
- currentTurn: turnsSoFar,
450
- maxTurns,
511
+ elapsedMs: Date.now() - taskStartMs,
512
+ timeoutMs,
451
513
  toolCallsSoFar: tracker.getToolCalls().length,
452
514
  filesReadSoFar: tracker.getReads().length,
453
515
  });
@@ -462,7 +524,7 @@ export async function runOpenAI(prompt, options, runner) {
462
524
  emit({ kind: 'done', status: costExceeded.status });
463
525
  return costExceeded;
464
526
  }
465
- const regroundCont = await runContinuationTurn(currentResult, reground, SUPERVISION_CONTINUATION_BUDGET);
527
+ const regroundCont = await runContinuationTurn(currentResult, reground);
466
528
  if (!regroundCont.ok) {
467
529
  supervisionExhausted = true;
468
530
  break;
@@ -475,14 +537,15 @@ export async function runOpenAI(prompt, options, runner) {
475
537
  // anything; otherwise return the existing incomplete diagnostic.
476
538
  const exhaustedReason = supervisionExhausted
477
539
  ? `supervision continuation sub-budget exhausted at turn ${currentResult.state.usage.requests}`
478
- : `supervision loop exhausted after ${supervisionRetries} re-prompts (last kind: ${lastValidationKind ?? 'unknown'})`;
540
+ : `supervision loop exhausted after ${degenerateRetries} degenerate retries without tool calls (last kind: ${lastValidationKind ?? 'unknown'})`;
479
541
  const exhausted = buildSupervisionExhaustedResult(currentResult, scratchpad, tracker, runner.providerConfig, Date.now() - taskStartMs, parentModel, { reason: exhaustedReason });
480
542
  emit({ kind: 'done', status: exhausted.status });
481
543
  return exhausted;
482
544
  }
483
545
  catch (err) {
484
546
  if (err instanceof MaxTurnsExceededError) {
485
- // max_turns path: prefer scratchpad salvage over the bare diagnostic.
547
+ // MaxTurnsExceededError from the SDK: map to incomplete with degenerate_exhausted.
548
+ // Prefer scratchpad salvage over the bare diagnostic.
486
549
  // Preserve whatever partial usage we accumulated in the last
487
550
  // successful agentRun so the caller sees real numbers, not zeros.
488
551
  const filesRead = tracker.getReads();
@@ -490,15 +553,16 @@ export async function runOpenAI(prompt, options, runner) {
490
553
  const toolCalls = tracker.getToolCalls();
491
554
  const partial = partialUsage(currentResult, runner.providerConfig);
492
555
  const savedCostUSD = computeSavedCostUSD(partial.costUSD, partial.inputTokens, partial.outputTokens, parentModel);
493
- emit({ kind: 'done', status: 'max_turns' });
556
+ emit({ kind: 'done', status: 'incomplete' });
494
557
  const hasSalvage = !scratchpad.isEmpty();
495
- const turnsAtFailure = currentResult?.state.usage.requests ?? maxTurns;
558
+ const turnsAtFailure = currentResult?.state.usage.requests ?? 0;
496
559
  return {
497
560
  output: hasSalvage
498
561
  ? scratchpad.latest()
499
- : `Agent exceeded max turns (${maxTurns}).`,
500
- status: 'max_turns',
501
- error: `agent exhausted user-declared maxTurns limit (${maxTurns}) after ${turnsAtFailure} turns`,
562
+ : `Agent exceeded time or cost limits.`,
563
+ status: 'incomplete',
564
+ errorCode: 'degenerate_exhausted',
565
+ error: `agent exhausted time/cost budget after ${turnsAtFailure} turns`,
502
566
  usage: { ...partial, savedCostUSD },
503
567
  turns: turnsAtFailure,
504
568
  filesRead,
@@ -530,6 +594,7 @@ export async function runOpenAI(prompt, options, runner) {
530
594
  filesWritten,
531
595
  }),
532
596
  status: 'incomplete',
597
+ errorCode: 'degenerate_exhausted',
533
598
  usage: {
534
599
  inputTokens: usage.inputTokens,
535
600
  outputTokens: usage.outputTokens,
@@ -623,7 +688,7 @@ export async function runOpenAI(prompt, options, runner) {
623
688
  // Preserve partial usage from the last successful agentRun so the
624
689
  // caller sees real numbers, not zeros, on a timeout.
625
690
  usage: { ...partial, savedCostUSD },
626
- turns: currentResult?.state.usage.requests ?? maxTurns,
691
+ turns: currentResult?.state.usage.requests ?? 0,
627
692
  outputIsDiagnostic: !hasSalvage,
628
693
  escalationLog: [],
629
694
  durationMs: Date.now() - taskStartMs,
@@ -676,6 +741,7 @@ function buildSupervisionExhaustedResult(currentResult, scratchpad, tracker, pro
676
741
  filesWritten,
677
742
  }),
678
743
  status: 'incomplete',
744
+ errorCode: 'degenerate_exhausted',
679
745
  usage: {
680
746
  inputTokens: usage.inputTokens,
681
747
  outputTokens: usage.outputTokens,
@@ -1 +1 @@
1
- {"version":3,"file":"openai-runner.js","sourceRoot":"","sources":["../../src/runners/openai-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openai-runner.js","sourceRoot":"","sources":["../../src/runners/openai-runner.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,GAAG,IAAI,QAAQ,EACf,kBAAkB,EAClB,0BAA0B,EAC1B,qBAAqB,GACtB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACL,WAAW,EACX,cAAc,EACd,mBAAmB,GAMpB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAsBvD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,uBAAuB,EACvB,wBAAwB,EACxB,2BAA2B,EAC3B,2BAA2B,GAC5B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,sBAAsB,EACtB,aAAa,EACb,oBAAoB,EACpB,0BAA0B,EAC1B,sBAAsB,EACtB,gBAAgB,EAChB,0BAA0B,EAC1B,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE,mEAAmE;AACnE,kBAAkB,CAAC,IAAI,CAAC,CAAC;AAEzB;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IACrB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,+BAA+B,EAAE,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC;IAC/E,IAAI,CAAC,QAAQ,IAAI,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACxD,OAAO,0BAA0B,CAAC;IACpC,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAQD;;;;;;;;;GASG;AACH,SAAS,oBAAoB,CAAC,QAAmB;IAC/C,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,IAAI,IAAI,CAAC,IAAI,KAAK,qBAAqB;YAAE,SAAS;QAClD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC;QACzB,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW;YAAE,SAAS;QACvC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;YAAE,SAAS;QACtC,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;YAC3B,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACjE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACzB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,MAAc,EACd,OAAmB,EACnB,MAA2B;IAE3B,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC,cAAc,CAAC,SAAS,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;IACpG,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;IACxD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACzC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC;IAE9D,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,MAAM,CAAC,cAAc,CAAC,aAAa,IAAI,UAAU,CAAC;IACjG,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;IAE9C,2EAA2E;IAC3E,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC/B,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAExC,2EAA2E;IAC3E,EAAE;IACF,oEAAoE;IACpE,iEAAiE;IACjE,mEAAmE;IACnE,cAAc;IACd,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IACtC,MAAM,IAAI,GAAG,CAAC,KAAoB,EAAQ,EAAE;QAC1C,IAAI,UAAU;YAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC,CAAC;IAEF,4EAA4E;IAC5E,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IAEjE,4EAA4E;IAC5E,MAAM,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;IAClC,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,IAAI,IAAI,mBAAmB,CAAC;IAEpE,sEAAsE;IACtE,wEAAwE;IACxE,oEAAoE;IACpE,oEAAoE;IACpE,oDAAoD;IACpD,IAAI,aAAyC,CAAC;IAE9C,gFAAgF;IAChF,IAAI,eAAe,GAAG,CAAC,CAAC;IAExB,4DAA4D;IAC5D,mEAAmE;IACnE,uEAAuE;IACvE,qEAAqE;IACrE,oEAAoE;IACpE,2DAA2D;IAC3D,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,CAAC,OAAO,EAAE,EAAE;QAC1C,MAAM,YAAY,GAAG,CAAC,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACpE,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,yBAAyB,CAAC,OAAO,EAAE,GAAG,EAAE,aAAa,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;IACjG,MAAM,SAAS,GAAG,iBAAiB,CAAC,SAAS,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;IAExE,oGAAoG;IACpG,8DAA8D;IAC9D,MAAM,WAAW,GAAG,QAAQ,KAAK,MAAM;QACrC,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAU,CAAA,CAAC;QAC1E,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,KAAK,GAAG,CAAC,GAAG,SAAS,EAAE,GAAG,WAAW,CAAC,CAAC;IAE7C,8DAA8D;IAC9D,MAAM,KAAK,GAAG,IAAI,0BAA0B,CAAC,MAAM,CAAC,MAAa,EAAE,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAEhG,wDAAwD;IACxD,EAAE;IACF,4EAA4E;IAC5E,6EAA6E;IAC7E,uEAAuE;IACvE,2EAA2E;IAC3E,iEAAiE;IACjE,sCAAsC;IACtC,MAAM,YAAY,GAAG,iBAAiB,EAAE,GAAG,2BAA2B,CAAC,OAAO,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;IACxG,MAAM,UAAU,GAAG,eAAe,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IAClF,MAAM,oBAAoB,GAAG,GAAG,UAAU,OAAO,MAAM,EAAE,CAAC;IAE1D,0EAA0E;IAC1E,EAAE;IACF,qEAAqE;IACrE,uEAAuE;IACvE,oEAAoE;IACpE,mEAAmE;IACnE,sEAAsE;IACtE,sEAAsE;IACtE,sEAAsE;IACtE,mEAAmE;IACnE,iEAAiE;IACjE,qEAAqE;IACrE,oEAAoE;IACpE,oEAAoE;IACpE,oCAAoC;IACpC,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;QAC7B,MAAM,qBAAqB,GAAG,GAAG,YAAY,OAAO,oBAAoB,EAAE,CAAC;QAC3E,IAAI,CAAC;YACH,OAAO,CAAC,gBAAgB,CAAC;gBACvB,WAAW,EAAE,qBAAqB,CAAC,MAAM;gBACzC,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aACzE,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,wDAAwD;QAC1D,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC;QACtB,IAAI,EAAE,WAAW;QACjB,KAAK;QACL,YAAY,EAAE,YAAY;QAC1B,KAAK;QACL,GAAG,CAAC,MAAM,IAAI,MAAM,KAAK,MAAM,IAAI;YACjC,8DAA8D;YAC9D,aAAa,EAAE,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,MAAa,EAAE,EAAE;SACxD,CAAC;KACH,CAAC,CAAC;IAEH,oEAAoE;IACpE,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC9D,MAAM,SAAS,GAAG,0BAA0B,CAAC,MAAM,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IAE7E,yEAAyE;IACzE,sEAAsE;IACtE,sEAAsE;IACtE,uBAAuB;IACvB,MAAM,UAAU,GAAG,IAAI,cAAc,EAAE,CAAC;IAExC;;;;;;;;;;;OAWG;IACH,MAAM,YAAY,GAAG,CACnB,IAAoB,EACpB,eAAuB,EACL,EAAE;QACpB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,OAAO;YACL,GAAG,OAAO;YACV,EAAE,IAAI,EAAE,MAAe,EAAE,OAAO,EAAE,eAAe,EAAE;SACpD,CAAC;IACJ,CAAC,CAAC;IAEF;;;;;;;;;;;;;;;;;OAiBG;IACH,MAAM,gBAAgB,GAAG,KAAK,EAC5B,KAAgC,EACP,EAAE;QAC3B,MAAM,QAAQ,GAAG,CAAC,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAChE,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,mBAAmB,EAAE,CAAC,CAAC;QAC5E,MAAM,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE;YAC3C,QAAQ,EAAE,MAAM,CAAC,gBAAgB;YACjC,MAAM,EAAE,eAAe,CAAC,MAAM;SAC/B,CAAC,CAAmB,CAAC;QACtB,MAAM,IAAI,GAAG,iBAAiB,CAAC,oBAAoB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QACtE,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACrD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,IAAI,CAAC;gBACH,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ;gBACjC,KAAK,EAAE,IAAI,CAAC,MAAM;gBAClB,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;aAC5B,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC;YACH,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ;YACjC,qBAAqB,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW;YACrD,sBAAsB,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY;SACxD,CAAC,CAAC;QACH,2BAA2B;QAC3B,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;QACxH,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACtB,eAAe,GAAG,QAAQ,CAAC;YAC3B,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC1B,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IAEF,MAAM,GAAG,GAAG,KAAK,IAAwB,EAAE;QACzC,IAAI,CAAC;YACH,aAAa,GAAG,MAAM,gBAAgB,CAAC,oBAAoB,CAAC,CAAC;YAE7D,+DAA+D;YAC/D,yEAAyE;YACzE,sEAAsE;YACtE,iEAAiE;YACjE,IAAI,iBAAiB,GAAG,CAAC,CAAC;YAC1B,IAAI,gBAAgB,GAAG,CAAC,CAAC;YACzB,IAAI,aAAa,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC;YAC9C,IAAI,gBAAgB,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC;YAClD,sEAAsE;YACtE,kEAAkE;YAClE,sEAAsE;YACtE,2DAA2D;YAC3D,IAAI,oBAAoB,GAAG,KAAK,CAAC;YACjC,gEAAgE;YAChE,wDAAwD;YACxD,4DAA4D;YAC5D,iEAAiE;YACjE,2DAA2D;YAC3D,IAAI,oBAAoB,GAAkB,IAAI,CAAC;YAC/C,+DAA+D;YAC/D,2DAA2D;YAC3D,4DAA4D;YAC5D,6CAA6C;YAC7C,iEAAiE;YACjE,6DAA6D;YAC7D,IAAI,qBAAqB,GAAG,CAAC,CAAC,CAAC;YAC/B,IAAI,kBAAkB,GAAuB,SAAS,CAAC;YAEvD;;eAEG;YACH,SAAS,iBAAiB;gBACxB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;oBACzE,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;YAED;;eAEG;YACH,SAAS,uBAAuB,CAAC,cAAsB;gBACrD,MAAM,OAAO,GAAG,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;gBACnE,OAAO;oBACL,MAAM,EAAE,qCAAqC,OAAO,CAAC,UAAU,EAAE;oBACjE,MAAM,EAAE,eAAe;oBACvB,KAAK,EAAE,EAAE,GAAG,OAAO,EAAE,YAAY,EAAE,CAAC,EAAE;oBACtC,KAAK,EAAE,cAAc;oBACrB,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE;oBAC7B,iBAAiB,EAAE,OAAO,CAAC,oBAAoB,EAAE;oBACjD,YAAY,EAAE,OAAO,CAAC,SAAS,EAAE;oBACjC,SAAS,EAAE,OAAO,CAAC,YAAY,EAAE;oBACjC,kBAAkB,EAAE,IAAI;oBACxB,aAAa,EAAE,EAAE;oBACjB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW;iBACrC,CAAC;YACJ,CAAC;YAED;;;;eAIG;YACH,KAAK,UAAU,mBAAmB,CAChC,aAA6B,EAC7B,WAAmB;gBAKnB,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,YAAY,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC,CAAC;oBAChF,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;gBAC9B,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,IAAI,GAAG,YAAY,qBAAqB,EAAE,CAAC;wBACzC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,wBAAwB,EAAE,aAAa,EAAE,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;oBACvH,CAAC;oBACD,MAAM,GAAG,CAAC;gBACZ,CAAC;YACH,CAAC;YAED,0CAA0C;YAC1C,yDAAyD;YACzD,kDAAkD;YAClD,mEAAmE;YACnE,sEAAsE;YACtE,6DAA6D;YAC7D,iDAAiD;YACjD,OAAO,IAAI,EAAE,CAAC;gBACZ,yBAAyB;gBACzB,MAAM,kBAAkB,GAAG,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC;gBACjE,MAAM,cAAc,GAAG,sBAAsB,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAC;gBAE7E,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;oBAC5B,gBAAgB,CAAC,cAAc,EAAE;wBAC/B,QAAQ,EAAE,mBAAmB;wBAC7B,KAAK,EAAE,MAAM,CAAC,cAAc,CAAC,KAAK;wBAClC,IAAI,EAAE,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ;wBACxC,WAAW,EAAE,kBAAkB;wBAC/B,SAAS;wBACT,eAAe,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,MAAM;qBAC9C,CAAC,CAAC;gBACL,CAAC;gBAED,IAAI,cAAc,KAAK,eAAe,EAAE,CAAC;oBACvC,2DAA2D;oBAC3D,8DAA8D;oBAC9D,wDAAwD;oBACxD,wDAAwD;oBACxD,2CAA2C;oBAC3C,IAAI,CAAC;wBACH,IAAI,EAAE,WAAW;wBACjB,aAAa,EAAE,wBAAwB;wBACvC,IAAI,EAAE,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ;wBACxC,kBAAkB,EAAE,CAAC;qBACtB,CAAC,CAAC;oBACH,MAAM,QAAQ,GAAG,uBAAuB,CACtC,aAAa,EACb,UAAU,EACV,OAAO,EACP,MAAM,CAAC,cAAc,EACrB,SAAS,EACT,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW,EACxB,WAAW,CACZ,CAAC;oBACF,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;oBAChD,OAAO,QAAQ,CAAC;gBAClB,CAAC;gBAED,iEAAiE;gBACjE,+DAA+D;gBAC/D,8DAA8D;gBAC9D,gEAAgE;gBAChE,8DAA8D;gBAC9D,0DAA0D;gBAC1D,+DAA+D;gBAC/D,kCAAkC;gBAClC,IAAI,cAAc,KAAK,SAAS,IAAI,kBAAkB,GAAG,qBAAqB,EAAE,CAAC;oBAC/E,MAAM,OAAO,GAAG,wBAAwB,CAAC;wBACvC,WAAW,EAAE,kBAAkB;wBAC/B,SAAS;qBACV,CAAC,CAAC;oBACH,IAAI,CAAC;wBACH,IAAI,EAAE,WAAW;wBACjB,aAAa,EAAE,kBAAkB;wBACjC,IAAI,EAAE,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ;wBACxC,kBAAkB,EAAE,OAAO,CAAC,MAAM;qBACnC,CAAC,CAAC;oBACH,qBAAqB,GAAG,kBAAkB,CAAC;oBAC3C,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC;wBACzB,MAAM,YAAY,GAAG,uBAAuB,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;wBACjF,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;wBACpD,OAAO,YAAY,CAAC;oBACtB,CAAC;oBACD,MAAM,WAAW,GAAG,MAAM,mBAAmB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;oBACtE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC;wBACpB,oBAAoB,GAAG,IAAI,CAAC;wBAC5B,MAAM;oBACR,CAAC;oBACD,aAAa,GAAG,WAAW,CAAC,MAAM,CAAC;gBACrC,CAAC;gBAED,2BAA2B;gBAC3B,MAAM,QAAQ,GAAG,iBAAiB,CAAC,aAAa,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;gBACpE,MAAM,UAAU,GAAG,sBAAsB,CAAC,QAAQ,EAAE;oBAClD,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;oBAC1C,uBAAuB,EAAE,OAAO,CAAC,uBAAuB;oBACxD,gBAAgB,EAAE,gBAAgB,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;iBAC3D,CAAC,CAAC;gBAEH,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;oBACrB,MAAM,EAAE,GAAG,aAAa,CAAC,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,CAAC,cAAc,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW,EAAE,WAAW,CAAC,CAAC;oBACzH,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;oBAC1C,OAAO,EAAE,CAAC;gBACZ,CAAC;gBAED,qEAAqE;gBACrE,kBAAkB,GAAG,UAAU,CAAC,IAAI,CAAC;gBAErC,oCAAoC;gBACpC,+DAA+D;gBAC/D,oFAAoF;gBACpF,IAAI,kBAAkB,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC;oBAC/C,MAAM,QAAQ,GAAG,uBAAuB,CAAC;wBACvC,qBAAqB,EAAE,MAAM;wBAC7B,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW;wBACnC,SAAS;wBACT,cAAc,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,MAAM;wBAC7C,cAAc,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM;qBAC1C,CAAC,CAAC;oBACH,IAAI,CAAC;wBACH,IAAI,EAAE,WAAW;wBACjB,aAAa,EAAE,UAAU;wBACzB,IAAI,EAAE,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ;wBACxC,kBAAkB,EAAE,QAAQ,CAAC,MAAM;qBACpC,CAAC,CAAC;oBACH,IAAI,iBAAiB,EAAE,EAAE,CAAC;wBACtB,MAAM,YAAY,GAAG,MAAM,mBAAmB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;wBAC1E,IAAI,YAAY,CAAC,EAAE,EAAE,CAAC;4BACpB,aAAa,GAAG,YAAY,CAAC,MAAM,CAAC;4BACpC,SAAS;wBACX,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,qCAAqC;gBACrC,qDAAqD;gBACrD,qDAAqD;gBACrD,MAAM,gBAAgB,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC;gBACnD,MAAM,mBAAmB,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC;gBACvD,MAAM,WAAW,GAAG,kBAAkB,CAAC,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,mBAAmB,CAAC,CAAC;gBAC/G,IAAI,WAAW,EAAE,CAAC;oBAChB,gBAAgB,GAAG,CAAC,CAAC;oBACrB,aAAa,GAAG,gBAAgB,CAAC;oBACjC,gBAAgB,GAAG,mBAAmB,CAAC;gBACzC,CAAC;qBAAM,CAAC;oBACN,gBAAgB,EAAE,CAAC;oBACnB,IAAI,gBAAgB,IAAI,qBAAqB,EAAE,CAAC;wBAC9C,MAAM,QAAQ,GAAG,uBAAuB,CAAC;4BACvC,qBAAqB,EAAE,MAAM;4BAC7B,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW;4BACnC,SAAS;4BACT,cAAc,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,MAAM;4BAC7C,cAAc,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM;yBAC1C,CAAC,CAAC;wBACH,IAAI,CAAC;4BACH,IAAI,EAAE,WAAW;4BACjB,aAAa,EAAE,UAAU;4BACzB,IAAI,EAAE,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ;4BACxC,kBAAkB,EAAE,QAAQ,CAAC,MAAM;yBACpC,CAAC,CAAC;wBACH,IAAI,iBAAiB,EAAE,EAAE,CAAC;4BAC1B,MAAM,YAAY,GAAG,MAAM,mBAAmB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;4BACtE,IAAI,YAAY,CAAC,EAAE,EAAE,CAAC;gCACpB,aAAa,GAAG,YAAY,CAAC,MAAM,CAAC;gCACpC,gBAAgB,GAAG,CAAC,CAAC;gCACrB,SAAS;4BACX,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,+DAA+D;gBAC/D,gEAAgE;gBAChE,uEAAuE;gBACvE,IAAI,oBAAoB,KAAK,IAAI,IAAI,oBAAoB,CAAC,QAAQ,EAAE,oBAAoB,CAAC;oBAAE,MAAM;gBACjG,oBAAoB,GAAG,QAAQ,CAAC;gBAChC,4EAA4E;gBAC5E,yEAAyE;gBACzE,6BAA6B;gBAC7B,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC;oBAC9C,iBAAiB,EAAE,CAAC;oBACpB,IAAI,iBAAiB,IAAI,sBAAsB;wBAAE,MAAM;gBACzD,CAAC;gBAED,yCAAyC;gBACzC,MAAM,QAAQ,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;gBAC3C,IAAI,CAAC;oBACH,IAAI,EAAE,WAAW;oBACjB,aAAa,EAAE,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC;oBAChD,IAAI,EAAE,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ;oBACxC,kBAAkB,EAAE,QAAQ,CAAC,MAAM;iBACpC,CAAC,CAAC;gBACH,+DAA+D;gBAC/D,0DAA0D;gBAC1D,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC;oBACzB,MAAM,YAAY,GAAG,uBAAuB,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;oBACjF,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;oBACpD,OAAO,YAAY,CAAC;gBACtB,CAAC;gBACD,MAAM,YAAY,GAAG,MAAM,mBAAmB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;gBACxE,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC;oBACrB,oBAAoB,GAAG,IAAI,CAAC;oBAC5B,MAAM;gBACR,CAAC;gBACD,aAAa,GAAG,YAAY,CAAC,MAAM,CAAC;gBAEpC,gCAAgC;gBAChC,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC;gBACtD,IAAI,UAAU,GAAG,CAAC,IAAI,UAAU,GAAG,2BAA2B,KAAK,CAAC,EAAE,CAAC;oBACrE,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC;wBACzB,MAAM,YAAY,GAAG,uBAAuB,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;wBACjF,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;wBACpD,OAAO,YAAY,CAAC;oBACtB,CAAC;oBACD,MAAM,QAAQ,GAAG,uBAAuB,CAAC;wBACvC,qBAAqB,EAAE,MAAM;wBAC7B,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW;wBACnC,SAAS;wBACT,cAAc,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,MAAM;wBAC7C,cAAc,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM;qBAC1C,CAAC,CAAC;oBACH,IAAI,CAAC;wBACH,IAAI,EAAE,WAAW;wBACjB,aAAa,EAAE,UAAU;wBACzB,IAAI,EAAE,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ;wBACxC,kBAAkB,EAAE,QAAQ,CAAC,MAAM;qBACpC,CAAC,CAAC;oBACH,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC;wBACzB,MAAM,YAAY,GAAG,uBAAuB,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;wBACjF,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;wBACpD,OAAO,YAAY,CAAC;oBACtB,CAAC;oBACD,MAAM,YAAY,GAAG,MAAM,mBAAmB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;oBACxE,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC;wBACrB,oBAAoB,GAAG,IAAI,CAAC;wBAC5B,MAAM;oBACR,CAAC;oBACD,aAAa,GAAG,YAAY,CAAC,MAAM,CAAC;gBACtC,CAAC;YACH,CAAC;YAED,yEAAyE;YACzE,wEAAwE;YACxE,iEAAiE;YACjE,MAAM,eAAe,GAAG,oBAAoB;gBAC1C,CAAC,CAAC,yDAAyD,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE;gBAC/F,CAAC,CAAC,oCAAoC,iBAAiB,sDAAsD,kBAAkB,IAAI,SAAS,GAAG,CAAC;YAClJ,MAAM,SAAS,GAAG,+BAA+B,CAC/C,aAAa,EACb,UAAU,EACV,OAAO,EACP,MAAM,CAAC,cAAc,EACrB,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW,EACxB,WAAW,EACX,EAAE,MAAM,EAAE,eAAe,EAAE,CAC5B,CAAC;YACF,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;YACjD,OAAO,SAAS,CAAC;QACnB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,qBAAqB,EAAE,CAAC;gBACzC,mFAAmF;gBACnF,sDAAsD;gBACtD,6DAA6D;gBAC7D,kEAAkE;gBAClE,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACrC,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;gBACzC,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;gBACzC,MAAM,OAAO,GAAG,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;gBACnE,MAAM,YAAY,GAAG,mBAAmB,CACtC,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,YAAY,EACpB,WAAW,CACZ,CAAC;gBACF,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;gBAC7C,MAAM,UAAU,GAAG,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;gBACzC,MAAM,cAAc,GAAG,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,CAAC;gBAChE,OAAO;oBACL,MAAM,EAAE,UAAU;wBAChB,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE;wBACrB,CAAC,CAAC,qCAAqC;oBACzC,MAAM,EAAE,YAAY;oBACpB,SAAS,EAAE,sBAAsB;oBACjC,KAAK,EAAE,0CAA0C,cAAc,QAAQ;oBACvE,KAAK,EAAE,EAAE,GAAG,OAAO,EAAE,YAAY,EAAE;oBACnC,KAAK,EAAE,cAAc;oBACrB,SAAS;oBACT,iBAAiB,EAAE,OAAO,CAAC,oBAAoB,EAAE;oBACjD,YAAY;oBACZ,SAAS;oBACT,kBAAkB,EAAE,CAAC,UAAU;oBAC/B,aAAa,EAAE,EAAE;oBACjB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW;iBACrC,CAAC;YACJ,CAAC;YAED,SAAS,+BAA+B,CACtC,aAA6B,EAC7B,UAA0B,EAC1B,OAAoB,EACpB,cAA8B,EAC9B,UAAkB,EAClB,WAAoB,EACpB,IAA0B;gBAE1B,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC;gBACxC,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACrC,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;gBACzC,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;gBACzC,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;gBACtF,MAAM,YAAY,GAAG,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;gBACtG,MAAM,UAAU,GAAG,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;gBACzC,OAAO;oBACL,MAAM,EAAE,UAAU;wBAChB,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE;wBACrB,CAAC,CAAC,yBAAyB,CAAC;4BACxB,aAAa,EAAE,mBAAmB;4BAClC,KAAK,EAAE,KAAK,CAAC,QAAQ;4BACrB,WAAW,EAAE,KAAK,CAAC,WAAW;4BAC9B,YAAY,EAAE,KAAK,CAAC,YAAY;4BAChC,SAAS;4BACT,YAAY;yBACb,CAAC;oBACN,MAAM,EAAE,YAAY;oBACpB,SAAS,EAAE,sBAAsB;oBACjC,KAAK,EAAE;wBACL,WAAW,EAAE,KAAK,CAAC,WAAW;wBAC9B,YAAY,EAAE,KAAK,CAAC,YAAY;wBAChC,WAAW,EAAE,KAAK,CAAC,WAAW;wBAC9B,OAAO;wBACP,YAAY;qBACb;oBACD,KAAK,EAAE,KAAK,CAAC,QAAQ;oBACrB,SAAS;oBACT,iBAAiB,EAAE,OAAO,CAAC,oBAAoB,EAAE;oBACjD,YAAY;oBACZ,SAAS;oBACT,kBAAkB,EAAE,CAAC,UAAU;oBAC/B,aAAa,EAAE,EAAE;oBACjB,GAAG,CAAC,IAAI,EAAE,MAAM,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;oBAC3C,UAAU;iBACX,CAAC;YACJ,CAAC;YAED,SAAS,uBAAuB,CAC9B,aAA6B,EAC7B,UAA0B,EAC1B,OAAoB,EACpB,cAA8B,EAC9B,SAAiB,EACjB,UAAkB,EAClB,WAAoB;gBAEpB,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC;gBACxC,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACrC,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;gBACzC,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;gBACzC,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;gBACtF,MAAM,YAAY,GAAG,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;gBACtG,MAAM,UAAU,GAAG,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;gBACzC,OAAO;oBACL,MAAM,EAAE,UAAU;wBAChB,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE;wBACrB,CAAC,CAAC,uDAAuD,KAAK,CAAC,WAAW,6BAA6B,SAAS,kCAAkC;oBACpJ,MAAM,EAAE,YAAY;oBACpB,KAAK,EAAE;wBACL,WAAW,EAAE,KAAK,CAAC,WAAW;wBAC9B,YAAY,EAAE,KAAK,CAAC,YAAY;wBAChC,WAAW,EAAE,KAAK,CAAC,WAAW;wBAC9B,OAAO;wBACP,YAAY;qBACb;oBACD,KAAK,EAAE,KAAK,CAAC,QAAQ;oBACrB,SAAS;oBACT,iBAAiB,EAAE,OAAO,CAAC,oBAAoB,EAAE;oBACjD,YAAY;oBACZ,SAAS;oBACT,kBAAkB,EAAE,CAAC,UAAU;oBAC/B,aAAa,EAAE,EAAE;oBACjB,UAAU;iBACX,CAAC;YACJ,CAAC;YACD,kEAAkE;YAClE,qEAAqE;YACrE,iEAAiE;YACjE,gEAAgE;YAChE,oEAAoE;YACpE,kCAAkC;YAClC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;YAC9C,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;YAC/B,MAAM,UAAU,GAAG,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YACzC,MAAM,OAAO,GAAG,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;YACnE,MAAM,YAAY,GAAG,mBAAmB,CACtC,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,YAAY,EACpB,WAAW,CACZ,CAAC;YACF,OAAO;gBACL,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,oBAAoB,GAAG,EAAE;gBACpE,MAAM;gBACN,KAAK,EAAE,EAAE,GAAG,OAAO,EAAE,YAAY,EAAE;gBACnC,KAAK,EAAE,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC;gBAC/C,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE;gBAC7B,iBAAiB,EAAE,OAAO,CAAC,oBAAoB,EAAE;gBACjD,YAAY,EAAE,OAAO,CAAC,SAAS,EAAE;gBACjC,SAAS,EAAE,OAAO,CAAC,YAAY,EAAE;gBACjC,kBAAkB,EAAE,CAAC,UAAU;gBAC/B,aAAa,EAAE,EAAE;gBACjB,KAAK,EAAE,GAAG,IAAI,MAAM;gBACpB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW;aACrC,CAAC;QACJ,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,WAAW,CAChB,GAAG,EAAE,EACL,SAAS,EACT,GAAG,EAAE;QACH,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;QAC1C,MAAM,UAAU,GAAG,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;QACnE,MAAM,YAAY,GAAG,mBAAmB,CACtC,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,YAAY,EACpB,WAAW,CACZ,CAAC;QACF,OAAO;YACL,MAAM,EAAE,UAAU;gBAChB,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE;gBACrB,CAAC,CAAC,yBAAyB,SAAS,KAAK;YAC3C,MAAM,EAAE,SAAS;YACjB,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE;YAC7B,iBAAiB,EAAE,OAAO,CAAC,oBAAoB,EAAE;YACjD,YAAY,EAAE,OAAO,CAAC,SAAS,EAAE;YACjC,SAAS,EAAE,OAAO,CAAC,YAAY,EAAE;YACjC,kEAAkE;YAClE,qDAAqD;YACrD,KAAK,EAAE,EAAE,GAAG,OAAO,EAAE,YAAY,EAAE;YACnC,KAAK,EAAE,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC;YAC/C,kBAAkB,EAAE,CAAC,UAAU;YAC/B,aAAa,EAAE,EAAE;YACjB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW;SACrC,CAAC;IACJ,CAAC,EACD,eAAe,CAChB,CAAC;AACJ,CAAC;AAED,+EAA+E;AAE/E,SAAS,aAAa,CACpB,MAAc,EACd,aAA6B,EAC7B,OAAoB,EACpB,cAA8B,EAC9B,UAAkB,EAClB,WAAoB;IAEpB,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC;IACxC,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;IACtF,MAAM,YAAY,GAAG,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IACtG,OAAO;QACL,MAAM;QACN,MAAM,EAAE,IAAI;QACZ,KAAK,EAAE;YACL,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,OAAO;YACP,YAAY;SACb;QACD,KAAK,EAAE,KAAK,CAAC,QAAQ;QACrB,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE;QAC7B,iBAAiB,EAAE,OAAO,CAAC,oBAAoB,EAAE;QACjD,YAAY,EAAE,OAAO,CAAC,SAAS,EAAE;QACjC,SAAS,EAAE,OAAO,CAAC,YAAY,EAAE;QACjC,gEAAgE;QAChE,kBAAkB,EAAE,KAAK;QACzB,aAAa,EAAE,EAAE;QACjB,UAAU;KACX,CAAC;AACJ,CAAC;AAED,SAAS,+BAA+B,CACtC,aAA6B,EAC7B,UAA0B,EAC1B,OAAoB,EACpB,cAA8B,EAC9B,UAAkB,EAClB,WAAoB,EACpB,IAA0B;IAE1B,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC;IACxC,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IACrC,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IACzC,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IACzC,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;IACtF,MAAM,YAAY,GAAG,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IACtG,MAAM,UAAU,GAAG,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;IACzC,OAAO;QACL,MAAM,EAAE,UAAU;YAChB,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE;YACrB,CAAC,CAAC,yBAAyB,CAAC;gBACxB,aAAa,EAAE,mBAAmB;gBAClC,KAAK,EAAE,KAAK,CAAC,QAAQ;gBACrB,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,YAAY,EAAE,KAAK,CAAC,YAAY;gBAChC,SAAS;gBACT,YAAY;aACb,CAAC;QACN,MAAM,EAAE,YAAY;QACpB,SAAS,EAAE,sBAAsB;QACjC,KAAK,EAAE;YACL,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,OAAO;YACP,YAAY;SACb;QACD,KAAK,EAAE,KAAK,CAAC,QAAQ;QACrB,SAAS;QACT,iBAAiB,EAAE,OAAO,CAAC,oBAAoB,EAAE;QACjD,YAAY;QACZ,SAAS;QACT,kBAAkB,EAAE,CAAC,UAAU;QAC/B,aAAa,EAAE,EAAE;QACjB,GAAG,CAAC,IAAI,EAAE,MAAM,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3C,UAAU;KACX,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAC9B,aAA6B,EAC7B,UAA0B,EAC1B,OAAoB,EACpB,cAA8B,EAC9B,SAAiB,EACjB,UAAkB,EAClB,WAAoB;IAEpB,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC;IACxC,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IACrC,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IACzC,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IACzC,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;IACtF,MAAM,YAAY,GAAG,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IACtG,MAAM,UAAU,GAAG,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;IACzC,OAAO;QACL,MAAM,EAAE,UAAU;YAChB,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE;YACrB,CAAC,CAAC,uDAAuD,KAAK,CAAC,WAAW,6BAA6B,SAAS,kCAAkC;QACpJ,MAAM,EAAE,YAAY;QACpB,KAAK,EAAE;YACL,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,OAAO;YACP,YAAY;SACb;QACD,KAAK,EAAE,KAAK,CAAC,QAAQ;QACrB,SAAS;QACT,iBAAiB,EAAE,OAAO,CAAC,oBAAoB,EAAE;QACjD,YAAY;QACZ,SAAS;QACT,kBAAkB,EAAE,CAAC,UAAU;QAC/B,aAAa,EAAE,EAAE;QACjB,UAAU;KACX,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,yBAAyB,CAAC,IAOlC;IACC,MAAM,KAAK,GAAG;QACZ,IAAI,IAAI,CAAC,aAAa,yDAAyD;QAC/E,EAAE;QACF,kFAAkF;YAChF,4BAA4B;QAC9B,4DAA4D;QAC5D,4EAA4E;QAC5E,4EAA4E;QAC5E,EAAE;QACF,kBAAkB,IAAI,CAAC,KAAK,EAAE;QAC9B,kBAAkB,IAAI,CAAC,WAAW,EAAE;QACpC,kBAAkB,IAAI,CAAC,YAAY,EAAE;QACrC,kBAAkB,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACnH,kBAAkB,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAC5H,EAAE;QACF,6GAA6G;KAC9G,CAAC;IACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,cAAc,CAAC,KAAe;IACrC,MAAM,SAAS,GAAG,EAAE,CAAC;IACrB,IAAI,KAAK,CAAC,MAAM,IAAI,SAAS;QAAE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvD,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,MAAM,GAAG,SAAS,OAAO,CAAC;AACvF,CAAC;AAED;;;;;GAKG;AACH,SAAS,YAAY,CACnB,MAAkC,EAClC,cAA8B;IAE9B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC5E,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;IACjC,OAAO;QACL,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,EAAE,cAAc,CAAC;KAC/E,CAAC;AACJ,CAAC"}
@@ -14,14 +14,15 @@
14
14
  import type { FormatConstraints } from '../types.js';
15
15
  export declare function buildSystemPrompt(): string;
16
16
  export interface BuildBudgetHintOptions {
17
- maxTurns: number;
17
+ timeoutMs: number;
18
+ maxCostUSD?: number;
18
19
  }
19
20
  export declare function buildBudgetHint(opts: BuildBudgetHintOptions): string;
20
21
  export declare const RE_GROUNDING_INTERVAL_TURNS = 10;
21
22
  export interface BuildReGroundingMessageOptions {
22
23
  originalPromptExcerpt: string;
23
- currentTurn: number;
24
- maxTurns: number;
24
+ elapsedMs: number;
25
+ timeoutMs: number;
25
26
  toolCallsSoFar: number;
26
27
  filesReadSoFar: number;
27
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"prevention.d.ts","sourceRoot":"","sources":["../../src/runners/prevention.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD,wBAAgB,iBAAiB,IAAI,MAAM,CA4B1C;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,sBAAsB,GAAG,MAAM,CAOpE;AAED,eAAO,MAAM,2BAA2B,KAAK,CAAC;AAE9C,MAAM,WAAW,8BAA8B;IAC7C,qBAAqB,EAAE,MAAM,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,8BAA8B,GAAG,MAAM,CAUpF;AAED,MAAM,WAAW,+BAA+B;IAC9C,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,+BAA+B,GAAG,MAAM,CAMtF;AAED,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,iBAAiB,GAAG,MAAM,CAYlF"}
1
+ {"version":3,"file":"prevention.d.ts","sourceRoot":"","sources":["../../src/runners/prevention.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD,wBAAgB,iBAAiB,IAAI,MAAM,CA4B1C;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,sBAAsB,GAAG,MAAM,CAQpE;AAED,eAAO,MAAM,2BAA2B,KAAK,CAAC;AAE9C,MAAM,WAAW,8BAA8B;IAC7C,qBAAqB,EAAE,MAAM,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,8BAA8B,GAAG,MAAM,CAWpF;AAED,MAAM,WAAW,+BAA+B;IAC9C,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,+BAA+B,GAAG,MAAM,CAMtF;AAED,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,iBAAiB,GAAG,MAAM,CAYlF"}
@@ -41,23 +41,25 @@ export function buildSystemPrompt() {
41
41
  ].join('\n');
42
42
  }
43
43
  export function buildBudgetHint(opts) {
44
- const half = Math.floor(opts.maxTurns / 2);
45
- return [
46
- `Budget: you have ${opts.maxTurns} tool calls for this task.`,
47
- 'Batch your investigation using recursive grep over file-by-file reads. Write findings as you go.',
48
- `At ${half} calls, start drafting your final answer.`,
49
- ].join(' ');
44
+ const timeMin = Math.round(opts.timeoutMs / 60_000);
45
+ const parts = [`Budget: you have ${timeMin} minutes for this task.`];
46
+ if (opts.maxCostUSD !== undefined) {
47
+ parts.push(`Cost ceiling: $${opts.maxCostUSD}.`);
48
+ }
49
+ parts.push('Work efficiently. Write findings as you go.');
50
+ return parts.join(' ');
50
51
  }
51
52
  export const RE_GROUNDING_INTERVAL_TURNS = 10;
52
53
  export function buildReGroundingMessage(opts) {
53
- const percent = Math.round((opts.currentTurn / opts.maxTurns) * 100);
54
54
  const excerpt = opts.originalPromptExcerpt.slice(0, 200);
55
+ const elapsedMin = Math.round(opts.elapsedMs / 60_000);
56
+ const totalMin = Math.round(opts.timeoutMs / 60_000);
55
57
  return [
56
58
  `Reminder: your task is "${excerpt}${opts.originalPromptExcerpt.length > 200 ? '...' : ''}".`,
57
- `You are at turn ${opts.currentTurn} of ${opts.maxTurns} (≈ ${percent}% of budget used).`,
58
- `Tool calls so far: ${opts.toolCallsSoFar}. Files read: ${opts.filesReadSoFar}.`,
59
+ `Elapsed: ${elapsedMin} of ${totalMin} minutes.`,
60
+ `Tool calls: ${opts.toolCallsSoFar}. Files read: ${opts.filesReadSoFar}.`,
59
61
  'Start drafting your final answer now.',
60
- 'Use your remaining budget to fill gaps, then finalize.',
62
+ 'Use your remaining time to fill gaps, then finalize.',
61
63
  ].join(' ');
62
64
  }
63
65
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"prevention.js","sourceRoot":"","sources":["../../src/runners/prevention.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,MAAM,UAAU,iBAAiB;IAC/B,OAAO;QACL,4GAA4G;QAC5G,EAAE;QACF,4UAA4U;QAC5U,EAAE;QACF,6SAA6S;QAC7S,EAAE;QACF,aAAa;QACb,0GAA0G;QAC1G,iKAAiK;QACjK,oEAAoE;QACpE,mGAAmG;QACnG,8LAA8L;QAC9L,EAAE;QACF,cAAc;QACd,4FAA4F;QAC5F,oIAAoI;QACpI,iJAAiJ;QACjJ,iHAAiH;QACjH,EAAE;QACF,0BAA0B;QAC1B,yIAAyI;QACzI,uIAAuI;QACvI,6IAA6I;QAC7I,EAAE;QACF,qMAAqM;KACtM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAMD,MAAM,UAAU,eAAe,CAAC,IAA4B;IAC1D,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;IAC3C,OAAO;QACL,oBAAoB,IAAI,CAAC,QAAQ,4BAA4B;QAC7D,kGAAkG;QAClG,MAAM,IAAI,2CAA2C;KACtD,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACd,CAAC;AAED,MAAM,CAAC,MAAM,2BAA2B,GAAG,EAAE,CAAC;AAU9C,MAAM,UAAU,uBAAuB,CAAC,IAAoC;IAC1E,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC;IACrE,MAAM,OAAO,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACzD,OAAO;QACL,2BAA2B,OAAO,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI;QAC7F,mBAAmB,IAAI,CAAC,WAAW,OAAO,IAAI,CAAC,QAAQ,OAAO,OAAO,oBAAoB;QACzF,sBAAsB,IAAI,CAAC,cAAc,iBAAiB,IAAI,CAAC,cAAc,GAAG;QAChF,uCAAuC;QACvC,wDAAwD;KACzD,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACd,CAAC;AAOD;;;;;;;GAOG;AACH,MAAM,UAAU,wBAAwB,CAAC,IAAqC;IAC5E,OAAO,CACL,gDAAgD,IAAI,CAAC,WAAW,GAAG;QACnE,uCAAuC,IAAI,CAAC,SAAS,IAAI;QACzD,yEAAyE,CAC1E,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,WAA8B;IACxE,IAAI,CAAC,WAAW,CAAC,WAAW,IAAI,CAAC,WAAW,CAAC,YAAY;QAAE,OAAO,EAAE,CAAC;IAErE,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,WAAW,CAAC,WAAW,EAAE,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,iBAAiB,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC;IACzD,CAAC;IACD,IAAI,WAAW,CAAC,YAAY,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,kBAAkB,WAAW,CAAC,YAAY,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClC,CAAC"}
1
+ {"version":3,"file":"prevention.js","sourceRoot":"","sources":["../../src/runners/prevention.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,MAAM,UAAU,iBAAiB;IAC/B,OAAO;QACL,4GAA4G;QAC5G,EAAE;QACF,4UAA4U;QAC5U,EAAE;QACF,6SAA6S;QAC7S,EAAE;QACF,aAAa;QACb,0GAA0G;QAC1G,iKAAiK;QACjK,oEAAoE;QACpE,mGAAmG;QACnG,8LAA8L;QAC9L,EAAE;QACF,cAAc;QACd,4FAA4F;QAC5F,oIAAoI;QACpI,iJAAiJ;QACjJ,iHAAiH;QACjH,EAAE;QACF,0BAA0B;QAC1B,yIAAyI;QACzI,uIAAuI;QACvI,6IAA6I;QAC7I,EAAE;QACF,qMAAqM;KACtM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAOD,MAAM,UAAU,eAAe,CAAC,IAA4B;IAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,CAAC,oBAAoB,OAAO,yBAAyB,CAAC,CAAC;IACrE,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;IACnD,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;IAC1D,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAED,MAAM,CAAC,MAAM,2BAA2B,GAAG,EAAE,CAAC;AAU9C,MAAM,UAAU,uBAAuB,CAAC,IAAoC;IAC1E,MAAM,OAAO,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACzD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,CAAC;IACrD,OAAO;QACL,2BAA2B,OAAO,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI;QAC7F,YAAY,UAAU,OAAO,QAAQ,WAAW;QAChD,eAAe,IAAI,CAAC,cAAc,iBAAiB,IAAI,CAAC,cAAc,GAAG;QACzE,uCAAuC;QACvC,sDAAsD;KACvD,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACd,CAAC;AAOD;;;;;;;GAOG;AACH,MAAM,UAAU,wBAAwB,CAAC,IAAqC;IAC5E,OAAO,CACL,gDAAgD,IAAI,CAAC,WAAW,GAAG;QACnE,uCAAuC,IAAI,CAAC,SAAS,IAAI;QACzD,yEAAyE,CAC1E,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,WAA8B;IACxE,IAAI,CAAC,WAAW,CAAC,WAAW,IAAI,CAAC,WAAW,CAAC,YAAY;QAAE,OAAO,EAAE,CAAC;IAErE,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,WAAW,CAAC,WAAW,EAAE,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,iBAAiB,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC;IACzD,CAAC;IACD,IAAI,WAAW,CAAC,YAAY,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,kBAAkB,WAAW,CAAC,YAAY,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClC,CAAC"}
@@ -133,8 +133,18 @@ export declare function logWatchdogEvent(status: 'warning' | 'force_salvage', de
133
133
  /** camelCase tool names (matching tracker.trackToolCall format in definitions.ts)
134
134
  * that indicate meaningful completed work — file mutations or shell execution. */
135
135
  export declare const COMPLETED_WORK_TOOLS: Set<string>;
136
+ /** Maximum consecutive degenerate outputs (empty/thinking-only) before giving up.
137
+ * Only counted when the worker has NO recent tool calls. Generous — time/cost are the real bounds. */
138
+ export declare const MAX_DEGENERATE_RETRIES = 10;
139
+ /** Number of consecutive turns with no new file interactions before injecting a stall warning. */
140
+ export declare const STALL_DETECTION_TURNS = 5;
136
141
  export declare function extractToolName(toolCallEntry: string): string;
137
142
  export declare function hasCompletedWork(toolCalls: string[]): boolean;
143
+ /** Detect if the worker is making the same tool calls repeatedly (stuck in a loop). */
144
+ export declare function detectToolCallLoop(toolCalls: string[], windowSize?: number): boolean;
145
+ /** Detect if the worker has stalled — no new file interactions over consecutive turns.
146
+ * Caller maintains a counter of consecutive stall turns and resets it when new activity happens. */
147
+ export declare function hasNewFileActivity(filesReadBefore: number, filesWrittenBefore: number, filesReadNow: number, filesWrittenNow: number): boolean;
138
148
  /**
139
149
  * Coordinator for sub-agent output validation.
140
150
  *
@@ -1 +1 @@
1
- {"version":3,"file":"supervision.d.ts","sourceRoot":"","sources":["../../src/runners/supervision.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAiB,MAAM,aAAa,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAEjE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,kFAAkF;AAClF,MAAM,MAAM,cAAc,GACtB,OAAO,GACP,eAAe,GACf,UAAU,GACV,eAAe,GACf,uBAAuB,CAAC;AAE5B,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qEAAqE;IACrE,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,yBAAyB;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,GAClD,gBAAgB,CAqClB;AAUD;;;;;;;GAOG;AACH,eAAO,MAAM,0BAA0B,4FACoD,CAAC;AA+C5F,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE,yBAA8B,GACnC,gBAAgB,CAiDlB;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAqD9D;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAElE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,YAAY,GACpB,MAAM,CAER;AAED,MAAM,MAAM,cAAc,GAAG,IAAI,GAAG,SAAS,GAAG,eAAe,CAAC;AAEhE;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,MAAO,CAAC;AAC3C,eAAO,MAAM,4BAA4B,OAAO,CAAC;AAEjD;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CACpC,qBAAqB,EAAE,MAAM,EAC7B,SAAS,EAAE,MAAM,GAChB,cAAc,CAUhB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,SAAS,GAAG,eAAe,EACnC,OAAO,EAAE,oBAAoB,GAC5B,IAAI,CAgBN;AAED;mFACmF;AACnF,eAAO,MAAM,oBAAoB,aAAiD,CAAC;AAEnF,wBAAgB,eAAe,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAG7D;AAED,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAE7D;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE;IACJ,gBAAgB,CAAC,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAChD,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,YAAY,CAAC,EAAE,MAAM,GAAG,oBAAoB,GAAG,eAAe,GAAG,SAAS,CAAC;IAC3E,gBAAgB,CAAC,EAAE,OAAO,CAAC;CACvB,GACL,gBAAgB,CAuClB"}
1
+ {"version":3,"file":"supervision.d.ts","sourceRoot":"","sources":["../../src/runners/supervision.ts"],"names":[],"mappings":"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"}
@@ -277,6 +277,11 @@ export function logWatchdogEvent(status, details) {
277
277
  /** camelCase tool names (matching tracker.trackToolCall format in definitions.ts)
278
278
  * that indicate meaningful completed work — file mutations or shell execution. */
279
279
  export const COMPLETED_WORK_TOOLS = new Set(['writeFile', 'editFile', 'runShell']);
280
+ /** Maximum consecutive degenerate outputs (empty/thinking-only) before giving up.
281
+ * Only counted when the worker has NO recent tool calls. Generous — time/cost are the real bounds. */
282
+ export const MAX_DEGENERATE_RETRIES = 10;
283
+ /** Number of consecutive turns with no new file interactions before injecting a stall warning. */
284
+ export const STALL_DETECTION_TURNS = 5;
280
285
  export function extractToolName(toolCallEntry) {
281
286
  const parenIndex = toolCallEntry.indexOf('(');
282
287
  return parenIndex === -1 ? toolCallEntry : toolCallEntry.slice(0, parenIndex);
@@ -284,6 +289,23 @@ export function extractToolName(toolCallEntry) {
284
289
  export function hasCompletedWork(toolCalls) {
285
290
  return toolCalls.some(tc => COMPLETED_WORK_TOOLS.has(extractToolName(tc)));
286
291
  }
292
+ /** Detect if the worker is making the same tool calls repeatedly (stuck in a loop). */
293
+ export function detectToolCallLoop(toolCalls, windowSize = 6) {
294
+ if (windowSize % 2 !== 0)
295
+ throw new Error('windowSize must be even');
296
+ if (toolCalls.length < windowSize)
297
+ return false;
298
+ const recent = toolCalls.slice(-windowSize);
299
+ const half = windowSize / 2;
300
+ const firstHalf = recent.slice(0, half).join('|');
301
+ const secondHalf = recent.slice(half).join('|');
302
+ return firstHalf === secondHalf;
303
+ }
304
+ /** Detect if the worker has stalled — no new file interactions over consecutive turns.
305
+ * Caller maintains a counter of consecutive stall turns and resets it when new activity happens. */
306
+ export function hasNewFileActivity(filesReadBefore, filesWrittenBefore, filesReadNow, filesWrittenNow) {
307
+ return filesReadNow > filesReadBefore || filesWrittenNow > filesWrittenBefore;
308
+ }
287
309
  /**
288
310
  * Coordinator for sub-agent output validation.
289
311
  *
@@ -1 +1 @@
1
- {"version":3,"file":"supervision.js","sourceRoot":"","sources":["../../src/runners/supervision.ts"],"names":[],"mappings":"AAyDA,MAAM,UAAU,gBAAgB,CAC9B,IAAY,EACZ,QAAmD;IAEnD,IAAI,QAAQ,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,IAAI,MAAM,CAAC;QAClD,IAAI,EAAU,CAAC;QACf,IAAI,CAAC;YACH,EAAE,GAAG,IAAI,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACjC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,IAAI,EAAE,uBAAuB;gBAC7B,MAAM,EAAE,iCAAiC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;aAC5F,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QAC5C,IAAI,KAAK,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;YACjC,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,IAAI,EAAE,uBAAuB;gBAC7B,MAAM,EAAE,QAAQ,KAAK,sCAAsC,QAAQ,CAAC,WAAW,EAAE;aAClF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,CAAC,eAAe,EAAE,MAAM,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QACpF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/C,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YACzE,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,IAAI,EAAE,uBAAuB;gBAC7B,MAAM,EAAE,QAAQ,QAAQ,CAAC,eAAe,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,OAAO,QAAQ,CAAC,eAAe,CAAC,MAAM,qCAAqC,OAAO,GAAG,KAAK,EAAE;aAC7J,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACzB,CAAC;AAED,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAE/B,wFAAwF;AACxF,MAAM,wBAAwB,GAAG,EAAE,CAAC;AAEpC,uFAAuF;AACvF,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAE/B;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,0BAA0B,GACrC,yFAAyF,CAAC;AAE5F,MAAM,oBAAoB,GAAG;IAC3B,QAAQ;IACR,cAAc;IACd,aAAa;IACb,aAAa;IACb,QAAQ;IACR,eAAe;IACf,WAAW;IACX,UAAU;IACV,eAAe;IACf,UAAU;IACV,UAAU;CACX,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAE7C,MAAM,oBAAoB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AACjE,MAAM,cAAc,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;AAEhE,SAAS,oBAAoB,CAAC,IAAY;IACxC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACjC,OAAO,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAClF,CAAC;AAED,SAAS,2BAA2B,CAAC,IAAY;IAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IAC/B,OAAO,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAY;IACxC,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,2BAA2B,CAAC,IAAY;IAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IAC/B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACvC,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACzC,OAAO,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC7C,CAAC;AAED,+EAA+E;AAC/E,0EAA0E;AAC1E,+EAA+E;AAC/E,8EAA8E;AAC9E,mFAAmF;AACnF,MAAM,UAAU,kBAAkB,CAChC,IAAY,EACZ,OAAkC,EAAE;IAEpC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,kBAAkB,CAAC;IAEvD,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC;IACvE,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,0BAA0B,EAAE,CAAC;QAC/C,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,eAAe;YACrB,MAAM,EAAE,mDAAmD;SAC5D,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,wBAAwB,CAAC,CAAC;IAEtD,oCAAoC;IACpC,IAAI,OAAO,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC;QAChC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzB,CAAC;IAED,6EAA6E;IAC7E,oEAAoE;IACpE,gBAAgB;IAChB,MAAM,WAAW,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAClD,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzB,CAAC;IAED,IAAI,2BAA2B,CAAC,OAAO,CAAC,IAAI,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC;QACvE,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,yDAAyD;YACjE,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,mBAAmB,CAAC;SAC1C,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,2BAA2B,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1C,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,eAAe;YACrB,MAAM,EAAE,yEAAyE;YACjF,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,mBAAmB,CAAC;SAC1C,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,MAAwB;IACpD,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAC9E,CAAC;IAED,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,OAAO;YACV,OAAO;gBACL,kFAAkF;gBAClF,kFAAkF;gBAClF,iFAAiF;gBACjF,mFAAmF;gBACnF,kFAAkF;aACnF,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEd,KAAK,eAAe;YAClB,OAAO;gBACL,qEAAqE;gBACrE,gFAAgF;gBAChF,+EAA+E;gBAC/E,gFAAgF;gBAChF,wCAAwC;aACzC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEd,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YAC/B,OAAO;gBACL,sEAAsE,IAAI,IAAI;gBAC9E,+EAA+E;gBAC/E,8EAA8E;gBAC9E,iFAAiF;gBACjF,iFAAiF;gBACjF,yEAAyE;gBACzE,8DAA8D;aAC/D,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACd,CAAC;QAED,KAAK,eAAe,CAAC,CAAC,CAAC;YACrB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YAC/B,OAAO;gBACL,2EAA2E;gBAC3E,IAAI,IAAI,yEAAyE;gBACjF,iFAAiF;gBACjF,gDAAgD;aACjD,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACd,CAAC;QAED,KAAK,uBAAuB;YAC1B,OAAO,iGAAiG,MAAM,CAAC,MAAM,oJAAoJ,CAAC;QAE5Q;YACE,OAAO,iGAAiG,CAAC;IAC7G,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,CAAS,EAAE,CAAS;IACvD,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;AAC/B,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,0BAA0B,CACxC,MAAsB,EACtB,OAAqB;IAErB,OAAO,MAAM,CAAC,mBAAmB,IAAI,OAAO,CAAC,mBAAmB,CAAC;AACnE,CAAC;AAID;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,CAAC;AAC3C,MAAM,CAAC,MAAM,4BAA4B,GAAG,IAAI,CAAC;AAEjD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,sBAAsB,CACpC,qBAA6B,EAC7B,SAAiB;IAEjB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CACb,2EAA2E,SAAS,EAAE,CACvF,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,qBAAqB,GAAG,SAAS,CAAC;IAChD,IAAI,KAAK,IAAI,4BAA4B;QAAE,OAAO,eAAe,CAAC;IAClE,IAAI,KAAK,IAAI,sBAAsB;QAAE,OAAO,SAAS,CAAC;IACtD,OAAO,IAAI,CAAC;AACd,CAAC;AAWD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,gBAAgB,CAC9B,MAAmC,EACnC,OAA6B;IAE7B,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,GAAG;QAAE,OAAO;IAClD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,CAAC;IAC5E,MAAM,KAAK,GAAG;QACZ,gCAAgC,MAAM,GAAG;QACzC,YAAY,OAAO,CAAC,QAAQ,EAAE;QAC9B,SAAS,OAAO,CAAC,KAAK,EAAE;QACxB,QAAQ,OAAO,CAAC,IAAI,EAAE;QACtB,eAAe,OAAO,CAAC,WAAW,EAAE;QACpC,aAAa,OAAO,CAAC,SAAS,EAAE;QAChC,kBAAkB,OAAO,EAAE;KAC5B,CAAC;IACF,IAAI,MAAM,KAAK,eAAe,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,mBAAmB,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACjC,CAAC;AAED;mFACmF;AACnF,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;AAEnF,MAAM,UAAU,eAAe,CAAC,aAAqB;IACnD,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC9C,OAAO,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;AAChF,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,SAAmB;IAClD,OAAO,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,oBAAoB,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAC7E,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,sBAAsB,CACpC,IAAY,EACZ,OAKI,EAAE;IAEN,uBAAuB;IACvB,MAAM,UAAU,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC5C,IACE,CAAC,UAAU,CAAC,KAAK;QACjB,CAAC,UAAU,CAAC,IAAI,KAAK,OAAO,IAAI,UAAU,CAAC,IAAI,KAAK,eAAe,CAAC,EACpE,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,2DAA2D;IAC3D,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC/D,IAAI,CAAC,QAAQ,CAAC,KAAK;YAAE,OAAO,QAAQ,CAAC;QACrC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzB,CAAC;IAED,qDAAqD;IACrD,IAAI,IAAI,CAAC,YAAY,KAAK,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,uBAAuB,CAAC,EAAE,CAAC;QAC5F,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzB,CAAC;IAED,8EAA8E;IAC9E,IAAI,IAAI,CAAC,YAAY,KAAK,MAAM,EAAE,CAAC;QACjC,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,mDAAmD;IACnD,IAAI,IAAI,CAAC,YAAY,KAAK,oBAAoB,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzB,CAAC;IAED,sEAAsE;IACtE,IAAI,IAAI,CAAC,uBAAuB,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1D,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzB,CAAC;IAED,+BAA+B;IAC/B,OAAO,UAAU,CAAC;AACpB,CAAC"}
1
+ {"version":3,"file":"supervision.js","sourceRoot":"","sources":["../../src/runners/supervision.ts"],"names":[],"mappings":"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"}