@remnic/core 10.0.97 → 10.0.99
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/access-admin-ops-surface.js +1 -1
- package/dist/access-cli.js +1 -1
- package/dist/access-extraction-force-flush.js +1 -1
- package/dist/access-http-briefing.js +1 -1
- package/dist/access-http-query.js +1 -1
- package/dist/access-http.js +1 -1
- package/dist/access-identity-continuity-surface.js +1 -1
- package/dist/access-lcm-surface.js +1 -1
- package/dist/access-mcp.js +1 -1
- package/dist/access-observe-write-surface.js +1 -1
- package/dist/access-operations-batch.js +1 -1
- package/dist/access-operations.js +1 -1
- package/dist/access-recall-concurrency.js +1 -1
- package/dist/access-recall-response.js +1 -1
- package/dist/access-recall-surface.js +1 -1
- package/dist/access-service.js +1 -1
- package/dist/{chunk-AMRGZOIP.js → chunk-UBJ5RPDM.js} +2 -2
- package/dist/{chunk-3ETADXEP.js → chunk-VZMRKYNR.js} +40 -3
- package/dist/chunk-VZMRKYNR.js.map +1 -0
- package/dist/cli.js +1 -1
- package/dist/explicit-capture.js +1 -1
- package/dist/index.js +1 -1
- package/dist/orchestration/backlog-scheduler.d.ts +6 -1
- package/dist/orchestration/backlog-scheduler.d.ts.map +1 -1
- package/dist/orchestration/backlog-scheduler.js +20 -4
- package/dist/orchestration/backlog-scheduler.js.map +1 -1
- package/dist/orchestration/buffer-drain-runner.js +2 -2
- package/dist/orchestration/orchestrator-init.d.ts +3 -0
- package/dist/orchestration/orchestrator-init.d.ts.map +1 -1
- package/dist/orchestration/task-exit.d.ts +15 -0
- package/dist/orchestration/task-exit.d.ts.map +1 -0
- package/dist/orchestration/turn-ingestion.d.ts +1 -7
- package/dist/orchestration/turn-ingestion.d.ts.map +1 -1
- package/dist/orchestrator.d.ts.map +1 -1
- package/dist/orchestrator.js +1 -1
- package/dist/recall-navigation.js +1 -1
- package/package.json +2 -2
- package/src/backlog-scheduler.test.ts +48 -0
- package/src/orchestration/backlog-scheduler.ts +23 -2
- package/src/orchestration/extraction-queue-bounded-retention.test.ts +20 -0
- package/src/orchestration/orchestrator-init.ts +25 -0
- package/src/orchestration/task-exit.ts +27 -0
- package/src/orchestration/turn-ingestion.ts +7 -9
- package/src/orchestrator-init.test.ts +132 -1
- package/src/orchestrator.ts +3 -0
- package/dist/chunk-3ETADXEP.js.map +0 -1
- /package/dist/{chunk-AMRGZOIP.js.map → chunk-UBJ5RPDM.js.map} +0 -0
package/dist/cli.js
CHANGED
|
@@ -91,7 +91,7 @@ import {
|
|
|
91
91
|
runWorkProductStatusCliCommand,
|
|
92
92
|
runWorkProjectCliCommand,
|
|
93
93
|
runWorkTaskCliCommand
|
|
94
|
-
} from "./chunk-
|
|
94
|
+
} from "./chunk-VZMRKYNR.js";
|
|
95
95
|
import "./chunk-6P7U3HWG.js";
|
|
96
96
|
import "./chunk-PQM3B54K.js";
|
|
97
97
|
import "./chunk-B3DR2JBZ.js";
|
package/dist/explicit-capture.js
CHANGED
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
shouldSkipImplicitExtraction,
|
|
9
9
|
stripInlineExplicitCaptureNotes,
|
|
10
10
|
validateExplicitCaptureInput
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-VZMRKYNR.js";
|
|
12
12
|
import "./chunk-6P7U3HWG.js";
|
|
13
13
|
import "./chunk-PQM3B54K.js";
|
|
14
14
|
import "./chunk-B3DR2JBZ.js";
|
package/dist/index.js
CHANGED
|
@@ -68,6 +68,8 @@ export interface BacklogSchedulerOptions {
|
|
|
68
68
|
pollMs?: number;
|
|
69
69
|
retryBaseMs?: number;
|
|
70
70
|
retryMaxMs?: number;
|
|
71
|
+
/** Bound on `stop()`'s wait for aborted drains to settle. */
|
|
72
|
+
stopSettleTimeoutMs?: number;
|
|
71
73
|
now?: () => number;
|
|
72
74
|
}
|
|
73
75
|
export interface BacklogSchedulerCounters {
|
|
@@ -113,7 +115,10 @@ export declare class BacklogScheduler {
|
|
|
113
115
|
/** Idempotent. Starts the poll timer (unref'd) and runs an initial tick. */
|
|
114
116
|
start(): void;
|
|
115
117
|
/** Idempotent. Stops the timer, aborts in-flight drains (their claims stay
|
|
116
|
-
* retryable) and waits for them to settle.
|
|
118
|
+
* retryable) and waits up to `stopSettleTimeoutMs` for them to settle. A
|
|
119
|
+
* drain that ignores abort is named in a warning and left behind: the
|
|
120
|
+
* caller's later shutdown phases (orchestrator flush and dispose) must
|
|
121
|
+
* still run before the service manager's kill. */
|
|
117
122
|
stop(): Promise<void>;
|
|
118
123
|
/** Bounded snapshot for ops/watchers: counters + per-key states + live sets. */
|
|
119
124
|
snapshot(): BacklogSchedulerSnapshot;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backlog-scheduler.d.ts","sourceRoot":"","sources":["../../src/orchestration/backlog-scheduler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAEvF,OAAO,KAAK,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACtF,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AACpF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAErE;+EAC+E;AAC/E,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,IAAI,CAAC,0BAA0B,EAAE,eAAe,GAAG,uBAAuB,GAAG,gBAAgB,CAAC,CAAC;IACtG,MAAM,EAAE,IAAI,CAAC,iBAAiB,EAAE,MAAM,GAAG,UAAU,GAAG,sBAAsB,GAAG,WAAW,CAAC,CAAC;IAC5F;8EAC0E;IAC1E,gBAAgB,IACZ,GAAG,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC,GACrD,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;IACnE,qDAAqD;IACrD,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC;IACnC,oEAAoE;IACpE,QAAQ,CACN,GAAG,EAAE,MAAM,EACX,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,WAAW,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAA;KAAE,GAC7F,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAChC;;;;;sBAKkB;IAClB,eAAe,CAAC,IAAI,uBAAuB,CAAC;IAC5C,0DAA0D;IAC1D,GAAG,CAAC,IAAI,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,uBAAuB;IACtC,0EAA0E;IAC1E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8DAA8D;IAC9D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,wBAAwB;IACvC,8EAA8E;IAC9E,OAAO,EAAE,MAAM,CAAC;IAChB,2EAA2E;IAC3E,SAAS,EAAE,MAAM,CAAC;IAClB,4EAA4E;IAC5E,cAAc,EAAE,MAAM,CAAC;IACvB,6DAA6D;IAC7D,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACxC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEhE,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,eAAe,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,wBAAwB,CAAC;IACnC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,IAAI,EAAE,kBAAkB,EAAE,CAAC;CAC5B;
|
|
1
|
+
{"version":3,"file":"backlog-scheduler.d.ts","sourceRoot":"","sources":["../../src/orchestration/backlog-scheduler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
BufferDrainRunner
|
|
3
|
-
} from "../chunk-
|
|
4
|
-
import "../chunk-
|
|
3
|
+
} from "../chunk-UBJ5RPDM.js";
|
|
4
|
+
import "../chunk-VZMRKYNR.js";
|
|
5
5
|
import "../chunk-6P7U3HWG.js";
|
|
6
6
|
import "../chunk-PQM3B54K.js";
|
|
7
7
|
import "../chunk-B3DR2JBZ.js";
|
|
@@ -571,6 +571,7 @@ import { hostname } from "os";
|
|
|
571
571
|
var DEFAULT_POLL_MS = 15e3;
|
|
572
572
|
var DEFAULT_RETRY_BASE_MS = 3e4;
|
|
573
573
|
var DEFAULT_RETRY_MAX_MS = 15 * 6e4;
|
|
574
|
+
var DEFAULT_STOP_SETTLE_TIMEOUT_MS = 3e4;
|
|
574
575
|
var BacklogScheduler = class {
|
|
575
576
|
deps;
|
|
576
577
|
options;
|
|
@@ -596,6 +597,7 @@ var BacklogScheduler = class {
|
|
|
596
597
|
pollMs: options.pollMs ?? DEFAULT_POLL_MS,
|
|
597
598
|
retryBaseMs: options.retryBaseMs ?? DEFAULT_RETRY_BASE_MS,
|
|
598
599
|
retryMaxMs: options.retryMaxMs ?? DEFAULT_RETRY_MAX_MS,
|
|
600
|
+
stopSettleTimeoutMs: options.stopSettleTimeoutMs ?? DEFAULT_STOP_SETTLE_TIMEOUT_MS,
|
|
599
601
|
now: options.now
|
|
600
602
|
};
|
|
601
603
|
}
|
|
@@ -608,7 +610,10 @@ var BacklogScheduler = class {
|
|
|
608
610
|
void this.tick();
|
|
609
611
|
}
|
|
610
612
|
/** Idempotent. Stops the timer, aborts in-flight drains (their claims stay
|
|
611
|
-
* retryable) and waits for them to settle.
|
|
613
|
+
* retryable) and waits up to `stopSettleTimeoutMs` for them to settle. A
|
|
614
|
+
* drain that ignores abort is named in a warning and left behind: the
|
|
615
|
+
* caller's later shutdown phases (orchestrator flush and dispose) must
|
|
616
|
+
* still run before the service manager's kill. */
|
|
612
617
|
async stop() {
|
|
613
618
|
if (this.stopped) return;
|
|
614
619
|
this.stopped = true;
|
|
@@ -621,7 +626,18 @@ var BacklogScheduler = class {
|
|
|
621
626
|
entry.controller.abort(new Error("backlog scheduler stopping"));
|
|
622
627
|
aborts.push(entry.settled);
|
|
623
628
|
}
|
|
624
|
-
|
|
629
|
+
const bound = Promise.withResolvers();
|
|
630
|
+
const boundTimer = setTimeout(() => bound.resolve("timeout"), this.options.stopSettleTimeoutMs);
|
|
631
|
+
try {
|
|
632
|
+
const result = await Promise.race([Promise.allSettled(aborts), bound.promise]);
|
|
633
|
+
if (result === "timeout") {
|
|
634
|
+
log.warn(
|
|
635
|
+
`backlog scheduler stop: ${this.inFlight.size} drain(s) ignored abort for ${this.options.stopSettleTimeoutMs}ms; continuing shutdown (stuck keys: ${[...this.inFlight.keys()].join(", ")})`
|
|
636
|
+
);
|
|
637
|
+
}
|
|
638
|
+
} finally {
|
|
639
|
+
clearTimeout(boundTimer);
|
|
640
|
+
}
|
|
625
641
|
}
|
|
626
642
|
/** Bounded snapshot for ops/watchers: counters + per-key states + live sets. */
|
|
627
643
|
snapshot() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/orchestration/backlog-scheduler.ts"],"sourcesContent":["/**\n * Daemon-owned extraction backlog scheduler.\n *\n * ONE bounded in-process loop that owns ALL persisted extraction backlog:\n * at startup (existing drain claims + buffered sessions), on every poll tick\n * (new persisted work), and by retrying keys that are still pending — with\n * bounded memory (per-key COUNTS only; candidate scans never retain turn\n * payloads) and bounded outstanding work (the extraction queue's own\n * maxConcurrency gates submissions, so live foreground work keeps its share\n * of the queue).\n *\n * Claim authority: an existing claim — including an EMPTY ack tombstone — is\n * authoritative over the live buffer's in-memory copy. A tombstoned key is\n * never re-claimed or counted as work; new ingress consumes the tombstone\n * through the native save handover, which is what makes the key a candidate\n * again. Claim creation is fenced: the key is reserved synchronously on the\n * extraction queue BEFORE the async claim decision, so a queued live task for\n * the same key cannot start past the claimed-session gate until the decision\n * settles; live capture continues via the native merge-into-claim protocol.\n *\n * Failed, deferred, or policy-denied outcomes keep their turns durable in the\n * claim and re-submit after backoff (exponential from `retryBaseMs` to\n * `retryMaxMs`, reset by progress; denials wait the full max) — never a busy\n * retry. `stop()` aborts in-flight drains at their chunk boundary and leaves\n * every claim retryable; a restarted daemon's scheduler adopts them.\n */\n\nimport { randomUUID } from \"node:crypto\";\nimport { hostname } from \"node:os\";\nimport { log } from \"../logger.js\";\nimport type { Orchestrator } from \"../orchestrator.js\";\nimport type { BufferDrainClaims, DrainLease } from \"../storage/buffer-drain-claims.js\";\nimport { BufferDrainRunner } from \"./buffer-drain-runner.js\";\nimport type { DrainRunnerEvent, DrainSessionOutcome } from \"./buffer-drain-runner.js\";\nimport type { ExtractionQueueCoordinator } from \"./extraction-queue-coordinator.js\";\nimport type { ProviderBreakerSnapshot } from \"./provider-breaker.js\";\n\n/** What the scheduler needs from its host (structurally satisfied by the\n * orchestrator wiring); injectable so tests drive ticks deterministically. */\nexport interface BacklogSchedulerDeps {\n queue: Pick<ExtractionQueueCoordinator, \"tryReserveKey\" | \"releaseKeyReservation\" | \"maxConcurrency\">;\n claims: Pick<BufferDrainClaims, \"list\" | \"listPage\" | \"claimFromSessionFile\" | \"isClaimed\">;\n /** Live per-key pending counts (counts only — never turn payloads). May be\n * async: hosts with a lazily-loaded buffer load it here (idempotent). */\n liveBufferCounts():\n | Map<string, { turns: number; retainedTurns: number }>\n | Promise<Map<string, { turns: number; retainedTurns: number }>>;\n /** Create a fresh lease for a unique owner token. */\n lease(ownerId: string): DrainLease;\n /** Drain one key to quiescence (BufferDrainRunner.drainSession). */\n drainKey(\n key: string,\n options: { ownerId: string; signal: AbortSignal; onEvent?: (event: DrainRunnerEvent) => void }\n ): Promise<DrainSessionOutcome>;\n /** Shared provider circuit-breaker snapshot (the same instance the run\n * coordinator gates attempts on). While OPEN inside its cooldown window\n * the scheduler skips submission entirely — claims stay durable, and the\n * breaker's single half-open probe (one attempt through once the window\n * lapses) keeps recovery automatic. Optional: hosts without a breaker\n * never skip. */\n breakerSnapshot?(): ProviderBreakerSnapshot;\n /** Test seam: monotonic-ish clock for backoff windows. */\n now?(): number;\n}\n\nexport interface BacklogSchedulerOptions {\n /** Optional label prefix; each scheduler instance adds a unique token. */\n ownerId?: string;\n /** Scan cadence in ms (startup + new-work + retry checks). */\n pollMs?: number;\n retryBaseMs?: number;\n retryMaxMs?: number;\n now?: () => number;\n}\n\nexport interface BacklogSchedulerCounters {\n /** Keys submitted to the drain (claimed or adopted) this process lifetime. */\n claimed: number;\n /** Outcomes with genuinely empty claims (durable outputs preceded ack). */\n processed: number;\n /** Sum of durable outputs (memories + entities) across processed drains. */\n durableOutputs: number;\n /** Re-submissions after a failed/deferred/denied outcome. */\n retried: number;\n denied: { keys: number; turns: number };\n failed: number;\n}\n\nexport type BacklogKeyState = \"inflight\" | \"backoff\" | \"denied\";\n\nexport interface BacklogKeySnapshot {\n key: string;\n state: BacklogKeyState;\n turnsRemaining?: number;\n reason?: string;\n}\n\nexport interface BacklogSchedulerSnapshot {\n counters: BacklogSchedulerCounters;\n inFlight: string[];\n reservedKeys: string[];\n keys: BacklogKeySnapshot[];\n}\n\ninterface KeyState {\n state: BacklogKeyState;\n nextAttemptMs: number;\n /** Last observed remaining turns; progress resets the backoff exponent. */\n turnsRemaining: number;\n reason?: string;\n backoffExponent: number;\n}\n\nconst DEFAULT_POLL_MS = 15_000;\nconst DEFAULT_RETRY_BASE_MS = 30_000;\nconst DEFAULT_RETRY_MAX_MS = 15 * 60_000;\n\nexport class BacklogScheduler {\n private readonly deps: BacklogSchedulerDeps;\n private readonly options: Required<Omit<BacklogSchedulerOptions, \"now\">> & Pick<BacklogSchedulerOptions, \"now\">;\n private readonly keys = new Map<string, KeyState>();\n private readonly inFlight = new Map<string, { controller: AbortController; settled: Promise<void> }>();\n private readonly reserved = new Set<string>();\n private readonly counters: BacklogSchedulerCounters = {\n claimed: 0,\n processed: 0,\n durableOutputs: 0,\n retried: 0,\n denied: { keys: 0, turns: 0 },\n failed: 0,\n };\n private claimCursor: string | undefined;\n private timer: ReturnType<typeof setInterval> | undefined;\n private ticking = false;\n private stopped = true;\n\n constructor(deps: BacklogSchedulerDeps, options: BacklogSchedulerOptions = {}) {\n this.deps = deps;\n this.options = {\n ownerId: `${options.ownerId ?? \"daemon-drain\"}-${randomUUID()}`,\n pollMs: options.pollMs ?? DEFAULT_POLL_MS,\n retryBaseMs: options.retryBaseMs ?? DEFAULT_RETRY_BASE_MS,\n retryMaxMs: options.retryMaxMs ?? DEFAULT_RETRY_MAX_MS,\n now: options.now,\n };\n }\n\n /** Idempotent. Starts the poll timer (unref'd) and runs an initial tick. */\n start(): void {\n if (!this.stopped) return;\n this.stopped = false;\n this.timer = setInterval(() => void this.tick(), this.options.pollMs);\n this.timer.unref?.();\n void this.tick();\n }\n\n /** Idempotent. Stops the timer, aborts in-flight drains (their claims stay\n * retryable) and waits for them to settle. */\n async stop(): Promise<void> {\n if (this.stopped) return;\n this.stopped = true;\n if (this.timer) {\n clearInterval(this.timer);\n this.timer = undefined;\n }\n const aborts: Promise<void>[] = [];\n for (const entry of this.inFlight.values()) {\n entry.controller.abort(new Error(\"backlog scheduler stopping\"));\n aborts.push(entry.settled);\n }\n await Promise.allSettled(aborts);\n }\n\n /** Bounded snapshot for ops/watchers: counters + per-key states + live sets. */\n snapshot(): BacklogSchedulerSnapshot {\n return {\n counters: {\n claimed: this.counters.claimed,\n processed: this.counters.processed,\n durableOutputs: this.counters.durableOutputs,\n retried: this.counters.retried,\n denied: { ...this.counters.denied },\n failed: this.counters.failed,\n },\n inFlight: [...this.inFlight.keys()],\n reservedKeys: [...this.reserved],\n keys: [...this.keys.entries()].map(([key, state]) => ({\n key,\n state: state.state,\n turnsRemaining: state.turnsRemaining,\n reason: state.reason,\n })),\n };\n }\n\n /** One scan+submit pass (tests drive this instead of the timer). Waits out\n * any in-progress tick first so the pass always actually scans. */\n async tickForTest(): Promise<void> {\n // setImmediate: yields to the event loop so pending I/O (a slow first\n // scan) can finish; a microtask spin would starve it.\n while (this.ticking) await new Promise((resolve) => setImmediate(resolve));\n await this.tick();\n }\n\n /** Await the settle (slot release) of everything currently in flight,\n * optionally excluding one still-gated key (tests). */\n async settleForTest(exclude?: string): Promise<void> {\n for (;;) {\n const pending = [...this.inFlight.entries()].filter(([key]) => key !== exclude).map(([, entry]) => entry.settled);\n if (pending.length === 0) return;\n await Promise.allSettled(pending);\n }\n }\n\n private now(): number {\n return this.options.now?.() ?? Date.now();\n }\n\n private async tick(): Promise<void> {\n if (this.ticking || this.stopped) return;\n this.ticking = true;\n const cursorBeforeTick = this.claimCursor;\n try {\n // Fast bail: a breaker already open must not pay discovery I/O\n // (listPage reads and parses claim bodies on every poll). The\n // submitCandidates guard below still catches a breaker that opens\n // while discovery awaits.\n const breakerBeforeDiscovery = this.deps.breakerSnapshot?.();\n if (\n breakerBeforeDiscovery &&\n breakerBeforeDiscovery.state === \"open\" &&\n this.now() < breakerBeforeDiscovery.openUntilMs\n ) {\n return;\n }\n // stop() may land while discovery's I/O is pending: re-check before\n // submitting anything, and again per candidate.\n // A discovery failure (EACCES/EIO on the claims dir) must not reject\n // into a detached timer callback: it would be an unhandled rejection\n // that terminates the server. Log, skip this pass, retry next poll.\n let candidates: { key: string; needsClaim: boolean }[];\n try {\n candidates = await this.discoverCandidates();\n } catch (err) {\n // Discovery may have listed a page before it failed: the page cursor\n // already moved, so restore it — otherwise those claims wait for the\n // cursor to wrap instead of the next poll.\n this.claimCursor = cursorBeforeTick;\n log.warn(\n `backlog drain: discovery failed; retrying next poll: ${err instanceof Error ? err.message : String(err)}`\n );\n return;\n }\n if (this.stopped) return;\n const dropped = this.submitCandidates(candidates);\n // The concurrency bound stopped submission mid-page: rewind the page\n // cursor so the unsubmitted claims are re-listed on the next tick\n // (already-submitted ones are gated by inFlight and key backoff).\n if (dropped) this.claimCursor = cursorBeforeTick;\n } finally {\n this.ticking = false;\n }\n }\n\n /** Bounded discovery: ONE page of existing claims with pending turns */\n private async discoverCandidates(): Promise<{ key: string; needsClaim: boolean }[]> {\n const out: { key: string; needsClaim: boolean }[] = [];\n const seen = new Set<string>();\n const pageLimit = Math.max(this.submissionLimit() * 4, 16);\n const page = await this.deps.claims.listPage(this.claimCursor, pageLimit);\n for (const listed of page.entries) {\n seen.add(listed.key);\n out.push({ key: listed.key, needsClaim: false });\n }\n this.claimCursor = page.nextCursor;\n for (const [key, counts] of await this.deps.liveBufferCounts()) {\n if (counts.turns + counts.retainedTurns <= 0) continue;\n if (seen.has(key) || this.deps.claims.isClaimed(key)) continue;\n seen.add(key);\n out.push({ key, needsClaim: true });\n }\n return out;\n }\n\n /** Submission bound: the queue's own concurrency limit, read with the\n * documented \"0 disables\" contract — a zero limit submits nothing. */\n private submissionLimit(): number {\n if (this.deps.queue.maxConcurrency <= 0) return 0;\n return this.deps.queue.maxConcurrency;\n }\n\n /** Submit discovery candidates within the queue's concurrency bound. */\n private submitCandidates(candidates: { key: string; needsClaim: boolean }[]): boolean {\n // Breaker-open churn guard: a full attempt reads the claim, rebuilds the\n // buffer/coordinator and re-renders chunks before the breaker fails it\n // fast — pure heap pressure per poll during a provider stall. Skip while\n // the window is open; once it lapses, submissions resume and the\n // breaker's half-open probe runs as usual.\n const breaker = this.deps.breakerSnapshot?.();\n if (breaker && breaker.state === \"open\" && this.now() < breaker.openUntilMs) {\n return true;\n }\n let dropped = false;\n for (const candidate of candidates) {\n if (this.stopped || this.inFlight.size >= this.submissionLimit()) {\n dropped = true;\n break;\n }\n if (!this.candidateEligible(candidate)) continue;\n // Fence the claim decision: reserve the key synchronously BEFORE the\n // async rename so no queued task for it can pass the claimed gate in\n // the meantime. Release happens when the decision settles.\n if (candidate.needsClaim) {\n if (!this.deps.queue.tryReserveKey(candidate.key)) continue;\n this.reserved.add(candidate.key);\n }\n void this.submit(candidate.key, candidate.needsClaim);\n }\n return dropped;\n }\n\n /** inFlight is the authority for \"already submitted\" — key state only\n * exists once an outcome landed (backoff/denied gating below). */\n private candidateEligible(candidate: { key: string; needsClaim: boolean }): boolean {\n if (this.stopped || this.inFlight.size >= this.submissionLimit()) return false;\n if (this.inFlight.has(candidate.key)) return false;\n const state = this.keys.get(candidate.key);\n return !(state && this.now() < state.nextAttemptMs);\n }\n\n /** Claim (when needed), then drain one key; the reservation spans the async\n * claim decision, the queue entry carries the key afterwards. */\n private async submit(key: string, needsClaim: boolean): Promise<void> {\n const controller = new AbortController();\n const { promise: settled, resolve: settle } = Promise.withResolvers<void>();\n this.inFlight.set(key, { controller, settled });\n try {\n if (!(await this.claimForSubmit(key, needsClaim, this.options.ownerId))) return;\n // Stopped between the claim decision and the task: leave the claim\n // with its lease (it expires; the next start adopts) — never drain.\n if (this.stopped) return;\n await this.drainClaimedKey(key, controller.signal, this.options.ownerId);\n } catch (err) {\n // Claim/drain failures are scheduler-level: the claim content is\n // untouched — count failed and back off (never an unhandled rejection\n // in the detached submission).\n this.counters.failed += 1;\n const message = err instanceof Error ? err.message : String(err);\n // SAFETY: a thrown non-Error (incl. null) carries no retry hint; the\n // optional chain reads the hint off Error throws only.\n this.setBackoff(key, (err as { turnsRemaining?: number } | null | undefined)?.turnsRemaining ?? 0, message);\n log.warn(`backlog drain: ${key} submission failed: ${message}`);\n } finally {\n this.inFlight.delete(key);\n this.reserved.delete(key);\n this.deps.queue.releaseKeyReservation(key);\n settle();\n }\n }\n\n /** after all — the key goes quiet without a task. \"claimed\": ours. */\n private async claimForSubmit(key: string, needsClaim: boolean, ownerId: string): Promise<boolean> {\n if (!needsClaim) return true;\n try {\n const outcome = await this.deps.claims.claimFromSessionFile(key, this.deps.lease(ownerId));\n if (outcome === \"empty\") {\n this.keys.delete(key);\n return false;\n }\n return true;\n } finally {\n this.reserved.delete(key);\n this.deps.queue.releaseKeyReservation(key);\n }\n }\n\n /** Drain one claimed key. drainKey reports failures as outcomes; a thrown\n * error still means the claim content is intact — count it failed and\n * back off. */\n private async drainClaimedKey(key: string, signal: AbortSignal, ownerId: string): Promise<void> {\n this.counters.claimed += 1;\n try {\n const outcome = await this.deps.drainKey(key, {\n ownerId,\n signal,\n });\n this.applyOutcome(key, outcome);\n } catch (err) {\n this.counters.failed += 1;\n const message = err instanceof Error ? err.message : String(err);\n // SAFETY: a thrown non-Error (incl. null) carries no retry hint; the\n // optional chain reads the hint off Error throws only.\n this.setBackoff(key, (err as { turnsRemaining?: number } | null | undefined)?.turnsRemaining ?? 0, message);\n log.warn(`backlog drain: ${key} threw: ${message}`);\n }\n }\n\n private applyOutcome(key: string, outcome: DrainSessionOutcome): void {\n const deniedTurns = outcome.denied?.reduce((sum, entry) => sum + entry.turns, 0) ?? 0;\n const previous = this.keys.get(key);\n const progressed = outcome.turnsRemaining < (previous?.turnsRemaining ?? Number.POSITIVE_INFINITY);\n if (outcome.status === \"drained\") {\n // The claim is now an empty tombstone: authoritative, nothing pending.\n // New ingress consumes it via the native save path and re-candidates.\n this.keys.delete(key);\n this.counters.processed += 1;\n this.counters.durableOutputs += outcome.durableOutputCount;\n log.info(\n `backlog drain: ${key} drained (${outcome.turnsAtStart} turn(s), ${outcome.durableOutputCount} durable output(s))`\n );\n return;\n }\n this.recordNonDrainedCounters(previous, outcome, deniedTurns);\n const denied = deniedTurns > 0 && outcome.turnsRemaining > 0;\n this.keys.set(key, this.nextKeyState(previous, outcome, denied, progressed));\n log.info(\n `backlog drain: ${key} ${outcome.status} (${outcome.turnsRemaining} turn(s) remaining` +\n `${denied ? `, denied: ${deniedTurns}` : \"\"}${outcome.reason ? `, ${outcome.reason}` : \"\"})`\n );\n }\n\n /** Denied backlog counters for a non-drained outcome. */\n private recordNonDrainedCounters(\n previous: KeyState | undefined,\n outcome: DrainSessionOutcome,\n deniedTurns: number\n ): void {\n if (deniedTurns > 0) {\n this.counters.denied.keys += 1;\n this.counters.denied.turns += deniedTurns;\n }\n if (outcome.status === \"failed\") this.counters.failed += 1;\n else if (previous !== undefined && (previous.state === \"backoff\" || previous.state === \"denied\"))\n this.counters.retried += 1;\n }\n\n /** The post-drain key state: denial waits the full max window (its content\n * is valid but currently unauthorized); progress resets the exponent. */\n private nextKeyState(\n previous: KeyState | undefined,\n outcome: DrainSessionOutcome,\n denied: boolean,\n progressed: boolean\n ): KeyState {\n return {\n state: denied ? \"denied\" : \"backoff\",\n nextAttemptMs: this.now() + this.backoffMs(previous, progressed && !denied),\n turnsRemaining: outcome.turnsRemaining,\n reason: outcome.reason,\n backoffExponent: this.nextBackoffExponent(denied, progressed, previous),\n };\n }\n\n private nextBackoffExponent(denied: boolean, progressed: boolean, previous: KeyState | undefined): number {\n return denied || !progressed ? (previous?.backoffExponent ?? 0) + 1 : 0;\n }\n\n private backoffMs(previous: KeyState | undefined, progressed: boolean): number {\n if (previous?.state === \"denied\") return this.options.retryMaxMs;\n const exponent = progressed ? 0 : (previous?.backoffExponent ?? 0) + 1;\n return Math.min(this.options.retryBaseMs * 2 ** exponent, this.options.retryMaxMs);\n }\n\n private setBackoff(key: string, turnsRemaining: number, reason: string): void {\n const previous = this.keys.get(key);\n this.keys.set(key, {\n state: \"backoff\",\n nextAttemptMs: this.now() + this.backoffMs(previous, false),\n turnsRemaining,\n reason,\n backoffExponent: (previous?.backoffExponent ?? 0) + 1,\n });\n }\n}\n\n/** Lease lifetime for claims the scheduler takes (matches the runner default). */\nconst SCHEDULER_LEASE_MS = 120_000;\n\n/** Wire the scheduler to an orchestrator's own queue, claim store, live buffer\n * counts and drain runner — the daemon's single ownership point. */\nexport function wireBacklogScheduler(\n orchestrator: Orchestrator,\n options: BacklogSchedulerOptions = {}\n): BacklogScheduler {\n const runner = new BufferDrainRunner(orchestrator);\n return new BacklogScheduler(\n {\n queue: orchestrator.extractionQueueCoordinator,\n claims: orchestrator.storage.bufferDrainClaims(),\n liveBufferCounts: async () => {\n // The daemon's buffer may be lazy: ensure the persisted state is in\n // memory before counting (load is guarded/idempotent).\n await orchestrator.buffer.load();\n return orchestrator.buffer.entryCounts();\n },\n lease: (ownerId) => {\n const now = new Date().toISOString();\n return {\n ownerId,\n pid: process.pid,\n host: hostname(),\n acquiredAt: now,\n heartbeatAt: now,\n leaseMs: SCHEDULER_LEASE_MS,\n };\n },\n drainKey: (key, drainOptions) => runner.drainSession(key, drainOptions),\n // The orchestrator's one shared provider breaker (foreground and every\n // claim-backed drain accumulate toward the same threshold).\n breakerSnapshot: () => orchestrator.getExtractionResilienceStatus().breaker,\n },\n options\n );\n}\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../src/orchestration/backlog-scheduler.ts"],"sourcesContent":["/**\n * Daemon-owned extraction backlog scheduler.\n *\n * ONE bounded in-process loop that owns ALL persisted extraction backlog:\n * at startup (existing drain claims + buffered sessions), on every poll tick\n * (new persisted work), and by retrying keys that are still pending — with\n * bounded memory (per-key COUNTS only; candidate scans never retain turn\n * payloads) and bounded outstanding work (the extraction queue's own\n * maxConcurrency gates submissions, so live foreground work keeps its share\n * of the queue).\n *\n * Claim authority: an existing claim — including an EMPTY ack tombstone — is\n * authoritative over the live buffer's in-memory copy. A tombstoned key is\n * never re-claimed or counted as work; new ingress consumes the tombstone\n * through the native save handover, which is what makes the key a candidate\n * again. Claim creation is fenced: the key is reserved synchronously on the\n * extraction queue BEFORE the async claim decision, so a queued live task for\n * the same key cannot start past the claimed-session gate until the decision\n * settles; live capture continues via the native merge-into-claim protocol.\n *\n * Failed, deferred, or policy-denied outcomes keep their turns durable in the\n * claim and re-submit after backoff (exponential from `retryBaseMs` to\n * `retryMaxMs`, reset by progress; denials wait the full max) — never a busy\n * retry. `stop()` aborts in-flight drains at their chunk boundary and leaves\n * every claim retryable; a restarted daemon's scheduler adopts them.\n */\n\nimport { randomUUID } from \"node:crypto\";\nimport { hostname } from \"node:os\";\nimport { log } from \"../logger.js\";\nimport type { Orchestrator } from \"../orchestrator.js\";\nimport type { BufferDrainClaims, DrainLease } from \"../storage/buffer-drain-claims.js\";\nimport { BufferDrainRunner } from \"./buffer-drain-runner.js\";\nimport type { DrainRunnerEvent, DrainSessionOutcome } from \"./buffer-drain-runner.js\";\nimport type { ExtractionQueueCoordinator } from \"./extraction-queue-coordinator.js\";\nimport type { ProviderBreakerSnapshot } from \"./provider-breaker.js\";\n\n/** What the scheduler needs from its host (structurally satisfied by the\n * orchestrator wiring); injectable so tests drive ticks deterministically. */\nexport interface BacklogSchedulerDeps {\n queue: Pick<ExtractionQueueCoordinator, \"tryReserveKey\" | \"releaseKeyReservation\" | \"maxConcurrency\">;\n claims: Pick<BufferDrainClaims, \"list\" | \"listPage\" | \"claimFromSessionFile\" | \"isClaimed\">;\n /** Live per-key pending counts (counts only — never turn payloads). May be\n * async: hosts with a lazily-loaded buffer load it here (idempotent). */\n liveBufferCounts():\n | Map<string, { turns: number; retainedTurns: number }>\n | Promise<Map<string, { turns: number; retainedTurns: number }>>;\n /** Create a fresh lease for a unique owner token. */\n lease(ownerId: string): DrainLease;\n /** Drain one key to quiescence (BufferDrainRunner.drainSession). */\n drainKey(\n key: string,\n options: { ownerId: string; signal: AbortSignal; onEvent?: (event: DrainRunnerEvent) => void }\n ): Promise<DrainSessionOutcome>;\n /** Shared provider circuit-breaker snapshot (the same instance the run\n * coordinator gates attempts on). While OPEN inside its cooldown window\n * the scheduler skips submission entirely — claims stay durable, and the\n * breaker's single half-open probe (one attempt through once the window\n * lapses) keeps recovery automatic. Optional: hosts without a breaker\n * never skip. */\n breakerSnapshot?(): ProviderBreakerSnapshot;\n /** Test seam: monotonic-ish clock for backoff windows. */\n now?(): number;\n}\n\nexport interface BacklogSchedulerOptions {\n /** Optional label prefix; each scheduler instance adds a unique token. */\n ownerId?: string;\n /** Scan cadence in ms (startup + new-work + retry checks). */\n pollMs?: number;\n retryBaseMs?: number;\n retryMaxMs?: number;\n /** Bound on `stop()`'s wait for aborted drains to settle. */\n stopSettleTimeoutMs?: number;\n now?: () => number;\n}\n\nexport interface BacklogSchedulerCounters {\n /** Keys submitted to the drain (claimed or adopted) this process lifetime. */\n claimed: number;\n /** Outcomes with genuinely empty claims (durable outputs preceded ack). */\n processed: number;\n /** Sum of durable outputs (memories + entities) across processed drains. */\n durableOutputs: number;\n /** Re-submissions after a failed/deferred/denied outcome. */\n retried: number;\n denied: { keys: number; turns: number };\n failed: number;\n}\n\nexport type BacklogKeyState = \"inflight\" | \"backoff\" | \"denied\";\n\nexport interface BacklogKeySnapshot {\n key: string;\n state: BacklogKeyState;\n turnsRemaining?: number;\n reason?: string;\n}\n\nexport interface BacklogSchedulerSnapshot {\n counters: BacklogSchedulerCounters;\n inFlight: string[];\n reservedKeys: string[];\n keys: BacklogKeySnapshot[];\n}\n\ninterface KeyState {\n state: BacklogKeyState;\n nextAttemptMs: number;\n /** Last observed remaining turns; progress resets the backoff exponent. */\n turnsRemaining: number;\n reason?: string;\n backoffExponent: number;\n}\n\nconst DEFAULT_POLL_MS = 15_000;\nconst DEFAULT_RETRY_BASE_MS = 30_000;\nconst DEFAULT_RETRY_MAX_MS = 15 * 60_000;\n// Aborted drains normally settle within seconds (a chunk boundary); this only\n// bounds the pathological case, well inside the daemon's stop budget.\nconst DEFAULT_STOP_SETTLE_TIMEOUT_MS = 30_000;\n\nexport class BacklogScheduler {\n private readonly deps: BacklogSchedulerDeps;\n private readonly options: Required<Omit<BacklogSchedulerOptions, \"now\">> & Pick<BacklogSchedulerOptions, \"now\">;\n private readonly keys = new Map<string, KeyState>();\n private readonly inFlight = new Map<string, { controller: AbortController; settled: Promise<void> }>();\n private readonly reserved = new Set<string>();\n private readonly counters: BacklogSchedulerCounters = {\n claimed: 0,\n processed: 0,\n durableOutputs: 0,\n retried: 0,\n denied: { keys: 0, turns: 0 },\n failed: 0,\n };\n private claimCursor: string | undefined;\n private timer: ReturnType<typeof setInterval> | undefined;\n private ticking = false;\n private stopped = true;\n\n constructor(deps: BacklogSchedulerDeps, options: BacklogSchedulerOptions = {}) {\n this.deps = deps;\n this.options = {\n ownerId: `${options.ownerId ?? \"daemon-drain\"}-${randomUUID()}`,\n pollMs: options.pollMs ?? DEFAULT_POLL_MS,\n retryBaseMs: options.retryBaseMs ?? DEFAULT_RETRY_BASE_MS,\n retryMaxMs: options.retryMaxMs ?? DEFAULT_RETRY_MAX_MS,\n stopSettleTimeoutMs: options.stopSettleTimeoutMs ?? DEFAULT_STOP_SETTLE_TIMEOUT_MS,\n now: options.now,\n };\n }\n\n /** Idempotent. Starts the poll timer (unref'd) and runs an initial tick. */\n start(): void {\n if (!this.stopped) return;\n this.stopped = false;\n this.timer = setInterval(() => void this.tick(), this.options.pollMs);\n this.timer.unref?.();\n void this.tick();\n }\n\n /** Idempotent. Stops the timer, aborts in-flight drains (their claims stay\n * retryable) and waits up to `stopSettleTimeoutMs` for them to settle. A\n * drain that ignores abort is named in a warning and left behind: the\n * caller's later shutdown phases (orchestrator flush and dispose) must\n * still run before the service manager's kill. */\n async stop(): Promise<void> {\n if (this.stopped) return;\n this.stopped = true;\n if (this.timer) {\n clearInterval(this.timer);\n this.timer = undefined;\n }\n const aborts: Promise<void>[] = [];\n for (const entry of this.inFlight.values()) {\n entry.controller.abort(new Error(\"backlog scheduler stopping\"));\n aborts.push(entry.settled);\n }\n const bound = Promise.withResolvers<\"timeout\">();\n const boundTimer = setTimeout(() => bound.resolve(\"timeout\"), this.options.stopSettleTimeoutMs);\n try {\n const result = await Promise.race([Promise.allSettled(aborts), bound.promise]);\n if (result === \"timeout\") {\n log.warn(\n `backlog scheduler stop: ${this.inFlight.size} drain(s) ignored abort for ${this.options.stopSettleTimeoutMs}ms; ` +\n `continuing shutdown (stuck keys: ${[...this.inFlight.keys()].join(\", \")})`,\n );\n }\n } finally {\n clearTimeout(boundTimer);\n }\n }\n\n /** Bounded snapshot for ops/watchers: counters + per-key states + live sets. */\n snapshot(): BacklogSchedulerSnapshot {\n return {\n counters: {\n claimed: this.counters.claimed,\n processed: this.counters.processed,\n durableOutputs: this.counters.durableOutputs,\n retried: this.counters.retried,\n denied: { ...this.counters.denied },\n failed: this.counters.failed,\n },\n inFlight: [...this.inFlight.keys()],\n reservedKeys: [...this.reserved],\n keys: [...this.keys.entries()].map(([key, state]) => ({\n key,\n state: state.state,\n turnsRemaining: state.turnsRemaining,\n reason: state.reason,\n })),\n };\n }\n\n /** One scan+submit pass (tests drive this instead of the timer). Waits out\n * any in-progress tick first so the pass always actually scans. */\n async tickForTest(): Promise<void> {\n // setImmediate: yields to the event loop so pending I/O (a slow first\n // scan) can finish; a microtask spin would starve it.\n while (this.ticking) await new Promise((resolve) => setImmediate(resolve));\n await this.tick();\n }\n\n /** Await the settle (slot release) of everything currently in flight,\n * optionally excluding one still-gated key (tests). */\n async settleForTest(exclude?: string): Promise<void> {\n for (;;) {\n const pending = [...this.inFlight.entries()].filter(([key]) => key !== exclude).map(([, entry]) => entry.settled);\n if (pending.length === 0) return;\n await Promise.allSettled(pending);\n }\n }\n\n private now(): number {\n return this.options.now?.() ?? Date.now();\n }\n\n private async tick(): Promise<void> {\n if (this.ticking || this.stopped) return;\n this.ticking = true;\n const cursorBeforeTick = this.claimCursor;\n try {\n // Fast bail: a breaker already open must not pay discovery I/O\n // (listPage reads and parses claim bodies on every poll). The\n // submitCandidates guard below still catches a breaker that opens\n // while discovery awaits.\n const breakerBeforeDiscovery = this.deps.breakerSnapshot?.();\n if (\n breakerBeforeDiscovery &&\n breakerBeforeDiscovery.state === \"open\" &&\n this.now() < breakerBeforeDiscovery.openUntilMs\n ) {\n return;\n }\n // stop() may land while discovery's I/O is pending: re-check before\n // submitting anything, and again per candidate.\n // A discovery failure (EACCES/EIO on the claims dir) must not reject\n // into a detached timer callback: it would be an unhandled rejection\n // that terminates the server. Log, skip this pass, retry next poll.\n let candidates: { key: string; needsClaim: boolean }[];\n try {\n candidates = await this.discoverCandidates();\n } catch (err) {\n // Discovery may have listed a page before it failed: the page cursor\n // already moved, so restore it — otherwise those claims wait for the\n // cursor to wrap instead of the next poll.\n this.claimCursor = cursorBeforeTick;\n log.warn(\n `backlog drain: discovery failed; retrying next poll: ${err instanceof Error ? err.message : String(err)}`\n );\n return;\n }\n if (this.stopped) return;\n const dropped = this.submitCandidates(candidates);\n // The concurrency bound stopped submission mid-page: rewind the page\n // cursor so the unsubmitted claims are re-listed on the next tick\n // (already-submitted ones are gated by inFlight and key backoff).\n if (dropped) this.claimCursor = cursorBeforeTick;\n } finally {\n this.ticking = false;\n }\n }\n\n /** Bounded discovery: ONE page of existing claims with pending turns */\n private async discoverCandidates(): Promise<{ key: string; needsClaim: boolean }[]> {\n const out: { key: string; needsClaim: boolean }[] = [];\n const seen = new Set<string>();\n const pageLimit = Math.max(this.submissionLimit() * 4, 16);\n const page = await this.deps.claims.listPage(this.claimCursor, pageLimit);\n for (const listed of page.entries) {\n seen.add(listed.key);\n out.push({ key: listed.key, needsClaim: false });\n }\n this.claimCursor = page.nextCursor;\n for (const [key, counts] of await this.deps.liveBufferCounts()) {\n if (counts.turns + counts.retainedTurns <= 0) continue;\n if (seen.has(key) || this.deps.claims.isClaimed(key)) continue;\n seen.add(key);\n out.push({ key, needsClaim: true });\n }\n return out;\n }\n\n /** Submission bound: the queue's own concurrency limit, read with the\n * documented \"0 disables\" contract — a zero limit submits nothing. */\n private submissionLimit(): number {\n if (this.deps.queue.maxConcurrency <= 0) return 0;\n return this.deps.queue.maxConcurrency;\n }\n\n /** Submit discovery candidates within the queue's concurrency bound. */\n private submitCandidates(candidates: { key: string; needsClaim: boolean }[]): boolean {\n // Breaker-open churn guard: a full attempt reads the claim, rebuilds the\n // buffer/coordinator and re-renders chunks before the breaker fails it\n // fast — pure heap pressure per poll during a provider stall. Skip while\n // the window is open; once it lapses, submissions resume and the\n // breaker's half-open probe runs as usual.\n const breaker = this.deps.breakerSnapshot?.();\n if (breaker && breaker.state === \"open\" && this.now() < breaker.openUntilMs) {\n return true;\n }\n let dropped = false;\n for (const candidate of candidates) {\n if (this.stopped || this.inFlight.size >= this.submissionLimit()) {\n dropped = true;\n break;\n }\n if (!this.candidateEligible(candidate)) continue;\n // Fence the claim decision: reserve the key synchronously BEFORE the\n // async rename so no queued task for it can pass the claimed gate in\n // the meantime. Release happens when the decision settles.\n if (candidate.needsClaim) {\n if (!this.deps.queue.tryReserveKey(candidate.key)) continue;\n this.reserved.add(candidate.key);\n }\n void this.submit(candidate.key, candidate.needsClaim);\n }\n return dropped;\n }\n\n /** inFlight is the authority for \"already submitted\" — key state only\n * exists once an outcome landed (backoff/denied gating below). */\n private candidateEligible(candidate: { key: string; needsClaim: boolean }): boolean {\n if (this.stopped || this.inFlight.size >= this.submissionLimit()) return false;\n if (this.inFlight.has(candidate.key)) return false;\n const state = this.keys.get(candidate.key);\n return !(state && this.now() < state.nextAttemptMs);\n }\n\n /** Claim (when needed), then drain one key; the reservation spans the async\n * claim decision, the queue entry carries the key afterwards. */\n private async submit(key: string, needsClaim: boolean): Promise<void> {\n const controller = new AbortController();\n const { promise: settled, resolve: settle } = Promise.withResolvers<void>();\n this.inFlight.set(key, { controller, settled });\n try {\n if (!(await this.claimForSubmit(key, needsClaim, this.options.ownerId))) return;\n // Stopped between the claim decision and the task: leave the claim\n // with its lease (it expires; the next start adopts) — never drain.\n if (this.stopped) return;\n await this.drainClaimedKey(key, controller.signal, this.options.ownerId);\n } catch (err) {\n // Claim/drain failures are scheduler-level: the claim content is\n // untouched — count failed and back off (never an unhandled rejection\n // in the detached submission).\n this.counters.failed += 1;\n const message = err instanceof Error ? err.message : String(err);\n // SAFETY: a thrown non-Error (incl. null) carries no retry hint; the\n // optional chain reads the hint off Error throws only.\n this.setBackoff(key, (err as { turnsRemaining?: number } | null | undefined)?.turnsRemaining ?? 0, message);\n log.warn(`backlog drain: ${key} submission failed: ${message}`);\n } finally {\n this.inFlight.delete(key);\n this.reserved.delete(key);\n this.deps.queue.releaseKeyReservation(key);\n settle();\n }\n }\n\n /** after all — the key goes quiet without a task. \"claimed\": ours. */\n private async claimForSubmit(key: string, needsClaim: boolean, ownerId: string): Promise<boolean> {\n if (!needsClaim) return true;\n try {\n const outcome = await this.deps.claims.claimFromSessionFile(key, this.deps.lease(ownerId));\n if (outcome === \"empty\") {\n this.keys.delete(key);\n return false;\n }\n return true;\n } finally {\n this.reserved.delete(key);\n this.deps.queue.releaseKeyReservation(key);\n }\n }\n\n /** Drain one claimed key. drainKey reports failures as outcomes; a thrown\n * error still means the claim content is intact — count it failed and\n * back off. */\n private async drainClaimedKey(key: string, signal: AbortSignal, ownerId: string): Promise<void> {\n this.counters.claimed += 1;\n try {\n const outcome = await this.deps.drainKey(key, {\n ownerId,\n signal,\n });\n this.applyOutcome(key, outcome);\n } catch (err) {\n this.counters.failed += 1;\n const message = err instanceof Error ? err.message : String(err);\n // SAFETY: a thrown non-Error (incl. null) carries no retry hint; the\n // optional chain reads the hint off Error throws only.\n this.setBackoff(key, (err as { turnsRemaining?: number } | null | undefined)?.turnsRemaining ?? 0, message);\n log.warn(`backlog drain: ${key} threw: ${message}`);\n }\n }\n\n private applyOutcome(key: string, outcome: DrainSessionOutcome): void {\n const deniedTurns = outcome.denied?.reduce((sum, entry) => sum + entry.turns, 0) ?? 0;\n const previous = this.keys.get(key);\n const progressed = outcome.turnsRemaining < (previous?.turnsRemaining ?? Number.POSITIVE_INFINITY);\n if (outcome.status === \"drained\") {\n // The claim is now an empty tombstone: authoritative, nothing pending.\n // New ingress consumes it via the native save path and re-candidates.\n this.keys.delete(key);\n this.counters.processed += 1;\n this.counters.durableOutputs += outcome.durableOutputCount;\n log.info(\n `backlog drain: ${key} drained (${outcome.turnsAtStart} turn(s), ${outcome.durableOutputCount} durable output(s))`\n );\n return;\n }\n this.recordNonDrainedCounters(previous, outcome, deniedTurns);\n const denied = deniedTurns > 0 && outcome.turnsRemaining > 0;\n this.keys.set(key, this.nextKeyState(previous, outcome, denied, progressed));\n log.info(\n `backlog drain: ${key} ${outcome.status} (${outcome.turnsRemaining} turn(s) remaining` +\n `${denied ? `, denied: ${deniedTurns}` : \"\"}${outcome.reason ? `, ${outcome.reason}` : \"\"})`\n );\n }\n\n /** Denied backlog counters for a non-drained outcome. */\n private recordNonDrainedCounters(\n previous: KeyState | undefined,\n outcome: DrainSessionOutcome,\n deniedTurns: number\n ): void {\n if (deniedTurns > 0) {\n this.counters.denied.keys += 1;\n this.counters.denied.turns += deniedTurns;\n }\n if (outcome.status === \"failed\") this.counters.failed += 1;\n else if (previous !== undefined && (previous.state === \"backoff\" || previous.state === \"denied\"))\n this.counters.retried += 1;\n }\n\n /** The post-drain key state: denial waits the full max window (its content\n * is valid but currently unauthorized); progress resets the exponent. */\n private nextKeyState(\n previous: KeyState | undefined,\n outcome: DrainSessionOutcome,\n denied: boolean,\n progressed: boolean\n ): KeyState {\n return {\n state: denied ? \"denied\" : \"backoff\",\n nextAttemptMs: this.now() + this.backoffMs(previous, progressed && !denied),\n turnsRemaining: outcome.turnsRemaining,\n reason: outcome.reason,\n backoffExponent: this.nextBackoffExponent(denied, progressed, previous),\n };\n }\n\n private nextBackoffExponent(denied: boolean, progressed: boolean, previous: KeyState | undefined): number {\n return denied || !progressed ? (previous?.backoffExponent ?? 0) + 1 : 0;\n }\n\n private backoffMs(previous: KeyState | undefined, progressed: boolean): number {\n if (previous?.state === \"denied\") return this.options.retryMaxMs;\n const exponent = progressed ? 0 : (previous?.backoffExponent ?? 0) + 1;\n return Math.min(this.options.retryBaseMs * 2 ** exponent, this.options.retryMaxMs);\n }\n\n private setBackoff(key: string, turnsRemaining: number, reason: string): void {\n const previous = this.keys.get(key);\n this.keys.set(key, {\n state: \"backoff\",\n nextAttemptMs: this.now() + this.backoffMs(previous, false),\n turnsRemaining,\n reason,\n backoffExponent: (previous?.backoffExponent ?? 0) + 1,\n });\n }\n}\n\n/** Lease lifetime for claims the scheduler takes (matches the runner default). */\nconst SCHEDULER_LEASE_MS = 120_000;\n\n/** Wire the scheduler to an orchestrator's own queue, claim store, live buffer\n * counts and drain runner — the daemon's single ownership point. */\nexport function wireBacklogScheduler(\n orchestrator: Orchestrator,\n options: BacklogSchedulerOptions = {}\n): BacklogScheduler {\n const runner = new BufferDrainRunner(orchestrator);\n return new BacklogScheduler(\n {\n queue: orchestrator.extractionQueueCoordinator,\n claims: orchestrator.storage.bufferDrainClaims(),\n liveBufferCounts: async () => {\n // The daemon's buffer may be lazy: ensure the persisted state is in\n // memory before counting (load is guarded/idempotent).\n await orchestrator.buffer.load();\n return orchestrator.buffer.entryCounts();\n },\n lease: (ownerId) => {\n const now = new Date().toISOString();\n return {\n ownerId,\n pid: process.pid,\n host: hostname(),\n acquiredAt: now,\n heartbeatAt: now,\n leaseMs: SCHEDULER_LEASE_MS,\n };\n },\n drainKey: (key, drainOptions) => runner.drainSession(key, drainOptions),\n // The orchestrator's one shared provider breaker (foreground and every\n // claim-backed drain accumulate toward the same threshold).\n breakerSnapshot: () => orchestrator.getExtractionResilienceStatus().breaker,\n },\n options\n );\n}\n"],"mappings":"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","names":[]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
BufferDrainRunner,
|
|
3
3
|
ClaimBufferStorage
|
|
4
|
-
} from "../chunk-
|
|
5
|
-
import "../chunk-
|
|
4
|
+
} from "../chunk-UBJ5RPDM.js";
|
|
5
|
+
import "../chunk-VZMRKYNR.js";
|
|
6
6
|
import "../chunk-6P7U3HWG.js";
|
|
7
7
|
import "../chunk-PQM3B54K.js";
|
|
8
8
|
import "../chunk-B3DR2JBZ.js";
|
|
@@ -92,10 +92,13 @@ export declare class OrchestratorInitCoordinator {
|
|
|
92
92
|
private correctionRecoveryChain;
|
|
93
93
|
private startupEpochAbort;
|
|
94
94
|
private readonly startupStorageWrites;
|
|
95
|
+
private readonly startupWarmups;
|
|
95
96
|
constructor(deps: OrchestratorInitDeps);
|
|
96
97
|
/** Retire the current lifecycle without constructing a lazy coordinator. */
|
|
97
98
|
retireStartupEpoch(): void;
|
|
98
99
|
private initializeStorage;
|
|
100
|
+
/** Wait for background startup warm-ups; destroy() only, never the deferredReady gate. */
|
|
101
|
+
drainStartupWarmups(): Promise<void>;
|
|
99
102
|
drainEntityMigrations(): Promise<void>;
|
|
100
103
|
private beginStartupEpoch;
|
|
101
104
|
private currentOrNewStartupEpoch;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrator-init.d.ts","sourceRoot":"","sources":["../../src/orchestration/orchestrator-init.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"orchestrator-init.d.ts","sourceRoot":"","sources":["../../src/orchestration/orchestrator-init.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Exit-once bookkeeping for a queued extraction task (`onTaskExit`).
|
|
3
|
+
*
|
|
4
|
+
* A task settled (abort, queue deadline) before its closure ever ran has
|
|
5
|
+
* nothing to exit, so `settled()` reports exit at once; a claim-lease owner
|
|
6
|
+
* waiting on the exit is then not held behind an unrelated running extraction.
|
|
7
|
+
* A closure that did start reports exit when it finishes. Either way the
|
|
8
|
+
* callback fires exactly once.
|
|
9
|
+
*/
|
|
10
|
+
export declare function createTaskExit(onExit?: () => void): {
|
|
11
|
+
start: () => void;
|
|
12
|
+
settled: () => void;
|
|
13
|
+
report: () => void;
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=task-exit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-exit.d.ts","sourceRoot":"","sources":["../../src/orchestration/task-exit.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,MAAM,CAAC,EAAE,MAAM,IAAI;;;kBAG7B,IAAI;EAcxB"}
|
|
@@ -219,13 +219,7 @@ export declare class TurnIngestionCoordinator {
|
|
|
219
219
|
abortSignal?: AbortSignal;
|
|
220
220
|
/** Automatic buffered work only. Replay and import must not set this. */
|
|
221
221
|
preemptable?: boolean;
|
|
222
|
-
/**
|
|
223
|
-
* Invoked when the queued closure has FULLY exited (after settlement).
|
|
224
|
-
* Settlement can fire before the closure exits — e.g. an abort listener
|
|
225
|
-
* settles while persistence is still in flight — so callers that
|
|
226
|
-
* release resources on settlement (claim leases) can use this to wait
|
|
227
|
-
* for the actual task exit first.
|
|
228
|
-
*/
|
|
222
|
+
/** Fires once when the task is done: closure exited, or settled before it started. */
|
|
229
223
|
onTaskExit?: () => void;
|
|
230
224
|
/** Fail-closed force-flush only. Not implied by failOnExtractionFailure. */
|
|
231
225
|
preemptRunning?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"turn-ingestion.d.ts","sourceRoot":"","sources":["../../src/orchestration/turn-ingestion.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,OAAO,EAAE,WAAW,EAAuB,MAAM,cAAc,CAAC;AAChE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAI7E,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAEL,wBAAwB,EACxB,KAAK,mBAAmB,EACzB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,KAAK,UAAU,EAA6B,MAAM,oBAAoB,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAKvF,OAAO,EAAuE,KAAK,8BAA8B,EAAE,MAAM,+BAA+B,CAAC;AACzJ,OAAO,EAAoC,iCAAiC,EAAwC,MAAM,wCAAwC,CAAC;AACnK,OAAO,EAA2B,KAAK,wBAAwB,EAA8B,MAAM,iCAAiC,CAAC;AAIrI,OAAO,EAIL,KAAK,2BAA2B,EACjC,MAAM,oBAAoB,CAAC;AAI5B,OAAO,EAAE,2BAA2B,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"turn-ingestion.d.ts","sourceRoot":"","sources":["../../src/orchestration/turn-ingestion.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,OAAO,EAAE,WAAW,EAAuB,MAAM,cAAc,CAAC;AAChE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAI7E,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAEL,wBAAwB,EACxB,KAAK,mBAAmB,EACzB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,KAAK,UAAU,EAA6B,MAAM,oBAAoB,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAKvF,OAAO,EAAuE,KAAK,8BAA8B,EAAE,MAAM,+BAA+B,CAAC;AACzJ,OAAO,EAAoC,iCAAiC,EAAwC,MAAM,wCAAwC,CAAC;AACnK,OAAO,EAA2B,KAAK,wBAAwB,EAA8B,MAAM,iCAAiC,CAAC;AAIrI,OAAO,EAIL,KAAK,2BAA2B,EACjC,MAAM,oBAAoB,CAAC;AAI5B,OAAO,EAAE,2BAA2B,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAEjG,OAAO,EAAE,2BAA2B,EAAE,0BAA0B,EAAE,CAAC;AAEnE,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,wBAAwB,IAAI,MAAM,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,0BAA0B,EAAE,0BAA0B,CAAC;IAChE,UAAU,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IACxD,QAAQ,CAAC,uBAAuB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7D,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,sBAAsB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7C,wBAAwB,IAAI,iBAAiB,CAAC;IAC9C,QAAQ,CAAC,0BAA0B,EAAE;QACnC,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;QACpB,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAChD,CAAC;IACF,uBAAuB,CACrB,cAAc,EAAE,UAAU,EAAE,EAC5B,MAAM,EAAE,cAAc,GAAG,oBAAoB,EAC7C,OAAO,CAAC,EAAE;QACR,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,0BAA0B,CAAC,EAAE,OAAO,CAAC;QACrC,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAC5B,qBAAqB,CAAC,EAAE,OAAO,CAAC;QAChC,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,uBAAuB,CAAC,EAAE,OAAO,CAAC;QAClC,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;QAC7B,sBAAsB,CAAC,EAAE,OAAO,CAAC;QACjC,aAAa,CAAC,EAAE,CACd,KAAK,CAAC,EAAE,OAAO,EACf,MAAM,CAAC,EAAE,mBAAmB,KACzB,IAAI,CAAC;QACV,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,WAAW,CAAC,EAAE,WAAW,CAAC;QAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,sBAAsB,CAAC,EAAE,MAAM,CAAC;QAChC;;;;WAIG;QACH,qBAAqB,CAAC,EAAE,wBAAwB,GAAG,IAAI,CAAC;QACxD,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC5B,GACA,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,uBAAuB,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAClE,yGAAyG;IACzG,2BAA2B,CAAC,IAAI,MAAM,CAAC;IACvC,aAAa,CACX,GAAG,IAAI,EAAE,UAAU,CAAC,wBAAwB,CAAC,eAAe,CAAC,CAAC,GAC7D,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAChC,QAAQ,CAAC,eAAe,EAAE,oBAAoB,CAAC;IAC/C,qBAAqB,CACnB,KAAK,EAAE,UAAU,EAAE,EACnB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GACjD,OAAO,CAAC;IACX,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;CACxC;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAqB,SAAQ,yBAAyB;IACrE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAqBD,qBAAa,wBAAwB;IAIvB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAHjC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkB;IACxC,wFAAwF;IACxF,QAAQ,CAAC,eAAe,oCAA2C;gBACtC,IAAI,EAAE,iBAAiB;IAI9C,WAAW,CACf,IAAI,EAAE,MAAM,GAAG,WAAW,EAC1B,OAAO,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,MAAM,EACnB,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,IAAI,CAAC;IAgEV,iBAAiB,CACrB,KAAK,EAAE,UAAU,EAAE,EACnB,OAAO,GAAE;QACP,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,WAAW,CAAC,EAAE,WAAW,CAAC;QAC1B;;;;;;;;;WASG;QACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;QAChC;;;;;;;;;WASG;QACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B;;;;WAIG;QACH,qBAAqB,CAAC,EAAE,wBAAwB,GAAG,IAAI,CAAC;QACxD;;;;WAIG;QACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;QAC/B;;;;;;WAMG;QACH,cAAc,CAAC,EAAE,WAAW,GAAG,UAAU,CAAC;QAC1C,4EAA4E;QAC5E,kBAAkB,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;QACzD;;;;WAIG;QACH,aAAa,CAAC,EAAE,OAAO,aAAa,EAAE,aAAa,CAAC;KAChD,GACL,OAAO,CAAC,IAAI,CAAC;IAoHhB,2FAA2F;YAC7E,yBAAyB;IA4EvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAsCG;IACG,qBAAqB,CACzB,KAAK,EAAE,UAAU,EAAE,EACnB,OAAO,GAAE;QACP,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,uBAAuB,CAAC,EAAE,OAAO,CAAC;QAClC,2BAA2B,CAAC,EAAE,OAAO,CAAC;KAClC,GACL,OAAO,CAAC,2BAA2B,CAAC;IA8KjC,uBAAuB,CAC3B,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAO,GACnC,OAAO,CAAC,IAAI,CAAC;IA0EV,uBAAuB,CAC3B,cAAc,EAAE,UAAU,EAAE,EAC5B,MAAM,EAAE,cAAc,GAAG,oBAAoB,EAC7C,OAAO,GAAE;QACP,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,0BAA0B,CAAC,EAAE,OAAO,CAAC;QACrC,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAC5B,qBAAqB,CAAC,EAAE,OAAO,CAAC;QAChC,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,uBAAuB,CAAC,EAAE,OAAO,CAAC;QAClC,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;QAC7B,sBAAsB,CAAC,EAAE,OAAO,CAAC;QACjC,aAAa,CAAC,EAAE,CACd,KAAK,CAAC,EAAE,OAAO,EACf,MAAM,CAAC,EAAE,mBAAmB,KACzB,IAAI,CAAC;QACV,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,WAAW,CAAC,EAAE,WAAW,CAAC;QAC1B,yEAAyE;QACzE,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,sFAAsF;QACtF,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;QACxB,4EAA4E;QAC5E,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,sBAAsB,CAAC,EAAE,MAAM,CAAC;QAChC;;;;WAIG;QACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,qBAAqB,CAAC,EAAE,wBAAwB,GAAG,IAAI,CAAC;QACxD,wEAAwE;QACxE,SAAS,CAAC,EAAE,8BAA8B,CAAC;KACvC,GACL,OAAO,CAAC,IAAI,CAAC;IAmShB;;;;;;;;;OASG;IACG,8BAA8B,CAClC,KAAK,EAAE,SAAS,UAAU,EAAE,EAC5B,IAAI,EAAE;QACJ,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,EAAE,OAAO,CAAC;QACvB,WAAW,CAAC,EAAE,WAAW,CAAC;KAC3B,GACA,OAAO,CAAC,IAAI,CAAC;CAkEjB;AAED,sFAAsF;AACtF,MAAM,MAAM,wBAAwB,GAAG,UAAU,CAAC,wBAAwB,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../src/orchestrator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../src/orchestrator.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,yBAAyB,EAC/B,MAAM,eAAe,CAAC;AAkBvB,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AA8B7D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAkB7E,OAAO,KAAK,EACV,aAAa,EAEb,sBAAsB,EACtB,kBAAkB,EACnB,MAAM,kBAAkB,CAAC;AAO1B,OAAO,EACL,cAAc,EAEf,MAAM,cAAc,CAAC;AAItB,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EACL,iBAAiB,EAGlB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAEtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,+CAA+C,CAAC;AACzF,OAAO,EAAE,0BAA0B,EAAE,MAAM,iDAAiD,CAAC;AAC7F,OAAO,EAAE,+BAA+B,EAAE,MAAM,sDAAsD,CAAC;AACvG,OAAO,EAAE,gCAAgC,EAAE,MAAM,uDAAuD,CAAC;AACzG,OAAO,EAAE,0BAA0B,EAAE,MAAM,iDAAiD,CAAC;AAC7F,OAAO,EAAE,0BAA0B,EAAE,MAAM,iDAAiD,CAAC;AAC7F,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AACnF,OAAO,EAAE,4BAA4B,EAAE,MAAM,mDAAmD,CAAC;AACjG,OAAO,EAAE,uBAAuB,EAAkC,MAAM,8CAA8C,CAAC;AACvH,OAAO,EACL,wBAAwB,EAGzB,MAAM,+CAA+C,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAmD,MAAM,wCAAwC,CAAC;AAC5H,OAAO,EACL,+BAA+B,EAEhC,MAAM,sDAAsD,CAAC;AAC9D,OAAO,EACL,wBAAwB,EAExB,KAAK,mBAAmB,EACxB,KAAK,0BAA0B,EAChC,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAAgC,KAAK,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AACnH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,8CAA8C,CAAC;AAU5F,OAAO,KAAK,EAAE,2BAA2B,EAAE,0BAA0B,EAAE,MAAM,6CAA6C,CAAC;AAG3H,OAAO,EAA4B,KAAK,wBAAwB,EAAE,KAAK,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACvI,OAAO,EAAE,8BAA8B,EAAE,MAAM,yCAAyC,CAAC;AAQzF,OAAO,EAA6B,KAAK,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAQzG,OAAO,EAML,KAAK,2BAA2B,EAChC,KAAK,uBAAuB,EAK5B,KAAK,uBAAuB,EAC7B,MAAM,yCAAyC,CAAC;AAGjD,OAAO,EACL,kCAAkC,EAClC,4BAA4B,EAC5B,0BAA0B,EAC1B,8BAA8B,EAC9B,kCAAkC,EAClC,mBAAmB,EACnB,kCAAkC,EAClC,0BAA0B,EAC1B,0BAA0B,EAC1B,mBAAmB,EACnB,sCAAsC,EACtC,oBAAoB,EACpB,oBAAoB,EACpB,8BAA8B,EAC9B,6BAA6B,EAC7B,6BAA6B,EAC7B,qBAAqB,EACrB,eAAe,EACf,6BAA6B,EAC7B,yBAAyB,EACzB,qBAAqB,EACrB,oCAAoC,EACpC,eAAe,EACf,0BAA0B,EAC1B,kCAAkC,EAClC,yBAAyB,EACzB,8BAA8B,EAC9B,8BAA8B,EAC9B,6BAA6B,EAC7B,oCAAoC,EACpC,yBAAyB,EACzB,8BAA8B,EAC9B,yBAAyB,EACzB,oBAAoB,EACpB,mBAAmB,EACnB,sBAAsB,EACtB,KAAK,2BAA2B,EAChC,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,GACxB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,qCAAqC,EAAE,MAAM,8CAA8C,CAAC;AACrG,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAEjF,OAAO,EAAE,yBAAyB,EAAE,qCAAqC,EAAE,MAAM,4CAA4C,CAAC;AAC9H,OAAO,EACL,sBAAsB,EAMvB,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,6BAA6B,EAAE,MAAM,6CAA6C,CAAC;AACnJ,YAAY,EAAE,uBAAuB,EAAE,2BAA2B,EAAE,MAAM,6CAA6C,CAAC;AACxH,OAAO,EAEL,KAAK,wBAAwB,EAC9B,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAEL,KAAK,0BAA0B,EAChC,MAAM,wCAAwC,CAAC;AAEhD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAqBpD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EACL,eAAe,EACf,wBAAwB,EAGxB,wBAAwB,EAGxB,KAAK,kBAAkB,EAExB,MAAM,mBAAmB,CAAC;AAS3B,OAAO,EAKL,KAAK,kBAAkB,EAExB,MAAM,kBAAkB,CAAC;AAK1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAKnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,OAAO,EAGL,KAAK,gBAAgB,EACtB,MAAM,qBAAqB,CAAC;AA2C7B,OAAO,EAAE,oCAAoC,EAAE,MAAM,sDAAsD,CAAC;AAmC5G,OAAO,EAML,KAAK,8BAA8B,EACnC,KAAK,4BAA4B,EASlC,MAAM,mBAAmB,CAAC;AA0B3B,OAAO,EAA6B,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAOxD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EAUL,KAAK,2BAA2B,EACjC,MAAM,6BAA6B,CAAC;AAQrC,OAAO,EACL,gBAAgB,EACjB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAEL,KAAK,2BAA2B,EACjC,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAGL,KAAK,uCAAuC,EAC5C,KAAK,iCAAiC,EACvC,MAAM,+CAA+C,CAAC;AAiBvD,OAAO,EAGL,KAAK,wBAAwB,EAC9B,MAAM,gCAAgC,CAAC;AAMxC,OAAO,KAAK,EAAE,aAAa,EAAoB,MAAM,YAAY,CAAC;AAClE,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EACL,iBAAiB,EAElB,MAAM,yBAAyB,CAAC;AAgBjC,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,qBAAqB,CAAC;AAW7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAMpD,OAAO,KAAK,EAEV,uBAAuB,EAEvB,gBAAgB,EAChB,eAAe,EAGf,wBAAwB,EAExB,gBAAgB,EAGhB,iBAAiB,EAGjB,UAAU,EAEV,gBAAgB,EAChB,YAAY,EACZ,eAAe,EAIhB,MAAM,YAAY,CAAC;AAGpB,YAAY,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAG7E,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAE/E,qBAAa,YAAY;IAEvB,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IACjC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAyB;IACvD,oFAAoF;IACpF,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAC5C,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAkC;IAC3E,OAAO,CAAC,8BAA8B,CAAS;IAC/C,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAwB;IAC9D,GAAG,EAAE,aAAa,CAAC;IACnB;;;;OAIG;IACH,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;IACpD,OAAO,CAAC,oBAAoB,CAAC,CAA6B;IAC1D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAyB;IAC1D,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAExB;IACX,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAA2B;IACrE,QAAQ,CAAC,aAAa,CAAC,EAAE,oBAAoB,CAAC;IAC9C,QAAQ,CAAC,WAAW,CAAC,EAAE,iBAAiB,CAAC;IACzC,MAAM,EAAE,WAAW,CAAC;IACpB,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;IACvC,QAAQ,CAAC,eAAe,EAAE,oBAAoB,CAAC;IAC/C,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;IACtC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IACjC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA4B;IAC9D;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAsB;IACvD;;;;OAIG;IACH,OAAO,CAAC,oBAAoB,CAA0D;IACtF,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA2B;IAE3D,IAAI,cAAc,IAAI,iBAAiB,GAAG,IAAI,CAE7C;IACD,kCAAkC,IAAI,wBAAwB,GAAG,SAAS;IAI1E,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC;IACnC,QAAQ,CAAC,SAAS,EAAE,oBAAoB,CAAC;IACzC,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC;IACrC,QAAQ,CAAC,aAAa,EAAE,wBAAwB,CAAC;IACjD,QAAQ,CAAC,mBAAmB,EAAE,wBAAwB,CAAC;IACvD,QAAQ,CAAC,wBAAwB,EAAE,wBAAwB,CAAC;IAC5D,QAAQ,CAAC,+BAA+B,EAAE,+BAA+B,CAAC;IAC1E,QAAQ,CAAC,gCAAgC,EAAE,gCAAgC,CAAC;IAC5E,QAAQ,CAAC,0BAA0B,EAAE,0BAA0B,CAAC;IAChE,QAAQ,CAAC,0BAA0B,EAAE,0BAA0B,CAAC;IAChE;;;;;;;;OAQG;IACH,OAAO,CAAC,gBAAgB,CAAmC;IAC3D,2EAA2E;IAC3E,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA0B;IAC3D,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAC9C,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAS;IAC9C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmB;IAC9C,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;IACtC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmB;IAC7C,gFAAgF;IAChF,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAiC;IAC9D,6EAA6E;IAC7E,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAiC;IAC7D,iFAAiF;IACjF,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,0FAA0F;IAC1F,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAAQ;IAC5C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqB;IAEjD;;;;;OAKG;IACH,OAAO,CAAC,yBAAyB,CAA6B;IAC9D;;;;;;OAMG;IACH,OAAO,CAAC,uBAAuB,CAAoC;IACnE;;;;;;;OAOG;IACH,OAAO,CAAC,gBAAgB,CAA6B;IACrD;;;;;;;OAOG;IACH,wBAAwB,IAAI,IAAI;IAIhC,OAAO,CAAC,iBAAiB,CAAkC;IAC3D,OAAO,CAAC,gBAAgB,CAAiC;IACzD,OAAO,CAAC,QAAQ,CAAC,8BAA8B,CAAuC;IACtF,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAOtC;IAGJ,OAAO,CAAC,oBAAoB,CASd;IAGd,OAAO,CAAC,sBAAsB,CAA0B;IACxD,OAAO,CAAC,yBAAyB,CAAkC;IACnE,OAAO,CAAC,0BAA0B,CAKyC;IAE3E,OAAO,CAAC,8BAA8B,CAA4C;IAClF,OAAO,CAAC,8BAA8B,CAA8B;IACpE,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,mCAAmC,CAAQ;IACnD,mGAAmG;IACnG,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAyB;IAC5D,QAAQ,CAAC,cAAc,EAAE,WAAW,CAAkC;IAEtE,OAAO,KAAK,6BAA6B,GAexC;IAED,QAAQ,CAAC,0BAA0B,EAAE,0BAA0B,CAAC;IAChE,OAAO,CAAC,yBAAyB,CAAuC;IACxE,OAAO,CAAC,gBAAgB,CAAqC;IAE7D;;;gCAG4B;IAC5B,OAAO,KAAK,eAAe,GAG1B;IAED;uFACmF;IACnF,OAAO,CAAC,iBAAiB;IA0BzB,8EAA8E;IAC9E,OAAO,CAAC,YAAY;IAepB,OAAO,KAAK,wBAAwB,GAKnC;IAED;0EACsE;IACtE,iCAAiC,CAAC,MAAM,EAAE,WAAW,GAAG,wBAAwB;IAGhF,OAAO,CAAC,4BAA4B,CAA0C;IAC9E,OAAO,KAAK,2BAA2B,GA2BtC;IAED,OAAO,CAAC,6BAA6B,CAA2C;IAEhF,OAAO,KAAK,4BAA4B,GAyCvC;IACD;;;OAGG;IACH,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;IACtD;;;OAGG;IACH,QAAQ,CAAC,4BAA4B,EAAE,4BAA4B,CAAC;IACpE,QAAQ,CAAC,uBAAuB,EAAE,uBAAuB,CAAC;IAC1D,QAAQ,CAAC,wBAAwB,EAAE,wBAAwB,CAAC;IAC5D,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAC9C,QAAQ,CAAC,+BAA+B,EAAE,+BAA+B,CAAC;IAC1E,QAAQ,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;IACxD,OAAO,CAAC,uBAAuB,CAAoC;IACnE,OAAO,CAAC,4BAA4B,CAA6B;IACjE,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAEnC;IACJ,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAuC;IACnF,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAsC;IACjF,OAAO,CAAC,uBAAuB,CAA0C;IACzE,OAAO,CAAC,kBAAkB,CAAK;IAC/B,OAAO,CAAC,sBAAsB,CAAK;IAOnC,OAAO,CAAC,8BAA8B,CAA6B;IACnE,OAAO,CAAC,wBAAwB,CAAK;IACrC,OAAO,CAAC,qBAAqB,CAAK;IAClC,OAAO,CAAC,wBAAwB,CAAK;IACrC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAuB;IACrD,OAAO,CAAC,mBAAmB,CAAoC;IAC/D,OAAO,CAAC,oBAAoB,CAAqC;IACjE,OAAO,CAAC,oBAAoB,CAAoC;IAGhE,OAAO,CAAC,4BAA4B,CAAoC;IAGxE,OAAO,CAAC,WAAW,CAA8B;IACjD,OAAO,CAAC,WAAW,CAA6B;IAEhD;;;;;;;;;;;;;;OAcG;IACH,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,CAAqB;IACjD,OAAO,CAAC,oBAAoB,CAA6B;IACzD,OAAO,CAAC,iBAAiB,CAAgC;IAEzD;;;;;OAKG;IACH,qBAAqB,UAAS;IAE9B;;;OAGG;IACH,iBAAiB,IAAI,IAAI;IAMnB,4BAA4B,IAAI,OAAO,CAAC,IAAI,CAAC;IAKnD,wFAAwF;IACxF,0BAA0B,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAGvE;;;;OAIG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAmE9B,yFAAyF;IACzF,0BAA0B,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;IAGjE,6FAA6F;IAC7F,4BAA4B,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAGtD,gBAAgB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIzD,oBAAoB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM;IAQjD,OAAO,CAAC,0BAA0B;IAYlC,0BAA0B,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,GAAG,IAAI,GAAG,IAAI;IASzF,0BAA0B,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,aAAa,GAAG,IAAI;IAQhF,2BAA2B,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM;IAS1F,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IASpE,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI;IAQlE;;;;;;;;;;;;;;;OAeG;IACH,wBAAwB,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,IAAI;IAQzG,sBAAsB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAQzE,0BAA0B,GACxB,SAAS,eAAe,EAAE,EAAE,aAAY,SAAS,MAAM,EAAO,EAAE,4BAA0B,EAC1F,kBAAkB,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,gCAGtC;IAEF,OAAO,CAAC,uBAAuB;IAO/B,OAAO,CAAC,+BAA+B;IAkBvC,OAAO,CAAC,8BAA8B;IAiBtC,OAAO,CAAC,oCAAoC;IAmB5C,OAAO,CAAC,kCAAkC;IAc1C,OAAO,CAAC,uCAAuC;YAKjC,qBAAqB;IAYnC;;;;;;;;;;;OAWG;IACG,mCAAmC,CACvC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,CAAC,GAAG,EAAE,uCAAuC,KAAK,OAAO,CAAC;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC,EACrG,OAAO,GAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAO,GAClC,OAAO,CAAC,2BAA2B,CAAC;IAWvC;;;;OAIG;IACG,8BAA8B,IAAI,OAAO,CAAC,iCAAiC,CAAC;IAIlF,OAAO,CAAC,+BAA+B;IAiBjC,sBAAsB,CAAC,OAAO,EAAE;QACpC,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QACtB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC;QAC/C,aAAa,CAAC,EAAE,kBAAkB,CAAC;QACnC,SAAS,CAAC,EAAE,sBAAsB,CAAC;KACpC,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAMxB,wBAAwB,CAC5B,SAAS,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,sBAAsB,GACjC,OAAO,CAAC,qBAAqB,CAAC;IAI3B,iCAAiC,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IASrF,8BAA8B,IAAI,IAAI;YAKxB,0BAA0B;YA4B1B,mBAAmB;YAUnB,mBAAmB;YAUnB,0BAA0B;YAY1B,gCAAgC;YAyBhC,sBAAsB;gBAIxB,MAAM,EAAE,YAAY;IAyWhC,4FAA4F;IAC5F,OAAO,CAAC,aAAa;IAmBrB,OAAO,CAAC,sBAAsB;IAO9B,OAAO,CAAC,2CAA2C;IAOnD,OAAO,CAAC,oBAAoB;IAuB5B,OAAO,CAAC,4BAA4B;IAoBpC,OAAO,CAAC,kBAAkB;IAa1B,OAAO,CAAC,oBAAoB;YAUd,gBAAgB;YAYhB,6BAA6B;IAU3C,wGAAwG;YAC1F,kBAAkB;IAoBhC;;;;OAIG;IACH,IAAI,gBAAgB,IAAI;QACtB,cAAc,EAAE,CACd,QAAQ,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC,EAClD,OAAO,CAAC,EAAE;YAAE,SAAS,CAAC,EAAE,MAAM,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,CAAC;YAAC,SAAS,CAAC,EAAE,MAAM,CAAC;YAAC,SAAS,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,iBAAiB,GAAG,YAAY,CAAA;SAAE,KACxI,OAAO,CAAC;YAAE,OAAO,EAAE,MAAM,CAAA;SAAE,GAAG,IAAI,CAAC,CAAC;KAC1C,CAcA;IAED;qEACiE;IACjE,IAAI,8BAA8B,IAAI,yBAAyB,GAAG,SAAS,CAW1E;IAEK,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;YAmBnB,kBAAkB;IAM1B,iBAAiB,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IAMzD,uBAAuB,CAAC,OAAO,GAAE;QACrC,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;KACf,GAAG,OAAO,CAAC;QACf,GAAG,EAAE,OAAO,CAAC;QACb,aAAa,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;QACvC,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,0BAA0B,CAAC;KACrC,CAAC;IAMI,6BAA6B,CAAC,OAAO,GAAE;QAC3C,KAAK,CAAC,EAAE,OAAO,CAAC;KACZ,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAM7C;;;;;OAKG;IACG,wBAAwB,IAAI,OAAO,CAAC,2BAA2B,CAAC;IActE;;;;OAIG;IACG,8BAA8B,CAAC,OAAO,GAAE;QAC5C,MAAM,CAAC,EAAE,OAAO,CAAC;KACb,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAiB7C;;;;OAIG;IACG,4BAA4B,CAAC,OAAO,GAAE;QAC1C,MAAM,CAAC,EAAE,OAAO,CAAC;KACb,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAevC,iBAAiB,CAAC,OAAO,GAAE;QAC/B,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,WAAW,CAAC,EAAE,WAAW,CAAC;QAC1B,gBAAgB,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;KACzC,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAkBpC,0BAA0B,CAC9B,KAAK,EAAE,uBAAuB,GAC7B,OAAO,CAAC;QACT,OAAO,EAAE,OAAO,CAAC;QACjB,UAAU,EAAE,OAAO,CAAC;QACpB,MAAM,EAAE,mBAAmB,GAAG,IAAI,CAAC;QACnC,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IAMI,6BAA6B,IAAI,OAAO,CAAC,OAAO,CAAC;IAMjD,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIpC,YAAY,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC;IAKjE,mBAAmB,IAAI,OAAO,CAAC;QACnC,iBAAiB,EAAE,MAAM,CAAC;QAC1B,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IAII,iBAAiB,CACrB,EAAE,EAAE,MAAM,EACV,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,cAAc,CAAA;KAAE,GACrC,OAAO,CAAC,IAAI,CAAC;IAKhB,6BAA6B,CAC3B,QAAQ,EAAE,CAAC,WAAW,EAAE,wBAAwB,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,GACxE,MAAM,IAAI;IAOP,2BAA2B,CAAC,OAAO,CAAC,EAAE;QAC1C,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,OAAO,CAAC,EAAE,cAAc,CAAC;KAC1B,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAIlC,yBAAyB,CAAC,OAAO,CAAC,EAAE;QACxC,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,OAAO,CAAC,EAAE,cAAc,CAAC;KAC1B,GAAG,OAAO,CAAC;QAAE,eAAe,EAAE,MAAM,CAAC;QAAC,kBAAkB,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;YAYtE,wBAAwB;IAShC,qBAAqB,CAAC,SAAS,GAAE,MAAe,GAAG,OAAO,CAAC,OAAO,CAAC;IAKnE,wBAAwB,CAAC,SAAS,GAAE,MAAe,GAAG,OAAO,CAAC,OAAO,CAAC;IAYtE,UAAU,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAQvD,kBAAkB,CACtB,QAAQ,EAAE,MAAM,GAAG,UAAU,EAAE,GAC9B,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAQnC;;;OAGG;IACG,sBAAsB,CAC1B,SAAS,CAAC,EAAE,MAAM,EAClB,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAS7B,gBAAgB,CACpB,SAAS,CAAC,EAAE,MAAM,EAClB,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,MAAM,CAAC;IAOlB,wBAAwB,CACtB,KAAK,EAAE,IAAI,CAAC,iBAAiB,EAAE,WAAW,CAAC,GAAG;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GACnE,iBAAiB;IAMd,uBAAuB,CAC3B,KAAK,EAAE,IAAI,CAAC,iBAAiB,EAAE,WAAW,CAAC,GAAG;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GACnE,OAAO,CAAC,OAAO,CAAC;YAYL,+BAA+B;IAO7C,OAAO,CAAC,+BAA+B;IAUjC,kBAAkB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QACrD,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,OAAO,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB,eAAe,EAAE,MAAM,CAAC;QACxB,YAAY,EAAE,MAAM,CAAC;QACrB,iBAAiB,EAAE,OAAO,CAAC;KAC5B,CAAC;YAIY,qBAAqB;IAInC,OAAO,CAAC,YAAY;IAcd,MAAM,CACV,MAAM,EAAE,MAAM,EACd,UAAU,CAAC,EAAE,MAAM,EACnB,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,MAAM,CAAC;IAYlB;;;;;;;;OAQG;IACH,mBAAmB,IAAI,kBAAkB,GAAG,IAAI;IAKhD;;;;;OAKG;IACH,qBAAqB,IAAI,IAAI;IAI7B,+EAA+E;IACzE,qBAAqB,CACzB,MAAM,EAAE,MAAM,EACd,UAAU,CAAC,EAAE,MAAM,EACnB,OAAO,GAAE,IAAI,CAAC,uBAAuB,EAAE,aAAa,CAAM,GACzD,OAAO,CAAC;QACT,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,kBAAkB,GAAG,IAAI,CAAC;QACpC,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC;YASY,wBAAwB;IAwBhC,kCAAkC,CACtC,SAAS,GAAE,MAAe,GACzB,OAAO,CAAC,OAAO,CAAC;IAMnB,OAAO,CAAC,8BAA8B;YAkBxB,wBAAwB;IAoBtC,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,uBAAuB;IAiB/B,OAAO,CAAC,yBAAyB;YAKnB,gCAAgC;YAWhC,+BAA+B;IAW7C,OAAO,CAAC,oBAAoB;YAmBd,wBAAwB;YAUxB,4BAA4B;YAgB5B,sCAAsC;IA4B9C,qBAAqB,CACzB,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,0BAA0B,CAAC;YAIxB,6BAA6B;YAmB7B,wBAAwB;YASxB,2BAA2B;YAS3B,oCAAoC;YASpC,2BAA2B;IAQzC,OAAO,CAAC,6BAA6B;IAgBrC,OAAO,CAAC,qBAAqB;IAM7B,OAAO,CAAC,sBAAsB;IAU9B,OAAO,CAAC,iCAAiC;IAUzC,OAAO,CAAC,wBAAwB;IAMhC,OAAO,CAAC,sBAAsB;IAO9B,OAAO,CAAC,mBAAmB;IAc3B,OAAO,CAAC,6BAA6B;IAUrC,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,sBAAsB;IAoB9B;;;;;;OAMG;IACH,SAAS,CAAC,qBAAqB,IAAI,MAAM;IAIzC;;;;;;OAMG;IACH,OAAO,CAAC,0BAA0B,CAAwC;IAE1E,OAAO,KAAK,yBAAyB,GAOpC;IAED;;;;;OAKG;IACH,OAAO,CAAC,gCAAgC,CAA8C;IAEtF,OAAO,KAAK,+BAA+B,GAO1C;IAED;;;;OAIG;IACH,OAAO,CAAC,yBAAyB,CAAuC;IAExE,OAAO,KAAK,wBAAwB,GAOnC;IAED;;;;OAIG;IACH,OAAO,CAAC,+BAA+B,CAA6C;IAEpF,IAAI,mBAAmB,IAAI,8BAA8B,CAOxD;IAED;;;;;OAKG;IACH,OAAO,CAAC,4BAA4B,CAA0C;IAE9E,OAAO,KAAK,2BAA2B,GAOtC;IAED;;;;OAIG;IACH,OAAO,CAAC,4BAA4B,CAA0C;IAE9E,OAAO,KAAK,2BAA2B,GAOtC;IAED;;;;OAIG;IACH,OAAO,CAAC,wBAAwB,CAAsC;IAEtE,OAAO,KAAK,uBAAuB,GAOlC;IAED;;;;OAIG;IACH,OAAO,CAAC,+BAA+B,CAA6C;IAEpF,OAAO,KAAK,8BAA8B,GAOzC;IAED,gFAAgF;IAChF,OAAO,CAAC,uBAAuB,CAAqC;IAEpE,OAAO,KAAK,sBAAsB,GAOjC;IAED,mFAAmF;IACnF,OAAO,CAAC,0BAA0B,CAAwC;IAE1E;;;;;OAKG;IACH,IAAI,gBAAgB,IAAI,YAAY,CAEnC;IAED,OAAO,KAAK,yBAAyB,GAOpC;YAEa,cAAc;IAkBtB,WAAW,CACf,IAAI,EAAE,MAAM,GAAG,WAAW,EAC1B,OAAO,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,MAAM,EACnB,OAAO,GAAE,oBAAoB,GAAG;QAAE,2BAA2B,CAAC,EAAE,OAAO,CAAA;KAAO,GAC7E,OAAO,CAAC,IAAI,CAAC;IAShB,yEAAyE;IACnE,iBAAiB,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAIhF,YAAY,CAChB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,IAAI,CAAC;IASV,iBAAiB,CACrB,KAAK,EAAE,UAAU,EAAE,EACnB,OAAO,GAAE,wBAA6B,GACrC,OAAO,CAAC,IAAI,CAAC;IAOhB;;;;;;;;;;;;OAYG;IACH,wBAAwB,IAAI,MAAM;IAIlC,mBAAmB,CAAC,SAAS,GAAE,MAAqC,GAAG,gBAAgB;IAEvF,kBAAkB,CAAC,SAAS,GAAE,MAAqC,GAAG,OAAO,CAAC,eAAe,CAAC;IAExF,qBAAqB,CACzB,KAAK,EAAE,UAAU,EAAE,EACnB,OAAO,GAAE;QACP,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,uBAAuB,CAAC,EAAE,OAAO,CAAC;QAClC,2BAA2B,CAAC,EAAE,OAAO,CAAC;KAClC,GACL,OAAO,CAAC,2BAA2B,CAAC;IAOjC,uBAAuB,CAC3B,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAO,GACnC,OAAO,CAAC,IAAI,CAAC;YAOF,uBAAuB;IAsCrC;;;;;;OAMG;IACH,OAAO,CAAC,2BAA2B;IAanC,OAAO,CAAC,mCAAmC;IAI3C,OAAO,CAAC,0BAA0B;IAIlC,OAAO,CAAC,qBAAqB;YAOf,8BAA8B;IAiB5C,OAAO,CAAC,wBAAwB;IAO1B,aAAa,CACjB,GAAG,IAAI,EAAE,UAAU,CAAC,wBAAwB,CAAC,eAAe,CAAC,CAAC,GAC7D,OAAO,CAAC,mBAAmB,CAAC;IAI/B;sEACkE;IAClE,6BAA6B,IAAI,0BAA0B;YAI7C,oCAAoC;YAUpC,qBAAqB;IAYnC,OAAO,CAAC,0BAA0B;IAOlC,qBAAqB,IAAI,IAAI;IAI7B;;;OAGG;IACH,4BAA4B,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAG5C,iBAAiB,CACrB,MAAM,EAAE,gBAAgB,EACxB,OAAO,EAAE,cAAc,EACvB,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,EACrC,aAAa,CAAC,EAAE,uBAAuB,EACvC,aAAa,CAAC,EAAE,MAAM,EACtB,qBAAqB,CAAC,EAAE,wBAAwB,GAAG,IAAI;IACvD,yFAAyF;IACzF,UAAU,CAAC,EAAE,MAAM,EACnB,SAAS,GAAE,8BAAkF,EAC7F,aAAa,GAAE,4BAA8E,GAC5F,OAAO,CAAC,uBAAuB,CAAC;IAanC;;;;OAIG;YACW,6BAA6B;YAoB7B,oBAAoB;IAUlC,sGAAsG;YACxF,cAAc;IAgB5B,OAAO,CAAC,aAAa;YASP,wBAAwB;IAUtC,oDAAoD;IACpD,OAAO,CAAC,gBAAgB,CAAgB;YAE1B,gBAAgB;YAYhB,sCAAsC;IAI9C,qBAAqB,CAAC,OAAO,GAAE,cAA6B,GAAG,OAAO,CAAC;QAAE,gBAAgB,EAAE,MAAM,CAAA;KAAE,CAAC;YAQ5F,sBAAsB;IAMpC;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CAAC,8BAA8B,QAAS;YAEzC,uBAAuB;IAMrC,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,2BAA2B;IAMnC,OAAO,CAAC,6BAA6B;IAMrC,OAAO,CAAC,sBAAsB;IAI9B,OAAO,CAAC,8BAA8B;IAMtC,OAAO,CAAC,wBAAwB;IAMhC,OAAO,CAAC,4BAA4B;IAMpC,OAAO,CAAC,iCAAiC;IAMzC,OAAO,CAAC,qBAAqB;IAQ7B,OAAO,CAAC,sBAAsB;IAO9B,OAAO,CAAC,mBAAmB;YAOb,8BAA8B;IAa5C,OAAO,CAAC,SAAS;IASjB,OAAO,CAAC,qBAAqB;IAU7B,OAAO,CAAC,oBAAoB;YAUd,mBAAmB;YASnB,6BAA6B;YAQ7B,+BAA+B;YAU/B,sBAAsB;YAQtB,qBAAqB;YAWrB,uBAAuB;IAoBrC,OAAO,CAAC,8BAA8B;IAUtC,OAAO,CAAC,oBAAoB;IAQ5B,OAAO,CAAC,4BAA4B;IAcpC,OAAO,CAAC,wBAAwB;IAe1B,mBAAmB,CACvB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,aAAa,EAAE,cAAc,GAC5B,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAQ9B;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,qBAAqB;YAOf,uBAAuB;YAUvB,wBAAwB;YAcxB,yBAAyB;IAoDvC;;;OAGG;IACH,iBAAiB,CACf,SAAS,EAAE,MAAM,EAAE,EACnB,WAAW,GAAE,MAAM,EAAO,EAC1B,gBAAgB,GAAE,KAAK,CAAC,MAAM,GAAG,SAAS,CAAM,GAC/C,IAAI;IAQD,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;YAI5B,yBAAyB;IAqBvC,OAAO,CAAC,iCAAiC;YAkB3B,4BAA4B;YAqB5B,kBAAkB;IA4BhC,OAAO,CAAC,2BAA2B;IAS7B,oBAAoB,CACxB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,IAAI,GAAG,MAAM,EACnB,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC;IAKV,uBAAuB,CAC3B,SAAS,EAAE,MAAM,EAAE,EACnB,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC;IAIhB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI;IAItD,6BAA6B;IAInC;;;;;;OAMG;IACH,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAiBtE;;;;;;OAMG;IACH,uBAAuB,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM;IAiBjE;;;OAGG;YACW,qBAAqB;IAwBnC;;;;;;;OAOG;YACW,iCAAiC;IAwB/C;;OAEG;YACW,qBAAqB;IAYnC,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,mBAAmB;IAQ3B;;;;;;;;;;;;;OAaG;YAIW,4BAA4B;CAM3C"}
|
package/dist/orchestrator.js
CHANGED
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
mergeGraphExpandedResults,
|
|
7
7
|
qmdStartupCollectionChecksWithTimeout,
|
|
8
8
|
resolveEffectiveIdentityInjectionMode
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-VZMRKYNR.js";
|
|
10
10
|
import "./chunk-6P7U3HWG.js";
|
|
11
11
|
import "./chunk-PQM3B54K.js";
|
|
12
12
|
import "./chunk-B3DR2JBZ.js";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@remnic/core",
|
|
3
|
-
"version": "10.0.
|
|
3
|
+
"version": "10.0.99",
|
|
4
4
|
"description": "Framework-agnostic Remnic memory engine — orchestrator, storage, extraction, search, trust zones",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -3386,7 +3386,7 @@
|
|
|
3386
3386
|
"core"
|
|
3387
3387
|
],
|
|
3388
3388
|
"peerDependencies": {
|
|
3389
|
-
"@remnic/coding-graph": "^10.0.
|
|
3389
|
+
"@remnic/coding-graph": "^10.0.99"
|
|
3390
3390
|
},
|
|
3391
3391
|
"peerDependenciesMeta": {
|
|
3392
3392
|
"@remnic/coding-graph": {
|
|
@@ -12,6 +12,7 @@ import assert from "node:assert/strict";
|
|
|
12
12
|
import test from "node:test";
|
|
13
13
|
|
|
14
14
|
import { hostname } from "node:os";
|
|
15
|
+
import { log } from "./logger.js";
|
|
15
16
|
import {
|
|
16
17
|
BacklogScheduler,
|
|
17
18
|
type BacklogSchedulerDeps,
|
|
@@ -390,6 +391,53 @@ test("the in-flight bound is the queue's own maxConcurrency", async () => {
|
|
|
390
391
|
}
|
|
391
392
|
});
|
|
392
393
|
|
|
394
|
+
test("stop returns within its settle bound and names a drain that ignores abort", async () => {
|
|
395
|
+
const queue = new ExtractionQueueCoordinator(1);
|
|
396
|
+
const state: StubState = {
|
|
397
|
+
counts: new Map([["stuck-key", { turns: 3, retainedTurns: 0 }]]),
|
|
398
|
+
claimed: new Set(),
|
|
399
|
+
claimTurns: new Map(),
|
|
400
|
+
claimedThisRun: new Set(),
|
|
401
|
+
outcomes: [],
|
|
402
|
+
drained: [],
|
|
403
|
+
};
|
|
404
|
+
const entered = Promise.withResolvers<void>();
|
|
405
|
+
const forever = new Promise<DrainSessionOutcome>(() => {});
|
|
406
|
+
const scheduler = new BacklogScheduler(
|
|
407
|
+
{
|
|
408
|
+
...makeDeps(state, queue),
|
|
409
|
+
// Ignores options.signal entirely: the shape that held a daemon stop
|
|
410
|
+
// until the 700 s systemd kill.
|
|
411
|
+
drainKey: async () => {
|
|
412
|
+
entered.resolve();
|
|
413
|
+
return forever;
|
|
414
|
+
},
|
|
415
|
+
},
|
|
416
|
+
{ pollMs: 3_600_000, stopSettleTimeoutMs: 50 }
|
|
417
|
+
);
|
|
418
|
+
const warnings: string[] = [];
|
|
419
|
+
const originalWarn = log.warn;
|
|
420
|
+
log.warn = (msg: string) => {
|
|
421
|
+
warnings.push(msg);
|
|
422
|
+
};
|
|
423
|
+
try {
|
|
424
|
+
scheduler.start();
|
|
425
|
+
await scheduler.tickForTest();
|
|
426
|
+
await entered.promise;
|
|
427
|
+
const outcome = await Promise.race([
|
|
428
|
+
scheduler.stop().then(() => "returned"),
|
|
429
|
+
new Promise<string>((resolve) => setTimeout(() => resolve("hung"), 2_000)),
|
|
430
|
+
]);
|
|
431
|
+
assert.equal(outcome, "returned", "stop must not wait forever on a drain that ignores abort");
|
|
432
|
+
assert.ok(
|
|
433
|
+
warnings.some((w) => w.includes("stuck-key")),
|
|
434
|
+
`the stuck key is named in a warning: ${JSON.stringify(warnings)}`
|
|
435
|
+
);
|
|
436
|
+
} finally {
|
|
437
|
+
log.warn = originalWarn;
|
|
438
|
+
}
|
|
439
|
+
});
|
|
440
|
+
|
|
393
441
|
test("stop aborts in-flight drains; a fresh start resumes the still-claimed backlog", async () => {
|
|
394
442
|
const queue = new ExtractionQueueCoordinator(1);
|
|
395
443
|
const state: StubState = {
|