@tokenfactory/acc-runner 0.33.0 → 0.35.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.
package/dist/login.js CHANGED
@@ -12,6 +12,7 @@ import chalk from "chalk";
12
12
  import { execa } from "execa";
13
13
  import open from "open";
14
14
  import { loadConfig } from "./config.js";
15
+ import { detectCapableEngines } from "./doctor.js";
15
16
  import { saveSession } from "./keychain.js";
16
17
  import { createRunnerClient } from "./supabase.js";
17
18
  import { PROTOCOL_VERSION } from "./types.js";
@@ -39,9 +40,21 @@ export const RUNNER_CAPS = {
39
40
  * treats identically to "absent" — serve every repo, the single-repo
40
41
  * default. The capability booleans are preserved verbatim, so this is a
41
42
  * pure superset of the previous RUNNER_CAPS payload.
43
+ *
44
+ * M5 (ENGINE-DISPATCH-GATE): `engines` folds the runner's installed+authed
45
+ * coding engines (from detectCapableEngines) into caps.engines. The server's
46
+ * engine-aware dispatch (acc.caps_engines / mig 0229) routes a NON-default
47
+ * engine-pinned task ONLY to a runner that advertises that engine. An empty /
48
+ * undefined set yields `engines: []` — which serves every DEFAULT (claude-code)
49
+ * task exactly as before but no non-default engine task, so the payload stays a
50
+ * pure superset and default dispatch is byte-identical.
42
51
  */
43
- export function runnerCapsWithRepos(repos) {
44
- return { ...RUNNER_CAPS, repos: repos ? [...repos] : [] };
52
+ export function runnerCapsWithRepos(repos, engines) {
53
+ return {
54
+ ...RUNNER_CAPS,
55
+ repos: repos ? [...repos] : [],
56
+ engines: engines ? [...engines] : [],
57
+ };
45
58
  }
46
59
  export function machineIdentity() {
47
60
  return `${process.platform}-${process.arch}-${os.hostname()}`;
@@ -131,6 +144,10 @@ export async function loginCommand(options = {}) {
131
144
  // the stub row /exchange created (or refreshes an existing one).
132
145
  const supabase = createRunnerClient(cfg, exchanged.access_token);
133
146
  const models = await detectInstalledModels();
147
+ // M5: advertise the installed+authed coding engines so the server's
148
+ // engine-aware dispatch (mig 0229) can route non-default engine-pinned
149
+ // tasks to a capable runner from the very first heartbeat.
150
+ const engines = await detectCapableEngines();
134
151
  const { error } = await supabase.rpc("register_runner", {
135
152
  p_id: exchanged.runner_id,
136
153
  p_name: `${exchanged.email ?? exchanged.user_id}'s ${os.hostname()}`,
@@ -141,7 +158,7 @@ export async function loginCommand(options = {}) {
141
158
  // first register so the server's repo-aware router has it before
142
159
  // watch.ts's set_runner_repos refresh runs. cfg.repos is resolved
143
160
  // from ACC_RUNNER_REPOS / config.json `repos` by loadConfig().
144
- p_caps: runnerCapsWithRepos(cfg.repos),
161
+ p_caps: runnerCapsWithRepos(cfg.repos, engines),
145
162
  p_version: PACKAGE_VERSION,
146
163
  });
147
164
  if (error) {
package/dist/login.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"login.js","sourceRoot":"","sources":["../src/login.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"login.js","sourceRoot":"","sources":["../src/login.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,8 @@
15
15
  * cron's poll-merge loop can advance.
16
16
  */
17
17
  import { type ExecaChildProcess } from "execa";
18
+ import { type ReviewerProbeResult } from "../failure-classifier.js";
19
+ import { type TolerantRemoveResult } from "../review-worktree-cleanup.js";
18
20
  import type { RunnerSupabaseClient } from "../supabase.js";
19
21
  export interface ReviewAssignment {
20
22
  review_id: string;
@@ -40,10 +42,42 @@ export interface ReviewerOutcome {
40
42
  * this.
41
43
  */
42
44
  resume_at?: string | null;
45
+ /**
46
+ * RVU-2 (FU-RVU2R): the model that actually produced (or, on capacity/env
47
+ * failure, was last attempted for) this verdict. On a capacity fallback this
48
+ * is the lower-tier model the review re-routed to — not necessarily
49
+ * policy.model_id — so cost math + telemetry record the billed model.
50
+ * In-memory only; never sent to submit_review (frozen RPC).
51
+ */
52
+ model_used?: string;
53
+ /**
54
+ * RVU-2 (FU-RVU2R): the review spawn failed with an AUTH/credential fault
55
+ * (rejected/absent key, 401/403, broken CLI login), not capacity and not a
56
+ * verdict. The stored reasons carry REVIEWER_ENV_BROKEN_REASON so the shared
57
+ * automerge cron treats the row as budget-exempt (isEnvBrokenReviewerOutcome)
58
+ * and alerts once. Decision stays `reviewer_error` (frozen), so this flag is
59
+ * an in-memory signal only.
60
+ */
61
+ env_broken?: boolean;
62
+ /**
63
+ * RVU-2 (FU-RVU2R): true when this review ran under capacity pressure — it
64
+ * re-routed to a lower catalog tier, or the whole chain was capacity-capped.
65
+ * watch.ts reads this to CLAIM-PAUSE new tasks (freeing subscription capacity
66
+ * for reviews) before ever pausing reviews. In-memory only.
67
+ */
68
+ capacity_degraded?: boolean;
43
69
  }
44
70
  export declare const REVIEWER_PROMPT_TEMPLATE: string;
45
71
  export declare const CAPACITY_RETRIES_ENV = "ACC_REVIEWER_CAPACITY_RETRIES";
46
72
  export declare const DEFAULT_REVIEWER_CAPACITY_RETRIES = 2;
73
+ export declare const DEFAULT_MODEL_CHAIN_MAX = 4;
74
+ /**
75
+ * RVU-2: reason stamped on a budget-exempt env-broken (auth) reviewer_error.
76
+ * Byte-identical to api/_lib/reviewer-agent.ts REVIEWER_ENV_BROKEN_REASON so the
77
+ * shared automerge cron's isEnvBrokenReviewerOutcome recognises a runner-produced
78
+ * env-broken row and keeps it out of the genuine-error retry cap. // keep in sync
79
+ */
80
+ export declare const REVIEWER_ENV_BROKEN_REASON: string;
47
81
  export declare function computeCapacityBackoffMs(priorRetries: number, opts?: {
48
82
  baseMs?: number;
49
83
  maxMs?: number;
@@ -90,7 +124,17 @@ export declare function extractReviewerDecision(text: string): {
90
124
  export interface ReviewTreeResult {
91
125
  headSha: string;
92
126
  diff: string;
93
- cleanup(): Promise<void>;
127
+ /**
128
+ * RVU-3 — worktree path, surfaced so a residual-orphan cleanup can be reported
129
+ * to telemetry. Optional so pre-RVU-3 test stubs stay valid.
130
+ */
131
+ path?: string;
132
+ /**
133
+ * Remove the dedicated review worktree. Returns the tolerant-removal result so
134
+ * the caller can report a residual orphan (RVU-3); a `void` return (test stubs)
135
+ * is treated as a clean removal. NEVER throws.
136
+ */
137
+ cleanup(): Promise<TolerantRemoveResult | void>;
94
138
  }
95
139
  export interface RunReviewDeps {
96
140
  supabase: RunnerSupabaseClient;
@@ -115,6 +159,18 @@ export interface RunReviewDeps {
115
159
  loadPolicy?: (orgId: string) => Promise<ReviewerPolicy | null>;
116
160
  /** Override for tests. Defaults to real setTimeout-based sleep. */
117
161
  sleep?: (ms: number) => Promise<void>;
162
+ /**
163
+ * RVU-2 (FU-RVU2R): optional env-broken CLI-auth PREFLIGHT canary. When
164
+ * provided, it is run ONCE before the review spawn; if its probe results match
165
+ * the broken-CLI signature (isEnvBrokenReviewerProbe — repeated silent exit-1),
166
+ * the review short-circuits to a budget-exempt env_broken outcome without ever
167
+ * spawning the reviewer against a dead credential. Omitted in production by
168
+ * default (an explicit auth failure from the review spawn itself is still
169
+ * detected inline); tests inject a stub.
170
+ */
171
+ authCanary?: () => Promise<ReviewerProbeResult[]>;
172
+ /** RVU-2: cap on capacity-fallback-chain tiers (default 4 = all catalog tiers). */
173
+ modelChainMax?: number;
118
174
  }
119
175
  /**
120
176
  * Drive one review end-to-end: fetch task spec + PR meta + diff →
@@ -1 +1 @@
1
- {"version":3,"file":"reviewer.d.ts","sourceRoot":"","sources":["../../src/runtime/reviewer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reviewer.d.ts","sourceRoot":"","sources":["../../src/runtime/reviewer.ts"],"names":[],"mappings":"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"}
@@ -15,8 +15,8 @@
15
15
  * cron's poll-merge loop can advance.
16
16
  */
17
17
  import { execa } from "execa";
18
- import { priceUsdCents, normalizeUsage, } from "../cost-pricing.js";
19
- import { extractResetTime } from "../failure-classifier.js";
18
+ import { priceUsdCents, normalizeUsage, modelFallbackChain, } from "../cost-pricing.js";
19
+ import { extractResetTime, isReviewerAuthFailure, isEnvBrokenReviewerProbe, } from "../failure-classifier.js";
20
20
  import { buildEnv } from "../bin-resolve.js";
21
21
  import { getEngine } from "../engines/registry.js";
22
22
  import { ensureRepoClone } from "./clone-cache.js";
@@ -123,6 +123,24 @@ const RETRY_DELAYS_MS = [2000, 4000, 8000];
123
123
  */
124
124
  export const CAPACITY_RETRIES_ENV = "ACC_REVIEWER_CAPACITY_RETRIES";
125
125
  export const DEFAULT_REVIEWER_CAPACITY_RETRIES = 2;
126
+ /* ───────────────── RVU-2 (FU-RVU2R): reviewer capacity fallback ─────────────
127
+ *
128
+ * When the primary reviewer model is capacity-capped (429 / overloaded / silent
129
+ * brownout), re-route to the next lower catalog tier (modelFallbackChain) INSTEAD
130
+ * of immediately yielding `reviewer_capacity` and stalling the whole runner. The
131
+ * lane only stalls (reviewer_capacity → watch.ts pauses) when EVERY tier in the
132
+ * chain is capacity-capped. Mirrors the merged server path in
133
+ * api/_lib/reviewer-agent.ts reviewPR. // keep in sync
134
+ */
135
+ export const DEFAULT_MODEL_CHAIN_MAX = 4;
136
+ /**
137
+ * RVU-2: reason stamped on a budget-exempt env-broken (auth) reviewer_error.
138
+ * Byte-identical to api/_lib/reviewer-agent.ts REVIEWER_ENV_BROKEN_REASON so the
139
+ * shared automerge cron's isEnvBrokenReviewerOutcome recognises a runner-produced
140
+ * env-broken row and keeps it out of the genuine-error retry cap. // keep in sync
141
+ */
142
+ export const REVIEWER_ENV_BROKEN_REASON = "reviewer env broken: API-key / CLI-auth failure — reviewer not run. " +
143
+ "Alerted once; review budget untouched (not a verdict).";
126
144
  const CAPACITY_BASE_BACKOFF_MS = 5_000;
127
145
  const CAPACITY_MAX_BACKOFF_MS = 60_000;
128
146
  export function computeCapacityBackoffMs(priorRetries, opts = {}) {
@@ -301,7 +319,7 @@ async function defaultPrepareReviewTree(args) {
301
319
  headSha: head.headSha,
302
320
  baseBranch: head.baseBranch,
303
321
  });
304
- return { headSha: wt.headSha, diff: wt.diff, cleanup: wt.cleanup };
322
+ return { headSha: wt.headSha, diff: wt.diff, path: wt.path, cleanup: wt.cleanup };
305
323
  }
306
324
  /**
307
325
  * R0-D — emit the `task.review_fetch_failed` audit event when the reviewer
@@ -329,6 +347,56 @@ async function emitReviewFetchFailed(supabase, assignment, err) {
329
347
  process.stderr.write(`[acc-runner] task.review_fetch_failed emit failed: ${logErr.message}\n`);
330
348
  }
331
349
  }
350
+ /**
351
+ * RVU-3 (G5) — a review worktree that could NOT be removed even after the
352
+ * tolerant recursive+force+retry teardown is an ORPHAN, not a review failure.
353
+ * The verdict (if one was produced) still lands; the residual dir is reported to
354
+ * the existing runner telemetry (`log_activity`, additive verb — no RPC-signature
355
+ * or protocol change) so a doctor/operator can reap it. Best-effort: a logging
356
+ * failure must never turn a verdict-delivered path into a crash.
357
+ */
358
+ async function emitReviewWorktreeOrphaned(supabase, assignment, target, result) {
359
+ process.stderr.write(`[acc-runner] review worktree orphaned (verdict unaffected): ${target || "<unknown>"} ` +
360
+ `after ${result.attempts} attempt(s)${result.lastError ? ` — ${result.lastError}` : ""}\n`);
361
+ try {
362
+ const { error } = await supabase.rpc("log_activity", {
363
+ p_verb: "runner.review_worktree_orphaned",
364
+ p_target_id: assignment.task_id,
365
+ p_target_type: "task",
366
+ p_payload: {
367
+ review_id: assignment.review_id,
368
+ pr_number: assignment.pr_number,
369
+ path: target || null,
370
+ attempts: result.attempts,
371
+ last_error: result.lastError ?? null,
372
+ },
373
+ });
374
+ if (error) {
375
+ process.stderr.write(`[acc-runner] runner.review_worktree_orphaned log_activity(${assignment.task_id}) failed: ${error.message}\n`);
376
+ }
377
+ }
378
+ catch (logErr) {
379
+ process.stderr.write(`[acc-runner] runner.review_worktree_orphaned emit failed: ${logErr.message}\n`);
380
+ }
381
+ }
382
+ /**
383
+ * RVU-3 — tear down the review worktree and, when the removal left a residual
384
+ * orphan, report it to telemetry. NEVER throws (a teardown must not fail a
385
+ * review that may already hold a verdict): `tree.cleanup()` is itself tolerant,
386
+ * but a throwing test stub is swallowed here too.
387
+ */
388
+ async function cleanupReviewTree(tree, supabase, assignment) {
389
+ let result;
390
+ try {
391
+ result = await tree.cleanup();
392
+ }
393
+ catch {
394
+ return;
395
+ }
396
+ if (result && result.removed === false) {
397
+ await emitReviewWorktreeOrphaned(supabase, assignment, tree.path ?? "", result);
398
+ }
399
+ }
332
400
  // M2 (ENGINE-EXTRACT): the coding engine the reviewer drives — the default
333
401
  // `claude-code` engine. spawn/argv/result-parse/failure-class behavior is
334
402
  // byte-identical to the pre-refactor inline logic now owned by
@@ -533,19 +601,22 @@ async function driveReview(assignment, deps, fetchMeta, prepareTree, spawnFn) {
533
601
  finally {
534
602
  // Remove the dedicated review worktree so it can never become a stale
535
603
  // fallback for a future review (defense against the recurrence root cause).
536
- await tree.cleanup().catch(() => undefined);
604
+ // RVU-3: the verdict is ALREADY computed by the time this runs — cleanup can
605
+ // never fail it. A residual dir that survives the tolerant teardown is a
606
+ // WARN + telemetry orphan, not a `reviewer_error`.
607
+ await cleanupReviewTree(tree, deps.supabase, assignment);
537
608
  }
538
609
  }
539
610
  /**
540
- * R0-D — drive claude over the verified PR-head diff and parse the verdict.
541
- * Extracted from driveReview so worktree cleanup can wrap every return path.
542
- * Behaviour (retries, capacity handling, cost-cap, parse) is unchanged.
611
+ * REVFB (G1): run ONE model tier end-to-end with the in-process retry loop —
612
+ * exponential-backoff brownout retry for a no-reset capacity blip, and the
613
+ * infra retry schedule for a transient 5xx/overloaded/timeout. Returns the final
614
+ * invoke result; capacity/infra classification of that result is decided by the
615
+ * caller (which owns the capacity-fallback re-route). Behaviour of this loop is
616
+ * byte-identical to the pre-RVU-2 inline loop.
543
617
  */
544
- async function runClaudeAndDecide(prompt, policy, deps, spawnFn) {
545
- const sleepFn = deps.sleep ?? defaultSleep;
546
- const modelId = policy?.model_id ?? "claude-sonnet-4-6";
547
- const maxCapacityRetries = resolveCapacityRetries(process.env[CAPACITY_RETRIES_ENV]);
548
- let invokeResult = null;
618
+ async function invokeReviewerModel(spawnFn, modelId, prompt, sleepFn, maxCapacityRetries) {
619
+ let invokeResult;
549
620
  let infraRetries = 0;
550
621
  let capacityRetries = 0;
551
622
  for (;;) {
@@ -554,10 +625,10 @@ async function runClaudeAndDecide(prompt, policy, deps, spawnFn) {
554
625
  break;
555
626
  // REVFB (G1): a capacity-class outcome (429 session cap / silent brownout)
556
627
  // is NOT a normal infra error. A hard session cap carries a stated reset
557
- // time — yield it immediately so watch.ts pauses+resumes at the reset (no
558
- // point retrying before then). A brownout with NO reset time is retried
559
- // in-process with exponential backoff, bounded by classifyCapacityRetry, so
560
- // a momentary blip recovers without pausing the whole runner.
628
+ // time — stop retrying this tier immediately (no point before the window
629
+ // reopens). A brownout with NO reset time is retried in-process with
630
+ // exponential backoff, bounded by classifyCapacityRetry, so a momentary blip
631
+ // recovers without re-routing or pausing.
561
632
  const classified = engine.classifyFailure(invokeResult.exitCode, invokeResult.stderr, invokeResult.stdout, invokeResult.durationMs);
562
633
  const isCapacity = classified.class === "capacity_exhausted" ||
563
634
  classified.class === "claude_unavailable";
@@ -574,7 +645,7 @@ async function runClaudeAndDecide(prompt, policy, deps, spawnFn) {
574
645
  await sleepFn(backoffMs);
575
646
  continue;
576
647
  }
577
- break; // hard cap (has reset) OR in-process retries exhausted → yield capacity
648
+ break; // hard cap (has reset) OR in-process retries exhausted → let caller re-route
578
649
  }
579
650
  const canRetry = infraRetries < RETRY_DELAYS_MS.length &&
580
651
  invokeResult.exitCode === 1 &&
@@ -586,45 +657,27 @@ async function runClaudeAndDecide(prompt, policy, deps, spawnFn) {
586
657
  infraRetries++;
587
658
  await sleepFn(delayMs);
588
659
  }
589
- // invokeResult is always set — the loop runs at least once
590
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
591
- const { stdout, exitCode, stderr: claudeStderr, durationMs } = invokeResult;
592
- if (exitCode !== 0) {
593
- // A session/usage limit (429) is NOT a reviewer error — report
594
- // reviewer_capacity so the api side excludes it from retry caps and the
595
- // runner pauses until the window reopens. Checked only on a non-zero exit
596
- // so a normal review whose prose mentions "limit" can never be mis-flagged.
597
- // A silent instant-empty exit (the retryable-infra class: fast exit, empty
598
- // output, no 429/auth/env signal) is also treated as capacity rather than
599
- // reviewer_error — the host is fine but claude is momentarily unreachable,
600
- // so the review should not consume the per-PR retry cap.
601
- const classified = engine.classifyFailure(exitCode, claudeStderr, stdout, durationMs);
602
- if (classified.class === "capacity_exhausted" ||
603
- classified.class === "claude_unavailable") {
604
- const resumeMs = extractResetTime(`${claudeStderr}\n${stdout}`);
605
- return {
606
- decision: "reviewer_capacity",
607
- reasons: [classified.detail],
608
- confidence: 0,
609
- session_id: null,
610
- cost_usd: 0,
611
- resume_at: resumeMs !== null ? new Date(resumeMs).toISOString() : null,
612
- };
613
- }
614
- return {
615
- decision: "reviewer_error",
616
- reasons: [
617
- `claude exited ${exitCode}`,
618
- ...(claudeStderr ? [`stderr: ${claudeStderr.slice(0, 200)}`] : []),
619
- ],
620
- confidence: 0,
621
- session_id: null,
622
- cost_usd: 0,
623
- };
624
- }
660
+ return invokeResult;
661
+ }
662
+ /** RVU-2: a budget-exempt env-broken (auth) reviewer_error. Decision stays
663
+ * `reviewer_error` (frozen); the marker reason makes the shared cron treat it
664
+ * as budget-exempt and alert once. */
665
+ function envBrokenOutcome(modelId, detail) {
666
+ return {
667
+ decision: "reviewer_error",
668
+ reasons: [REVIEWER_ENV_BROKEN_REASON, `detail: ${(detail ?? "").slice(0, 160)}`],
669
+ confidence: 0,
670
+ session_id: null,
671
+ cost_usd: 0,
672
+ model_used: modelId,
673
+ env_broken: true,
674
+ };
675
+ }
676
+ /** RVU-2: assemble the outcome from a clean (exit 0) reviewer envelope. Cost-cap
677
+ * parity + parse are unchanged; `degraded` marks a re-routed (lower-tier) run. */
678
+ function finalizeReviewerSuccess(stdout, modelId, degraded, policy) {
625
679
  const envelope = parseEnvelope(stdout, modelId);
626
- // Cost cap parity with api/_lib/reviewer-agent.ts. A cap of 0
627
- // disables the gate.
680
+ // Cost cap parity with api/_lib/reviewer-agent.ts. A cap of 0 disables it.
628
681
  if (policy &&
629
682
  policy.max_cost_usd_per_review > 0 &&
630
683
  envelope.cost_usd > policy.max_cost_usd_per_review) {
@@ -636,6 +689,7 @@ async function runClaudeAndDecide(prompt, policy, deps, spawnFn) {
636
689
  confidence: 0,
637
690
  session_id: envelope.session_id,
638
691
  cost_usd: envelope.cost_usd,
692
+ model_used: modelId,
639
693
  };
640
694
  }
641
695
  const decision = extractReviewerDecision(envelope.result);
@@ -649,6 +703,7 @@ async function runClaudeAndDecide(prompt, policy, deps, spawnFn) {
649
703
  confidence: 0,
650
704
  session_id: envelope.session_id,
651
705
  cost_usd: envelope.cost_usd,
706
+ model_used: modelId,
652
707
  };
653
708
  }
654
709
  return {
@@ -657,6 +712,111 @@ async function runClaudeAndDecide(prompt, policy, deps, spawnFn) {
657
712
  confidence: decision.confidence,
658
713
  session_id: envelope.session_id,
659
714
  cost_usd: envelope.cost_usd,
715
+ model_used: modelId,
716
+ // Signal capacity pressure to watch.ts only when the review actually
717
+ // re-routed to a lower tier (leave undefined on the primary-model path).
718
+ capacity_degraded: degraded ? true : undefined,
719
+ };
720
+ }
721
+ /**
722
+ * R0-D / RVU-2 — drive claude over the verified PR-head diff and parse the
723
+ * verdict. Extracted from driveReview so worktree cleanup can wrap every return
724
+ * path. RVU-2 wraps the (unchanged) per-tier retry loop in a CAPACITY-FALLBACK
725
+ * CHAIN: on capacity the review re-routes to the next lower catalog tier instead
726
+ * of stalling the lane; only a whole-chain cap yields `reviewer_capacity`. An
727
+ * explicit broken CLI-auth signal surfaces as budget-exempt env_broken rather
728
+ * than looping. Cost-cap / parse behaviour is unchanged.
729
+ */
730
+ async function runClaudeAndDecide(prompt, policy, deps, spawnFn) {
731
+ const sleepFn = deps.sleep ?? defaultSleep;
732
+ const baseModel = policy?.model_id ?? "claude-sonnet-4-6";
733
+ const maxCapacityRetries = resolveCapacityRetries(process.env[CAPACITY_RETRIES_ENV]);
734
+ const chain = modelFallbackChain(baseModel, deps.modelChainMax ?? DEFAULT_MODEL_CHAIN_MAX);
735
+ const primaryModel = chain[0] ?? baseModel;
736
+ // RVU-2: optional env-broken CLI-auth PREFLIGHT canary. A broken login /
737
+ // rejected key is caught BEFORE spawning the reviewer against a dead
738
+ // credential, so it never loops as a spurious reviewer_error.
739
+ if (deps.authCanary) {
740
+ let probes = [];
741
+ try {
742
+ probes = await deps.authCanary();
743
+ }
744
+ catch {
745
+ probes = [];
746
+ }
747
+ if (isEnvBrokenReviewerProbe(probes)) {
748
+ return envBrokenOutcome(primaryModel, "preflight auth canary: repeated silent CLI exit (broken login / rejected key)");
749
+ }
750
+ }
751
+ let lastCapacityDetail = "reviewer capacity exhausted across all fallback tiers";
752
+ let lastResumeMs = null;
753
+ for (let i = 0; i < chain.length; i++) {
754
+ const modelId = chain[i];
755
+ const isLast = i === chain.length - 1;
756
+ const invokeResult = await invokeReviewerModel(spawnFn, modelId, prompt, sleepFn, maxCapacityRetries);
757
+ const { stdout, exitCode, stderr: claudeStderr, durationMs } = invokeResult;
758
+ if (exitCode === 0) {
759
+ return finalizeReviewerSuccess(stdout, modelId, modelId !== primaryModel, policy);
760
+ }
761
+ const classified = engine.classifyFailure(exitCode, claudeStderr, stdout, durationMs);
762
+ const combined = `${claudeStderr}\n${stdout}`;
763
+ // RVU-2 env-broken canary (inline): an EXPLICIT broken CLI-auth / rejected-key
764
+ // signal (401/403, invalid api key, "please log in") surfaces as budget-exempt
765
+ // env_broken — NOT a spurious reviewer_error — and is NEVER re-routed (a lower
766
+ // tier shares the same broken credential). A SILENT instant-empty exit stays
767
+ // capacity (claude_unavailable) per v0.63 T-63-1: silence alone is not auth.
768
+ if (classified.class === "auth_expired" ||
769
+ classified.class === "env_broken" ||
770
+ isReviewerAuthFailure(combined)) {
771
+ return envBrokenOutcome(modelId, classified.detail);
772
+ }
773
+ const isCapacity = classified.class === "capacity_exhausted" ||
774
+ classified.class === "claude_unavailable";
775
+ if (isCapacity) {
776
+ lastCapacityDetail = classified.detail;
777
+ const resumeMs = extractResetTime(combined);
778
+ if (resumeMs !== null)
779
+ lastResumeMs = resumeMs;
780
+ // Re-route to the next lower catalog tier instead of stalling the lane.
781
+ if (!isLast)
782
+ continue;
783
+ // Whole chain is capacity-capped — now yield reviewer_capacity so watch.ts
784
+ // pauses+resumes at the reset. capacity_degraded flags the pressure so the
785
+ // runner claim-pauses new tasks (cap-priority to reviews).
786
+ return {
787
+ decision: "reviewer_capacity",
788
+ reasons: [lastCapacityDetail],
789
+ confidence: 0,
790
+ session_id: null,
791
+ cost_usd: 0,
792
+ resume_at: lastResumeMs !== null ? new Date(lastResumeMs).toISOString() : null,
793
+ model_used: modelId,
794
+ capacity_degraded: true,
795
+ };
796
+ }
797
+ // Genuine error (task_error / usage_limit) — legacy reviewer_error, no
798
+ // re-route (a lower tier would just repeat the failure/cost).
799
+ return {
800
+ decision: "reviewer_error",
801
+ reasons: [
802
+ `claude exited ${exitCode}`,
803
+ ...(claudeStderr ? [`stderr: ${claudeStderr.slice(0, 200)}`] : []),
804
+ ],
805
+ confidence: 0,
806
+ session_id: null,
807
+ cost_usd: 0,
808
+ model_used: modelId,
809
+ };
810
+ }
811
+ // Unreachable in practice (chain always has ≥1 entry): a blank policy model
812
+ // with an empty catalog chain surfaces as an error.
813
+ return {
814
+ decision: "reviewer_error",
815
+ reasons: ["no reviewer model resolved from policy/catalog"],
816
+ confidence: 0,
817
+ session_id: null,
818
+ cost_usd: 0,
819
+ model_used: primaryModel,
660
820
  };
661
821
  }
662
822
  async function loadReviewerPolicy(supabase) {
@@ -1 +1 @@
1
- {"version":3,"file":"reviewer.js","sourceRoot":"","sources":["../../src/runtime/reviewer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,KAAK,EAA0B,MAAM,OAAO,CAAC;AACtD,OAAO,EACL,aAAa,EACb,cAAc,GACf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AA4DxE,wEAAwE;AACxE,uEAAuE;AACvE,qEAAqE;AACrE,qEAAqE;AACrE,mEAAmE;AACnE,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,wEAAwE;IACxE,sEAAsE;IACtE,uCAAuC;IACvC,EAAE;IACF,yEAAyE;IACzE,yEAAyE;IACzE,wEAAwE;IACxE,WAAW;IACX,EAAE;IACF,YAAY;IACZ,sBAAsB;IACtB,EAAE;IACF,sBAAsB;IACtB,yBAAyB;IACzB,EAAE;IACF,6EAA6E;IAC7E,oDAAoD;IACpD,EAAE;IACF,wBAAwB;IACxB,uCAAuC;IACvC,aAAa;IACb,EAAE;IACF,UAAU;IACV,aAAa;IACb,EAAE;IACF,iEAAiE;IACjE,GAAG;IACH,qCAAqC;IACrC,+DAA+D;IAC/D,qBAAqB;IACrB,GAAG;IACH,EAAE;IACF,QAAQ;IACR,0EAA0E;IAC1E,kEAAkE;IAClE,mEAAmE;IACnE,4EAA4E;IAC5E,uEAAuE;IACvE,yDAAyD;IACzD,0EAA0E;IAC1E,0EAA0E;IAC1E,iFAAiF;IACjF,oEAAoE;IACpE,2EAA2E;IAC3E,6EAA6E;IAC7E,8EAA8E;IAC9E,gFAAgF;IAChF,mBAAmB;IACnB,2EAA2E;IAC3E,8EAA8E;IAC9E,iBAAiB;IACjB,kEAAkE;IAClE,2DAA2D;IAC3D,2DAA2D;IAC3D,8EAA8E;IAC9E,iFAAiF;IACjF,6EAA6E;IAC7E,gFAAgF;IAChF,0CAA0C;IAC1C,8EAA8E;IAC9E,8EAA8E;IAC9E,8EAA8E;IAC9E,0EAA0E;IAC1E,6EAA6E;IAC7E,+EAA+E;IAC/E,yEAAyE;IACzE,gEAAgE;IAChE,0EAA0E;IAC1E,4DAA4D;IAC5D,0EAA0E;IAC1E,yEAAyE;IACzE,sEAAsE;IACtE,2DAA2D;IAC3D,0EAA0E;IAC1E,sEAAsE;IACtE,uCAAuC;CACxC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,MAAM,cAAc,GAAG,MAAM,CAAC;AAE9B,MAAM,eAAe,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAE3C;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,+BAA+B,CAAC;AACpE,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAC,CAAC;AACnD,MAAM,wBAAwB,GAAG,KAAK,CAAC;AACvC,MAAM,uBAAuB,GAAG,MAAM,CAAC;AAEvC,MAAM,UAAU,wBAAwB,CACtC,YAAoB,EACpB,OAA4C,EAAE;IAE9C,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,IAAI,wBAAwB,CAAC;IACrD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,IAAI,uBAAuB,CAAC;IAClD,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC;IAC1B,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3F,MAAM,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACpC,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,GAAG,MAAM,CAAC,CAAC;AACtC,CAAC;AAID;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAGrC;IACC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,iCAAiC,CAAC;IACxE,MAAM,KAAK,GACT,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,YAAY,GAAG,CAAC;QACzD,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC;QAC/B,CAAC,CAAC,CAAC,CAAC;IACR,IAAI,KAAK,IAAI,UAAU;QAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IACxE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC;AACjD,CAAC;AAED;kEACkE;AAClE,MAAM,UAAU,sBAAsB,CAAC,GAA8B;IACnE,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACnC,IAAI,CAAC,OAAO;QAAE,OAAO,iCAAiC,CAAC;IACvD,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACvC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,iCAAiC,CAAC;IAC3E,OAAO,CAAC,CAAC;AACX,CAAC;AAED,sGAAsG;AACtG,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IACnC,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AAC5F,CAAC;AAED,SAAS,YAAY,CAAC,EAAU;IAC9B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,IAMpC;IACC,MAAM,IAAI,GACR,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,cAAc;QAClC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC;YACrC,8BAA8B,cAAc,uBAAuB,IAAI,CAAC,OAAO,CAAC,MAAM,SAAS;QACjG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;IACnB,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,mBAAmB,IAAI,EAAE,CAAC;SAChD,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;SAC/B,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,OAAO,wBAAwB;SAC5B,OAAO,CAAC,sBAAsB,EAAE,IAAI,CAAC,gBAAgB,IAAI,EAAE,CAAC;SAC5D,OAAO,CAAC,yBAAyB,EAAE,UAAU,CAAC;SAC9C,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;SAC5C,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;SAC1C,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;AAClC,CAAC;AAQD,MAAM,UAAU,uBAAuB,CAAC,IAAY;IAKlD,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAEvB,6CAA6C;IAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAChC,MAAM,IAAI,GAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,KAAK,KAAK,CAAC,CAAC,IAAI,IAAI,GAAG,KAAK,EAAE,CAAC;QACjC,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9D,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAA0B,CAAC;gBAC3D,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ;oBAAE,SAAS;gBACtE,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;oBACxC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;oBAC/D,CAAC,CAAC,EAAE,CAAC;gBACP,MAAM,UAAU,GACd,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ;oBAClC,GAAG,CAAC,UAAU,IAAI,CAAC,IAAI,GAAG,CAAC,UAAU,IAAI,CAAC;oBACxC,CAAC,CAAC,GAAG,CAAC,UAAU;oBAChB,CAAC,CAAC,CAAC,CAAC;gBACR,OAAO,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;YACzD,CAAC;YAAC,MAAM,CAAC,CAAC,wBAAwB,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAED,sEAAsE;IACtE,wEAAwE;IACxE,uEAAuE;IACvE,2EAA2E;IAC3E,6EAA6E;IAC7E,uEAAuE;IACvE,kBAAkB;IAClB,MAAM,aAAa,GAAG,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzD,IAAI,CAAC,aAAa;QAAE,OAAO,IAAI,CAAC;IAChC,MAAM,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,WAAW,EAA0B,CAAC;IAExE,MAAM,eAAe,GACnB,6CAA6C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3D,MAAM,UAAU,GAAG,eAAe;QAChC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjE,CAAC,CAAC,QAAQ,KAAK,QAAQ;YACrB,CAAC,CAAC,GAAG,CAAC,0EAA0E;YAChF,CAAC,CAAC,GAAG,CAAC,CAAC,kFAAkF;IAE7F,+DAA+D;IAC/D,MAAM,WAAW,GAAG,IAAI;SACrB,KAAK,CAAC,OAAO,CAAC;SACd,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAC1B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACrD,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,wBAAwB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;SAChE,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;SACjC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEhB,MAAM,OAAO,GACX,WAAW,CAAC,MAAM,GAAG,CAAC;QACpB,CAAC,CAAC,WAAW;QACb,CAAC,CAAC;YACE,mDAAmD;YACnD,qBAAqB,QAAQ,EAAE;SAChC,CAAC;IAER,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;AAC3C,CAAC;AAqCD,KAAK,UAAU,kBAAkB,CAC/B,IAAY,EACZ,QAAgB;IAEhB,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,KAAK,CAC5B,IAAI,EACJ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,CAAC,EACpE,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,CACpB,CAAC;IACF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAsC,CAAC;IACvE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC;AAChE,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,oBAAoB,CACjC,IAAY,EACZ,QAAgB;IAEhB,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,KAAK,CAC5B,IAAI,EACJ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,oCAAoC,CAAC,EAC5F,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,CACpB,CAAC;IACF,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAI1B,CAAC;IACF,OAAO;QACL,UAAU,EAAE,CAAC,CAAC,WAAW,IAAI,EAAE;QAC/B,OAAO,EAAK,CAAC,CAAC,UAAU,IAAI,EAAE;QAC9B,UAAU,EAAE,CAAC,CAAC,WAAW,IAAI,EAAE;KAChC,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,wBAAwB,CAAC,IAIvC;IACC,MAAM,IAAI,GAAG,MAAM,oBAAoB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAClE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAClB,MAAM,IAAI,gBAAgB,CAAC;YACzB,KAAK,EAAE,0BAA0B;YACjC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,eAAe,EAAE,EAAE;YACnB,MAAM,EAAE,uEAAuE;SAChF,CAAC,CAAC;IACL,CAAC;IACD,IAAI,QAAgB,CAAC;IACrB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,eAAe,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACxD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,gBAAgB,CAAC;YACzB,KAAK,EAAE,0BAA0B;YACjC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,eAAe,EAAE,IAAI,CAAC,OAAO;YAC7B,MAAM,EAAE,iBAAkB,GAAa,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE;SACjF,CAAC,CAAC;IACL,CAAC;IACD,MAAM,EAAE,GAAG,MAAM,qBAAqB,CAAC;QACrC,QAAQ;QACR,QAAQ,EAAI,IAAI,CAAC,QAAQ;QACzB,QAAQ,EAAI,IAAI,CAAC,QAAQ;QACzB,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,OAAO,EAAK,IAAI,CAAC,OAAO;QACxB,UAAU,EAAE,IAAI,CAAC,UAAU;KAC5B,CAAC,CAAC;IACH,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC;AACrE,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,qBAAqB,CAClC,QAA8B,EAC9B,UAA4B,EAC5B,GAAqB;IAErB,IAAI,CAAC;QACH,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,cAAc,EAAE;YACnD,MAAM,EAAS,0BAA0B;YACzC,WAAW,EAAI,UAAU,CAAC,OAAO;YACjC,aAAa,EAAE,MAAM;YACrB,SAAS,EAAM;gBACb,SAAS,EAAS,GAAG,CAAC,QAAQ;gBAC9B,iBAAiB,EAAE,GAAG,CAAC,eAAe,IAAI,IAAI;gBAC9C,MAAM,EAAY,GAAG,CAAC,MAAM;aAC7B;SACF,CAAC,CAAC;QACH,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,sDAAsD,UAAU,CAAC,OAAO,aAAa,KAAK,CAAC,OAAO,IAAI,CACvG,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,OAAO,MAAM,EAAE,CAAC;QAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,sDAAuD,MAAgB,CAAC,OAAO,IAAI,CACpF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,2EAA2E;AAC3E,0EAA0E;AAC1E,+DAA+D;AAC/D,6EAA6E;AAC7E,oEAAoE;AACpE,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;AAE3B,SAAS,kBAAkB,CAAC,OAAe;IACzC,OAAO,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;AACxD,CAAC;AASD,SAAS,aAAa,CAAC,MAAc,EAAE,aAAqB;IAC1D,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC1C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;IACxF,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,aAAa,CAAC;IAC5C,MAAM,KAAK,GAAG,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC1C,OAAO;QACL,MAAM,EAAM,MAAM,CAAC,MAAM,IAAI,EAAE;QAC/B,iEAAiE;QACjE,6DAA6D;QAC7D,kEAAkE;QAClE,8DAA8D;QAC9D,UAAU,EAAG,MAAc,CAAC,UAAU,IAAI,IAAI;QAC9C,QAAQ,EAAI,KAAK,GAAG,GAAG;QACvB,KAAK;KACN,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,UAA4B,EAC5B,IAAmB;IAEnB,MAAM,SAAS,GAAK,IAAI,CAAC,WAAW,IAAI,kBAAkB,CAAC;IAC3D,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,IAAI,wBAAwB,CAAC;IACvE,MAAM,OAAO,GAAO,IAAI,CAAC,WAAW,IAAI,kBAAkB,CAAC;IAE3D,IAAI,OAA+B,CAAC;IACpC,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,WAAW,CAAC,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IACjF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,wEAAwE;QACxE,uEAAuE;QACvE,yEAAyE;QACzE,6EAA6E;QAC7E,IAAI,uBAAuB,CAAC,GAAG,CAAC,KAAK,OAAO,EAAE,CAAC;YAC7C,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,2DAA4D,GAAa,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CACrG,CAAC;YACF,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;aAAM,CAAC;YACN,OAAO,GAAG;gBACR,QAAQ,EAAI,gBAAgB;gBAC5B,OAAO,EAAK,CAAC,kBAAmB,GAAa,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;gBACvE,UAAU,EAAE,CAAC;gBACb,UAAU,EAAE,IAAI;gBAChB,QAAQ,EAAI,CAAC;aACd,CAAC;QACJ,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,4EAA4E;IAC5E,0EAA0E;IAC1E,qEAAqE;IACrE,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,OAAO;YACL,QAAQ,EAAI,qBAAqB;YACjC,OAAO,EAAK,CAAC,iFAAiF,CAAC;YAC/F,UAAU,EAAE,CAAC;YACb,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAI,CAAC;SACd,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,EAAE;QACzD,WAAW,EAAG,UAAU,CAAC,SAAS;QAClC,UAAU,EAAI,OAAO,CAAC,QAAQ;QAC9B,SAAS,EAAK,OAAO,CAAC,OAAO;QAC7B,YAAY,EAAE,OAAO,CAAC,UAAU;QAChC,YAAY,EAAE,OAAO,CAAC,UAAU;QAChC,UAAU,EAAI,OAAO,CAAC,QAAQ;KAC/B,CAAC,CAAC;IACH,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,8BAA8B,UAAU,CAAC,SAAS,aAAa,KAAK,CAAC,OAAO,IAAI,CACjF,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,YAAY,CACzB,OAA+C,EAC/C,OAAe,EACf,MAAc;IAEd,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/B,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAChB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC1B,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;IACpB,CAAC;IACD,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC/C,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC;QAC3B,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC;QAC3B,KAAK;KACN,CAAC,CAAC;IACH,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE,CAAC;AAC9F,CAAC;AAED,KAAK,UAAU,WAAW,CACxB,UAA4B,EAC5B,IAAmB,EACnB,SAAgF,EAChF,WAI+B,EAC/B,OAA+C;IAE/C,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,uBAAuB,EAAE;QACvE,SAAS,EAAE,UAAU,CAAC,OAAO;KAC9B,CAAC,CAAC;IACH,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;QACnB,OAAO;YACL,QAAQ,EAAI,gBAAgB;YAC5B,OAAO,EAAK,CAAC,sBAAsB,KAAK,EAAE,OAAO,IAAI,SAAS,EAAE,CAAC;YACjE,UAAU,EAAE,CAAC;YACb,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAI,CAAC;SACd,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,IAAsB,CAAC;IACtC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IACzB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;IAC/B,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO;YACL,QAAQ,EAAI,gBAAgB;YAC5B,OAAO,EAAK,CAAC,uCAAuC,CAAC;YACrD,UAAU,EAAE,CAAC;YACb,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAI,CAAC;SACd,CAAC;IACJ,CAAC;IAED,oEAAoE;IACpE,oEAAoE;IACpE,sEAAsE;IACtE,oDAAoD;IACpD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU;QAC5B,CAAC,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,CAAC,CAAC,MAAM,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAE5C,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;IAEzD,0EAA0E;IAC1E,8EAA8E;IAC9E,+EAA+E;IAC/E,EAAE;IACF,gFAAgF;IAChF,4EAA4E;IAC5E,+EAA+E;IAC/E,8EAA8E;IAC9E,2EAA2E;IAC3E,IAAI,IAAsB,CAAC;IAC3B,IAAI,CAAC;QACH,IAAI,GAAG,MAAM,WAAW,CAAC;YACvB,IAAI;YACJ,QAAQ,EAAE,UAAU,CAAC,SAAS;YAC9B,QAAQ,EAAE,UAAU,CAAC,SAAS;SAC/B,CAAC,CAAC;QACH,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAC5C,IAAI,GAAG,MAAM,WAAW,CAAC;gBACvB,IAAI;gBACJ,QAAQ,EAAE,UAAU,CAAC,SAAS;gBAC9B,QAAQ,EAAE,UAAU,CAAC,SAAS;aAC/B,CAAC,CAAC;YACH,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;gBAC5C,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC;oBACpC,KAAK,EAAE,0BAA0B;oBACjC,QAAQ,EAAE,UAAU,CAAC,SAAS;oBAC9B,eAAe,EAAE,IAAI,CAAC,OAAO;oBAC7B,MAAM,EACJ,+EAA+E;wBAC/E,oDAAoD;iBACvD,CAAC,CAAC;gBACH,MAAM,qBAAqB,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;gBACjE,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,gBAAgB,EAAE,CAAC;YACpC,MAAM,qBAAqB,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;YAC5D,OAAO,IAAI,CAAC;QACd,CAAC;QACD,0EAA0E;QAC1E,yEAAyE;QACzE,4EAA4E;QAC5E,4DAA4D;QAC5D,IAAI,uBAAuB,CAAC,GAAG,CAAC,KAAK,OAAO,EAAE,CAAC;YAC7C,MAAM,qBAAqB,CACzB,IAAI,CAAC,QAAQ,EACb,UAAU,EACV,IAAI,gBAAgB,CAAC;gBACnB,KAAK,EAAE,0BAA0B;gBACjC,QAAQ,EAAE,UAAU,CAAC,SAAS;gBAC9B,eAAe,EAAE,EAAE;gBACnB,MAAM,EAAE,4CAA6C,GAAa,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE;aAC5G,CAAC,CACH,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,oBAAoB,CAAC;YAClC,gBAAgB,EAAK,IAAI,CAAC,WAAW,IAAI,EAAE;YAC3C,mBAAmB,EAAE,IAAI,CAAC,UAAU,IAAI,EAAE;YAC1C,QAAQ,EAAa,IAAI,CAAC,KAAK;YAC/B,OAAO,EAAc,IAAI,CAAC,IAAI;YAC9B,OAAO,EAAc,IAAI,CAAC,IAAI;SAC/B,CAAC,CAAC;QACH,OAAO,MAAM,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACjE,CAAC;YAAS,CAAC;QACT,sEAAsE;QACtE,4EAA4E;QAC5E,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAC9C,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,kBAAkB,CAC/B,MAAc,EACd,MAA6B,EAC7B,IAAmB,EACnB,OAA+C;IAE/C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,IAAI,YAAY,CAAC;IAC3C,MAAM,OAAO,GAAG,MAAM,EAAE,QAAQ,IAAI,mBAAmB,CAAC;IACxD,MAAM,kBAAkB,GAAG,sBAAsB,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAErF,IAAI,YAAY,GAAoF,IAAI,CAAC;IACzG,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,eAAe,GAAG,CAAC,CAAC;IACxB,SAAS,CAAC;QACR,YAAY,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAC5D,IAAI,YAAY,CAAC,QAAQ,KAAK,CAAC;YAAE,MAAM;QAEvC,2EAA2E;QAC3E,yEAAyE;QACzE,0EAA0E;QAC1E,wEAAwE;QACxE,4EAA4E;QAC5E,8DAA8D;QAC9D,MAAM,UAAU,GAAG,MAAM,CAAC,eAAe,CACvC,YAAY,CAAC,QAAQ,EACrB,YAAY,CAAC,MAAM,EACnB,YAAY,CAAC,MAAM,EACnB,YAAY,CAAC,UAAU,CACxB,CAAC;QACF,MAAM,UAAU,GACd,UAAU,CAAC,KAAK,KAAK,oBAAoB;YACzC,UAAU,CAAC,KAAK,KAAK,oBAAoB,CAAC;QAC5C,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,YAAY,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;YACpF,MAAM,KAAK,GAAG,qBAAqB,CAAC;gBAClC,YAAY,EAAE,eAAe;gBAC7B,UAAU,EAAE,kBAAkB;aAC/B,CAAC,CAAC;YACH,IAAI,QAAQ,KAAK,IAAI,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;gBAClD,MAAM,SAAS,GAAG,wBAAwB,CAAC,eAAe,CAAC,CAAC;gBAC5D,eAAe,EAAE,CAAC;gBAClB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,6BAA6B,KAAK,CAAC,OAAO,IAAI,kBAAkB,UAAU,SAAS,oCAAoC,CACxH,CAAC;gBACF,MAAM,OAAO,CAAC,SAAS,CAAC,CAAC;gBACzB,SAAS;YACX,CAAC;YACD,MAAM,CAAC,wEAAwE;QACjF,CAAC;QAED,MAAM,QAAQ,GACZ,YAAY,GAAG,eAAe,CAAC,MAAM;YACrC,YAAY,CAAC,QAAQ,KAAK,CAAC;YAC3B,gBAAgB,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACxC,IAAI,CAAC,QAAQ;YAAE,MAAM;QAErB,MAAM,OAAO,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;QAC9C,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,4BAA4B,YAAY,GAAG,CAAC,IAAI,eAAe,CAAC,MAAM,UAAU,OAAO,MAAM,CAC9F,CAAC;QACF,YAAY,EAAE,CAAC;QACf,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;IAED,2DAA2D;IAC3D,oEAAoE;IACpE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,YAAa,CAAC;IAC7E,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;QACnB,+DAA+D;QAC/D,wEAAwE;QACxE,0EAA0E;QAC1E,4EAA4E;QAC5E,2EAA2E;QAC3E,0EAA0E;QAC1E,2EAA2E;QAC3E,yDAAyD;QACzD,MAAM,UAAU,GAAG,MAAM,CAAC,eAAe,CAAC,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;QACtF,IACE,UAAU,CAAC,KAAK,KAAK,oBAAoB;YACzC,UAAU,CAAC,KAAK,KAAK,oBAAoB,EACzC,CAAC;YACD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,YAAY,KAAK,MAAM,EAAE,CAAC,CAAC;YAChE,OAAO;gBACL,QAAQ,EAAI,mBAAmB;gBAC/B,OAAO,EAAK,CAAC,UAAU,CAAC,MAAM,CAAC;gBAC/B,UAAU,EAAE,CAAC;gBACb,UAAU,EAAE,IAAI;gBAChB,QAAQ,EAAI,CAAC;gBACb,SAAS,EAAG,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI;aACxE,CAAC;QACJ,CAAC;QACD,OAAO;YACL,QAAQ,EAAI,gBAAgB;YAC5B,OAAO,EAAK;gBACV,iBAAiB,QAAQ,EAAE;gBAC3B,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,WAAW,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;aACnE;YACD,UAAU,EAAE,CAAC;YACb,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAI,CAAC;SACd,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEhD,8DAA8D;IAC9D,qBAAqB;IACrB,IACE,MAAM;QACN,MAAM,CAAC,uBAAuB,GAAG,CAAC;QAClC,QAAQ,CAAC,QAAQ,GAAG,MAAM,CAAC,uBAAuB,EAClD,CAAC;QACD,OAAO;YACL,QAAQ,EAAI,mBAAmB;YAC/B,OAAO,EAAK;gBACV,kBAAkB,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,MAAM,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;aAC5G;YACD,UAAU,EAAE,CAAC;YACb,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,QAAQ,EAAI,QAAQ,CAAC,QAAQ;SAC9B,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,uBAAuB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC1D,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO;YACL,QAAQ,EAAI,gBAAgB;YAC5B,OAAO,EAAK;gBACV,kDAAkD;gBAClD,gBAAgB,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;aAChD;YACD,UAAU,EAAE,CAAC;YACb,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,QAAQ,EAAI,QAAQ,CAAC,QAAQ;SAC9B,CAAC;IACJ,CAAC;IAED,OAAO;QACL,QAAQ,EAAI,QAAQ,CAAC,QAAQ;QAC7B,OAAO,EAAK,QAAQ,CAAC,OAAO;QAC5B,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,QAAQ,EAAI,QAAQ,CAAC,QAAQ;KAC9B,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,QAA8B;IAE9B,kEAAkE;IAClE,sEAAsE;IACtE,8DAA8D;IAC9D,MAAM,EAAE,IAAI,EAAE,GAAG,MAAO,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAS;SAC1D,MAAM,CAAC,kBAAkB,CAAC;SAC1B,KAAK,CAAC,CAAC,CAAC;SACR,WAAW,EAAE,CAAC;IACjB,MAAM,GAAG,GAAG,IAAmE,CAAC;IAChF,OAAO,GAAG,EAAE,gBAAgB,EAAE,QAAQ,IAAI,IAAI,CAAC;AACjD,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,MAAoC;IAC/D,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IACvB,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,MAAwC,EAAE,CAAC;QACjE,QAAQ,IAAI,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"reviewer.js","sourceRoot":"","sources":["../../src/runtime/reviewer.ts"],"names":[],"mappings":"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"}