@plurnk/plurnk-providers 1.20.0 → 1.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -12,8 +12,9 @@ Ordinary provider behavior is intentionally not reimplemented here:
12
12
  - PLURNK owns aliases, generation envelopes, normalized usage and errors,
13
13
  evidence capture, first-party metadata, and local endpoint capabilities.
14
14
 
15
- See [SPEC.md](SPEC.md) for the contract, [the model guide](docs/models.md) for
16
- configuration relationships, and [.env.defaults](.env.defaults) for every knob.
15
+ See [SPEC.md](SPEC.md) for the contract, [the model reference](docs/models.md)
16
+ for what a model is told about routes and generation, and
17
+ [.env.defaults](.env.defaults) for every knob.
17
18
  The package-owned `PLURNK_PROVIDERS_ERROR_DETAIL_LIMIT` bounds upstream
18
19
  diagnostic text in public provider Problems.
19
20
 
@@ -69,6 +70,44 @@ PLURNK_MODEL_acme=acme/model-id
69
70
  Provider declarations are configuration, not secrets. Secret values remain in
70
71
  the operator environment.
71
72
 
73
+ The forms, in one table:
74
+
75
+ | Form | Meaning |
76
+ | --- | --- |
77
+ | `PLURNK_MODEL=provider/model` | Select a route without an alias. |
78
+ | `PLURNK_MODEL_<alias>=provider/model` | Declare a named route and tuning scope. |
79
+ | `PLURNK_BASEURL_<alias>=https://endpoint/v1` | Override that declared alias's endpoint. |
80
+ | `PLURNK_PROVIDERS_<KNOB>_<alias>=value` | Nonempty per-alias override of the bare knob; alias case is ignored. |
81
+ | `PLURNK_PROVIDERS_PROVIDER_<NAME>_*` | Provider-wide declaration, not per-alias tuning. |
82
+
83
+ Models.dev supplies cataloged providers' endpoints, credential-variable names,
84
+ model limits, reasoning capabilities, and rates. The operator supplies
85
+ credentials to the service environment; a client's environment does not
86
+ configure a remote daemon. Worker model and reasoning selections persist:
87
+ changing a startup default is not a command to retarget existing Workers.
88
+ Clients expose explicit model, reasoning, and child-model controls; their
89
+ available effort choices come from the selected route.
90
+
91
+ ## Capacity and reasoning
92
+
93
+ ```mermaid
94
+ flowchart TD
95
+ Limits[Model context and input/output limits] --> Input[Available input capacity]
96
+ Output[Total output envelope, including reasoning] --> Input
97
+ Input --> Context[Core's calibrated context allowance]
98
+ Output --> Reasoning[Optional smaller reasoning budget]
99
+ ```
100
+
101
+ - **Effort** and **budget** are independent. `adaptive` requests native dynamic
102
+ reasoning where supported, otherwise the supported high posture. Fixed effort
103
+ names must be supported by the route; an unsupported request is not silently downgraded.
104
+ - **Output** accepts positive tokens or a percentage of context; known model
105
+ limits cap it. An explicit reasoning budget must be smaller than total output.
106
+ Leaving the reasoning budget unset does not disable reasoning.
107
+ - **Context** is derived from the live endpoint or catalog. An operator cap can
108
+ shrink known capacity or declare unknown capacity, never enlarge known limits.
109
+ Prompt projection and initialization reasoning READ limits are separate Core policy.
110
+
72
111
  ## Provider plugins
73
112
 
74
113
  Most integrations should use an MCP server, executor, scheme, or a provider
@@ -109,6 +148,45 @@ Third-party discovery uses the shared pre-import trust contract ({§plugin-trust
109
148
  requires runtime facts no static catalog owns: served model, context window,
110
149
  llama-server capabilities, slots, EOS token, and exact tokenization.
111
150
 
151
+ ```dotenv
152
+ PLURNK_MODEL_local=openai/model-name-from-endpoint
153
+ PLURNK_BASEURL_local=http://127.0.0.1:8080/v1
154
+ PLURNK_MODEL=local
155
+ # Optional: your own GBNF grammar, carried verbatim to this llama-server route:
156
+ # PLURNK_PROVIDERS_GBNF_local=~/.config/plurnk/local.gbnf
157
+ # Optional explicit generation allowances, in tokens:
158
+ # PLURNK_PROVIDERS_OUTPUT_BUDGET_local=8192
159
+ # PLURNK_PROVIDERS_REASONING_BUDGET_local=4096
160
+ ```
161
+
162
+ Endpoint probing supplies served-model capacity and llama-server capabilities.
163
+ Pin `PLURNK_PROVIDERS_LLAMA_SERVER_local=1` only for a known llama-server that
164
+ cannot be fingerprinted reliably. GBNF is optional and yours: the service ships
165
+ no grammar profile and never validates or grades one; the file's text reaches
166
+ the route verbatim, and configuring it on a route without grammar transport is
167
+ an error. Parsing always applies.
168
+
169
+ Sampling stays at endpoint defaults unless configured. Repetition penalties can
170
+ fight exact source copying and grammar repetition. Measure local tuning; it is
171
+ not a portable cloud policy. `think-tags` response interpretation is a separate
172
+ opt-in for endpoints that emit a leading `<think>` envelope, not a reasoning switch.
173
+
174
+ ## Connectivity, caching, and cost
175
+
176
+ | Concern | Boundary |
177
+ | --- | --- |
178
+ | Attempt, first-content, idle deadlines | Provider transport; a timeout surfaces a failure, not a fabricated response. |
179
+ | Provider-directed waits | Bounded retries honor `Retry-After`; other recoverable failures return to Core. |
180
+ | Loop recovery | Core reissues within its recovery window, then parks for a prompt or wake. |
181
+ | Cache affinity | Stable Worker identity through documented provider controls; not a cache-hit guarantee. |
182
+ | Explicit cache writes | Separate policy on supported routes; can affect billing. |
183
+ | Service tier | Explicit route choice that may change price and availability. |
184
+ | Cost | Provider monetary evidence wins; known usage and catalog rates yield an estimate, not a settled charge. |
185
+
186
+ For uncataloged compatible endpoints, declare the SDK, URL, and credential-variable
187
+ name together; the examples are in the defaults reference. A provider plugin is
188
+ needed only when the protocol cannot be expressed by the installed adapters.
189
+
112
190
  ## Configured-provider packet conformance matrix
113
191
 
114
192
  Every configured model alias is exercised through a real PLURNK loop — the
package/SPEC.md CHANGED
@@ -769,6 +769,16 @@ When enabled, raw per-token model logprob is canonical; alternatives are
769
769
  preserved when returned. Raw body/chunks preserve wire evidence the normalized
770
770
  record omits.
771
771
 
772
+ §provider-wire-emission **The emission is retained as the wire carried it, on every
773
+ response.** Beside the normalized `content` and `reasoning`, the transport record keeps
774
+ `wire`: the number of raw chunks, the chunks that carried no field at all, every delta or
775
+ message field the stream carried with the number of chunks carrying it, tool calls merged
776
+ by index with their arguments as streamed, the finish reasons seen, and the verbatim text
777
+ of every string field the record does not already hold. Nothing is opt-in and nothing is
778
+ reinterpreted: a blank emission reads as thirteen chunks that carried nothing, or as a
779
+ tool-call section the model emitted into a channel the protocol does not read, instead of
780
+ being guessed at from token counts. Covered by `aiSdkTransport.test.ts`.
781
+
772
782
  §provider-usage-refusal **The provider's bookkeeping is not the exchange.** Usage
773
783
  normalization is exact and refuses counters that contradict each other (a
774
784
  reasoning detail larger than its output aggregate, a total that disagrees with
@@ -20,11 +20,26 @@ export type AiSdkTransportRequest = {
20
20
  observeReasoning?: ProviderReasoningObserver;
21
21
  observeText?: (delta: string) => void;
22
22
  };
23
+ export type WireEmission = {
24
+ readonly chunks: number;
25
+ readonly emptyChunks: number;
26
+ readonly fields: Record<string, number>;
27
+ readonly channels: Record<string, string>;
28
+ readonly toolCalls: ReadonlyArray<{
29
+ index: number;
30
+ id?: string;
31
+ type?: string;
32
+ name?: string;
33
+ arguments: string;
34
+ }>;
35
+ readonly finishReasons: readonly string[];
36
+ };
23
37
  export type AiSdkTransportResponse = {
24
38
  model: string;
25
39
  content: string;
26
40
  reasoning: string;
27
41
  reasoningProjected: boolean;
42
+ wire: WireEmission;
28
43
  finishReason: ProviderAttemptFinishReason;
29
44
  rawFinishReason?: string;
30
45
  usage?: ProviderUsage;
@@ -61,5 +76,6 @@ export type AiSdkTransportFailureEvidence = {
61
76
  readonly status?: number;
62
77
  };
63
78
  export declare const transportFailureEvidence: (error: unknown) => AiSdkTransportFailureEvidence;
79
+ export declare const wireEmissionOf: (values: readonly unknown[]) => WireEmission;
64
80
  export {};
65
81
  //# sourceMappingURL=aiSdkTransport.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"aiSdkTransport.d.ts","sourceRoot":"","sources":["../src/aiSdkTransport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"aiSdkTransport.d.ts","sourceRoot":"","sources":["../src/aiSdkTransport.ts"],"names":[],"mappings":"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"}
@@ -363,6 +363,7 @@ const executeModelOnce = async (request) => {
363
363
  content: result.text,
364
364
  reasoning: reasoningText,
365
365
  reasoningProjected: evidence.reasoningProjected,
366
+ wire: wireEmissionOf(values),
366
367
  finishReason: finishReasonOf(rawFinishReason),
367
368
  ...(rawFinishReason === undefined ? {} : { rawFinishReason }),
368
369
  ...settledUsage(values, result.usage),
@@ -442,6 +443,7 @@ const executeModelOnce = async (request) => {
442
443
  content,
443
444
  reasoning: reasoningText,
444
445
  reasoningProjected: evidence.reasoningProjected,
446
+ wire: wireEmissionOf(rawChunks),
445
447
  finishReason: finishReasonOf(rawFinishReason),
446
448
  ...(rawFinishReason === undefined ? {} : { rawFinishReason }),
447
449
  ...settledUsage(rawChunks, await result.usage),
@@ -536,6 +538,77 @@ export const transportFailureEvidence = (error) => {
536
538
  ...(status === undefined ? {} : { status }),
537
539
  };
538
540
  };
541
+ const RETAINED_FIELDS = new Set(["content", "reasoning_content", "reasoning", "thinking", "role"]); // lexicon-allow: backend wire fields
542
+ // {§provider-wire-emission} — the emission as the wire carried it: field counts, chunks that
543
+ // carried nothing, merged tool calls, and the verbatim text of every channel the normalized record
544
+ // does not already hold. A blank emission is then readable instead of guessed at.
545
+ export const wireEmissionOf = (values) => {
546
+ let chunks = 0;
547
+ let emptyChunks = 0;
548
+ const fields = {};
549
+ const channels = {};
550
+ const toolCalls = new Map();
551
+ const finishReasons = new Set();
552
+ for (const value of values) {
553
+ const record = recordOf(value);
554
+ if (record === null)
555
+ continue;
556
+ chunks += 1;
557
+ const choices = Array.isArray(record.choices) ? record.choices : [];
558
+ let carried = false;
559
+ for (const item of choices) {
560
+ const choice = recordOf(item);
561
+ if (choice === null)
562
+ continue;
563
+ if (typeof choice.finish_reason === "string")
564
+ finishReasons.add(choice.finish_reason);
565
+ const message = recordOf(choice.delta) ?? recordOf(choice.message);
566
+ if (message === null)
567
+ continue;
568
+ for (const [key, field] of Object.entries(message)) {
569
+ if (field === null || field === undefined || key === "role")
570
+ continue;
571
+ if (typeof field === "string" && field.length === 0)
572
+ continue;
573
+ carried = true;
574
+ fields[key] = (fields[key] ?? 0) + 1;
575
+ if (key === "tool_calls" && Array.isArray(field)) {
576
+ for (const [position, callValue] of field.entries()) {
577
+ const call = recordOf(callValue);
578
+ if (call === null)
579
+ continue;
580
+ const index = typeof call.index === "number" ? call.index : position;
581
+ const merged = toolCalls.get(index) ?? { index, arguments: "" };
582
+ if (typeof call.id === "string")
583
+ merged.id = call.id;
584
+ if (typeof call.type === "string")
585
+ merged.type = call.type;
586
+ const fn = recordOf(call.function);
587
+ if (typeof fn?.name === "string")
588
+ merged.name = fn.name;
589
+ if (typeof fn?.arguments === "string")
590
+ merged.arguments += fn.arguments;
591
+ toolCalls.set(index, merged);
592
+ }
593
+ continue;
594
+ }
595
+ if (RETAINED_FIELDS.has(key))
596
+ continue;
597
+ channels[key] = (channels[key] ?? "") + (typeof field === "string" ? field : JSON.stringify(field));
598
+ }
599
+ }
600
+ if (choices.length > 0 && !carried)
601
+ emptyChunks += 1;
602
+ }
603
+ return {
604
+ chunks,
605
+ emptyChunks,
606
+ fields,
607
+ channels,
608
+ toolCalls: [...toolCalls.values()].sort((a, b) => a.index - b.index),
609
+ finishReasons: [...finishReasons],
610
+ };
611
+ };
539
612
  const extractEvidence = (values) => {
540
613
  const logprobs = [];
541
614
  let reasoning = "";
@@ -1 +1 @@
1
- {"version":3,"file":"aiSdkTransport.js","sourceRoot":"","sources":["../src/aiSdkTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,sBAAsB,EAA+B,MAAM,2BAA2B,CAAC;AAChG,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAoG,MAAM,IAAI,CAAC;AAC9J,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,cAAc,EAAiB,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEtE,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IACzB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACZ,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE;QAC1B,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE;QAC5B,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE;KACpD,CAAC,CAAC,WAAW,EAAE;CACnB,CAAC,CAAC,WAAW,EAAE,CAAC;AAEjB,MAAM,cAAc,GAAG,CACnB,MAA0B,EAC1B,OAAmD,EACrC,EAAE;IAChB,MAAM,GAAG,GAAG,OAAO,YAAY,OAAO;QAClC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;QAC/B,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7F,MAAM,SAAS,GAAG,GAAG,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC5C,IAAI,SAAS,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IACxC,IAAI,SAAS,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IACtC,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,IAAI,GAAG,IAAI,MAAM,IAAI,GAAG;QAAE,OAAO,KAAK,CAAC;IACzE,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;AAEF,6EAA6E;AAC7E,2EAA2E;AAC3E,oEAAoE;AACpE,MAAM,iBAAiB,GAAG,CACtB,OAAmD,EAC5C,EAAE;IACT,MAAM,GAAG,GAAG,OAAO,YAAY,OAAO;QAClC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;QAC5B,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1F,OAAO,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;AAClE,CAAC,CAAC;AAEF,MAAM,cAAc,GAAwD;IACxE,WAAW;IACX,cAAc,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO;IAC5C,WAAW,CAAC,QAAQ;QAChB,wEAAwE;QACxE,0EAA0E;QAC1E,OAAO,cAAc,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC;eACjD,CAAC,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5E,CAAC;CACJ,CAAC;AAEF,MAAM,OAAO,GAAG,CAAC,aAAqB,EAAU,EAAE;IAC9C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC;IACnC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,wDAAwD,aAAa,EAAE,CAAC,CAAC;IAC7F,CAAC;IACD,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAClE,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AAC7C,CAAC,CAAC;AAEF,MAAM,OAAO,GAAG,CACZ,KAAyB,EACA,EAAE,CAAC,cAAc,CAAC;IAC3C,aAAa,EAAE,KAAK,CAAC,WAAW;IAChC,iBAAiB,EAAE,KAAK,CAAC,YAAY;IACrC,YAAY,EAAE,KAAK,CAAC,WAAW;IAC/B,qBAAqB,EAAE;QACnB,aAAa,EAAE,KAAK,CAAC,iBAAiB,CAAC,eAAe;QACtD,kBAAkB,EAAE,KAAK,CAAC,iBAAiB,CAAC,gBAAgB;KAC/D;IACD,yBAAyB,EAAE,KAAK,CAAC,kBAAkB,CAAC,eAAe,KAAK,SAAS;QAC7E,CAAC,CAAC,EAAE,gBAAgB,EAAE,KAAK,CAAC,kBAAkB,CAAC,eAAe,EAAE;QAChE,CAAC,CAAC,SAAS;CAClB,CAAC,CAAC;AAEH,MAAM,WAAW,GAAG,CAChB,MAA0B,EACD,EAAE;IAC3B,KAAK,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACzD,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;QAC7C,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9C,OAAO,cAAc,CAAC,KAAiB,CAAC,CAAC;QAC7C,CAAC;IACL,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC,CAAC;AAQF,MAAM,YAAY,GAAG,CACjB,MAA0B,EAC1B,QAAwC,EACc,EAAE;IACxD,IAAI,CAAC;QACD,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC9F,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;IAChD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,CAAC,KAAK,YAAY,SAAS,CAAC;YAAE,MAAM,KAAK,CAAC;QAC/C,OAAO,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,mBAAmB,CAAC,MAAM,CAAC,IAAI,QAAQ,EAAE,EAAE,CAAC;IACvG,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,MAA0B,EAAW,EAAE;IAChE,KAAK,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACzD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACvC,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS;YAAE,OAAO,MAAM,CAAC,KAAK,CAAC;IAC3E,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAAC,MAA0B,EAAW,EAAE;IACjE,KAAK,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACzD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACvC,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS;YAAE,OAAO,MAAM,CAAC,MAAM,CAAC;IAC7E,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,MAA0B,EAA+B,EAAE;IAC/E,QAAQ,MAAM,EAAE,WAAW,EAAE,EAAE,CAAC;QAC5B,KAAK,MAAM,CAAC;QACZ,KAAK,WAAW,CAAC;QACjB,KAAK,UAAU,CAAC;QAChB,KAAK,eAAe,CAAC;QACrB,KAAK,WAAW;YACZ,OAAO,MAAM,CAAC;QAClB,KAAK,QAAQ,CAAC;QACd,KAAK,YAAY,CAAC;QAClB,KAAK,cAAc,CAAC;QACpB,KAAK,uBAAuB;YACxB,OAAO,QAAQ,CAAC;QACpB,KAAK,YAAY,CAAC;QAClB,KAAK,UAAU;YACX,OAAO,YAAY,CAAC;QACxB,KAAK,gBAAgB,CAAC;QACtB,KAAK,QAAQ,CAAC;QACd,KAAK,YAAY;YACb,OAAO,gBAAgB,CAAC;QAC5B,KAAK,8BAA8B;YAC/B,OAAO,sBAAsB,CAAC;QAClC;YACI,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5C,eAAe,CACX,+BAA+B,MAAM,uHAAuH,EAC5J,8BAA8B,CACjC,CAAC;YACN,CAAC;YACD,OAAO,IAAI,CAAC;IACpB,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAkC,EAAE,CAChE,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;IACvC,CAAC,CAAC,KAAgC;IAClC,CAAC,CAAC,IAAI,CAAC;AAEf,MAAM,UAAU,GAAG,CAAC,MAA0B,EAA2B,EAAE;IACvE,MAAM,QAAQ,GAA4B,EAAE,CAAC;IAC7C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,MAAM,KAAK,IAAI;YAAE,SAAS;QAC9B,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/C,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,QAAQ;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QACvF,CAAC;IACL,CAAC;IACD,OAAO,QAAQ,CAAC;AACpB,CAAC,CAAC;AAkDF,MAAM,gBAAgB,GAAG,CACrB,KAAc,EACd,OAA0B,EACC,EAAE;IAC7B,MAAM,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACvC,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAEjC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAW,CAAC;IAChC,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,OAAO,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3E,IAAK,OAA6B,CAAC,IAAI,KAAK,cAAc;YAAE,MAAM;QAClE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAClB,OAAO,GAAI,OAA+B,CAAC,KAAK,CAAC;IACrD,CAAC;IACD,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAEjE,MAAM,OAAO,GAAG,MAAM,CAAE,OAAiC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IACzE,IAAI,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACvC,OAAO,IAAI,oBAAoB,CAAC,eAAe,EAAE,OAAO,CAAC,qBAAqB,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;IAChG,CAAC;IACD,IAAI,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACjC,OAAO,IAAI,oBAAoB,CAAC,aAAa,EAAE,OAAO,CAAC,mBAAmB,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;IAC5F,CAAC;IACD,OAAO,IAAI,oBAAoB,CAAC,SAAS,EAAE,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;AAC9E,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,IAAI,OAAO,EAA8B,CAAC;AACtE,MAAM,mBAAmB,GAAG,IAAI,OAAO,EAAU,CAAC;AAElD,MAAM,yBAAyB,GAAG,CAAmB,MAAc,EAAE,MAAS,EAAK,EAAE;IACjF,MAAM,MAAM,GAAG,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC/C,IAAI,MAAM,KAAK,SAAS;QAAE,mBAAmB,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClE,IAAI,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC;QAAE,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrE,OAAO,MAAM,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAC1B,KAAc,EACd,SAA6B,EAC7B,cAAuB,EACnB,EAAE;IACN,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO;IACxD,mBAAmB,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;IACtD,IAAI,cAAc;QAAE,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,KAAc,EAAW,EAAE;IACtE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAW,CAAC;IAChC,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,OAAO,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3E,IAAI,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC;YAAE,OAAO,IAAI,CAAC;QAClD,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAClB,OAAO,GAAI,OAA+B,CAAC,KAAK,CAAC;IACrD,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,KAAc,EAAW,EAAE;IAClE,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAClC,yEAAyE;QACzE,8EAA8E;QAC9E,+EAA+E;QAC/E,IAAI,KAAK,YAAY,oBAAoB,IAAI,KAAK,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;YACvE,OAAO,yBAAyB,CAAC,KAAK,EAAE,IAAI,YAAY,CAAC;gBACrD,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,GAAG,EAAE,kBAAkB;gBACvB,iBAAiB,EAAE,EAAE;gBACrB,KAAK,EAAE,KAAK;gBACZ,WAAW,EAAE,KAAK;aACrB,CAAC,CAAC,CAAC;QACR,CAAC;QACD,yEAAyE;QACzE,wEAAwE;QACxE,sEAAsE;QACtE,iEAAiE;QACjE,IAAI,KAAK,YAAY,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,YAAY,EAAE,CAAC;YACpF,OAAO,yBAAyB,CAAC,KAAK,EAAE,IAAI,YAAY,CAAC;gBACrD,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,GAAG,EAAE,kBAAkB;gBACvB,iBAAiB,EAAE,EAAE;gBACrB,KAAK,EAAE,KAAK;gBACZ,WAAW,EAAE,KAAK;aACrB,CAAC,CAAC,CAAC;QACR,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC;IAC/E,0EAA0E;IAC1E,2EAA2E;IAC3E,0EAA0E;IAC1E,2EAA2E;IAC3E,8DAA8D;IAC9D,sCAAsC;IACtC,MAAM,MAAM,GAAG,QAAQ;WAChB,CAAC,KAAK,CAAC,UAAU,KAAK,GAAG,IAAI,iBAAiB,CAAC,KAAK,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,CAAC;IACpF,IAAI,MAAM,KAAK,KAAK,CAAC,WAAW;QAAE,OAAO,KAAK,CAAC;IAC/C,OAAO,yBAAyB,CAAC,KAAK,EAAE,IAAI,YAAY,CAAC;QACrD,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;QAC1C,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,eAAe,EAAE,KAAK,CAAC,eAAe;QACtC,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,KAAK,EAAE,KAAK;QACZ,WAAW,EAAE,MAAM;QACnB,IAAI,EAAE,KAAK,CAAC,IAAI;KACnB,CAAC,CAAC,CAAC;AACR,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,KAAK,EACtB,OAA0B,EACK,EAAE;IACjC,IAAI,CAAC;QACD,OAAO,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO;YAAE,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;QACzD,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACjD,IAAI,OAAO,KAAK,IAAI;YAAE,MAAM,0BAA0B,CAAC,KAAK,CAAC,CAAC;QAC9D,MAAM,IAAI,YAAY,CAAC;YACnB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,GAAG,EAAE,kBAAkB;YACvB,iBAAiB,EAAE,EAAE;YACrB,KAAK,EAAE,OAAO;YACd,WAAW,EAAE,KAAK;SACrB,CAAC,CAAC;IACP,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,KAAK,EAC1B,OAA0B,EACK,EAAE;IACjC,MAAM,EACF,aAAa,EAAE,KAAK,EACpB,eAAe,EACf,qBAAqB,EACrB,WAAW,EACX,IAAI,EACJ,IAAI,EACJ,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,IAAI,EACJ,eAAe,EACf,SAAS,GACZ,GAAG,OAAO,CAAC;IACZ,MAAM,QAAQ,GAAG;QACb,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;QACrD,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;QACvC,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;QACvC,GAAG,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC;QAC7D,GAAG,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC;QAC/D,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC;QACzD,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;QACvC,GAAG,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC;QAC7D,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;QACjD,GAAG,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC;KAChE,CAAC;IACF,MAAM,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;IAC1F,MAAM,gBAAgB,GAAG,cAAc,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC;IAC1F,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,EAAE,CAAC;QACxF,MAAM,IAAI,KAAK,CAAC,6EAA6E,CAAC,CAAC;IACnG,CAAC;IACD,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QAC1F,IAAI,EAAE,QAAiB;QACvB,OAAO,EAAE,eAAe,CAAC,EAAE,OAAO,EAAE,CAAC;QACrC,GAAG,CAAC,qBAAqB,KAAK,SAAS,IAAI,KAAK,KAAK,gBAAgB,GAAG,CAAC;YACrE,CAAC,CAAC,EAAE,eAAe,EAAE,qBAAqB,EAAE;YAC5C,CAAC,CAAC,EAAE,CAAC;KACZ,CAAC,CAAC,CAAC;IACJ,gGAAgG;IAChG,iGAAiG;IACjG,MAAM,QAAQ,GAAmB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAgB,EAAE;QACpG,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC1B,OAAO,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ;gBACtC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE;gBAC5C,CAAC,CAAC;oBACE,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM;wBACvD,CAAC,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;wBAC5C,CAAC,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;iBAC/E,CAAC;QACV,CAAC;QACD,OAAO,OAAO,CAAC,IAAI,KAAK,WAAW;YAC/B,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,eAAe,CAAC,OAAO,CAAC,EAAE;YAC1D,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;IAChE,CAAC,CAAC,CAAC;IACH,6FAA6F;IAC7F,8FAA8F;IAC9F,4FAA4F;IAC5F,MAAM,eAAe,GAAG,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,eAAe,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACvG,MAAM,YAAY,GAAG,eAAe,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAC7D,GAAG,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,oBAAoB,CAAC,SAAS,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC,EACxF,OAAO,CAAC,cAAc,CACzB,CAAC;IACF,MAAM,mBAAmB,GAAG,GAAS,EAAE,GAAG,IAAI,YAAY,KAAK,IAAI;QAAE,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IACnG,MAAM,WAAW,GAAG,eAAe,KAAK,IAAI;QACxC,CAAC,CAAC,OAAO,CAAC,MAAM;QAChB,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;IACxH,MAAM,MAAM,GAAG;QACX,KAAK;QACL,GAAG,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC;QACtD,QAAQ,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC;YACzB,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;QAC9C,wEAAwE;QACxE,mEAAmE;QACnE,UAAU,EAAE,CAAC;QACb,WAAW;QACX,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,OAAO,EAAE;YACL,GAAG,CAAC,OAAO,CAAC,cAAc,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChG,GAAG,CAAC,OAAO,CAAC,SAAS;mBACd,OAAO,CAAC,qBAAqB,KAAK,SAAS;mBAC3C,OAAO,CAAC,qBAAqB,GAAG,CAAC;gBACpC,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,qBAAqB,EAAE;gBACjD,CAAC,CAAC,EAAE,CAAC;YACT,GAAG,CAAC,OAAO,CAAC,SAAS;mBACd,OAAO,CAAC,mBAAmB,KAAK,SAAS;mBACzC,OAAO,CAAC,mBAAmB,GAAG,CAAC;gBAClC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,mBAAmB,EAAE;gBAC1C,CAAC,CAAC,EAAE,CAAC;SACZ;QACD,GAAG,QAAQ;KACL,CAAC;IAEX,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QACrB,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC;YAC9B,GAAG,MAAM;YACT,OAAO,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE;SAClC,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QACrC,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC;QACzB,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;QACzC,MAAM,eAAe,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;QACpD,MAAM,aAAa,GAAG,QAAQ,CAAC,SAAS,IAAI,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC;QACvE,MAAM,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;QAC/C,OAAO;YACH,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO;YAC9B,OAAO,EAAE,MAAM,CAAC,IAAI;YACpB,SAAS,EAAE,aAAa;YACxB,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB;YAC/C,YAAY,EAAE,cAAc,CAAC,eAAe,CAAC;YAC7C,GAAG,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC;YAC7D,GAAG,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC;YACrC,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC;YAC5B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,cAAc,EAAE;gBACZ,GAAG,CAAC,oBAAoB,CAAC,MAAM,CAAC,KAAK,SAAS;oBAC1C,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,EAAE,MAAM,EAAE,oBAAoB,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC/C,GAAG,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC;gBACpE,GAAG,CAAC,MAAM,CAAC,gBAAgB,KAAK,SAAS;oBACrC,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,EAAE,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC;gBACpD,QAAQ,EAAE;oBACN,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE;oBACtB,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,KAAK,SAAS;wBACrC,CAAC,CAAC,EAAE;wBACJ,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;iBAC9C;aACJ;YACD,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9C,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,EAAE;SAClC,CAAC;IACN,CAAC;IAED,MAAM,MAAM,GAAG,UAAU,CAAC;QACtB,GAAG,MAAM;QACT,gBAAgB,EAAE,IAAI;QACtB,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC;KACpB,CAAC,CAAC;IACH,MAAM,SAAS,GAAc,EAAE,CAAC;IAChC,IAAI,WAAoB,CAAC;IACzB,IAAI,cAAc,GAAG,KAAK,CAAC;IAC3B,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,CAAC;QACD,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACzC,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBACtB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAClC,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrD,cAAc,GAAG,IAAI,CAAC;gBACtB,mBAAmB,EAAE,CAAC;gBACtB,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC;gBACpB,OAAO,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrC,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,KAAK,iBAAiB,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1D,cAAc,GAAG,IAAI,CAAC;gBACtB,mBAAmB,EAAE,CAAC;gBACtB,OAAO,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1C,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO;gBAAE,WAAW,KAAK,IAAI,CAAC,KAAK,CAAC;QAC1D,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,qBAAqB,CAAC,KAAK,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;QACxD,MAAM,KAAK,CAAC;IAChB,CAAC;YAAS,CAAC;QACP,mBAAmB,EAAE,CAAC;IAC1B,CAAC;IACD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC5B,qBAAqB,CAAC,WAAW,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;QAC9D,MAAM,WAAW,CAAC;IACtB,CAAC;IACD,MAAM,QAAQ,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;IAC5C,MAAM,eAAe,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC;IAClC,MAAM,aAAa,GAAG,QAAQ,CAAC,SAAS,IAAI,CAAC,MAAM,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;IAC/E,MAAM,eAAe,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC;IACrD,MAAM,CAAC,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC7D,MAAM,CAAC,QAAQ;QACf,MAAM,CAAC,gBAAgB;QACvB,MAAM,CAAC,QAAQ;KAClB,CAAC,CAAC;IACH,OAAO;QACH,KAAK,EAAE,QAAQ,CAAC,OAAO;QACvB,OAAO;QACP,SAAS,EAAE,aAAa;QACxB,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB;QAC/C,YAAY,EAAE,cAAc,CAAC,eAAe,CAAC;QAC7C,GAAG,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC;QAC7D,GAAG,YAAY,CAAC,SAAS,EAAE,MAAM,MAAM,CAAC,KAAK,CAAC;QAC9C,QAAQ,EAAE,UAAU,CAAC,SAAS,CAAC;QAC/B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,cAAc,EAAE;YACZ,GAAG,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,SAAS;gBAC7C,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,MAAM,EAAE,oBAAoB,CAAC,SAAS,CAAC,EAAE,CAAC;YAClD,GAAG,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC;YACpE,GAAG,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC;YAC/D,QAAQ,EAAE;gBACN,EAAE,EAAE,QAAQ,CAAC,EAAE;gBACf,GAAG,CAAC,QAAQ,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC;aAC3E;SACJ;QACD,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzD,QAAQ,EAAE,QAAQ,IAAI,EAAE;KAC3B,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,YAAY,CAAC;AAE9C,MAAM,mBAAmB,GAAG,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,gBAAgB,CAAU,CAAC;AAEvF,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,EACxC,OAA8B,EACC,EAAE;IACjC,KAAK,MAAM,GAAG,IAAI,mBAAmB,EAAE,CAAC;QACpC,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,SAAS,CAAC,yEAAyE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACxH,CAAC;IACL,CAAC;IACD,MAAM,QAAQ,GAAG,sBAAsB,CAAC;QACpC,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC;QAC7B,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,YAAY,EAAE,IAAI;QAClB,oBAAoB,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAChC,GAAG,OAAO;YACV,GAAG,OAAO,CAAC,IAAI;YACf,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,GAAG,CAAC,OAAO,CAAC,cAAc,KAAK,SAAS;gBACpC,CAAC,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE;gBAC5C,CAAC,CAAC,EAAE,CAAC;SACZ,CAAC;KACL,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC;IACxE,OAAO,YAAY,CAAC;QAChB,aAAa,EAAE,KAAK;QACpB,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,qBAAqB,EAAE,OAAO,CAAC,qBAAqB;QACpD,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;QAChD,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,GAAG,CAAC,OAAO,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,EAAE,CAAC;QACjG,GAAG,CAAC,OAAO,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC;KACrF,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAAC,KAAmB,EAAsB,EAAE;IACnE,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS,IAAI,KAAK,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACnF,IAAI,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;IAC5C,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,EAAE,CAAC;IACd,CAAC;AACL,CAAC,CAAC;AASF,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACpC,KAAc,EACe,EAAE;IAC/B,MAAM,MAAM,GAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QACtD,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACrG,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAChD,MAAM,aAAa,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,UAAU,GAAG,MAAM;SACpB,GAAG,CAAC,QAAQ,CAAC;SACb,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC;IAChE,MAAM,SAAS,GAAG,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;IAChF,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,IAAK,SAAoB,IAAI,GAAG,IAAK,SAAoB,IAAI,GAAG;QACtG,CAAC,CAAC,SAAmB;QACrB,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,IAAK,UAAqB,IAAI,GAAG,IAAK,UAAqB,IAAI,GAAG;YAC5F,CAAC,CAAC,UAAoB;YACtB,CAAC,CAAC,SAAS,CAAC;IACpB,OAAO;QACH,GAAG,OAAO;QACV,cAAc,EAAE;YACZ,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;YAC3C,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;YAChE,QAAQ,EAAE,EAAE;SACf;QACD,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;KAC9C,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,MAAiB,EAIxC,EAAE;IACA,MAAM,QAAQ,GAAmB,EAAE,CAAC;IACpC,IAAI,SAAS,GAAG,EAAE,CAAC;IACnB,IAAI,kBAAkB,GAAG,KAAK,CAAC;IAC/B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;QACzC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;YAAE,SAAS;QACtC,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,IAAI,MAAM,KAAK,IAAI;YAAE,SAAS;QAC9B,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,OAAO,GAAG,aAAa,EAAE,OAAO,CAAC;QACvC,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACzB,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC1B,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAC9B,IAAI,OAAO,KAAK,EAAE,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;oBAAE,SAAS;gBACpF,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC;oBACzC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;wBACnC,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;wBAC7B,OAAO,OAAO,IAAI,EAAE,KAAK,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ;4BACtE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;4BAChD,CAAC,CAAC,EAAE,CAAC;oBACb,CAAC,CAAC;oBACF,CAAC,CAAC,SAAS,CAAC;gBAChB,QAAQ,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS;oBAC3B,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE;oBAChD,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;YAC/D,CAAC;QACL,CAAC;QACD,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACrC,MAAM,OAAO,GAAG,KAAK,IAAI,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACxD,KAAK,MAAM,GAAG,IAAI,CAAC,mBAAmB,EAAE,WAAW,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,qCAAqC;YACrG,IAAI,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE,CAAC;gBACnC,kBAAkB,GAAG,IAAI,CAAC;gBAC1B,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;YAC9B,CAAC;QACL,CAAC;IACL,CAAC;IACD,OAAO;QACH,QAAQ;QACR,SAAS;QACT,kBAAkB;KACrB,CAAC;AACN,CAAC,CAAC"}
1
+ {"version":3,"file":"aiSdkTransport.js","sourceRoot":"","sources":["../src/aiSdkTransport.ts"],"names":[],"mappings":"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"}
package/docs/models.md CHANGED
@@ -1,90 +1,19 @@
1
1
  # Models and generation
2
2
 
3
- Use a catalog route directly, or give it an alias for reusable tuning:
4
-
5
- ```dotenv
6
- PLURNK_MODEL_fast=openrouter/qwen/qwen3-coder
7
- PLURNK_MODEL=fast
8
- PLURNK_PROVIDERS_REASONING_fast=adaptive
9
- ```
10
-
11
- The first route segment is the provider; everything after it is the model id.
12
- Models.dev supplies cataloged providers' endpoints, credential-variable names,
13
- model limits, reasoning capabilities, and rates. The operator supplies credentials
14
- to the service environment. A client's environment does not configure a remote daemon.
15
-
16
- ## Scope
17
-
18
- | Form | Meaning |
19
- | --- | --- |
20
- | `PLURNK_MODEL=provider/model` | Select a route without an alias. |
21
- | `PLURNK_MODEL_<alias>=provider/model` | Declare a named route and tuning scope. |
22
- | `PLURNK_BASEURL_<alias>=https://endpoint/v1` | Override that declared alias's endpoint. |
23
- | `PLURNK_PROVIDERS_<KNOB>_<alias>=value` | Nonempty per-alias override of the bare knob; alias case is ignored. |
24
- | `PLURNK_PROVIDERS_PROVIDER_<NAME>_*` | Provider-wide declaration, not per-alias tuning. |
25
-
26
- The [defaults reference](../.env.defaults) lists supported knobs and values.
27
- Worker model/reasoning selections persist: changing a startup default is not a
28
- command to retarget existing Workers. Clients expose explicit model, reasoning,
29
- and child-model controls; their available effort choices come from the selected route.
30
-
31
- ## Capacity and reasoning
32
-
33
- ```mermaid
34
- flowchart TD
35
- Limits[Model context and input/output limits] --> Input[Available input capacity]
36
- Output[Total output envelope, including reasoning] --> Input
37
- Input --> Context[Core's calibrated context allowance]
38
- Output --> Reasoning[Optional smaller reasoning budget]
39
- ```
40
-
41
- - **Effort** and **budget** are independent. `adaptive` requests native dynamic
42
- reasoning where supported, otherwise the supported high posture. Fixed effort
43
- names must be supported by the route; an unsupported request is not silently downgraded.
44
- - **Output** accepts positive tokens or a percentage of context; known model
45
- limits cap it. An explicit reasoning budget must be smaller than total output.
46
- Leaving the reasoning budget unset does not disable reasoning.
47
- - **Context** is derived from the live endpoint or catalog. An operator cap can
48
- shrink known capacity or declare unknown capacity, never enlarge known limits.
49
- Prompt projection and initialization reasoning READ limits are separate Core policy.
50
-
51
- ## Local OpenAI-compatible endpoints
52
-
53
- ```dotenv
54
- PLURNK_MODEL_local=openai/model-name-from-endpoint
55
- PLURNK_BASEURL_local=http://127.0.0.1:8080/v1
56
- PLURNK_MODEL=local
57
- # Optional: your own GBNF grammar, carried verbatim to this llama-server route:
58
- # PLURNK_PROVIDERS_GBNF_local=~/.config/plurnk/local.gbnf
59
- # Optional explicit generation allowances, in tokens:
60
- # PLURNK_PROVIDERS_OUTPUT_BUDGET_local=8192
61
- # PLURNK_PROVIDERS_REASONING_BUDGET_local=4096
62
- ```
63
-
64
- Endpoint probing supplies served-model capacity and llama-server capabilities.
65
- Pin `PLURNK_PROVIDERS_LLAMA_SERVER_local=1` only for a known llama-server that
66
- cannot be fingerprinted reliably. GBNF is optional and yours: the service ships
67
- no grammar profile and never validates or grades one; the file's text reaches
68
- the route verbatim, and configuring it on a route without grammar transport is
69
- an error. Parsing always applies.
70
-
71
- Sampling stays at endpoint defaults unless configured. Repetition penalties can
72
- fight exact source copying and grammar repetition. Measure local tuning; it is
73
- not a portable cloud policy. `think-tags` response interpretation is a separate
74
- opt-in for endpoints that emit a leading `<think>` envelope, not a reasoning switch.
75
-
76
- ## Connectivity, caching, and cost
77
-
78
- | Concern | Boundary |
79
- | --- | --- |
80
- | Attempt, first-content, idle deadlines | Provider transport; a timeout surfaces a failure, not a fabricated response. |
81
- | Provider-directed waits | Bounded retries honor `Retry-After`; other recoverable failures return to Core. |
82
- | Loop recovery | Core reissues within its recovery window, then parks for a prompt or wake. |
83
- | Cache affinity | Stable Worker identity through documented provider controls; not a cache-hit guarantee. |
84
- | Explicit cache writes | Separate policy on supported routes; can affect billing. |
85
- | Service tier | Explicit route choice that may change price and availability. |
86
- | Cost | Provider monetary evidence wins; known usage and catalog rates yield an estimate, not a settled charge. |
87
-
88
- For uncataloged compatible endpoints, declare the SDK, URL, and credential-variable
89
- name together; the examples are in the defaults reference. A provider plugin is
90
- needed only when the protocol cannot be expressed by the installed adapters.
3
+ A route is `provider/model`; an alias names a route with its own tuning. The
4
+ worker owns its model and reasoning selection: an explicit selection persists
5
+ on the worker, a loop snapshots the resolved route, and a change to the
6
+ daemon's default does not retarget an existing worker. A child worker runs on
7
+ its parent's durable spawn selection, else the parent's own model.
8
+
9
+ Effort and budget are independent. The effort names available come from the
10
+ selected route, and an unsupported request is refused rather than downgraded.
11
+ Output accepts a token count or a percentage of context, capped by the model's
12
+ known limits; a reasoning budget, when set, is smaller than the total output,
13
+ and leaving it unset does not disable reasoning. Context is derived from the
14
+ endpoint or the catalog; an operator cap can only shrink it.
15
+
16
+ Cost is an estimate from known usage and catalog rates unless the provider
17
+ reports a settled charge. A timeout is a failure, never a fabricated response;
18
+ an interrupted call is reissued within the loop's recovery window, after which
19
+ the loop parks for a prompt or a wake.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plurnk/plurnk-providers",
3
- "version": "1.20.0",
3
+ "version": "1.21.0",
4
4
  "description": "PLURNK's stable model-provider contract and AI SDK adapter.",
5
5
  "keywords": [
6
6
  "plurnk",
@@ -80,10 +80,10 @@
80
80
  "@ai-sdk/openai-compatible": "^3.0.14",
81
81
  "@ai-sdk/togetherai": "^3.0.0",
82
82
  "@openrouter/ai-sdk-provider": "^3.0.0",
83
- "@plurnk/plurnk-aliases": "1.20.0",
84
- "@plurnk/plurnk-contracts": "1.20.0",
85
- "@plurnk/plurnk-meta": "1.20.0",
86
- "@plurnk/plurnk-models": "1.20.0",
83
+ "@plurnk/plurnk-aliases": "1.21.0",
84
+ "@plurnk/plurnk-contracts": "1.21.0",
85
+ "@plurnk/plurnk-meta": "1.21.0",
86
+ "@plurnk/plurnk-models": "1.21.0",
87
87
  "ai": "^7.0.37",
88
88
  "zod": "^4.4.3"
89
89
  },
@@ -361,6 +361,63 @@ test("normalizeRetryAttemptError — only provider-directed waits retry: 429, Re
361
361
  assert.equal((normalizeRetryAttemptError(bareServerError) as APICallError).isRetryable, false, "a bare 5xx surfaces at once for the engine's recovery");
362
362
  });
363
363
 
364
+ // {§provider-wire-emission} — a blank emission is readable: what the stream carried is kept, channel by channel.
365
+ test("the transport record keeps the wire emission: empty chunks, tool calls and channels the protocol does not read", async (t) => {
366
+ const usage = { prompt_tokens: 10, completion_tokens: 13, total_tokens: 23, completion_tokens_details: { reasoning_tokens: 4 } };
367
+ await t.test("streamed", async () => {
368
+ const chunks = [
369
+ { id: "r", object: "chat.completion.chunk", created: 1, model: "served-model", choices: [{ index: 0, delta: { role: "assistant", content: "" }, finish_reason: null }] },
370
+ { id: "r", object: "chat.completion.chunk", created: 1, model: "served-model", choices: [{ index: 0, delta: { reasoning_content: "Let me read it." }, finish_reason: null }] },
371
+ { id: "r", object: "chat.completion.chunk", created: 1, model: "served-model", choices: [{ index: 0, delta: {}, finish_reason: null }] },
372
+ { id: "r", object: "chat.completion.chunk", created: 1, model: "served-model", choices: [{ index: 0, delta: { content: null }, finish_reason: null }] },
373
+ { id: "r", object: "chat.completion.chunk", created: 1, model: "served-model", choices: [{ index: 0, delta: { tool_calls: [{ index: 0, id: "call-1", type: "function", function: { name: "READ", arguments: "{\"path\": \"dja" } }] }, finish_reason: null }] },
374
+ { id: "r", object: "chat.completion.chunk", created: 1, model: "served-model", choices: [{ index: 0, delta: { tool_calls: [{ index: 0, function: { arguments: "ngo/views/debug.py\"}" } }] }, finish_reason: null }] },
375
+ { id: "r", object: "chat.completion.chunk", created: 1, model: "served-model", choices: [{ index: 0, delta: { refusal: "no" }, finish_reason: null }] },
376
+ { id: "r", object: "chat.completion.chunk", created: 1, model: "served-model", choices: [{ index: 0, delta: {}, finish_reason: "stop" }], usage },
377
+ ];
378
+ const result = await executeOpenAICompatible({
379
+ ...request,
380
+ streaming: true,
381
+ fetch: async () => new Response(new ReadableStream({
382
+ start(controller) {
383
+ for (const chunk of chunks) controller.enqueue(new TextEncoder().encode(`data: ${JSON.stringify(chunk)}\n\n`));
384
+ controller.enqueue(new TextEncoder().encode("data: [DONE]\n\n"));
385
+ controller.close();
386
+ },
387
+ }), { headers: { "content-type": "text/event-stream" } }),
388
+ });
389
+ assert.equal(result.content, "", "the protocol's channel was blank");
390
+ assert.equal(result.reasoning, "Let me read it.");
391
+ assert.deepEqual(result.wire, {
392
+ chunks: 8,
393
+ emptyChunks: 4,
394
+ fields: { reasoning_content: 1, tool_calls: 2, refusal: 1 },
395
+ channels: { refusal: "no" },
396
+ toolCalls: [{ index: 0, id: "call-1", type: "function", name: "READ", arguments: "{\"path\": \"django/views/debug.py\"}" }],
397
+ finishReasons: ["stop"],
398
+ }, "the record says what the thirteen billed tokens were");
399
+ });
400
+ await t.test("unstreamed", async () => {
401
+ const result = await executeOpenAICompatible({
402
+ ...request,
403
+ fetch: async () => new Response(JSON.stringify({
404
+ id: "response-1", object: "chat.completion", created: 1, model: "served-model",
405
+ choices: [{ index: 0, message: { role: "assistant", content: "answer", reasoning_content: "why", tool_calls: [{ id: "c", type: "function", function: { name: "FIND", arguments: "{}" } }] }, finish_reason: "stop" }],
406
+ usage: { prompt_tokens: 1, completion_tokens: 5, total_tokens: 6 },
407
+ }), { headers: { "content-type": "application/json" } }),
408
+ });
409
+ assert.equal(result.content, "answer");
410
+ assert.deepEqual(result.wire, {
411
+ chunks: 1,
412
+ emptyChunks: 0,
413
+ fields: { content: 1, reasoning_content: 1, tool_calls: 1 },
414
+ channels: {},
415
+ toolCalls: [{ index: 0, id: "c", type: "function", name: "FIND", arguments: "{}" }],
416
+ finishReasons: ["stop"],
417
+ });
418
+ });
419
+ });
420
+
364
421
  // {§provider-usage-refusal} (#580) — the provider's counters disagree with themselves; the
365
422
  // exchange is not the casualty.
366
423
  test("inconsistent usage counters refuse normalization without failing the response, in both shapes", async (t) => {
@@ -191,11 +191,27 @@ export type AiSdkTransportRequest = {
191
191
  observeText?: (delta: string) => void;
192
192
  };
193
193
 
194
+ // {§provider-wire-emission} — what the wire carried, every channel, kept on every response.
195
+ export type WireEmission = {
196
+ // Raw chunks seen (one for an unstreamed body).
197
+ readonly chunks: number;
198
+ // Chunks whose choice carried no field at all beyond a role: output the wire billed but never showed.
199
+ readonly emptyChunks: number;
200
+ // Every delta or message field seen with a non-null value, with the number of chunks carrying it.
201
+ readonly fields: Record<string, number>;
202
+ // Verbatim text of every string field except content and the reasoning fields, which the record keeps already.
203
+ readonly channels: Record<string, string>;
204
+ // Tool calls merged by index, arguments concatenated as streamed.
205
+ readonly toolCalls: ReadonlyArray<{ index: number; id?: string; type?: string; name?: string; arguments: string }>;
206
+ readonly finishReasons: readonly string[];
207
+ };
208
+
194
209
  export type AiSdkTransportResponse = {
195
210
  model: string;
196
211
  content: string;
197
212
  reasoning: string;
198
213
  reasoningProjected: boolean;
214
+ wire: WireEmission;
199
215
  finishReason: ProviderAttemptFinishReason;
200
216
  rawFinishReason?: string;
201
217
  usage?: ProviderUsage;
@@ -463,6 +479,7 @@ const executeModelOnce = async (
463
479
  content: result.text,
464
480
  reasoning: reasoningText,
465
481
  reasoningProjected: evidence.reasoningProjected,
482
+ wire: wireEmissionOf(values),
466
483
  finishReason: finishReasonOf(rawFinishReason),
467
484
  ...(rawFinishReason === undefined ? {} : { rawFinishReason }),
468
485
  ...settledUsage(values, result.usage),
@@ -540,6 +557,7 @@ const executeModelOnce = async (
540
557
  content,
541
558
  reasoning: reasoningText,
542
559
  reasoningProjected: evidence.reasoningProjected,
560
+ wire: wireEmissionOf(rawChunks),
543
561
  finishReason: finishReasonOf(rawFinishReason),
544
562
  ...(rawFinishReason === undefined ? {} : { rawFinishReason }),
545
563
  ...settledUsage(rawChunks, await result.usage),
@@ -649,6 +667,66 @@ export const transportFailureEvidence = (
649
667
  };
650
668
  };
651
669
 
670
+ const RETAINED_FIELDS = new Set(["content", "reasoning_content", "reasoning", "thinking", "role"]); // lexicon-allow: backend wire fields
671
+
672
+ // {§provider-wire-emission} — the emission as the wire carried it: field counts, chunks that
673
+ // carried nothing, merged tool calls, and the verbatim text of every channel the normalized record
674
+ // does not already hold. A blank emission is then readable instead of guessed at.
675
+ export const wireEmissionOf = (values: readonly unknown[]): WireEmission => {
676
+ let chunks = 0;
677
+ let emptyChunks = 0;
678
+ const fields: Record<string, number> = {};
679
+ const channels: Record<string, string> = {};
680
+ const toolCalls = new Map<number, { index: number; id?: string; type?: string; name?: string; arguments: string }>();
681
+ const finishReasons = new Set<string>();
682
+ for (const value of values) {
683
+ const record = recordOf(value);
684
+ if (record === null) continue;
685
+ chunks += 1;
686
+ const choices = Array.isArray(record.choices) ? record.choices : [];
687
+ let carried = false;
688
+ for (const item of choices) {
689
+ const choice = recordOf(item);
690
+ if (choice === null) continue;
691
+ if (typeof choice.finish_reason === "string") finishReasons.add(choice.finish_reason);
692
+ const message = recordOf(choice.delta) ?? recordOf(choice.message);
693
+ if (message === null) continue;
694
+ for (const [key, field] of Object.entries(message)) {
695
+ if (field === null || field === undefined || key === "role") continue;
696
+ if (typeof field === "string" && field.length === 0) continue;
697
+ carried = true;
698
+ fields[key] = (fields[key] ?? 0) + 1;
699
+ if (key === "tool_calls" && Array.isArray(field)) {
700
+ for (const [position, callValue] of field.entries()) {
701
+ const call = recordOf(callValue);
702
+ if (call === null) continue;
703
+ const index = typeof call.index === "number" ? call.index : position;
704
+ const merged = toolCalls.get(index) ?? { index, arguments: "" };
705
+ if (typeof call.id === "string") merged.id = call.id;
706
+ if (typeof call.type === "string") merged.type = call.type;
707
+ const fn = recordOf(call.function);
708
+ if (typeof fn?.name === "string") merged.name = fn.name;
709
+ if (typeof fn?.arguments === "string") merged.arguments += fn.arguments;
710
+ toolCalls.set(index, merged);
711
+ }
712
+ continue;
713
+ }
714
+ if (RETAINED_FIELDS.has(key)) continue;
715
+ channels[key] = (channels[key] ?? "") + (typeof field === "string" ? field : JSON.stringify(field));
716
+ }
717
+ }
718
+ if (choices.length > 0 && !carried) emptyChunks += 1;
719
+ }
720
+ return {
721
+ chunks,
722
+ emptyChunks,
723
+ fields,
724
+ channels,
725
+ toolCalls: [...toolCalls.values()].sort((a, b) => a.index - b.index),
726
+ finishReasons: [...finishReasons],
727
+ };
728
+ };
729
+
652
730
  const extractEvidence = (values: unknown[]): {
653
731
  logprobs: TokenLogprob[];
654
732
  reasoning: string;