@adriangalilea/utils 10.5.0 → 10.6.1
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/README.md +1 -1
- package/dist/llm/index.d.ts +46 -3
- package/dist/llm/index.d.ts.map +1 -1
- package/dist/llm/index.js +169 -43
- package/dist/llm/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -795,7 +795,7 @@ Telegram's [Threaded Mode](https://telegram.org/blog/threaded-conversations) for
|
|
|
795
795
|
| `@adriangalilea/utils/bot/updates` | The pending-update queue of a webhook-less bot token, treated as the destroy-on-read resource it is (`getUpdates` with an offset CONFIRMS — destroys — everything below it). `updateQueue({ token, fetch?, apiRoot? })` → `peek({ limit? })` (webhook state + pending count + the queue head, verbatim; sends NO offset so nothing is ever confirmed — repeatable, zero risk), `count()`, `webhookInfo()`, and `drain({ onBatch, limit?, timeoutS?, quietPolls? })` — the one-chance-safe sweep: each raw batch is handed to `onBatch` (persist it somewhere durable) and AWAITED before the offset advances, because the next call is the confirmation; a crash re-delivers the unconfirmed tail on re-run, and the drain ends only after several consecutive silent long-polls, never on the first empty response. A 409 (webhook registered / competing poller) is a typed `SourcedError`, never a silent retry. Plain `fetch`, injectable for tests; no framework. |
|
|
796
796
|
| `@adriangalilea/utils/bot/inline-feedback` | Behavioral tripwire for BotFather's inline feedback probability (gates `chosen_inline_result`; defaults 0%, silently resets on bot transfer and inline-mode toggling, invisible to `getMe`): served-but-never-chosen crosses a threshold → throttled admin DM naming the exact BotFather switch. Storage injected as three ops; never throws into the answer path. |
|
|
797
797
|
| `@adriangalilea/utils/bot/coalesce` | Joins client-split inbound messages back into one. When a user pastes >4096 chars, Telegram clients fragment it into separate `message` updates with no marker. Middleware detects the burst and emits one combined event. |
|
|
798
|
-
| `@adriangalilea/utils/llm` | Multi-provider LLM caller on the Vercel AI SDK — the policy layer the SDK doesn't ship. `createLlm({ providers, health? })` → `.stream(req)` (typed events: `delta` / `reasoning` / `reset` / `tool-call` / `end`) and `.complete(req)`. **Failover:** priority-ordered across OpenAI-compatible, Anthropic-compatible, and OpenRouter endpoints; multiple keys per provider (health tracked per key fingerprint); per-key circuit breaker with exponential cool-down persisted in any KV-shaped `HealthStore`; an attempt that dies after emitting yields `reset` (discard, next candidate regenerates); empty completions count as failures. **Accounting:** tokens summed across billed attempts; `costUsd` is the ACTUAL charge (OpenRouter usage accounting via `providerMetadata`, or a `cost` field on the raw usage frame) — never a price-table estimate. **Knobs:** per-model temperature, maxTokens caps, `disableThinking` mapped to each dialect. **Tools:** AI SDK `tool()` + `toolChoice` pass through (re-exported). **Trace:** each call is a `chat` span (kind `inference`) under `log` (a logger or span you pass; the root logger otherwise), and each provider tried is an `attempt` span inside it with OpenTelemetry's gen_ai fields (provider, model, `server.address`, input, cached and output tokens), `cost_usd` when the gateway reports one, `ttft_ms` and `decode_ms
|
|
798
|
+
| `@adriangalilea/utils/llm` | Multi-provider LLM caller on the Vercel AI SDK — the policy layer the SDK doesn't ship. `createLlm({ providers, health? })` → `.stream(req)` (typed events: `delta` / `reasoning` / `reset` / `tool-call` / `end`) and `.complete(req)`. **Failover:** priority-ordered across OpenAI-compatible, Anthropic-compatible, and OpenRouter endpoints; multiple keys per provider (health tracked per key fingerprint); per-key circuit breaker with exponential cool-down persisted in any KV-shaped `HealthStore`; an attempt that dies after emitting yields `reset` (discard, next candidate regenerates); empty completions count as failures. **Accounting:** tokens summed across billed attempts; `costUsd` is the ACTUAL charge (OpenRouter usage accounting via `providerMetadata`, or a `cost` field on the raw usage frame) — never a price-table estimate. **Knobs:** per-model temperature, maxTokens caps, `disableThinking` mapped to each dialect. **Tools:** AI SDK `tool()` + `toolChoice` pass through (re-exported). **Tool loop:** tools with an `execute` run when called, and `stopWhen` (the AI SDK's stop conditions, re-exported: `stepCountIs`, `hasToolCall`, or any function of the steps) calls the model again with their results until one holds; the result's `messages` are every turn the call added (the model's and its tools' results), to append to the conversation; usage sums every step. `prepareStep` (the AI SDK's step hook) may replace what the model reads from a step on, which carries forward: a conversation kept inside its window; and it may say how much the model reasons on that step (`reasoning`, mapped to the provider's own option, openai-compatible and OpenRouter), over the request's `reasoning`: a loop that thinks only where its task gets hard. `requestTimeoutMs` times each request to a model, never the tools between them (a tool may wait on a person). Once a tool has run, a failure is the call's own: no other provider is tried, since its tools would act again. The AI SDK runs a turn's calls at once; tools that must run in order share a `SerialJobExecutor` (re-exported). **Trace:** each call is a `chat` span (kind `inference`) under `log` (a logger or span you pass; the root logger otherwise), and each provider tried is an `attempt` span inside it with OpenTelemetry's gen_ai fields (provider, model, `server.address`, input, cached and output tokens), `cost_usd` when the gateway reports one, `ttft_ms` and `decode_ms`; each model call of a tool loop is a `step` span inside the attempt, with its calls, its finish reason, its tokens and its own `ttft_ms`/`decode_ms` (a turn's tools run as their calls stream in, so a step's decode includes them). **Structured output:** `schema` (zod, or `jsonSchema(…, { validate })`) returns the answer parsed and validated as `object`; an answer that fails it fails its provider and the next is tried. A provider with `structuredOutputs: true` enforces the schema while decoding; otherwise the schema is stated in the instructions. **Failures:** an `LlmError` carries `failures`, one per provider tried, typed: `off-schema` (the model answered, not in the schema's shape: its `text`, and `cut` when its token cap stopped it), `empty`, or `failed` (the call itself: its message and HTTP `status`), so a caller tells an answer it can send back to the model from a server that is down. Worker-safe; peers: `ai`, `@ai-sdk/openai-compatible`, `@ai-sdk/anthropic`, `@openrouter/ai-sdk-provider`. |
|
|
799
799
|
| `@adriangalilea/utils/bot/llm` | The Telegram side of an LLM chatbot; the model side is `@adriangalilea/utils/llm`. **Output:** `streamChatReply(ctx, events, opts?)` consumes an `AsyncIterable<LlmStreamEvent>` and paints it with Telegram's native message-draft streaming (`sendMessageDraft` full-frame repaints, throttled ~1/s, keepalive under the ~30s draft TTL), then persists the finished markdown via `ctx.send`, entity-split across 4096 by `@gramio/split`. Reasoning models get a thinking phase — streams into the ephemeral draft and evaporates (`reasoning: 'preview'`, default), persists as an expandable blockquote (`'message'`), or never renders at all (`'hidden'`). Upstream `reset` (provider failover) repaints the draft from scratch. Drafts are private-chat-only (+ BotFather forum-topic mode); elsewhere the preview phase is skipped and only the final send happens. Returns `{ content, reasoning, toolCalls, usage, messages }`. The painter underneath is `@adriangalilea/utils/bot/draft` (`createDraftPreview(ctx, { render, throttleMs? })`): dependency-light (no markdown machinery), for producers that push deltas or own their per-frame rendering (plain or rich-message frames) and persist path, with `streamForensics` (render-regression + reset warnings) built in and exported standalone. **History:** `llmHistory({...})` returns `.plugin` (decorates `ctx.llm` with `.add() / .get() / .clear() / .all() / .clearAll()`, per-(user, thread) OpenAI `ChatMessage` shape, persisted in the shared session record so the menu's 🗑 Forget wipes it automatically) AND `.menuItem` (drop-in "🗑 Delete this thread" for `botMenu` — wipes the LLM history AND calls `deleteForumTopic` so the Telegram thread + all its messages disappear from the chat; falls back to history-only clear when no `threadId` is present). |
|
|
800
800
|
| `@adriangalilea/utils/metrics` | Declared counters and timings, bounded dimensions, optional actor IDs, and a schema for generic reporting. Inject a store (`store: metricsStore(driver, project)`); measurement failures are reported without rejecting calls. See Product metrics below. |
|
|
801
801
|
| `@adriangalilea/utils/metrics/sqlite` | Atomic SQLite driver, explicit provisioning schema, and inclusive UTC daily reports; libSQL is its own module (`metrics/libsql`) over the same driver shape. Connections and credentials belong to the application. |
|
package/dist/llm/index.d.ts
CHANGED
|
@@ -26,6 +26,10 @@
|
|
|
26
26
|
* OpenRouter's usage accounting (`providerMetadata.openrouter.usage.cost`)
|
|
27
27
|
* or a `cost` field on the provider's raw usage frame — never a price
|
|
28
28
|
* table estimate.
|
|
29
|
+
* - **A tool loop that never acts twice.** `stopWhen` runs the AI SDK's
|
|
30
|
+
* loop (tools with `execute`, called again with their results); once a
|
|
31
|
+
* tool has run, a failure ends the call instead of failing over, since
|
|
32
|
+
* another provider would replay the tools from scratch.
|
|
29
33
|
*
|
|
30
34
|
* Worker-safe: fetch/WebStreams only, no `node:*`. Peer deps: `ai`,
|
|
31
35
|
* `@ai-sdk/openai-compatible`, `@ai-sdk/anthropic`,
|
|
@@ -58,9 +62,21 @@
|
|
|
58
62
|
* else if (e.kind === 'tool-call') handle(e.toolName, e.input)
|
|
59
63
|
* }
|
|
60
64
|
*/
|
|
61
|
-
import { type FlexibleSchema, type ModelMessage, type ToolChoice, type ToolSet } from "ai";
|
|
65
|
+
import { type FlexibleSchema, type ModelMessage, type PrepareStepFunction, type PrepareStepResult, type StopCondition, streamText, type ToolChoice, type ToolSet } from "ai";
|
|
62
66
|
import { type Logger } from "../universal/log.js";
|
|
63
|
-
export { jsonSchema, type ModelMessage, type Tool, type ToolSet, tool, } from "ai";
|
|
67
|
+
export { hasToolCall, jsonSchema, type ModelMessage, SerialJobExecutor, type StopCondition, stepCountIs, type Tool, type ToolSet, tool, } from "ai";
|
|
68
|
+
/** How much a model reasons before it answers: the AI SDK's level ("none" turns it
|
|
69
|
+
* off, where the provider can). */
|
|
70
|
+
export type Reasoning = NonNullable<Parameters<typeof streamText>[0]["reasoning"]>;
|
|
71
|
+
/**
|
|
72
|
+
* The tool loop's step hook: the AI SDK's, whose result may also say how much the
|
|
73
|
+
* model reasons on that step (`reasoning`), mapped to the provider's own option.
|
|
74
|
+
*/
|
|
75
|
+
export type PrepareStep = (options: Parameters<PrepareStepFunction<ToolSet>>[0]) => (PrepareStepResult<ToolSet> & {
|
|
76
|
+
reasoning?: Reasoning;
|
|
77
|
+
}) | undefined | PromiseLike<(PrepareStepResult<ToolSet> & {
|
|
78
|
+
reasoning?: Reasoning;
|
|
79
|
+
}) | undefined>;
|
|
64
80
|
/**
|
|
65
81
|
* One provider declaration. Multiple declarations MAY share an `id` to
|
|
66
82
|
* register several API keys for the same provider; key health is tracked per
|
|
@@ -132,7 +148,8 @@ export interface HealthStore {
|
|
|
132
148
|
export interface LlmOptions {
|
|
133
149
|
providers: ProviderConfig[];
|
|
134
150
|
health?: HealthStore;
|
|
135
|
-
/**
|
|
151
|
+
/** Hard timeout of each request to a model, in ms. Default 120_000. A tool
|
|
152
|
+
* loop's tools run between requests and are not timed by it. */
|
|
136
153
|
requestTimeoutMs?: number;
|
|
137
154
|
}
|
|
138
155
|
/**
|
|
@@ -178,6 +195,8 @@ export type LlmStreamEvent = {
|
|
|
178
195
|
kind: "end";
|
|
179
196
|
usage: LlmUsage | null;
|
|
180
197
|
object?: unknown;
|
|
198
|
+
/** The turns this call added: the model's, and its tools' results. */
|
|
199
|
+
messages: ModelMessage[];
|
|
181
200
|
};
|
|
182
201
|
export interface LlmToolCall {
|
|
183
202
|
/** The provider's id for this call: what a later turn must echo back to replay it (ds4 keys its exact-DSML replay on it). */
|
|
@@ -192,6 +211,9 @@ export interface LlmResult {
|
|
|
192
211
|
usage: LlmUsage | null;
|
|
193
212
|
/** The answer parsed and validated against `schema`, when the request gave one. */
|
|
194
213
|
object?: unknown;
|
|
214
|
+
/** The turns this call added, every step's: the model's, and its tools' results.
|
|
215
|
+
* Appended to the request's `messages`, the conversation goes on from here. */
|
|
216
|
+
messages: ModelMessage[];
|
|
195
217
|
}
|
|
196
218
|
/**
|
|
197
219
|
* Why one provider's attempt failed, typed for a caller to act on:
|
|
@@ -231,6 +253,26 @@ export interface ChatRequest {
|
|
|
231
253
|
maxTokens?: number;
|
|
232
254
|
tools?: ToolSet;
|
|
233
255
|
toolChoice?: ToolChoice<ToolSet>;
|
|
256
|
+
/**
|
|
257
|
+
* The tool loop: the tools the model calls that have an `execute` run, and the
|
|
258
|
+
* model is called again with their results until one of these holds (the AI SDK's
|
|
259
|
+
* stop conditions: `stepCountIs(n)`, `hasToolCall(name)`, or any function of the
|
|
260
|
+
* steps so far). Default: one step. Each step is a `step` span in its attempt.
|
|
261
|
+
* Once a tool has run, a failure is the call's: no other provider is tried, since
|
|
262
|
+
* its tools would run again.
|
|
263
|
+
*/
|
|
264
|
+
stopWhen?: StopCondition<ToolSet> | StopCondition<ToolSet>[];
|
|
265
|
+
/**
|
|
266
|
+
* Before each step of the tool loop: settings for it (the AI SDK's step hook),
|
|
267
|
+
* among them `messages`, which replace what the model reads from that step on
|
|
268
|
+
* (a conversation kept inside its window), and `reasoning`, how much the model
|
|
269
|
+
* reasons on that step alone. The result's `messages` stay the turns the call
|
|
270
|
+
* added, never the replaced ones.
|
|
271
|
+
*/
|
|
272
|
+
prepareStep?: PrepareStep;
|
|
273
|
+
/** How much the model reasons before each answer, unless a step says otherwise.
|
|
274
|
+
* A `reasoning_effort` in `extraBody` would override any step's: use this. */
|
|
275
|
+
reasoning?: Reasoning;
|
|
234
276
|
abortSignal?: AbortSignal;
|
|
235
277
|
/**
|
|
236
278
|
* OpenAI-dialect only: raw request-body fields spread into the JSON body
|
|
@@ -275,6 +317,7 @@ export declare class Llm {
|
|
|
275
317
|
private timedAttempt;
|
|
276
318
|
private runAttempt;
|
|
277
319
|
private modelFor;
|
|
320
|
+
private stepping;
|
|
278
321
|
private providerOptionsFor;
|
|
279
322
|
private buildQueue;
|
|
280
323
|
private getHealth;
|
package/dist/llm/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/llm/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/llm/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG;AAKH,OAAO,EAGN,KAAK,cAAc,EAEnB,KAAK,YAAY,EAGjB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,UAAU,EACV,KAAK,UAAU,EAEf,KAAK,OAAO,EACZ,MAAM,IAAI,CAAC;AACZ,OAAO,EAAE,KAAK,MAAM,EAA0B,MAAM,qBAAqB,CAAC;AAM1E,OAAO,EACN,WAAW,EACX,UAAU,EACV,KAAK,YAAY,EACjB,iBAAiB,EACjB,KAAK,aAAa,EAClB,WAAW,EACX,KAAK,IAAI,EACT,KAAK,OAAO,EACZ,IAAI,GACJ,MAAM,IAAI,CAAC;AAEZ;oCACoC;AACpC,MAAM,MAAM,SAAS,GAAG,WAAW,CAClC,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAC7C,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,CACzB,OAAO,EAAE,UAAU,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAElD,CAAC,iBAAiB,CAAC,OAAO,CAAC,GAAG;IAAE,SAAS,CAAC,EAAE,SAAS,CAAA;CAAE,CAAC,GACxD,SAAS,GACT,WAAW,CACX,CAAC,iBAAiB,CAAC,OAAO,CAAC,GAAG;IAAE,SAAS,CAAC,EAAE,SAAS,CAAA;CAAE,CAAC,GAAG,SAAS,CACnE,CAAC;AAIL;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX;;;;;;;OAOG;IACH,IAAI,EAAE,QAAQ,GAAG,WAAW,GAAG,YAAY,CAAC;IAC5C,+HAA+H;IAC/H,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2EAA2E;IAC3E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oFAAoF;IACpF,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,qCAAqC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gFAAgF;IAChF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4DAA4D;IAC5D,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,6DAA6D;IAC7D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;CAChC;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC3B,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACzC,GAAG,CACF,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,GAClC,OAAO,CAAC,OAAO,CAAC,CAAC;IACpB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,UAAU;IAC1B,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB;qEACiE;IACjE,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC1B;AAID;;;;;GAKG;AACH,MAAM,WAAW,QAAQ;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,yGAAyG;IACzG,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACd;AAED;;;;GAIG;AACH,MAAM,MAAM,cAAc,GACvB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC/B;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACnC;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE;AACnB,2FAA2F;GACzF;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC/D;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAC3E;IACA,IAAI,EAAE,KAAK,CAAC;IACZ,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAC;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,sEAAsE;IACtE,QAAQ,EAAE,YAAY,EAAE,CAAC;CACxB,CAAC;AAEL,MAAM,WAAW,WAAW;IAC3B,6HAA6H;IAC7H,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,SAAS;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,WAAW,EAAE,CAAC;IACzB,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAC;IACvB,mFAAmF;IACnF,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;oFACgF;IAChF,QAAQ,EAAE,YAAY,EAAE,CAAC;CACzB;AAED;;;;;;GAMG;AACH,MAAM,MAAM,UAAU,GACnB;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,OAAO,CAAA;CAAE,GACpE;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACnC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE1E,qBAAa,QAAS,SAAQ,KAAK;IAKjC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM;IAJzB,yFAAyF;IACzF,QAAQ,CAAC,QAAQ,EAAE,UAAU,EAAE,CAAC;gBAE/B,OAAO,EAAE,MAAM,EACN,MAAM,CAAC,EAAE,MAAM,YAAA,EACxB,QAAQ,GAAE,UAAU,EAAO;CAM5B;AAqCD,MAAM,WAAW,WAAW;IAC3B,iEAAiE;IACjE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;IAC1B,2BAA2B;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wFAAwF;IACxF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IACjC;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;IAC7D;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B;mFAC+E;IAC/E,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IACjC;;;;;OAKG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;CACb;AA0DD,wBAAgB,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,GAAG,CAE/C;AA0BD,qBAAa,GAAG;IACH,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAK7C,yEAAyE;IACnE,QAAQ,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC;IAoCpD;;;;;;;OAOG;IACI,MAAM,CAAC,GAAG,EAAE,WAAW,GAAG,cAAc,CAAC,cAAc,CAAC;YA4BhD,QAAQ;YAqGR,YAAY;YA0CZ,UAAU;IAwMzB,OAAO,CAAC,QAAQ;IAgEhB,OAAO,CAAC,QAAQ;IA0BhB,OAAO,CAAC,kBAAkB;YAgBZ,UAAU;YAiCV,SAAS;YAUT,aAAa;YAuDb,WAAW;CAQzB"}
|
package/dist/llm/index.js
CHANGED
|
@@ -26,6 +26,10 @@
|
|
|
26
26
|
* OpenRouter's usage accounting (`providerMetadata.openrouter.usage.cost`)
|
|
27
27
|
* or a `cost` field on the provider's raw usage frame — never a price
|
|
28
28
|
* table estimate.
|
|
29
|
+
* - **A tool loop that never acts twice.** `stopWhen` runs the AI SDK's
|
|
30
|
+
* loop (tools with `execute`, called again with their results); once a
|
|
31
|
+
* tool has run, a failure ends the call instead of failing over, since
|
|
32
|
+
* another provider would replay the tools from scratch.
|
|
29
33
|
*
|
|
30
34
|
* Worker-safe: fetch/WebStreams only, no `node:*`. Peer deps: `ai`,
|
|
31
35
|
* `@ai-sdk/openai-compatible`, `@ai-sdk/anthropic`,
|
|
@@ -61,11 +65,12 @@
|
|
|
61
65
|
import { createAnthropic } from "@ai-sdk/anthropic";
|
|
62
66
|
import { createOpenAICompatible } from "@ai-sdk/openai-compatible";
|
|
63
67
|
import { createOpenRouter } from "@openrouter/ai-sdk-provider";
|
|
64
|
-
import { APICallError, asSchema, NoObjectGeneratedError, Output, streamText, } from "ai";
|
|
68
|
+
import { APICallError, asSchema, NoObjectGeneratedError, Output, streamText, ToolChoiceViolationError, } from "ai";
|
|
65
69
|
import { log as root } from "../universal/log.js";
|
|
66
70
|
const log = root.scope("llm").scope("health");
|
|
67
|
-
// One import surface for consumers: the tool helper
|
|
68
|
-
|
|
71
|
+
// One import surface for consumers: the tool helper, the tool loop's stop
|
|
72
|
+
// conditions, the serial executor a loop's ordered tools share, and their types.
|
|
73
|
+
export { hasToolCall, jsonSchema, SerialJobExecutor, stepCountIs, tool, } from "ai";
|
|
69
74
|
export class LlmError extends Error {
|
|
70
75
|
status;
|
|
71
76
|
/** Each provider's failure in the order tried: empty for an error before any attempt. */
|
|
@@ -87,7 +92,10 @@ function failureOf(provider, error) {
|
|
|
87
92
|
text: error.text ?? "",
|
|
88
93
|
cut: error.finishReason === "length",
|
|
89
94
|
};
|
|
90
|
-
|
|
95
|
+
// A turn that had to call a tool and called none answered nothing it could: as empty
|
|
96
|
+
// as no answer, which the caller tells the model, not a broken provider
|
|
97
|
+
if ((error instanceof LlmError && error.message === EMPTY) ||
|
|
98
|
+
ToolChoiceViolationError.isInstance(error))
|
|
91
99
|
return { kind: "empty", provider };
|
|
92
100
|
const status = APICallError.isInstance(error)
|
|
93
101
|
? error.statusCode
|
|
@@ -163,6 +171,7 @@ export class Llm {
|
|
|
163
171
|
const toolCalls = [];
|
|
164
172
|
let usage = null;
|
|
165
173
|
let object;
|
|
174
|
+
let messages = [];
|
|
166
175
|
for await (const event of this.stream(req)) {
|
|
167
176
|
if (event.kind === "delta")
|
|
168
177
|
text += event.text;
|
|
@@ -182,6 +191,7 @@ export class Llm {
|
|
|
182
191
|
else if (event.kind === "end") {
|
|
183
192
|
usage = event.usage;
|
|
184
193
|
object = event.object;
|
|
194
|
+
messages = event.messages;
|
|
185
195
|
}
|
|
186
196
|
}
|
|
187
197
|
return {
|
|
@@ -190,6 +200,7 @@ export class Llm {
|
|
|
190
200
|
toolCalls,
|
|
191
201
|
usage,
|
|
192
202
|
...(req.schema ? { object } : {}),
|
|
203
|
+
messages,
|
|
193
204
|
};
|
|
194
205
|
}
|
|
195
206
|
/**
|
|
@@ -275,6 +286,7 @@ export class Llm {
|
|
|
275
286
|
}
|
|
276
287
|
: null,
|
|
277
288
|
...(req.schema ? { object: attempt.object } : {}),
|
|
289
|
+
messages: attempt.messages,
|
|
278
290
|
};
|
|
279
291
|
return;
|
|
280
292
|
}
|
|
@@ -289,6 +301,9 @@ export class Llm {
|
|
|
289
301
|
errors.push(`${provider.id}: ${msg}`);
|
|
290
302
|
failures.push(failureOf(provider.id, attempt.error));
|
|
291
303
|
await this.recordFailure(keyId(provider), provider.id, health, classifyError(attempt.error), attempt.error);
|
|
304
|
+
// A tool that ran has acted on the world: another provider would act again
|
|
305
|
+
if (attempt.acted)
|
|
306
|
+
throw new LlmError(`llm: ${provider.id} failed after its tools ran: ${msg}`, undefined, failures);
|
|
292
307
|
// Whatever this attempt painted is now stale; order a repaint before
|
|
293
308
|
// the next attempt streams a fresh response.
|
|
294
309
|
if (attempt.emitted)
|
|
@@ -313,7 +328,7 @@ export class Llm {
|
|
|
313
328
|
let first;
|
|
314
329
|
let ended = false;
|
|
315
330
|
try {
|
|
316
|
-
const run = this.runAttempt(provider, req);
|
|
331
|
+
const run = this.runAttempt(provider, req, span);
|
|
317
332
|
for (let step = await run.next();; step = await run.next()) {
|
|
318
333
|
if (step.done) {
|
|
319
334
|
const done = performance.now();
|
|
@@ -339,11 +354,16 @@ export class Llm {
|
|
|
339
354
|
span.end();
|
|
340
355
|
}
|
|
341
356
|
}
|
|
342
|
-
// Stream one provider attempt, translating AI SDK parts to LlmStreamEvents
|
|
343
|
-
|
|
357
|
+
// Stream one provider attempt, translating AI SDK parts to LlmStreamEvents;
|
|
358
|
+
// each step of a tool loop a `step` span under the attempt's.
|
|
359
|
+
async *runAttempt(provider, req, parent) {
|
|
344
360
|
let emitted = false;
|
|
345
361
|
let sawContent = false;
|
|
362
|
+
let acted = false;
|
|
346
363
|
let usage = null;
|
|
364
|
+
/** The step being decoded: its span, when it began, its first token, its calls. */
|
|
365
|
+
let step;
|
|
366
|
+
let steps = 0;
|
|
347
367
|
/** The answer parsed against the request's schema, settled once the stream ends. */
|
|
348
368
|
let parsed;
|
|
349
369
|
try {
|
|
@@ -374,13 +394,34 @@ export class Llm {
|
|
|
374
394
|
// The failover loop consumes error parts and reports once per attempt;
|
|
375
395
|
// without this no-op the SDK ALSO dumps the full APICallError to console.
|
|
376
396
|
onError: () => { },
|
|
377
|
-
abortSignal:
|
|
397
|
+
...(req.abortSignal ? { abortSignal: req.abortSignal } : {}),
|
|
378
398
|
...(req.tools ? { tools: req.tools } : {}),
|
|
379
399
|
...(req.toolChoice ? { toolChoice: req.toolChoice } : {}),
|
|
400
|
+
...(req.stopWhen ? { stopWhen: req.stopWhen } : {}),
|
|
401
|
+
...(req.reasoning ? { reasoning: req.reasoning } : {}),
|
|
402
|
+
...(req.prepareStep
|
|
403
|
+
? { prepareStep: this.stepping(provider, req.prepareStep) }
|
|
404
|
+
: {}),
|
|
380
405
|
...this.providerOptionsFor(provider),
|
|
381
406
|
});
|
|
382
407
|
for await (const part of result.stream) {
|
|
383
|
-
|
|
408
|
+
// A step's first token is the first thing it decodes: words, thinking, a call
|
|
409
|
+
if (step &&
|
|
410
|
+
step.first === undefined &&
|
|
411
|
+
(part.type === "text-delta" ||
|
|
412
|
+
part.type === "reasoning-delta" ||
|
|
413
|
+
part.type === "tool-input-start" ||
|
|
414
|
+
part.type === "tool-call"))
|
|
415
|
+
step.first = performance.now();
|
|
416
|
+
if (part.type === "start-step") {
|
|
417
|
+
steps += 1;
|
|
418
|
+
step = {
|
|
419
|
+
span: parent.begin("step", { step: steps }),
|
|
420
|
+
t0: performance.now(),
|
|
421
|
+
calls: [],
|
|
422
|
+
};
|
|
423
|
+
}
|
|
424
|
+
else if (part.type === "text-delta") {
|
|
384
425
|
emitted = true;
|
|
385
426
|
sawContent = true;
|
|
386
427
|
yield { kind: "delta", text: part.text };
|
|
@@ -400,6 +441,7 @@ export class Llm {
|
|
|
400
441
|
else if (part.type === "tool-call") {
|
|
401
442
|
emitted = true;
|
|
402
443
|
sawContent = true;
|
|
444
|
+
step?.calls.push(`${part.toolName} ${JSON.stringify(part.input)}`);
|
|
403
445
|
yield {
|
|
404
446
|
kind: "tool-call",
|
|
405
447
|
toolCallId: part.toolCallId,
|
|
@@ -407,53 +449,108 @@ export class Llm {
|
|
|
407
449
|
input: part.input,
|
|
408
450
|
};
|
|
409
451
|
}
|
|
452
|
+
else if (part.type === "tool-result" || part.type === "tool-error") {
|
|
453
|
+
acted = true;
|
|
454
|
+
}
|
|
410
455
|
else if (part.type === "finish-step") {
|
|
411
|
-
usage
|
|
456
|
+
// A loop's usage is every step's: each is a request billed on its own
|
|
457
|
+
const cost = extractCost(part.providerMetadata, part.usage.raw);
|
|
458
|
+
const cached = part.usage.inputTokenDetails?.cacheReadTokens;
|
|
459
|
+
const these = {
|
|
412
460
|
promptTokens: part.usage.inputTokens ?? 0,
|
|
413
|
-
...(
|
|
414
|
-
? { cachedTokens: part.usage.inputTokenDetails.cacheReadTokens }
|
|
415
|
-
: {}),
|
|
461
|
+
...(cached !== undefined ? { cachedTokens: cached } : {}),
|
|
416
462
|
completionTokens: part.usage.outputTokens ?? 0,
|
|
417
|
-
...(
|
|
418
|
-
? { costUsd: extractCost(part.providerMetadata, part.usage.raw) }
|
|
419
|
-
: {}),
|
|
463
|
+
...(cost !== undefined ? { costUsd: cost } : {}),
|
|
420
464
|
};
|
|
465
|
+
usage = usage
|
|
466
|
+
? {
|
|
467
|
+
promptTokens: usage.promptTokens + these.promptTokens,
|
|
468
|
+
...(usage.cachedTokens !== undefined || cached !== undefined
|
|
469
|
+
? { cachedTokens: (usage.cachedTokens ?? 0) + (cached ?? 0) }
|
|
470
|
+
: {}),
|
|
471
|
+
completionTokens: usage.completionTokens + these.completionTokens,
|
|
472
|
+
...(usage.costUsd !== undefined || cost !== undefined
|
|
473
|
+
? { costUsd: (usage.costUsd ?? 0) + (cost ?? 0) }
|
|
474
|
+
: {}),
|
|
475
|
+
}
|
|
476
|
+
: these;
|
|
477
|
+
if (step) {
|
|
478
|
+
const done = performance.now();
|
|
479
|
+
step.span.set({
|
|
480
|
+
finish_reason: part.finishReason,
|
|
481
|
+
...(step.calls.length > 0
|
|
482
|
+
? { calls: step.calls.join("\n") }
|
|
483
|
+
: {}),
|
|
484
|
+
...(step.first !== undefined
|
|
485
|
+
? {
|
|
486
|
+
ttft_ms: Math.round(step.first - step.t0),
|
|
487
|
+
decode_ms: Math.round(done - step.first),
|
|
488
|
+
}
|
|
489
|
+
: {}),
|
|
490
|
+
...usageFields(these),
|
|
491
|
+
});
|
|
492
|
+
step.span.end();
|
|
493
|
+
step = undefined;
|
|
494
|
+
}
|
|
421
495
|
}
|
|
422
496
|
else if (part.type === "error") {
|
|
423
497
|
// The AI SDK stream never throws; failures arrive as parts.
|
|
424
|
-
|
|
498
|
+
step?.span.end(part.error);
|
|
499
|
+
return {
|
|
500
|
+
ok: false,
|
|
501
|
+
emitted,
|
|
502
|
+
acted,
|
|
503
|
+
error: part.error,
|
|
504
|
+
usage,
|
|
505
|
+
messages: [],
|
|
506
|
+
};
|
|
425
507
|
}
|
|
426
508
|
else if (part.type === "abort") {
|
|
509
|
+
step?.span.end(new LlmError("llm: aborted"));
|
|
427
510
|
return {
|
|
428
511
|
ok: false,
|
|
429
512
|
emitted,
|
|
513
|
+
acted,
|
|
430
514
|
error: new LlmError("llm: aborted"),
|
|
431
515
|
usage,
|
|
516
|
+
messages: [],
|
|
432
517
|
};
|
|
433
518
|
}
|
|
434
519
|
}
|
|
435
520
|
if (req.schema)
|
|
436
521
|
parsed = result.output;
|
|
522
|
+
if (!sawContent)
|
|
523
|
+
return {
|
|
524
|
+
ok: false,
|
|
525
|
+
emitted,
|
|
526
|
+
acted,
|
|
527
|
+
error: new LlmError(EMPTY),
|
|
528
|
+
usage,
|
|
529
|
+
messages: [],
|
|
530
|
+
};
|
|
531
|
+
// Every step's turns (the last response alone holds only the last step's)
|
|
532
|
+
const messages = await result.responseMessages;
|
|
533
|
+
if (!req.schema)
|
|
534
|
+
return { ok: true, emitted, acted, usage, messages };
|
|
535
|
+
// The answer parsed and checked against the schema; one that does not match
|
|
536
|
+
// fails the attempt like any provider failure, and the next one is tried
|
|
537
|
+
try {
|
|
538
|
+
return {
|
|
539
|
+
ok: true,
|
|
540
|
+
emitted,
|
|
541
|
+
acted,
|
|
542
|
+
usage,
|
|
543
|
+
object: await parsed,
|
|
544
|
+
messages,
|
|
545
|
+
};
|
|
546
|
+
}
|
|
547
|
+
catch (e) {
|
|
548
|
+
return { ok: false, emitted, acted, error: e, usage, messages: [] };
|
|
549
|
+
}
|
|
437
550
|
}
|
|
438
551
|
catch (e) {
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
if (!sawContent)
|
|
442
|
-
return {
|
|
443
|
-
ok: false,
|
|
444
|
-
emitted,
|
|
445
|
-
error: new LlmError(EMPTY),
|
|
446
|
-
usage,
|
|
447
|
-
};
|
|
448
|
-
if (!req.schema)
|
|
449
|
-
return { ok: true, emitted, usage };
|
|
450
|
-
// The answer parsed and checked against the schema; one that does not match
|
|
451
|
-
// fails the attempt like any provider failure, and the next one is tried
|
|
452
|
-
try {
|
|
453
|
-
return { ok: true, emitted, usage, object: await parsed };
|
|
454
|
-
}
|
|
455
|
-
catch (e) {
|
|
456
|
-
return { ok: false, emitted, error: e, usage };
|
|
552
|
+
step?.span.end(e);
|
|
553
|
+
return { ok: false, emitted, acted, error: e, usage, messages: [] };
|
|
457
554
|
}
|
|
458
555
|
}
|
|
459
556
|
// One AI SDK model instance per attempt, by wire dialect. An `openai`
|
|
@@ -461,11 +558,12 @@ export class Llm {
|
|
|
461
558
|
// which is what reports a billed cost per request.
|
|
462
559
|
modelFor(provider, req) {
|
|
463
560
|
const type = dialectOf(provider);
|
|
561
|
+
const fetch = timed(provider.fetch ?? globalThis.fetch, this.opts.requestTimeoutMs ?? REQUEST_TIMEOUT_MS);
|
|
464
562
|
if (type === "openrouter") {
|
|
465
563
|
const openrouter = createOpenRouter({
|
|
466
564
|
...(provider.apiKey ? { apiKey: provider.apiKey } : {}),
|
|
467
565
|
...(provider.baseUrl ? { baseURL: provider.baseUrl } : {}),
|
|
468
|
-
|
|
566
|
+
fetch,
|
|
469
567
|
});
|
|
470
568
|
return openrouter.chat(provider.defaultModel, {
|
|
471
569
|
usage: { include: true }, // OpenRouter usage accounting: actual billed cost on the final chunk
|
|
@@ -481,7 +579,7 @@ export class Llm {
|
|
|
481
579
|
...(provider.baseUrl
|
|
482
580
|
? { baseURL: normalizeAnthropicBase(provider.baseUrl) }
|
|
483
581
|
: {}),
|
|
484
|
-
|
|
582
|
+
fetch,
|
|
485
583
|
});
|
|
486
584
|
return anthropic(provider.defaultModel);
|
|
487
585
|
}
|
|
@@ -498,7 +596,7 @@ export class Llm {
|
|
|
498
596
|
name: provider.id,
|
|
499
597
|
baseURL: normalizeOpenAiBase(provider.baseUrl),
|
|
500
598
|
...(provider.apiKey ? { apiKey: provider.apiKey } : {}),
|
|
501
|
-
|
|
599
|
+
fetch,
|
|
502
600
|
includeUsage: true, // stream_options usage frame
|
|
503
601
|
supportsStructuredOutputs: provider.structuredOutputs === true,
|
|
504
602
|
...(Object.keys(body).length > 0
|
|
@@ -514,6 +612,28 @@ export class Llm {
|
|
|
514
612
|
}
|
|
515
613
|
// The anthropic dialect's thinking switch, the one knob that travels as a typed
|
|
516
614
|
// provider option; the other dialects carry theirs on the model instance.
|
|
615
|
+
// The caller's step hook as the AI SDK takes it: a step's `reasoning` becomes the
|
|
616
|
+
// provider's own option, since the SDK's step settings have no reasoning level.
|
|
617
|
+
stepping(provider, prepare) {
|
|
618
|
+
return async (options) => {
|
|
619
|
+
const step = await prepare(options);
|
|
620
|
+
if (!step?.reasoning)
|
|
621
|
+
return step;
|
|
622
|
+
const { reasoning, ...rest } = step;
|
|
623
|
+
const type = dialectOf(provider);
|
|
624
|
+
if (type === "anthropic")
|
|
625
|
+
throw new LlmError(`llm: a step's reasoning is mapped for the openai and openrouter dialects; ${provider.id} is anthropic`);
|
|
626
|
+
// openai-compatible reads its options under the provider's name, OpenRouter
|
|
627
|
+
// under its own
|
|
628
|
+
const own = type === "openrouter"
|
|
629
|
+
? { openrouter: { reasoning: { effort: reasoning } } }
|
|
630
|
+
: { [provider.id]: { reasoningEffort: reasoning } };
|
|
631
|
+
return {
|
|
632
|
+
...rest,
|
|
633
|
+
providerOptions: { ...rest.providerOptions, ...own },
|
|
634
|
+
};
|
|
635
|
+
};
|
|
636
|
+
}
|
|
517
637
|
providerOptionsFor(provider) {
|
|
518
638
|
const type = dialectOf(provider);
|
|
519
639
|
if (type === "anthropic")
|
|
@@ -664,11 +784,17 @@ function resolveMaxTokens(provider, requested) {
|
|
|
664
784
|
const ask = requested ?? DEFAULT_MAX_TOKENS;
|
|
665
785
|
return provider.maxTokens ? Math.min(ask, provider.maxTokens) : ask;
|
|
666
786
|
}
|
|
667
|
-
//
|
|
668
|
-
//
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
return
|
|
787
|
+
// The provider's transport with a hard timeout on each request, so a stalled
|
|
788
|
+
// upstream can't wedge a call forever. Per request, never per call: a tool loop's
|
|
789
|
+
// call spans its tools too, and a tool may wait on a person for minutes.
|
|
790
|
+
function timed(fetcher, ms) {
|
|
791
|
+
return (input, init) => {
|
|
792
|
+
const timeout = AbortSignal.timeout(ms);
|
|
793
|
+
return fetcher(input, {
|
|
794
|
+
...init,
|
|
795
|
+
signal: init?.signal ? AbortSignal.any([init.signal, timeout]) : timeout,
|
|
796
|
+
});
|
|
797
|
+
};
|
|
672
798
|
}
|
|
673
799
|
// The Anthropic provider appends /v1/messages relative to its base; tolerate a
|
|
674
800
|
// pasted base that already carries /v1 or trailing slashes.
|
package/dist/llm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/llm/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2DG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EACN,YAAY,EACZ,QAAQ,EAIR,sBAAsB,EACtB,MAAM,EACN,UAAU,GAGV,MAAM,IAAI,CAAC;AACZ,OAAO,EAAe,GAAG,IAAI,IAAI,EAAa,MAAM,qBAAqB,CAAC;AAE1E,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AAE9C,8EAA8E;AAC9E,OAAO,EACN,UAAU,EAIV,IAAI,GACJ,MAAM,IAAI,CAAC;AA+IZ,MAAM,OAAO,QAAS,SAAQ,KAAK;IAKxB;IAJV,yFAAyF;IAChF,QAAQ,CAAe;IAChC,YACC,OAAe,EACN,MAAe,EACxB,WAAyB,EAAE;QAE3B,KAAK,CAAC,OAAO,CAAC,CAAC;QAHN,WAAM,GAAN,MAAM,CAAS;QAIxB,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC1B,CAAC;CACD;AAED;2EAC2E;AAC3E,SAAS,SAAS,CAAC,QAAgB,EAAE,KAAc;IAClD,IAAI,sBAAsB,CAAC,UAAU,CAAC,KAAK,CAAC;QAC3C,OAAO;YACN,IAAI,EAAE,YAAY;YAClB,QAAQ;YACR,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE;YACtB,GAAG,EAAE,KAAK,CAAC,YAAY,KAAK,QAAQ;SACpC,CAAC;IACH,IAAI,KAAK,YAAY,QAAQ,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK;QACvD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;IACpC,MAAM,MAAM,GAAG,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC;QAC5C,CAAC,CAAC,KAAK,CAAC,UAAU;QAClB,CAAC,CAAC,KAAK,YAAY,QAAQ;YAC1B,CAAC,CAAC,KAAK,CAAC,MAAM;YACd,CAAC,CAAC,SAAS,CAAC;IACd,OAAO;QACN,IAAI,EAAE,QAAQ;QACd,QAAQ;QACR,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;QAC/D,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC3C,CAAC;AACH,CAAC;AAED,kDAAkD;AAClD,MAAM,KAAK,GAAG,uBAAuB,CAAC;AAyCtC,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAChC,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAChC,MAAM,kBAAkB,GAAG,OAAO,CAAC;AAEnC,sEAAsE;AACtE,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,gDAAgD;AAEhD,MAAM,kBAAkB,GAAG,MAAM,CAAC,CAAC,6CAA6C;AAChF,MAAM,iBAAiB,GAAG,MAAM,CAAC,CAAC,kDAAkD;AACpF,MAAM,YAAY,GAAG,OAAO,CAAC,CAAC,yDAAyD;AACvF,MAAM,cAAc,GAAG,SAAS,CAAC;AACjC,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAWlC,2EAA2E;AAC3E,wDAAwD;AACxD,SAAS,aAAa,CAAC,CAAU;IAChC,MAAM,MAAM,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC,CAAC,UAAU;QACd,CAAC,CAAC,CAAC,YAAY,QAAQ;YACtB,CAAC,CAAC,CAAC,CAAC,MAAM;YACV,CAAC,CAAC,SAAS,CAAC;IACd,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,WAAW,CAAC,CAAC,0BAA0B;IACxE,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,cAAc,CAAC;IAC1C,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,MAAM,CAAC;IACpD,IAAI,MAAM,IAAI,GAAG,IAAI,MAAM,GAAG,GAAG,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,QAAQ,CAAC;IACrE,OAAO,WAAW,CAAC;AACpB,CAAC;AAED,6EAA6E;AAC7E,8EAA8E;AAC9E,SAAS,cAAc,CAAC,MAAc;IACrC,IAAI,CAAC,GAAG,UAAU,CAAC;IACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC1B,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;IAC9B,CAAC;IACD,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,KAAK,GAAG,CAAC,CAAiB,EAAU,EAAE,CAC3C,GAAG,CAAC,CAAC,EAAE,IAAI,cAAc,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,CAAC;AAE7C,sEAAsE;AAEtE,MAAM,UAAU,SAAS,CAAC,IAAgB;IACzC,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;AACtB,CAAC;AAsBD,MAAM,OAAO,GAAG;IACc;IAA7B,YAA6B,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;QAC5C,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;YAC9B,MAAM,IAAI,QAAQ,CAAC,8BAA8B,CAAC,CAAC;IACrD,CAAC;IAED,yEAAyE;IACzE,KAAK,CAAC,QAAQ,CAAC,GAAgB;QAC9B,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,MAAM,SAAS,GAAkB,EAAE,CAAC;QACpC,IAAI,KAAK,GAAoB,IAAI,CAAC;QAClC,IAAI,MAAe,CAAC;QACpB,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5C,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;gBAAE,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC;iBAC1C,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW;gBAAE,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC;iBACxD,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACjC,IAAI,GAAG,EAAE,CAAC;gBACV,SAAS,GAAG,EAAE,CAAC;gBACf,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;YACtB,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW;gBACpC,SAAS,CAAC,IAAI,CAAC;oBACd,UAAU,EAAE,KAAK,CAAC,UAAU;oBAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,KAAK,EAAE,KAAK,CAAC,KAAK;iBAClB,CAAC,CAAC;iBACC,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBAC/B,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;gBACpB,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YACvB,CAAC;QACF,CAAC;QACD,OAAO;YACN,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;YACjB,SAAS,EAAE,SAAS,CAAC,IAAI,EAAE;YAC3B,SAAS;YACT,KAAK;YACL,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACjC,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,CAAC,MAAM,CAAC,GAAgB;QAC7B,IAAI,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC;YAC9D,MAAM,IAAI,QAAQ,CAAC,0CAA0C,CAAC,CAAC;QAChE,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE;YACzD,IAAI,EAAE,WAAW;YACjB,uBAAuB,EAAE,MAAM;SAC/B,CAAC,CAAC;QACH,2EAA2E;QAC3E,IAAI,KAAK,GAAG,KAAK,CAAC;QAClB,IAAI,CAAC;YACJ,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC;gBACpD,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,IAAI,KAAK,CAAC,KAAK;oBACtC,IAAI,CAAC,GAAG,CAAC;wBACR,sBAAsB,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ;wBAC5C,sBAAsB,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK;wBACzC,GAAG,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC;qBAC3B,CAAC,CAAC;gBACJ,MAAM,KAAK,CAAC;YACb,CAAC;QACF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,KAAK,GAAG,IAAI,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACd,MAAM,GAAG,CAAC;QACX,CAAC;gBAAS,CAAC;YACV,IAAI,CAAC,KAAK;gBAAE,IAAI,CAAC,GAAG,EAAE,CAAC;QACxB,CAAC;IACF,CAAC;IAEO,KAAK,CAAC,CAAC,QAAQ,CACtB,GAAgB,EAChB,IAAU;QAEV,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAiB,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,QAA4B,CAAC;QACjC,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,WAA+B,CAAC;QACpC,IAAI,eAAe,GAAG,CAAC,CAAC;QACxB,IAAI,SAA6B,CAAC;QAElC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,IAAI,GAAG,GAAG,CAAC,CAAC;YACZ,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC5B,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC;gBACnE,IAAI,OAAO,KAAK,CAAC,CAAC;oBAAE,GAAG,GAAG,OAAO,CAAC;YACnC,CAAC;YACD,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAErD,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YAC9D,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBACnB,WAAW,IAAI,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC;gBAC1C,IAAI,OAAO,CAAC,KAAK,CAAC,YAAY,KAAK,SAAS;oBAC3C,WAAW,GAAG,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC;gBAC/D,eAAe,IAAI,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC;gBAClD,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS;oBACtC,SAAS,GAAG,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;YACvD,CAAC;YAED,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC;gBAChB,sFAAsF;gBACtF,IAAI,MAAM;oBAAE,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACpD,MAAM;oBACL,IAAI,EAAE,KAAK;oBACX,KAAK,EACJ,WAAW,IAAI,eAAe,IAAI,SAAS,KAAK,SAAS;wBACxD,CAAC,CAAC;4BACA,YAAY,EAAE,WAAW;4BACzB,GAAG,CAAC,WAAW,KAAK,SAAS;gCAC5B,CAAC,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE;gCAC/B,CAAC,CAAC,EAAE,CAAC;4BACN,gBAAgB,EAAE,eAAe;4BACjC,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;4BAC1D,QAAQ,EAAE,QAAQ,CAAC,EAAE;4BACrB,KAAK,EAAE,QAAQ,CAAC,YAAY;yBAC5B;wBACF,CAAC,CAAC,IAAI;oBACR,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACjD,CAAC;gBACF,OAAO;YACR,CAAC;YAED,oEAAoE;YACpE,iEAAiE;YACjE,uBAAuB;YACvB,IAAI,GAAG,CAAC,WAAW,EAAE,OAAO;gBAAE,MAAM,IAAI,QAAQ,CAAC,cAAc,CAAC,CAAC;YAEjE,MAAM,GAAG,GACR,OAAO,CAAC,KAAK,YAAY,KAAK;gBAC7B,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO;gBACvB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,EAAE,KAAK,GAAG,EAAE,CAAC,CAAC;YACtC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;YACrD,MAAM,IAAI,CAAC,aAAa,CACvB,KAAK,CAAC,QAAQ,CAAC,EACf,QAAQ,CAAC,EAAE,EACX,MAAM,EACN,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,EAC5B,OAAO,CAAC,KAAK,CACb,CAAC;YAEF,qEAAqE;YACrE,6CAA6C;YAC7C,IAAI,OAAO,CAAC,OAAO;gBAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;YAC7C,QAAQ,GAAG,QAAQ,CAAC,EAAE,CAAC;QACxB,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YACtB,MAAM,IAAI,QAAQ,CACjB,0EAA0E,CAC1E,CAAC;QACH,MAAM,IAAI,QAAQ,CACjB,8BAA8B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EACjD,SAAS,EACT,QAAQ,CACR,CAAC;IACH,CAAC;IAED,gFAAgF;IAChF,iFAAiF;IACjF,sBAAsB;IACd,KAAK,CAAC,CAAC,YAAY,CAC1B,QAAwB,EACxB,GAAgB,EAChB,MAAY;QAEZ,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACvE,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE;YACpC,sBAAsB,EAAE,QAAQ,CAAC,EAAE;YACnC,sBAAsB,EAAE,QAAQ,CAAC,YAAY;YAC7C,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC/C,CAAC,CAAC;QACH,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAC7B,IAAI,KAAyB,CAAC;QAC9B,IAAI,KAAK,GAAG,KAAK,CAAC;QAClB,IAAI,CAAC;YACJ,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YAC3C,KAAK,IAAI,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,GAAI,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC7D,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;oBACf,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;oBAC/B,IAAI,CAAC,GAAG,CAAC;wBACR,GAAG,CAAC,KAAK,KAAK,SAAS;4BACtB,CAAC,CAAC;gCACA,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;gCAC/B,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC;6BACnC;4BACF,CAAC,CAAC,EAAE,CAAC;wBACN,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;qBAC1D,CAAC,CAAC;oBACH,KAAK,GAAG,IAAI,CAAC;oBACb,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBACvD,OAAO,IAAI,CAAC,KAAK,CAAC;gBACnB,CAAC;gBACD,KAAK,KAAK,WAAW,CAAC,GAAG,EAAE,CAAC;gBAC5B,MAAM,IAAI,CAAC,KAAK,CAAC;YAClB,CAAC;QACF,CAAC;gBAAS,CAAC;YACV,IAAI,CAAC,KAAK;gBAAE,IAAI,CAAC,GAAG,EAAE,CAAC;QACxB,CAAC;IACF,CAAC;IAED,4EAA4E;IACpE,KAAK,CAAC,CAAC,UAAU,CACxB,QAAwB,EACxB,GAAgB;QAEhB,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,IAAI,KAAK,GAAqB,IAAI,CAAC;QACnC,oFAAoF;QACpF,IAAI,MAAwC,CAAC;QAC7C,IAAI,CAAC;YACJ,8EAA8E;YAC9E,8EAA8E;YAC9E,MAAM,MAAM,GACX,GAAG,CAAC,MAAM;gBACV,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,QAAQ,IAAI,QAAQ,CAAC,iBAAiB,CAAC;gBAChE,CAAC,CAAC,iEAAiE,IAAI,CAAC,SAAS,CAAC,MAAM,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,EAAE;gBAC1H,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,YAAY,GAAG,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC;iBAC7C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;iBAChB,IAAI,CAAC,MAAM,CAAC,CAAC;YACf,MAAM,MAAM,GAAG,UAAU,CAAC;gBACzB,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC;gBACnC,GAAG,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS;oBAC3B,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE;oBACxB,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,QAA0B,EAAE,CAAC;gBAChD,0EAA0E;gBAC1E,mDAAmD;gBACnD,qBAAqB,EAAE,IAAI;gBAC3B,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzC,GAAG,CAAC,GAAG,CAAC,MAAM;oBACb,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE;oBACnD,CAAC,CAAC,EAAE,CAAC;gBACN,WAAW,EAAE,kBAAkB,CAAC,QAAQ,CAAC;gBACzC,eAAe,EAAE,gBAAgB,CAAC,QAAQ,EAAE,GAAG,CAAC,SAAS,CAAC;gBAC1D,UAAU,EAAE,CAAC,EAAE,6DAA6D;gBAC5E,uEAAuE;gBACvE,0EAA0E;gBAC1E,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC;gBACjB,WAAW,EAAE,WAAW,CACvB,GAAG,CAAC,WAAW,EACf,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,kBAAkB,CAChD;gBACD,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1C,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzD,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC;aACpC,CAAC,CAAC;YAEH,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBACxC,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;oBAChC,OAAO,GAAG,IAAI,CAAC;oBACf,UAAU,GAAG,IAAI,CAAC;oBAClB,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC1C,CAAC;qBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;oBAC5C,OAAO,GAAG,IAAI,CAAC;oBACf,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC9C,CAAC;qBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;oBAC7C,OAAO,GAAG,IAAI,CAAC;oBACf,MAAM;wBACL,IAAI,EAAE,kBAAkB;wBACxB,UAAU,EAAE,IAAI,CAAC,EAAE;wBACnB,KAAK,EAAE,IAAI,CAAC,KAAK;qBACjB,CAAC;gBACH,CAAC;qBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;oBACtC,OAAO,GAAG,IAAI,CAAC;oBACf,UAAU,GAAG,IAAI,CAAC;oBAClB,MAAM;wBACL,IAAI,EAAE,WAAW;wBACjB,UAAU,EAAE,IAAI,CAAC,UAAU;wBAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;wBACvB,KAAK,EAAE,IAAI,CAAC,KAAK;qBACjB,CAAC;gBACH,CAAC;qBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;oBACxC,KAAK,GAAG;wBACP,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC;wBACzC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,eAAe,KAAK,SAAS;4BAC9D,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,eAAe,EAAE;4BAChE,CAAC,CAAC,EAAE,CAAC;wBACN,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC;wBAC9C,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,SAAS;4BACnE,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;4BACjE,CAAC,CAAC,EAAE,CAAC;qBACN,CAAC;gBACH,CAAC;qBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBAClC,4DAA4D;oBAC5D,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC;gBACzD,CAAC;qBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBAClC,OAAO;wBACN,EAAE,EAAE,KAAK;wBACT,OAAO;wBACP,KAAK,EAAE,IAAI,QAAQ,CAAC,cAAc,CAAC;wBACnC,KAAK;qBACL,CAAC;gBACH,CAAC;YACF,CAAC;YACD,IAAI,GAAG,CAAC,MAAM;gBAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QACxC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;QAChD,CAAC;QACD,IAAI,CAAC,UAAU;YACd,OAAO;gBACN,EAAE,EAAE,KAAK;gBACT,OAAO;gBACP,KAAK,EAAE,IAAI,QAAQ,CAAC,KAAK,CAAC;gBAC1B,KAAK;aACL,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,MAAM;YAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QACrD,4EAA4E;QAC5E,yEAAyE;QACzE,IAAI,CAAC;YACJ,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,EAAE,CAAC;QAC3D,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;QAChD,CAAC;IACF,CAAC;IAED,sEAAsE;IACtE,sEAAsE;IACtE,mDAAmD;IAC3C,QAAQ,CAAC,QAAwB,EAAE,GAAgB;QAC1D,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;QACjC,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;YAC3B,MAAM,UAAU,GAAG,gBAAgB,CAAC;gBACnC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvD,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1D,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACpD,CAAC,CAAC;YACH,OAAO,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE;gBAC7C,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,qEAAqE;gBAC/F,GAAG,CAAC,QAAQ,CAAC,eAAe;oBAC3B,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;oBACnD,CAAC,CAAC,EAAE,CAAC;gBACN,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACtD,CAAC,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;YAC1B,MAAM,SAAS,GAAG,eAAe,CAAC;gBACjC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvD,GAAG,CAAC,QAAQ,CAAC,OAAO;oBACnB,CAAC,CAAC,EAAE,OAAO,EAAE,sBAAsB,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;oBACvD,CAAC,CAAC,EAAE,CAAC;gBACN,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACpD,CAAC,CAAC;YACH,OAAO,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACzC,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,OAAO;YACpB,MAAM,IAAI,QAAQ,CACjB,iBAAiB,QAAQ,CAAC,EAAE,4BAA4B,CACxD,CAAC;QACH,gFAAgF;QAChF,iFAAiF;QACjF,mEAAmE;QACnE,MAAM,IAAI,GAAG;YACZ,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvE,GAAG,GAAG,CAAC,SAAS;SAChB,CAAC;QACF,MAAM,MAAM,GAAG,sBAAsB,CAAC;YACrC,IAAI,EAAE,QAAQ,CAAC,EAAE;YACjB,OAAO,EAAE,mBAAmB,CAAC,QAAQ,CAAC,OAAO,CAAC;YAC9C,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvD,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpD,YAAY,EAAE,IAAI,EAAE,6BAA6B;YACjD,yBAAyB,EAAE,QAAQ,CAAC,iBAAiB,KAAK,IAAI;YAC9D,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC;gBAC/B,CAAC,CAAC;oBACA,oBAAoB,EAAE,CAAC,IAA6B,EAAE,EAAE,CAAC,CAAC;wBACzD,GAAG,IAAI;wBACP,GAAG,IAAI;qBACP,CAAC;iBACF;gBACF,CAAC,CAAC,EAAE,CAAC;SACN,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IAChD,CAAC;IAED,gFAAgF;IAChF,0EAA0E;IAClE,kBAAkB,CACzB,QAAwB;QAExB,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;QACjC,IAAI,IAAI,KAAK,WAAW;YACvB,OAAO,QAAQ,CAAC,eAAe;gBAC9B,CAAC,CAAC,EAAE,eAAe,EAAE,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE;gBACxE,CAAC,CAAC,EAAE,CAAC;QACP,8EAA8E;QAC9E,8EAA8E;QAC9E,OAAO,EAAE,CAAC;IACX,CAAC;IAED,uEAAuE;IACvE,4EAA4E;IAC5E,iEAAiE;IACzD,KAAK,CAAC,UAAU,CAAC,MAAgB;QACxC,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAC3C,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CACjD,CAAC;QACF,MAAM,SAAS,GAAgB,EAAE,CAAC;QAClC,MAAM,QAAQ,GAAgB,EAAE,CAAC;QACjC,KAAK,MAAM,QAAQ,IAAI,MAAM,EAAE,CAAC;YAC/B,IAAI,QAAQ,CAAC,QAAQ;gBAAE,SAAS;YAChC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;gBAC5C,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,EAAE,IAAI,SAAS,8BAA8B,CAAC,CAAC;gBACvE,SAAS;YACV,CAAC;YACD,IACC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAC9B,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;gBAC1B,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,EAC/C,CAAC;gBACF,MAAM,CAAC,IAAI,CACV,GAAG,QAAQ,CAAC,EAAE,mBAAmB,QAAQ,CAAC,YAAY,oBAAoB,CAC1E,CAAC;gBACF,SAAS;YACV,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;YACrD,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;YAClC,IAAI,KAAK,KAAK,MAAM;gBAAE,SAAS;YAC/B,IAAI,KAAK,KAAK,gBAAgB;gBAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;;gBAC/D,SAAS,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;QAC3C,CAAC;QACD,OAAO,CAAC,GAAG,SAAS,EAAE,GAAG,QAAQ,CAAC,CAAC;IACpC,CAAC;IAED,2EAA2E;IAC3E,wCAAwC;IAChC,KAAK,CAAC,SAAS,CAAC,QAAgB;QACvC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QACnC,IAAI,CAAC;YACJ,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,QAAQ,EAAE,CAAC,CAAC;YAC7D,OAAO,GAAG,CAAC,CAAC,CAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAe,CAAC,CAAC,CAAC,IAAI,CAAC;QACpD,CAAC;QAAC,MAAM,CAAC;YACR,OAAO,IAAI,CAAC;QACb,CAAC;IACF,CAAC;IAEO,KAAK,CAAC,aAAa,CAC1B,QAAgB,EAChB,KAAa,EACb,IAAsB,EACtB,GAAiB,EACjB,GAAY;QAEZ,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YACtB,GAAG,CAAC,KAAK,CAAC,qCAAqC,EAAE;gBAChD,QAAQ,EAAE,KAAK;gBACf,GAAG,EAAE,QAAQ;gBACb,GAAG;aACH,CAAC,CAAC;YACH,OAAO;QACR,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAC3C,MAAM,IAAI,GACT,GAAG,KAAK,cAAc;YACrB,CAAC,CAAC,kBAAkB;YACpB,CAAC,CAAC,GAAG,KAAK,MAAM;gBACf,CAAC,CAAC,YAAY;gBACd,CAAC,CAAC,iBAAiB,CAAC;QACvB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;QACrE,MAAM,MAAM,GAAc;YACzB,MAAM,EAAE,GAAG,KAAK,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ;YAC1D,SAAS,EAAE,GAAG;YACd,UAAU,EAAE,GAAG,GAAG,OAAO;YACzB,QAAQ;SACR,CAAC;QACF,yEAAyE;QACzE,uEAAuE;QACvE,4BAA4B;QAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,GAAG,kBAAkB,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAClE,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACtB,IAAI,CAAC;gBACJ,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CACzB,UAAU,QAAQ,EAAE,EACpB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EACtB,EAAE,aAAa,EAAE,GAAG,EAAE,CACtB,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACR,cAAc;YACf,CAAC;QACF,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAC5B,QAAQ,EAAE,KAAK;YACf,GAAG,EAAE,QAAQ;YACb,KAAK,EAAE,GAAG;YACV,KAAK,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;YAClC,QAAQ;YACR,GAAG;SACH,CAAC,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,QAAgB;QACzC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QAC9B,IAAI,CAAC;YACJ,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,QAAQ,EAAE,CAAC,CAAC;QACrD,CAAC;QAAC,MAAM,CAAC;YACR,cAAc;QACf,CAAC;IACF,CAAC;CACD;AAED,8EAA8E;AAC9E,+EAA+E;AAC/E,2DAA2D;AAC3D,SAAS,SAAS,CAAC,QAAwB;IAC1C,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,OAAO;QAAE,OAAO,QAAQ,CAAC,IAAI,CAAC;IAC1E,IAAI,CAAC;QACJ,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC;QAChD,OAAO,IAAI,KAAK,eAAe,IAAI,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YACjE,CAAC,CAAC,YAAY;YACd,CAAC,CAAC,QAAQ,CAAC;IACb,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,QAAQ,CAAC,CAAC,4DAA4D;IAC9E,CAAC;AACF,CAAC;AAED,2EAA2E;AAC3E,yEAAyE;AACzE,SAAS,WAAW,CACnB,MAAwB;IAExB,IAAI,CAAC,MAAM;QAAE,OAAO,WAAW,CAAC;IAChC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,IAAI,GAAG,GAAG,MAAM,CAAC,UAAU;QAAE,OAAO,MAAM,CAAC;IAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,kBAAkB,CAAC;IAClD,OAAO,GAAG,IAAI,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,gBAAgB,CAAC;AAC3E,CAAC;AAED,SAAS,kBAAkB,CAAC,QAAwB;IACnD,MAAM,SAAS,GAAG;QACjB,QAAQ,CAAC,YAAY,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;QAC9C,QAAQ,CAAC,WAAW;KACpB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACxE,MAAM,IAAI,GAAG,SAAS,IAAI,mBAAmB,CAAC;IAC9C,qEAAqE;IACrE,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,gBAAgB,CACxB,QAAwB,EACxB,SAAkB;IAElB,MAAM,GAAG,GAAG,SAAS,IAAI,kBAAkB,CAAC;IAC5C,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACrE,CAAC;AAED,gFAAgF;AAChF,iEAAiE;AACjE,SAAS,WAAW,CACnB,QAAiC,EACjC,EAAU;IAEV,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACxC,OAAO,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;AAClE,CAAC;AAED,+EAA+E;AAC/E,4DAA4D;AAC5D,SAAS,sBAAsB,CAAC,OAAe;IAC9C,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AACzD,CAAC;AAED,8EAA8E;AAC9E,YAAY;AACZ,SAAS,mBAAmB,CAAC,OAAe;IAC3C,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC;AACxE,CAAC;AAED,wEAAwE;AACxE,SAAS,MAAM,CAAC,OAAe;IAC9B,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC;AAC9B,CAAC;AAED;yCACyC;AACzC,SAAS,WAAW,CACnB,KAAoC;IAEpC,OAAO;QACN,2BAA2B,EAAE,KAAK,CAAC,YAAY;QAC/C,GAAG,CAAC,KAAK,CAAC,YAAY,KAAK,SAAS;YACnC,CAAC,CAAC,EAAE,sCAAsC,EAAE,KAAK,CAAC,YAAY,EAAE;YAChE,CAAC,CAAC,EAAE,CAAC;QACN,4BAA4B,EAAE,KAAK,CAAC,gBAAgB;QACpD,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACnE,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,WAAW,CACnB,gBAAyB,EACzB,QAAiB;IAEjB,MAAM,EAAE,GACP,gBAGA,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC;IAC3B,IAAI,OAAO,EAAE,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IACtC,MAAM,GAAG,GAAI,QAA2C,EAAE,IAAI,CAAC;IAC/D,OAAO,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;AAClD,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/llm/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED