@plurnk/plurnk-providers 1.26.0 → 1.27.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/.env.defaults +4 -11
- package/README.md +6 -2
- package/SPEC.md +50 -25
- package/dist/AiSdkProvider.d.ts +0 -3
- package/dist/AiSdkProvider.d.ts.map +1 -1
- package/dist/AiSdkProvider.js +6 -32
- package/dist/AiSdkProvider.js.map +1 -1
- package/dist/accounting.d.ts.map +1 -1
- package/dist/accounting.js +39 -46
- package/dist/accounting.js.map +1 -1
- package/dist/aiSdkTransport.d.ts +5 -8
- package/dist/aiSdkTransport.d.ts.map +1 -1
- package/dist/aiSdkTransport.js +95 -177
- package/dist/aiSdkTransport.js.map +1 -1
- package/dist/catalogProvider.d.ts.map +1 -1
- package/dist/catalogProvider.js +0 -3
- package/dist/catalogProvider.js.map +1 -1
- package/dist/compatibleProvider.d.ts.map +1 -1
- package/dist/compatibleProvider.js +0 -3
- package/dist/compatibleProvider.js.map +1 -1
- package/dist/cost.d.ts.map +1 -1
- package/dist/cost.js +4 -5
- package/dist/cost.js.map +1 -1
- package/dist/env.d.ts.map +1 -1
- package/dist/env.js +0 -3
- package/dist/env.js.map +1 -1
- package/dist/errors.d.ts +2 -4
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +3 -32
- package/dist/errors.js.map +1 -1
- package/dist/native-tools.d.ts +5 -0
- package/dist/native-tools.d.ts.map +1 -0
- package/dist/native-tools.js +18 -0
- package/dist/native-tools.js.map +1 -0
- package/dist/ollama.d.ts.map +1 -1
- package/dist/ollama.js +2 -0
- package/dist/ollama.js.map +1 -1
- package/dist/providerError.d.ts +1 -1
- package/dist/providerError.d.ts.map +1 -1
- package/dist/providerError.js +1 -3
- package/dist/providerError.js.map +1 -1
- package/dist/sdkModels.d.ts.map +1 -1
- package/dist/sdkModels.js +11 -9
- package/dist/sdkModels.js.map +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +5 -5
- package/dist/RepeatedLine.d.ts +0 -9
- package/dist/RepeatedLine.d.ts.map +0 -1
- package/dist/RepeatedLine.js +0 -27
- package/dist/RepeatedLine.js.map +0 -1
package/.env.defaults
CHANGED
|
@@ -99,21 +99,14 @@ PLURNK_PROVIDERS_CACHE_WRITE_POLICY=stable-system
|
|
|
99
99
|
# Supported keys: input, output, reasoning, cacheRead, cacheWrite. This is estimation, not billing truth.
|
|
100
100
|
# PLURNK_PROVIDERS_COST=input=0.22,output=0.66,reasoning=0.66,cacheRead=0.007
|
|
101
101
|
|
|
102
|
-
# --- Connectivity (milliseconds;
|
|
102
|
+
# --- Connectivity (milliseconds; 0 = off) ---
|
|
103
103
|
# Logical generation deadline, including admission queues, physical attempts and retry delays.
|
|
104
104
|
PLURNK_PROVIDERS_OPERATION_TIMEOUT=2700000
|
|
105
|
-
#
|
|
105
|
+
# Discovery and tokenizer HTTP requests only; never a generation deadline.
|
|
106
106
|
PLURNK_PROVIDERS_FETCH_TIMEOUT=600000
|
|
107
|
-
# Wait from dispatch (after admission, before response headers) to first semantic content;
|
|
108
|
-
# metadata/empty deltas do not count.
|
|
109
|
-
PLURNK_PROVIDERS_FIRST_CONTENT_TIMEOUT=180000
|
|
110
|
-
# Maximum silence between semantic content chunks after content begins.
|
|
111
|
-
PLURNK_PROVIDERS_STREAM_IDLE_TIMEOUT=120000
|
|
112
|
-
# A line of 16+ characters streamed this many times stops the response as a repetition; 0 = off.
|
|
113
|
-
PLURNK_PROVIDERS_REPEATED_LINE_LIMIT=32
|
|
114
107
|
# A response billed for this many more output tokens than it streamed characters (text and reasoning)
|
|
115
|
-
# never delivered its output; it fails as output_dropped
|
|
116
|
-
#
|
|
108
|
+
# never delivered its output; it fails as output_dropped. Native tool calls are retained with a
|
|
109
|
+
# warning, not retried for this reason. Reasoning billed but not streamed is exempt. 0 = off.
|
|
117
110
|
PLURNK_PROVIDERS_DROPPED_OUTPUT_TOKENS=32
|
|
118
111
|
# Retries for 429, Retry-After, or X-Should-Retry:true; 0 = none. Other failures return immediately
|
|
119
112
|
# to Core's separate recovery window. Retry-After takes precedence over backoff.
|
package/README.md
CHANGED
|
@@ -12,6 +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
|
+
Native tool calling is explicitly disabled through each protocol's standard
|
|
16
|
+
controls; PLURNK operations travel as text ({§provider-native-tools-disabled}).
|
|
17
|
+
|
|
15
18
|
See [SPEC.md](SPEC.md) for the contract, [the model reference](docs/models.md)
|
|
16
19
|
for what a model is told about routes and generation, and
|
|
17
20
|
[.env.defaults](.env.defaults) for every knob.
|
|
@@ -188,9 +191,10 @@ opt-in for endpoints that emit a leading `<think>` envelope, not a reasoning swi
|
|
|
188
191
|
| Concern | Boundary |
|
|
189
192
|
| --- | --- |
|
|
190
193
|
| Inference concurrency | Optional per-endpoint, process-local admission; queued calls remain cancellable. The default is unrestricted ({§provider-inference-admission}). |
|
|
191
|
-
|
|
|
194
|
+
| Generation deadline | One whole-call allowance across queueing, requests and retries; caller cancellation still applies. No first-content or inter-chunk cutoff. |
|
|
195
|
+
| Discovery/tokenizer HTTP | Separate non-generation fetch bound; does not limit inference. |
|
|
192
196
|
| Provider-directed waits | Bounded retries honor `Retry-After`; other recoverable failures return to Core. |
|
|
193
|
-
| Loop recovery | Core reissues within its recovery window, then parks
|
|
197
|
+
| Loop recovery | Core reissues within its recovery window, then parks attended loops or concludes unattended loops on the failure. |
|
|
194
198
|
| Cache affinity | Stable Worker identity through documented provider controls; not a cache-hit guarantee. |
|
|
195
199
|
| Explicit cache writes | Separate policy on supported routes; can affect billing. |
|
|
196
200
|
| Service tier | Explicit route choice that may change price and availability. |
|
package/SPEC.md
CHANGED
|
@@ -167,6 +167,25 @@ message count, grammar presence, worker identity, or another incidental request
|
|
|
167
167
|
shape. The signal never enters model-facing messages. Generic
|
|
168
168
|
provider callers MAY omit it; Core supplies it for every model call.
|
|
169
169
|
|
|
170
|
+
§provider-native-tools-disabled Generation requests declare no native tools and
|
|
171
|
+
select the SDK's portable `none` tool choice, for emissions and BARE alike.
|
|
172
|
+
The built-in transports preserve that intent after SDK serialization:
|
|
173
|
+
|
|
174
|
+
| Protocol | No-tool wire representation |
|
|
175
|
+
| --- | --- |
|
|
176
|
+
| OpenAI-compatible Chat Completions and Responses | `tools: []`, `tool_choice: "none"` |
|
|
177
|
+
| Anthropic Messages | `tools: []`, `tool_choice: {"type":"none"}` |
|
|
178
|
+
| Gemini GenerateContent | `tools: []`, `toolConfig: {"functionCallingConfig":{"mode":"NONE"}}` |
|
|
179
|
+
| Bedrock Converse | No tool configuration; the protocol has no `none` choice. |
|
|
180
|
+
| Installed SDK provider plugins | Portable `none` intent; the plugin owns its wire projection. |
|
|
181
|
+
|
|
182
|
+
This is a text-generation contract, not provider/model tuning or prompt
|
|
183
|
+
teaching. Callers cannot supply tools or override the choice through request
|
|
184
|
+
extensions. Do not add deprecated function-call fields, dummy tools, or fields
|
|
185
|
+
from another protocol. The opt-out neither constrains arbitrary prose nor
|
|
186
|
+
proves that an endpoint honors it; unexpected native calls retain their full
|
|
187
|
+
evidence and follow {§provider-native-tool-calls}.
|
|
188
|
+
|
|
170
189
|
A successful return carries the model's raw content and reasoning, normalized
|
|
171
190
|
finish reason, model identity, its ordered {§provider-request-accounting}, the
|
|
172
191
|
request's `ProviderRequestCapacity`, opaque evidence, optional metadata, and
|
|
@@ -175,6 +194,12 @@ accounting evidence. The provider transports and observes model
|
|
|
175
194
|
output; it never retries, discards, or repairs an otherwise completed exchange
|
|
176
195
|
because PLURNK grammar did not accept it.
|
|
177
196
|
|
|
197
|
+
§provider-generation-completion Stream consumption follows the provider's
|
|
198
|
+
completion boundary, subject to caller cancellation and configured deadlines.
|
|
199
|
+
Repeated content or reasoning does not interrupt a response or request another
|
|
200
|
+
generation. Preserve the complete response, its finish reason, and trailing
|
|
201
|
+
usage and charge evidence before returning it to the consumer.
|
|
202
|
+
|
|
178
203
|
§provider-request-observer When a consumer supplies the request observer, the
|
|
179
204
|
adapter opens one durable identity through it immediately before each physical
|
|
180
205
|
I/O and settles that identity with the resulting
|
|
@@ -184,6 +209,15 @@ observer is a durability sink, not an alternate evidence representation; the
|
|
|
184
209
|
same ordered records remain on the final generation result or
|
|
185
210
|
error.
|
|
186
211
|
|
|
212
|
+
The adapter also settles {§provider-request-evidence}. A successful request
|
|
213
|
+
retains its normalized transport response; a failed request retains received
|
|
214
|
+
SDK raw chunks (or the error response body), partial content and reasoning,
|
|
215
|
+
available response identity/headers, usage/charge evidence, and its error and
|
|
216
|
+
cancellation cause. Failure capture is independent of successful raw-body
|
|
217
|
+
capture. These are the SDK's received values, not a claim of byte-for-byte
|
|
218
|
+
HTTP capture. Settlement is durable before returning the failure; a process
|
|
219
|
+
crash before settlement leaves a pending request, not an invented response.
|
|
220
|
+
|
|
187
221
|
§provider-reasoning-observer When a consumer supplies `observeReasoning`, the
|
|
188
222
|
provider synchronously delivers each exact, ordered, nonempty readable-reasoning
|
|
189
223
|
delta as it becomes available. A transport without incremental reasoning emits
|
|
@@ -446,7 +480,7 @@ The universal groups are:
|
|
|
446
480
|
- reasoning activation and optional explicit budget;
|
|
447
481
|
- explicit reasoning response-content style;
|
|
448
482
|
- decode tuning;
|
|
449
|
-
-
|
|
483
|
+
- whole-call generation, discovery/tokenizer HTTP, retry, and probe budgets;
|
|
450
484
|
- local GBNF and llama-server capability pins;
|
|
451
485
|
- context-window and generation-envelope overrides;
|
|
452
486
|
- provider-documented cache affinity and explicit cache-write policy;
|
|
@@ -643,16 +677,6 @@ reasoning enclosure only after preserving grammar evidence. Process-wide
|
|
|
643
677
|
llama-server flags are fallback server configuration, not part of the PLURNK
|
|
644
678
|
contract and need not be synchronized with an alias.
|
|
645
679
|
|
|
646
|
-
§repetition-stop **A response that repeats itself is stopped.** A degenerate model can stream one line
|
|
647
|
-
without end; content keeps arriving, so no silence deadline fires, and the call runs to its output
|
|
648
|
-
allowance. The transport counts the complete lines of each streamed channel, text and reasoning, and
|
|
649
|
-
when one line of 16 or more characters has appeared `PLURNK_PROVIDERS_REPEATED_LINE_LIMIT` times it stops
|
|
650
|
-
reading: the stream is cancelled, the physical request settles with whatever usage the chunks carried,
|
|
651
|
-
and the call fails as `repetition` (422, not retryable) carrying the partial attempt and the sentence
|
|
652
|
-
"The response repeated one line N times and was stopped: `<line>`". The consumer reads it as an invalid
|
|
653
|
-
emission, never as a provider failure to recover. Measured: a granite-4.2-8b run repeated one line 358
|
|
654
|
-
times across 45,875 tokens and 9 min 42 s; a limit of 32 stops it 14.6% of the way in (#876).
|
|
655
|
-
|
|
656
680
|
§llama-reasoning-request The allowance is cumulative across the complete response. Opening a second or
|
|
657
681
|
later reasoning block does not replenish it. Template parsing, the reasoning
|
|
658
682
|
sampler, normalized usage, and the returned reasoning channel MUST agree on that
|
|
@@ -772,29 +796,30 @@ unconfigured. Their grammar protection remains at {§provider-grammar-transport}
|
|
|
772
796
|
§provider-connectivity The provider adapter owns one attempt scheduler around
|
|
773
797
|
the complete generation exchange; SDK-internal retries are disabled.
|
|
774
798
|
`PLURNK_PROVIDERS_RETRY_ATTEMPTS=N` permits at most `N + 1` physical requests.
|
|
775
|
-
|
|
776
|
-
|
|
799
|
+
Generation has one configurable deadline; `0` disables it. Caller cancellation
|
|
800
|
+
and the caller's task allowance remain authoritative. Initial silence, a pause
|
|
801
|
+
between chunks, and buffered output do not acquire separate deadlines.
|
|
777
802
|
|
|
778
803
|
| Layer | Operator knob | Boundary | Expiry |
|
|
779
804
|
| --- | --- | --- | --- |
|
|
780
805
|
| Operation | `PLURNK_PROVIDERS_OPERATION_TIMEOUT` | Complete logical call, including admission queueing, every attempt and retry delay. | Final `deadline_exceeded` Problem at 504 with `timeoutPhase=operation`; not retried inside this operation. Consumer recovery is separate. Enforced as a race, not only the advisory signal, so a wedged transport that never observes the abort cannot hang the loop past the deadline (#505); a well-behaved transport unwinds within a short grace and settles its own attempt evidence first. |
|
|
781
|
-
|
|
|
782
|
-
| First content | `PLURNK_PROVIDERS_FIRST_CONTENT_TIMEOUT` | Dispatch through first semantic model content ({§provider-first-content-at-dispatch}); metadata, empty deltas, and transport activity do not satisfy it. | Surfaced `network_failure` with `timeoutPhase=first_content`; never transport-retried (#479). |
|
|
783
|
-
| Stream idle | `PLURNK_PROVIDERS_STREAM_IDLE_TIMEOUT` | Silence between semantic content chunks after content begins. | Surfaced `network_failure` with `timeoutPhase=stream_idle`; never transport-retried (#479). |
|
|
784
|
-
| Repeated line | `PLURNK_PROVIDERS_REPEATED_LINE_LIMIT` | A streamed line of 16 or more characters repeated this many times; `0` disables. | Stopped as `repetition` ({§repetition-stop}); never transport-retried. |
|
|
785
|
-
|
|
786
|
-
§provider-first-content-at-dispatch The first-content deadline is armed when the
|
|
787
|
-
admitted attempt is dispatched, before response headers, so an endpoint that accepts
|
|
788
|
-
the request and never answers fails at `timeoutPhase=first_content` instead of holding
|
|
789
|
-
the attempt for the whole attempt deadline. It still begins only after admission
|
|
790
|
-
({§provider-inference-admission}).
|
|
806
|
+
| Discovery/tokenizer HTTP | `PLURNK_PROVIDERS_FETCH_TIMEOUT` | Non-generation endpoint discovery and tokenizer requests only. | Ordinary HTTP failure at the owning discovery or measurement boundary. Never interrupts generation. |
|
|
791
807
|
|
|
792
808
|
Settled calls remove their deadline timers and cancellation subscriptions.
|
|
793
809
|
|
|
794
810
|
Caller cancellation spans the operation and preserves the caller's reason.
|
|
811
|
+
|
|
812
|
+
§provider-cancellation-evidence Received usage/charge evidence and available
|
|
813
|
+
response identity survive cancellation and deadline normalization through
|
|
814
|
+
physical-request settlement, independently of optional raw-body capture.
|
|
815
|
+
This includes SDK abort events and non-Error cancellation reasons. Concurrent
|
|
816
|
+
requests keep independent evidence even when cancelled by the same scope.
|
|
817
|
+
Absent evidence remains absent; stopping a request neither invents usage nor
|
|
818
|
+
retries generation to obtain it. Partial output is never a completed response.
|
|
819
|
+
|
|
795
820
|
A 2xx exchange whose body cannot be processed (a provider invalid-response)
|
|
796
821
|
classifies as the non-retryable 502 on the first failure unless an explicit
|
|
797
|
-
`x-should-retry` directive says otherwise (#479).
|
|
822
|
+
`x-should-retry` directive says otherwise (#479). When a
|
|
798
823
|
directive-driven retry sequence exhausts, `attempts` and `retryExhausted`
|
|
799
824
|
are added and the classification is final. Every admitted physical attempt opens
|
|
800
825
|
and settles exactly one ordered {§provider-request-accounting} record, including
|
|
@@ -988,7 +1013,7 @@ alias scoping. Zero, other negative values and non-integers are invalid.
|
|
|
988
1013
|
| Admission | FIFO among live waiters. The lease begins before the physical request observer and ends after the complete response or transport failure settles, including streamed bodies. |
|
|
989
1014
|
| Cancellation | A queued abort removes that waiter and preserves the caller's reason. It opens no physical request or accounting row. In-flight cancellation signals the transport; capacity is released when that attempt unwinds. A transport still running despite abort does not authorize exceeding the limit. |
|
|
990
1015
|
| Retries | Backoff holds no lease. Each retry rejoins admission as a new physical attempt. |
|
|
991
|
-
|
|
|
1016
|
+
| Deadline | The whole-call operation deadline includes queueing, every physical attempt and retry wait. Transport adds no generation deadline. |
|
|
992
1017
|
| Scope | Workers, tools, messages, waits, token measurement and endpoint discovery are not serialized by inference admission. Independent endpoints progress independently. No cross-process or machine-wide capacity guarantee is implied. |
|
|
993
1018
|
|
|
994
1019
|
Admission neither changes worker lifecycle nor selects another model or endpoint.
|
package/dist/AiSdkProvider.d.ts
CHANGED
|
@@ -28,9 +28,6 @@ export type AiSdkProviderConfig = {
|
|
|
28
28
|
attributions?: (context: PluginAttributionContext) => PluginAttribution;
|
|
29
29
|
fetchTimeoutMs: number;
|
|
30
30
|
operationTimeoutMs: number;
|
|
31
|
-
firstContentTimeoutMs: number;
|
|
32
|
-
streamIdleTimeoutMs?: number;
|
|
33
|
-
repeatedLineLimit?: number;
|
|
34
31
|
droppedOutputTokens?: number;
|
|
35
32
|
headers?: Record<string, string>;
|
|
36
33
|
fetch?: ProviderFetch;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AiSdkProvider.d.ts","sourceRoot":"","sources":["../src/AiSdkProvider.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,WAAW,EAAmB,sBAAsB,EAAE,QAAQ,EAAmB,sBAAsB,EAAE,oBAAoB,EAA6B,uBAAuB,EAA6B,gBAAgB,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACxR,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,KAAK,EAAe,SAAS,EAAE,MAAM,IAAI,CAAC;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAEtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AAMxC,OAAO,KAAK,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAQvF,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,kBAAkB,MAAM,yBAAyB,CAAC;AAE9D,MAAM,MAAM,aAAa,GAAG,OAAO,UAAU,CAAC,KAAK,CAAC;AAwBpD,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,CAAC;AAE3D,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;AAI3E,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,UAAU,CAAC;AAE/C,MAAM,MAAM,aAAa,GACnB;IAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,GAAG,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC7D;IAAE,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAE/F,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC;AAIzF,MAAM,MAAM,mBAAmB,GAAG;IAC9B,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,wBAAwB,KAAK,iBAAiB,CAAC;IACxE,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,
|
|
1
|
+
{"version":3,"file":"AiSdkProvider.d.ts","sourceRoot":"","sources":["../src/AiSdkProvider.ts"],"names":[],"mappings":"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"}
|
package/dist/AiSdkProvider.js
CHANGED
|
@@ -89,9 +89,6 @@ export default class AiSdkProvider {
|
|
|
89
89
|
#languageModel;
|
|
90
90
|
#fetchTimeoutMs;
|
|
91
91
|
#operationTimeoutMs;
|
|
92
|
-
#firstContentTimeoutMs;
|
|
93
|
-
#streamIdleTimeoutMs;
|
|
94
|
-
#repeatedLineLimit;
|
|
95
92
|
#droppedOutputTokens;
|
|
96
93
|
#headers;
|
|
97
94
|
#fetch;
|
|
@@ -156,8 +153,6 @@ export default class AiSdkProvider {
|
|
|
156
153
|
for (const [name, value] of [
|
|
157
154
|
["fetchTimeoutMs", config.fetchTimeoutMs],
|
|
158
155
|
["operationTimeoutMs", config.operationTimeoutMs],
|
|
159
|
-
["firstContentTimeoutMs", config.firstContentTimeoutMs],
|
|
160
|
-
["streamIdleTimeoutMs", config.streamIdleTimeoutMs],
|
|
161
156
|
]) {
|
|
162
157
|
if (value !== undefined && (!Number.isInteger(value) || value < 0 || value > MAX_TIMER_MS)) {
|
|
163
158
|
throw new Error(`${config.source ?? "provider"}: ${name} must be an integer from 0 through ${MAX_TIMER_MS} milliseconds`);
|
|
@@ -165,9 +160,6 @@ export default class AiSdkProvider {
|
|
|
165
160
|
}
|
|
166
161
|
this.#fetchTimeoutMs = config.fetchTimeoutMs;
|
|
167
162
|
this.#operationTimeoutMs = config.operationTimeoutMs;
|
|
168
|
-
this.#firstContentTimeoutMs = config.firstContentTimeoutMs;
|
|
169
|
-
this.#streamIdleTimeoutMs = config.streamIdleTimeoutMs;
|
|
170
|
-
this.#repeatedLineLimit = config.repeatedLineLimit ?? 0;
|
|
171
163
|
this.#droppedOutputTokens = config.droppedOutputTokens ?? 0;
|
|
172
164
|
this.#headers = config.headers ?? {};
|
|
173
165
|
this.#fetch = config.fetch ?? ((input, init) => globalThis.fetch(input, init));
|
|
@@ -529,7 +521,7 @@ export default class AiSdkProvider {
|
|
|
529
521
|
catch (cause) {
|
|
530
522
|
throw new ProviderRequestObserverError(cause);
|
|
531
523
|
}
|
|
532
|
-
const settleAccounting = async (outcome, usage, evidence, status) => {
|
|
524
|
+
const settleAccounting = async (outcome, usage, evidence, forensicEvidence, status) => {
|
|
533
525
|
let requestAccounting;
|
|
534
526
|
let normalizationFailure;
|
|
535
527
|
try {
|
|
@@ -558,7 +550,7 @@ export default class AiSdkProvider {
|
|
|
558
550
|
}
|
|
559
551
|
accounting.push(requestAccounting);
|
|
560
552
|
try {
|
|
561
|
-
await settle?.(requestAccounting);
|
|
553
|
+
await settle?.(requestAccounting, forensicEvidence);
|
|
562
554
|
}
|
|
563
555
|
catch (cause) {
|
|
564
556
|
throw new ProviderRequestObserverError(cause);
|
|
@@ -579,10 +571,6 @@ export default class AiSdkProvider {
|
|
|
579
571
|
messages,
|
|
580
572
|
signal: operationSignal,
|
|
581
573
|
fetch: this.#fetch,
|
|
582
|
-
fetchTimeoutMs: this.#fetchTimeoutMs,
|
|
583
|
-
firstContentTimeoutMs: this.#firstContentTimeoutMs,
|
|
584
|
-
streamIdleTimeoutMs: this.#streamIdleTimeoutMs,
|
|
585
|
-
repeatedLineLimit: this.#repeatedLineLimit,
|
|
586
574
|
streaming: this.#streaming,
|
|
587
575
|
captureRawBody: this.#rawBody,
|
|
588
576
|
...observers,
|
|
@@ -596,10 +584,6 @@ export default class AiSdkProvider {
|
|
|
596
584
|
systemProviderOptions: this.#systemCacheProviderOptions,
|
|
597
585
|
messages,
|
|
598
586
|
signal: operationSignal,
|
|
599
|
-
fetchTimeoutMs: this.#fetchTimeoutMs,
|
|
600
|
-
firstContentTimeoutMs: this.#firstContentTimeoutMs,
|
|
601
|
-
streamIdleTimeoutMs: this.#streamIdleTimeoutMs,
|
|
602
|
-
repeatedLineLimit: this.#repeatedLineLimit,
|
|
603
587
|
streaming: this.#streaming,
|
|
604
588
|
captureRawBody: this.#rawBody,
|
|
605
589
|
...observers,
|
|
@@ -628,13 +612,13 @@ export default class AiSdkProvider {
|
|
|
628
612
|
if (transportFailureOutputObserved(error))
|
|
629
613
|
recoveredAfterOutput = true;
|
|
630
614
|
const failure = transportFailureEvidence(error);
|
|
631
|
-
await settleAccounting("error", failure.usage, failure.chargeEvidence, failure.status);
|
|
615
|
+
await settleAccounting("error", failure.usage, failure.chargeEvidence, failure, failure.status);
|
|
632
616
|
throw error;
|
|
633
617
|
}
|
|
634
618
|
if (!structuredReasoning && liveProjection !== undefined)
|
|
635
619
|
observeRequestReasoning(liveProjection.finish());
|
|
636
620
|
successfulReasoningStream = requestReasoningStream;
|
|
637
|
-
await settleAccounting("response", response.usage, response.chargeEvidence);
|
|
621
|
+
await settleAccounting("response", response.usage, response.chargeEvidence, response);
|
|
638
622
|
return response;
|
|
639
623
|
};
|
|
640
624
|
const executeRequest = async () => {
|
|
@@ -667,9 +651,9 @@ export default class AiSdkProvider {
|
|
|
667
651
|
|| err instanceof ProviderReasoningObserverError)
|
|
668
652
|
throw err.cause;
|
|
669
653
|
if (signal?.aborted)
|
|
670
|
-
throw
|
|
654
|
+
throw signal.reason;
|
|
671
655
|
if (operationTimeout?.aborted) {
|
|
672
|
-
const timeout = new ProviderTimeoutError(
|
|
656
|
+
const timeout = new ProviderTimeoutError(this.#operationTimeoutMs, err);
|
|
673
657
|
throw new ProviderError(this.#source, "deadline_exceeded", timeout.message, {
|
|
674
658
|
status: 504,
|
|
675
659
|
cause: timeout,
|
|
@@ -850,16 +834,6 @@ export default class AiSdkProvider {
|
|
|
850
834
|
},
|
|
851
835
|
});
|
|
852
836
|
}
|
|
853
|
-
if (raw.finishReason === "repetition") {
|
|
854
|
-
// {§repetition-stop}: the stream was stopped at a repeated line; the partial attempt is evidence, and the
|
|
855
|
-
// consumer reads it as an invalid emission, never as a provider failure to recover.
|
|
856
|
-
const attempt = {
|
|
857
|
-
assistant: { ...assistant, finishReason: raw.finishReason },
|
|
858
|
-
...evidence,
|
|
859
|
-
};
|
|
860
|
-
const { line, count } = raw.repetition;
|
|
861
|
-
throw new ProviderError(this.#source, "repetition", `The response repeated one line ${count} times and was stopped: \`${line}\``, { attempt, accounting, extensions: { stage: "provider-response", finishReason: "repetition", repeatedLine: line, repeatedCount: count } });
|
|
862
|
-
}
|
|
863
837
|
if (raw.finishReason === "resource_interrupted") {
|
|
864
838
|
const attempt = {
|
|
865
839
|
assistant: { ...assistant, finishReason: raw.finishReason },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AiSdkProvider.js","sourceRoot":"","sources":["../src/AiSdkProvider.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AiSdkProvider.js","sourceRoot":"","sources":["../src/AiSdkProvider.ts"],"names":[],"mappings":"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"}
|
package/dist/accounting.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accounting.d.ts","sourceRoot":"","sources":["../src/accounting.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,kBAAkB,EAClB,sBAAsB,EACtB,yBAAyB,EAE5B,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"accounting.d.ts","sourceRoot":"","sources":["../src/accounting.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,kBAAkB,EAClB,sBAAsB,EACtB,yBAAyB,EAE5B,MAAM,YAAY,CAAC;AAmFpB,eAAO,MAAM,sBAAsB,eACnB,MAAM,KACnB,sBAAsB,GAAG,SAM3B,CAAC;AAEF,eAAO,MAAM,iCAAiC,UACnC,OAAO,KACf,yBAmBF,CAAC;AA6DF,eAAO,MAAM,2BAA2B,WAC5B,SAAS,yBAAyB,EAAE,KAC7C,kBAWF,CAAC"}
|
package/dist/accounting.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { addDecimals, sumProviderCostsUsd, validateProviderCost, } from "./cost.js";
|
|
1
|
+
import { addDecimals, providerCostUsd, sumProviderCostsUsd, validateProviderCost, } from "./cost.js";
|
|
2
2
|
import { validateProviderUsage } from "./usage.js";
|
|
3
3
|
const recordOf = (value) => typeof value === "object" && value !== null && !Array.isArray(value)
|
|
4
4
|
? value
|
|
@@ -107,48 +107,38 @@ export const validateProviderRequestAccounting = (value) => {
|
|
|
107
107
|
validateProviderCost(request.cost);
|
|
108
108
|
return value;
|
|
109
109
|
};
|
|
110
|
-
const
|
|
111
|
-
// {§tokenomics-provider-usage} — aggregate usage sums every reported
|
|
112
|
-
// quantity; an unreported one (a response-less failure) is skipped, never
|
|
113
|
-
// invented as zero and never allowed to erase the reported evidence.
|
|
114
|
-
const known = requests
|
|
115
|
-
.map((request) => request.usage === undefined ? undefined : read(request.usage))
|
|
116
|
-
.filter((value) => value !== undefined);
|
|
117
|
-
if (known.length === 0)
|
|
118
|
-
return undefined;
|
|
119
|
-
const sum = known.reduce((total, value) => total + value, 0);
|
|
120
|
-
if (!Number.isSafeInteger(sum)) {
|
|
121
|
-
throw new TypeError("aggregate provider usage exceeds the safe-integer range");
|
|
122
|
-
}
|
|
123
|
-
return sum;
|
|
124
|
-
};
|
|
125
|
-
export const aggregateProviderAccounting = (values) => {
|
|
126
|
-
const requests = values.map(validateProviderRequestAccounting);
|
|
110
|
+
const projectUsage = (requests, complete) => {
|
|
127
111
|
if (requests.length === 0) {
|
|
128
112
|
return {
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
cacheReadTokens: 0,
|
|
137
|
-
cacheWriteTokens: 0,
|
|
138
|
-
},
|
|
139
|
-
outputTokenDetails: { textTokens: 0, reasoningTokens: 0 },
|
|
113
|
+
inputTokens: 0,
|
|
114
|
+
outputTokens: 0,
|
|
115
|
+
totalTokens: 0,
|
|
116
|
+
inputTokenDetails: {
|
|
117
|
+
noCacheTokens: 0,
|
|
118
|
+
cacheReadTokens: 0,
|
|
119
|
+
cacheWriteTokens: 0,
|
|
140
120
|
},
|
|
141
|
-
|
|
121
|
+
outputTokenDetails: { textTokens: 0, reasoningTokens: 0 },
|
|
142
122
|
};
|
|
143
123
|
}
|
|
144
|
-
const
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
124
|
+
const sum = (read) => {
|
|
125
|
+
const known = requests.map(({ usage }) => usage === undefined ? undefined : read(usage))
|
|
126
|
+
.filter((value) => value !== undefined);
|
|
127
|
+
if (known.length === 0 || (complete && known.length !== requests.length))
|
|
128
|
+
return undefined;
|
|
129
|
+
const total = known.reduce((a, b) => a + b, 0);
|
|
130
|
+
if (!Number.isSafeInteger(total))
|
|
131
|
+
throw new TypeError("aggregate provider usage exceeds the safe-integer range");
|
|
132
|
+
return total;
|
|
133
|
+
};
|
|
134
|
+
const inputTokens = sum((usage) => usage.inputTokens);
|
|
135
|
+
const outputTokens = sum((usage) => usage.outputTokens);
|
|
136
|
+
const totalTokens = sum((usage) => usage.totalTokens);
|
|
137
|
+
const noCacheTokens = sum((usage) => usage.inputTokenDetails?.noCacheTokens);
|
|
138
|
+
const cacheReadTokens = sum((usage) => usage.inputTokenDetails?.cacheReadTokens);
|
|
139
|
+
const cacheWriteTokens = sum((usage) => usage.inputTokenDetails?.cacheWriteTokens);
|
|
140
|
+
const textTokens = sum((usage) => usage.outputTokenDetails?.textTokens);
|
|
141
|
+
const reasoningTokens = sum((usage) => usage.outputTokenDetails?.reasoningTokens);
|
|
152
142
|
const inputTokenDetails = noCacheTokens === undefined
|
|
153
143
|
&& cacheReadTokens === undefined && cacheWriteTokens === undefined
|
|
154
144
|
? undefined
|
|
@@ -163,11 +153,7 @@ export const aggregateProviderAccounting = (values) => {
|
|
|
163
153
|
...(textTokens === undefined ? {} : { textTokens }),
|
|
164
154
|
...(reasoningTokens === undefined ? {} : { reasoningTokens }),
|
|
165
155
|
};
|
|
166
|
-
|
|
167
|
-
// sum their own known evidence independently: heterogeneous providers may
|
|
168
|
-
// report different detail subsets, so the projection must not reinterpret
|
|
169
|
-
// their union as one complete per-request partition.
|
|
170
|
-
const usage = inputTokens === undefined && outputTokens === undefined && totalTokens === undefined
|
|
156
|
+
return inputTokens === undefined && outputTokens === undefined && totalTokens === undefined
|
|
171
157
|
&& inputTokenDetails === undefined && outputTokenDetails === undefined
|
|
172
158
|
? null
|
|
173
159
|
: {
|
|
@@ -177,10 +163,17 @@ export const aggregateProviderAccounting = (values) => {
|
|
|
177
163
|
...(inputTokenDetails === undefined ? {} : { inputTokenDetails }),
|
|
178
164
|
...(outputTokenDetails === undefined ? {} : { outputTokenDetails }),
|
|
179
165
|
};
|
|
166
|
+
};
|
|
167
|
+
export const aggregateProviderAccounting = (values) => {
|
|
168
|
+
const requests = values.map(validateProviderRequestAccounting);
|
|
169
|
+
const costs = requests.map(({ cost }) => cost);
|
|
170
|
+
const knownCosts = costs.map(providerCostUsd).filter((cost) => cost !== null);
|
|
180
171
|
return {
|
|
181
|
-
requests
|
|
182
|
-
usage,
|
|
183
|
-
|
|
172
|
+
requests,
|
|
173
|
+
usage: projectUsage(requests, true),
|
|
174
|
+
knownUsage: projectUsage(requests, false),
|
|
175
|
+
costUsd: sumProviderCostsUsd(costs),
|
|
176
|
+
knownCostUsd: requests.length === 0 ? "0" : knownCosts.length === 0 ? null : addDecimals(knownCosts),
|
|
184
177
|
};
|
|
185
178
|
};
|
|
186
179
|
//# sourceMappingURL=accounting.js.map
|