@agent-native/core 0.76.4 → 0.76.5

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.
@@ -1,5 +1,24 @@
1
1
  # @agent-native/core
2
2
 
3
+ ## 0.76.5
4
+
5
+ ### Patch Changes
6
+
7
+ - ba634f4: Durable background agent runs: add a foreground **circuit-breaker** so a dead
8
+ background worker can no longer break chat. A Netlify async background function
9
+ returns `202` the instant it enqueues the invocation, but the worker may never
10
+ execute — e.g. the generated function wrapper fails to import `./main.mjs` or
11
+ hand off to the Nitro `_process-run` route, so it never reaches
12
+ `claimBackgroundRun` and the run is reaped as "worker never claimed the run".
13
+ After a successful dispatch the foreground now polls briefly for the worker to
14
+ actually claim the run; if it doesn't within the grace window, the turn is
15
+ recovered **inline** (the same safe atomic-claim path used for a fast dispatch
16
+ failure), so a dead worker degrades to a working synchronous turn instead of a
17
+ reaped failure. Also harden the generated background-function wrapper to pass
18
+ Netlify's `context` through to the Nitro handler and wrap the handoff in
19
+ try/catch so a pre-route failure is logged loudly instead of silently swallowed
20
+ behind the async 202.
21
+
3
22
  ## 0.76.4
4
23
 
5
24
  ### Patch Changes
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agent-native/core",
3
- "version": "0.76.4",
3
+ "version": "0.76.5",
4
4
  "type": "module",
5
5
  "engines": {
6
6
  "node": ">=22"
@@ -109,6 +109,7 @@ import {
109
109
  updateRunHeartbeat,
110
110
  updateRunStatusIfRunning,
111
111
  claimBackgroundRun,
112
+ readBackgroundRunClaim,
112
113
  recordRunDiagnostic,
113
114
  RUN_DIAG_STAGE,
114
115
  } from "./run-store.js";
@@ -149,6 +150,96 @@ registerBuiltinEngines();
149
150
 
150
151
  export { PROVIDER_TO_ENV };
151
152
 
153
+ /**
154
+ * Grace window + poll interval for the foreground circuit-breaker that confirms
155
+ * a background worker actually CLAIMED a 202-dispatched run before recovering
156
+ * inline. The grace is long enough for a cold-start worker to win the claim
157
+ * (~1-2s typical) and short enough to recover quickly within the foreground's
158
+ * ~40s soft-timeout.
159
+ */
160
+ export const BACKGROUND_CLAIM_GRACE_MS = 8_000;
161
+ export const BACKGROUND_CLAIM_POLL_MS = 400;
162
+
163
+ export type BackgroundDispatchOutcome =
164
+ | { action: "stream" }
165
+ | { action: "subscribe" }
166
+ | {
167
+ action: "inline";
168
+ reason: "dispatch-failed" | "worker-never-claimed" | "no-row";
169
+ };
170
+
171
+ /**
172
+ * Decide what the foreground should do after attempting a durable background
173
+ * dispatch. A Netlify async background function returns 202 the instant it
174
+ * ENQUEUES the invocation — that is NOT proof the worker executed. If the
175
+ * generated wrapper fails to import/hand off to the route, the worker never
176
+ * reaches `claimBackgroundRun` and the run is reaped as "worker never claimed".
177
+ *
178
+ * So after a successful dispatch we poll briefly for the worker to CLAIM the run:
179
+ * - claimed within grace → "stream" (subscribe to the worker)
180
+ * - dispatch failed OR no claim → recover inline by atomically claiming the
181
+ * run ourselves: if we win → "inline"; if a (delayed) worker already won
182
+ * it → "subscribe" (never double-run).
183
+ *
184
+ * Pure except for the injected `readClaim`/`claim`/`now`/`sleep` deps, so each
185
+ * branch is unit-testable.
186
+ */
187
+ export async function resolveBackgroundDispatchOutcome(opts: {
188
+ dispatched: boolean;
189
+ backgroundRowInserted: boolean;
190
+ runId: string;
191
+ graceMs: number;
192
+ pollIntervalMs: number;
193
+ readClaim: (
194
+ runId: string,
195
+ ) => Promise<{ dispatchMode: string | null; status: string | null } | null>;
196
+ claim: (runId: string) => Promise<boolean>;
197
+ now?: () => number;
198
+ sleep?: (ms: number) => Promise<void>;
199
+ }): Promise<BackgroundDispatchOutcome> {
200
+ const now = opts.now ?? (() => Date.now());
201
+ const sleep =
202
+ opts.sleep ?? ((ms: number) => new Promise<void>((r) => setTimeout(r, ms)));
203
+
204
+ if (opts.dispatched) {
205
+ const deadline = now() + opts.graceMs;
206
+ for (;;) {
207
+ const claim = await opts.readClaim(opts.runId).catch(() => null);
208
+ if (
209
+ claim &&
210
+ ((claim.dispatchMode && claim.dispatchMode !== "background") ||
211
+ (claim.status && claim.status !== "running"))
212
+ ) {
213
+ return { action: "stream" };
214
+ }
215
+ if (now() >= deadline) break;
216
+ await sleep(opts.pollIntervalMs);
217
+ }
218
+ }
219
+
220
+ // Dispatch fast-failed OR no worker claimed within grace → recover inline.
221
+ if (!opts.backgroundRowInserted) {
222
+ // No row to reconcile (insert failed / non-duplicate) — run a fresh inline
223
+ // turn; `startRun` inserts the row.
224
+ return { action: "inline", reason: "no-row" };
225
+ }
226
+ let claimedInline = false;
227
+ try {
228
+ claimedInline = await opts.claim(opts.runId);
229
+ } catch {
230
+ claimedInline = false;
231
+ }
232
+ if (claimedInline) {
233
+ return {
234
+ action: "inline",
235
+ reason: opts.dispatched ? "worker-never-claimed" : "dispatch-failed",
236
+ };
237
+ }
238
+ // The atomic claim was lost: a (delayed) background worker already owns the
239
+ // run — subscribe to it, never run a second copy.
240
+ return { action: "subscribe" };
241
+ }
242
+
152
243
  const SAFE_BROWSER_TAB_ID_RE = /^[A-Za-z0-9_-]{1,96}$/;
153
244
 
154
245
  function normalizeBrowserTabId(value: unknown): string | undefined {
@@ -4425,7 +4516,33 @@ export function createProductionAgentHandler(
4425
4516
  );
4426
4517
  }
4427
4518
 
4428
- if (dispatched) {
4519
+ // ─── Circuit-breaker: a 202 only ENQUEUES the background invocation ─────
4520
+ // It is NOT proof the worker executed. If the generated background-function
4521
+ // wrapper fails to import `./main.mjs` or hand off to the Nitro
4522
+ // `_process-run` route, the worker never reaches `claimBackgroundRun`: the
4523
+ // row sits at `dispatch_mode='background'` until the reaper errors it
4524
+ // ("worker never claimed the run"). `resolveBackgroundDispatchOutcome`
4525
+ // polls briefly for the claim and decides:
4526
+ // - "stream": a worker claimed the run → subscribe to it.
4527
+ // - "subscribe": a (delayed) worker already owns it → subscribe, NEVER
4528
+ // run a second copy.
4529
+ // - "inline": dispatch failed OR no worker claimed within grace → we
4530
+ // atomically own the run; recover by running it inline so a
4531
+ // dead worker degrades to a working synchronous turn.
4532
+ const backgroundOutcome = await resolveBackgroundDispatchOutcome({
4533
+ dispatched,
4534
+ backgroundRowInserted,
4535
+ runId,
4536
+ graceMs: BACKGROUND_CLAIM_GRACE_MS,
4537
+ pollIntervalMs: BACKGROUND_CLAIM_POLL_MS,
4538
+ readClaim: readBackgroundRunClaim,
4539
+ claim: claimBackgroundRun,
4540
+ });
4541
+
4542
+ if (
4543
+ backgroundOutcome.action === "stream" ||
4544
+ backgroundOutcome.action === "subscribe"
4545
+ ) {
4429
4546
  const stream = subscribeToRun(runId, 0);
4430
4547
  if (stream) {
4431
4548
  setResponseHeader(event, "Content-Type", "text/event-stream");
@@ -4434,65 +4551,39 @@ export function createProductionAgentHandler(
4434
4551
  setResponseHeader(event, "X-Run-Id", runId);
4435
4552
  return stream;
4436
4553
  }
4437
- // Subscription failed even though dispatch landed — surface an error
4438
- // rather than silently running inline (the background worker is already
4439
- // processing this runId, so an inline second run would double-execute).
4554
+ // A background worker owns this run but we cannot subscribe — surface an
4555
+ // error rather than risk a double-run by falling through to inline.
4556
+ await updateRunStatusIfRunning(runId, "errored").catch(() => {});
4440
4557
  setResponseStatus(event, 500);
4441
- return { error: "Failed to subscribe to background run" };
4558
+ return {
4559
+ error:
4560
+ backgroundOutcome.action === "stream"
4561
+ ? "Failed to subscribe to background run"
4562
+ : "Failed to dispatch background run",
4563
+ };
4442
4564
  }
4443
4565
 
4444
- // ─── Dispatch failed degrade to a normal synchronous (inline) run ────
4445
- // `fireInternalDispatch` throws ONLY when the self-POST failed *fast*
4446
- // (rejected the connection, or returned a non-2xx within the ~250ms settle
4447
- // race). The `_process-run` route verifies the HMAC token and validates
4448
- // the body BEFORE it ever reaches the SQL atomic claim, so a fast throw
4449
- // means NO background worker claimed this run — there is nothing to
4450
- // double-execute. Rather than break the chat with "Failed to dispatch
4451
- // background run", we run the turn inline (the same synchronous path the
4452
- // flag-off branch below takes), reusing the already-inserted run row.
4453
- //
4454
- // Safety against a (very improbable) delayed background delivery: claim the
4455
- // run atomically here via `claimBackgroundRun`, which flips the row's
4456
- // dispatch_mode `background → background-processing` in one conditional
4457
- // UPDATE. If a delayed dispatch DID land and a worker already won the
4458
- // claim, our claim returns false and we must NOT run inline (that would
4459
- // double-execute) — fall back to subscribing to the worker's run instead.
4460
- // The SQL atomic claim is the single source of truth for ownership, so at
4461
- // most one of {inline fallback, background worker} ever executes this run.
4462
- if (backgroundRowInserted) {
4463
- let claimedInline = false;
4464
- try {
4465
- claimedInline = await claimBackgroundRun(runId);
4466
- } catch (err) {
4467
- console.error(
4468
- "[agent-chat] inline-fallback claim failed:",
4469
- err instanceof Error ? err.message : err,
4470
- );
4471
- }
4472
- if (!claimedInline) {
4473
- // A background worker already owns this run (a delayed delivery landed
4474
- // after our fast throw). Stream its events instead of running a second
4475
- // copy. If we somehow can't subscribe, surface an error rather than
4476
- // risk a double-run.
4477
- const stream = subscribeToRun(runId, 0);
4478
- if (stream) {
4479
- setResponseHeader(event, "Content-Type", "text/event-stream");
4480
- setResponseHeader(event, "Cache-Control", "no-cache");
4481
- setResponseHeader(event, "Connection", "keep-alive");
4482
- setResponseHeader(event, "X-Run-Id", runId);
4483
- return stream;
4484
- }
4485
- await updateRunStatusIfRunning(runId, "errored").catch(() => {});
4486
- setResponseStatus(event, 500);
4487
- return { error: "Failed to dispatch background run" };
4488
- }
4489
- // We own the run. `startRun` (below) calls `insertRun` again, but its
4490
- // duplicate-PK collision is swallowed (`insertRun(...).catch(() => {})`),
4491
- // so the existing `background-processing` row is reused — no double row.
4566
+ // backgroundOutcome.action === "inline": we atomically own the run (or
4567
+ // there was no row to reconcile), so falling through to the inline
4568
+ // `startRun` path below cannot double-execute. `startRun` calls `insertRun`
4569
+ // again, but its duplicate-PK collision is swallowed, so an existing
4570
+ // `background-processing` row is reused no double row.
4571
+ if (backgroundOutcome.reason === "worker-never-claimed") {
4572
+ // The async 202 landed but no worker claimed within grace — the generated
4573
+ // wrapper never reached the route. Record it so the failure is visible on
4574
+ // the run even though the user still gets a working (inline) turn.
4575
+ console.error(
4576
+ "[agent-chat] background worker did not claim the 202-dispatched run " +
4577
+ "within grace; recovering inline:",
4578
+ runId,
4579
+ );
4580
+ await recordRunDiagnostic(
4581
+ runId,
4582
+ RUN_DIAG_STAGE.foregroundInlineRecovery,
4583
+ "202 dispatched but no worker claimed within the foreground grace window",
4584
+ ).catch(() => {});
4492
4585
  }
4493
- // Fall through to the inline `startRun` path below (the same one the
4494
- // flag-off branch uses). If the row was never inserted, `startRun` inserts
4495
- // it fresh; if it was, the claim above made us the sole owner.
4586
+ // Fall through to the inline `startRun` path below.
4496
4587
  }
4497
4588
 
4498
4589
  const trackedProgressOwner =
@@ -378,6 +378,35 @@ export async function claimBackgroundRun(runId: string): Promise<boolean> {
378
378
  return (rowsAffected ?? 0) > 0;
379
379
  }
380
380
 
381
+ /**
382
+ * Read the claim/lifecycle state of a single run by id — for the foreground
383
+ * circuit-breaker that confirms a background worker actually CLAIMED a run that
384
+ * was dispatched with a Netlify async 202. A 202 only means the invocation was
385
+ * ENQUEUED; if the generated background-function wrapper fails to import/hand off
386
+ * to the route it never reaches `claimBackgroundRun`, leaving the row stuck at
387
+ * `dispatch_mode = 'background'`. `'background-processing'` means a worker won
388
+ * the claim; a terminal `status` means the run already resolved. Returns null if
389
+ * the row is missing.
390
+ */
391
+ export async function readBackgroundRunClaim(
392
+ runId: string,
393
+ ): Promise<{ dispatchMode: string | null; status: string | null } | null> {
394
+ await ensureRunTables();
395
+ const client = getDbExec();
396
+ const { rows } = await client.execute({
397
+ sql: `SELECT dispatch_mode, status FROM agent_runs WHERE id = ? LIMIT 1`,
398
+ args: [runId],
399
+ });
400
+ const row = rows?.[0] as
401
+ | { dispatch_mode?: string | null; status?: string | null }
402
+ | undefined;
403
+ if (!row) return null;
404
+ return {
405
+ dispatchMode: row.dispatch_mode ?? null,
406
+ status: row.status ?? null,
407
+ };
408
+ }
409
+
381
410
  /**
382
411
  * Atomically acquire a run lease for a thread. Succeeds (returns true) only
383
412
  * when no other run for the same thread is currently status='running' with a
@@ -481,6 +510,13 @@ export const RUN_DIAG_STAGE = {
481
510
  workerThrew: "worker_threw",
482
511
  /** The route handler caught an error from the worker invocation. */
483
512
  routeThrew: "route_threw",
513
+ /**
514
+ * The foreground circuit-breaker fired: a Netlify async 202 was returned but
515
+ * no background worker CLAIMED the run within the foreground grace window
516
+ * (the generated function wrapper never reached the route), so the foreground
517
+ * recovered by running the turn inline. The run still completes for the user.
518
+ */
519
+ foregroundInlineRecovery: "foreground_inline_recovery",
484
520
  } as const;
485
521
 
486
522
  export type RunDiagStage = (typeof RUN_DIAG_STAGE)[keyof typeof RUN_DIAG_STAGE];
@@ -1617,20 +1617,37 @@ let cachedHandler;
1617
1617
  // PROCESS_RUN_PATH before delegating. Method, ALL headers (the HMAC
1618
1618
  // Authorization: Bearer MUST survive — the plugin verifies it) and the body are
1619
1619
  // preserved by cloning the incoming Request with only its URL pathname set.
1620
- export default async function handler(request) {
1621
- cachedHandler ??= (await import("./main.mjs")).default;
1622
- const url = new URL(request.url);
1623
- url.pathname = PROCESS_RUN_PATH;
1624
- // Read the body once and pass it through. GET/HEAD have no body.
1625
- const method = request.method || "POST";
1626
- const hasBody = method !== "GET" && method !== "HEAD";
1627
- const body = hasBody ? await request.text() : undefined;
1628
- const rewritten = new Request(url.toString(), {
1629
- method,
1630
- headers: request.headers,
1631
- body,
1632
- });
1633
- return cachedHandler(rewritten);
1620
+ export default async function handler(request, context) {
1621
+ try {
1622
+ cachedHandler ??= (await import("./main.mjs")).default;
1623
+ const url = new URL(request.url);
1624
+ url.pathname = PROCESS_RUN_PATH;
1625
+ // Read the body once and pass it through. GET/HEAD have no body.
1626
+ const method = request.method || "POST";
1627
+ const hasBody = method !== "GET" && method !== "HEAD";
1628
+ const body = hasBody ? await request.text() : undefined;
1629
+ const rewritten = new Request(url.toString(), {
1630
+ method,
1631
+ headers: request.headers,
1632
+ body,
1633
+ });
1634
+ // Netlify Functions v2 invokes the handler as (request, context); the Nitro
1635
+ // netlify handler accepts (request[, context]). Pass context through so a
1636
+ // handler that uses it (e.g. waitUntil) does not trip over an undefined arg
1637
+ // before it ever routes the request.
1638
+ return await cachedHandler(rewritten, context);
1639
+ } catch (err) {
1640
+ // Netlify already returned 202 for this background invocation and DISCARDS
1641
+ // this return, so a throw here is otherwise INVISIBLE — it would only surface
1642
+ // downstream as the reaper's "worker never claimed the run". Log it loudly
1643
+ // for the function log; the FOREGROUND circuit-breaker (production-agent.ts)
1644
+ // is what recovers the run by executing it inline when no worker claims.
1645
+ console.error(
1646
+ "[agent-background] wrapper failed before reaching the route:",
1647
+ (err && err.stack) || err,
1648
+ );
1649
+ throw err;
1650
+ }
1634
1651
  }
1635
1652
 
1636
1653
  export const config = {
@@ -7,6 +7,53 @@ import type { ActiveRun } from "./run-manager.js";
7
7
  import { type ReasoningEffort } from "../shared/reasoning-effort.js";
8
8
  import { type Processor } from "./processors.js";
9
9
  export { PROVIDER_TO_ENV };
10
+ /**
11
+ * Grace window + poll interval for the foreground circuit-breaker that confirms
12
+ * a background worker actually CLAIMED a 202-dispatched run before recovering
13
+ * inline. The grace is long enough for a cold-start worker to win the claim
14
+ * (~1-2s typical) and short enough to recover quickly within the foreground's
15
+ * ~40s soft-timeout.
16
+ */
17
+ export declare const BACKGROUND_CLAIM_GRACE_MS = 8000;
18
+ export declare const BACKGROUND_CLAIM_POLL_MS = 400;
19
+ export type BackgroundDispatchOutcome = {
20
+ action: "stream";
21
+ } | {
22
+ action: "subscribe";
23
+ } | {
24
+ action: "inline";
25
+ reason: "dispatch-failed" | "worker-never-claimed" | "no-row";
26
+ };
27
+ /**
28
+ * Decide what the foreground should do after attempting a durable background
29
+ * dispatch. A Netlify async background function returns 202 the instant it
30
+ * ENQUEUES the invocation — that is NOT proof the worker executed. If the
31
+ * generated wrapper fails to import/hand off to the route, the worker never
32
+ * reaches `claimBackgroundRun` and the run is reaped as "worker never claimed".
33
+ *
34
+ * So after a successful dispatch we poll briefly for the worker to CLAIM the run:
35
+ * - claimed within grace → "stream" (subscribe to the worker)
36
+ * - dispatch failed OR no claim → recover inline by atomically claiming the
37
+ * run ourselves: if we win → "inline"; if a (delayed) worker already won
38
+ * it → "subscribe" (never double-run).
39
+ *
40
+ * Pure except for the injected `readClaim`/`claim`/`now`/`sleep` deps, so each
41
+ * branch is unit-testable.
42
+ */
43
+ export declare function resolveBackgroundDispatchOutcome(opts: {
44
+ dispatched: boolean;
45
+ backgroundRowInserted: boolean;
46
+ runId: string;
47
+ graceMs: number;
48
+ pollIntervalMs: number;
49
+ readClaim: (runId: string) => Promise<{
50
+ dispatchMode: string | null;
51
+ status: string | null;
52
+ } | null>;
53
+ claim: (runId: string) => Promise<boolean>;
54
+ now?: () => number;
55
+ sleep?: (ms: number) => Promise<void>;
56
+ }): Promise<BackgroundDispatchOutcome>;
10
57
  /**
11
58
  * Look up a user's persisted API key for the given provider. Returns
12
59
  * `undefined` for unauthenticated callers.
@@ -1 +1 @@
1
- {"version":3,"file":"production-agent.d.ts","sourceRoot":"","sources":["../../src/agent/production-agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"production-agent.d.ts","sourceRoot":"","sources":["../../src/agent/production-agent.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,YAAY,IAAI,cAAc,EAAE,MAAM,IAAI,CAAC;AACzD,OAAO,KAAK,EACV,UAAU,EAEV,mBAAmB,EAEnB,cAAc,EACd,kBAAkB,EAClB,0BAA0B,EAC3B,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EACV,WAAW,EACX,UAAU,EACV,aAAa,EACb,iBAAiB,EAGlB,MAAM,mBAAmB,CAAC;AAmB3B,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAShE,OAAO,EAEL,cAAc,EACd,qBAAqB,EACrB,0BAA0B,EAC1B,MAAM,EACN,QAAQ,EAET,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AA+BlD,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,+BAA+B,CAAC;AAuBvC,OAAO,EAIL,KAAK,SAAS,EACf,MAAM,iBAAiB,CAAC;AAsBzB,OAAO,EAAE,eAAe,EAAE,CAAC;AAE3B;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,OAAQ,CAAC;AAC/C,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAE5C,MAAM,MAAM,yBAAyB,GACjC;IAAE,MAAM,EAAE,QAAQ,CAAA;CAAE,GACpB;IAAE,MAAM,EAAE,WAAW,CAAA;CAAE,GACvB;IACE,MAAM,EAAE,QAAQ,CAAC;IACjB,MAAM,EAAE,iBAAiB,GAAG,sBAAsB,GAAG,QAAQ,CAAC;CAC/D,CAAC;AAEN;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,gCAAgC,CAAC,IAAI,EAAE;IAC3D,UAAU,EAAE,OAAO,CAAC;IACpB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,CACT,KAAK,EAAE,MAAM,KACV,OAAO,CAAC;QAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;IAC5E,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3C,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC,GAAG,OAAO,CAAC,yBAAyB,CAAC,CA0CrC;AA4CD;;;;;;;;;GASG;AACH,wBAAsB,cAAc,CAClC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACpC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CA8C7B;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE3D;AAaD;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACpC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAsB7B;AAED,sEAAsE;AACtE,wBAAsB,uBAAuB,CAC3C,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACpC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAE7B;AAED;;;;GAIG;AACH,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEnE,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,UAAU,CAAC;IACjB,GAAG,EAAE,CACH,IAAI,EAAE,GAAG,EACT,OAAO,CAAC,EAAE,OAAO,cAAc,EAAE,gBAAgB,KAC9C,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;IACxB,0EAA0E;IAC1E,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,qFAAqF;IACrF,IAAI,CAAC,EAAE,OAAO,cAAc,EAAE,gBAAgB,GAAG,KAAK,CAAC;IACvD;;0EAEsE;IACtE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;sDAGkD;IAClD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;qFACiF;IACjF,WAAW,CAAC,EAAE,OAAO,cAAc,EAAE,uBAAuB,CAAC;IAC7D;4EACwE;IACxE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;oDAEgD;IAChD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;;gDAK4C;IAC5C,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;2EAEuE;IACvE,IAAI,CAAC,EAAE,OAAO,cAAc,EAAE,iBAAiB,CAAC;IAChD;;qCAEiC;IACjC,MAAM,CAAC,EAAE,OAAO,cAAc,EAAE,kBAAkB,CAAC;IACnD,2EAA2E;IAC3E,MAAM,CAAC,EAAE,OAAO,iBAAiB,EAAE,kBAAkB,CAAC;IACtD;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;;OAMG;IACH,aAAa,CAAC,EACV,OAAO,GACP,CAAC,CACC,IAAI,EAAE,GAAG,EACT,GAAG,CAAC,EAAE,OAAO,cAAc,EAAE,gBAAgB,KAC1C,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;CACtC;AAED,4CAA4C;AAC5C,MAAM,MAAM,WAAW,GAAG,WAAW,CAAC;AAEtC,MAAM,MAAM,kBAAkB,GAAG,KAAK,GAAG,MAAM,CAAC;AAEhD,eAAO,MAAM,uBAAuB,ivBAQ2H,CAAC;AAwFhK,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,WAAW,GACjB,OAAO,CAiBT;AA0ED,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GACnC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAiC7B;AAED,MAAM,WAAW,sBAAsB;IACrC,+FAA+F;IAC/F,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACtC,wCAAwC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACtC,0FAA0F;IAC1F,YAAY,EAAE,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAClE,kFAAkF;IAClF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+DAA+D;IAC/D,MAAM,CAAC,EACH,WAAW,GACX,MAAM,GACN;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC;IACtD,qEAAqE;IACrE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kEAAkE;IAClE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4EAA4E;IAC5E,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,6DAA6D;IAC7D,eAAe,CAAC,EAAE,aAAa,SAAS,KAAK,GAAG,KAAK,GAAG,GAAG,CAAC;IAC5D,uEAAuE;IACvE,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IACvE,mEAAmE;IACnE,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE;QACxB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;QAC7B,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,mBAAmB,EAAE,CAAC;KACrC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B;;;;OAIG;IACH,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE;QACzB,KAAK,EAAE,GAAG,CAAC;QACX,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,OAAO,EAAE,MAAM,CAAC;QAChB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,WAAW,EAAE,mBAAmB,EAAE,CAAC;QACnC,UAAU,EAAE,kBAAkB,EAAE,CAAC;QACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,oBAAoB,CAAC,EAAE,OAAO,CAAC;QAC/B,IAAI,EAAE,kBAAkB,CAAC;KAC1B,KACG,IAAI,GACJ;QACE,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,WAAW,CAAC,EAAE,mBAAmB,EAAE,CAAC;KACrC,GACD,OAAO,CAAC,IAAI,GAAG;QACb,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,WAAW,CAAC,EAAE,mBAAmB,EAAE,CAAC;KACrC,CAAC,CAAC;IACP;;;mDAG+C;IAC/C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,4FAA4F;IAC5F,UAAU,CAAC,EAAE,CACX,IAAI,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,EACrC,QAAQ,EAAE,MAAM,KACb,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAChE,qEAAqE;IACrE,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7D;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,2BAA2B,CAAC;IACjD;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B;;;;OAIG;IACH,UAAU,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC9D;AAED,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,IAAI,CAAC,sBAAsB,EAAE,mBAAmB,CAAC,EAC1D,KAAK,EAAE,GAAG,GACT,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAUxB;AAoFD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAoB3D;AAED,6CAA6C;AAC7C,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAwDtD;AAeD;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,aAAa,EAAE,EACzB,QAAQ,SAAyB,GAChC,aAAa,EAAE,GAAG,IAAI,CA0BxB;AAiGD,wBAAgB,+BAA+B,CAAC,IAAI,EAAE;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,mBAAmB,EAAE,CAAC;CACrC,GAAG,iBAAiB,EAAE,CAiFtB;AAyBD,wBAAgB,iCAAiC,CAC/C,OAAO,EAAE,0BAA0B,EAAE,GAAG,SAAS,GAChD,aAAa,EAAE,GAAG,IAAI,CA2GxB;AAoBD,wBAAsB,4BAA4B,CAChD,GAAG,EAAE,kBAAkB,GACtB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA8CxB;AAqED,qDAAqD;AACrD,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,kCAAkC;IACjD,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,gBAAgB,EAAE,iBAAiB,EAAE,CAAC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,wBAAwB,EAAE,CAAC;IACtC,WAAW,EAAE,0BAA0B,EAAE,CAAC;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,kBAAkB,CAAC;CACnC;AAED,MAAM,MAAM,iCAAiC,GACzC,MAAM,GACN;IACE,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEN,MAAM,MAAM,2BAA2B,GAAG,CACxC,OAAO,EAAE,kCAAkC,KAEzC,iCAAiC,GACjC,IAAI,GACJ,SAAS,GACT,OAAO,CAAC,iCAAiC,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;AAYlE,eAAO,MAAM,8BAA8B,mOACuL,CAAC;AAEnO,MAAM,MAAM,2BAA2B,GACnC,aAAa,GACb,YAAY,GACZ,YAAY,GACZ,cAAc,GACd,iBAAiB,GACjB,qBAAqB,CAAC;AAE1B,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,aAAa,EAAE,EACzB,MAAM,EAAE,2BAA2B,QAuBpC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAoC5D;AAED;;;;GAIG;AACH,wBAAgB,mCAAmC,CACjD,GAAG,EAAE,OAAO,GACX,iBAAiB,GAAG,qBAAqB,CAa3C;AAqQD;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GACnC,UAAU,EAAE,CAkBd;AAyOD,wBAAgB,+BAA+B,CAAC,IAAI,EAAE;IACpD,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,MAAM,CAsBT;AAED,wBAAgB,8BAA8B,CAAC,IAAI,EAAE;IACnD,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,WAAW,GAAG,SAAS,CAAC;IAC/B,cAAc,EAAE,SAAS,wBAAwB,EAAE,CAAC;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAgBnE;AA6FD;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE;IACvC,MAAM,EAAE,WAAW,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,cAAc,CAAC,EAAE,UAAU,EAAE,CAAC;IAC9B,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACrC,IAAI,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IACtC,MAAM,EAAE,WAAW,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACpC,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,eAAe,CAAC,EAAE,GAAG,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,kBAAkB,CAAC;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE,2BAA2B,CAAC;IACjD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,UAAU,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7D;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;CAC1B,GAAG,OAAO,CAAC,cAAc,CAAC,CAsuC1B;AA4CD;;;;;;GAMG;AACH,eAAO,MAAM,gCAAgC,KAAK,CAAC;AAEnD;;;;;;GAMG;AACH,wBAAgB,iCAAiC,CAAC,IAAI,EAAE;IACtD,kBAAkB,EAAE,OAAO,CAAC;IAC5B,GAAG,EAAE,SAAS,CAAC;IACf,iBAAiB,EAAE,MAAM,CAAC;CAC3B,GAAG,OAAO,CAOV;AA+BD,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,sBAAsB,GAC9B,cAAc,CA6/ChB;AAED,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC1B,MAAM,EACN,QAAQ,EACR,cAAc,GACf,CAAC"}