@plurnk/plurnk-providers 1.14.2 → 1.16.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.
Files changed (61) hide show
  1. package/.env.defaults +1 -1
  2. package/SPEC.md +16 -2
  3. package/dist/AiSdkProvider.d.ts +3 -0
  4. package/dist/AiSdkProvider.d.ts.map +1 -1
  5. package/dist/AiSdkProvider.js +50 -339
  6. package/dist/AiSdkProvider.js.map +1 -1
  7. package/dist/AiSdkRequestBody.d.ts +40 -0
  8. package/dist/AiSdkRequestBody.d.ts.map +1 -0
  9. package/dist/AiSdkRequestBody.js +361 -0
  10. package/dist/AiSdkRequestBody.js.map +1 -0
  11. package/dist/Mock.d.ts +5 -1
  12. package/dist/Mock.d.ts.map +1 -1
  13. package/dist/Mock.js +9 -2
  14. package/dist/Mock.js.map +1 -1
  15. package/dist/Pool.d.ts +2 -1
  16. package/dist/Pool.d.ts.map +1 -1
  17. package/dist/Pool.js +5 -0
  18. package/dist/Pool.js.map +1 -1
  19. package/dist/aiSdkTransport.d.ts +1 -1
  20. package/dist/aiSdkTransport.d.ts.map +1 -1
  21. package/dist/aiSdkTransport.js +21 -2
  22. package/dist/aiSdkTransport.js.map +1 -1
  23. package/dist/capacity.d.ts +0 -1
  24. package/dist/capacity.d.ts.map +1 -1
  25. package/dist/capacity.js +1 -1
  26. package/dist/capacity.js.map +1 -1
  27. package/dist/catalogProvider.d.ts +2 -1
  28. package/dist/catalogProvider.d.ts.map +1 -1
  29. package/dist/catalogProvider.js +6 -0
  30. package/dist/catalogProvider.js.map +1 -1
  31. package/dist/index.d.ts +3 -0
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +2 -0
  34. package/dist/index.js.map +1 -1
  35. package/dist/promptTokens.d.ts.map +1 -1
  36. package/dist/promptTokens.js +2 -1
  37. package/dist/promptTokens.js.map +1 -1
  38. package/dist/reasoning-effort.d.ts +4 -0
  39. package/dist/reasoning-effort.d.ts.map +1 -0
  40. package/dist/reasoning-effort.js +14 -0
  41. package/dist/reasoning-effort.js.map +1 -0
  42. package/dist/types.d.ts +17 -1
  43. package/dist/types.d.ts.map +1 -1
  44. package/dist/types.js +5 -0
  45. package/dist/types.js.map +1 -1
  46. package/package.json +6 -6
  47. package/src/AiSdkProvider.test.ts +22 -3
  48. package/src/AiSdkProvider.ts +51 -375
  49. package/src/AiSdkRequestBody.ts +419 -0
  50. package/src/Mock.ts +10 -2
  51. package/src/Pool.test.ts +1 -0
  52. package/src/Pool.ts +6 -1
  53. package/src/aiSdkTransport.ts +23 -4
  54. package/src/boundaries.test.ts +2 -0
  55. package/src/capacity.ts +1 -1
  56. package/src/catalogProvider.ts +9 -1
  57. package/src/index.ts +3 -0
  58. package/src/inputModalities.test.ts +53 -0
  59. package/src/promptTokens.ts +2 -1
  60. package/src/reasoning-effort.ts +15 -0
  61. package/src/types.ts +18 -1
@@ -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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"}
@@ -0,0 +1,40 @@
1
+ import type { ProviderCallKind } from "./types.ts";
2
+ import { type Reasoning } from "./env.ts";
3
+ import type { ReasoningStyle, CompatibleReasoningEffort, GrammarStyle, CacheAffinity, AiSdkProviderOptions } from "./AiSdkProvider.ts";
4
+ export default class AiSdkRequestBody {
5
+ #private;
6
+ constructor({ reasoningBudget, additiveReasoningProvider, reasoning, reasoningToggle, compatibleAdaptiveReasoning, compatibleOffReasoning, adaptiveReasoningProviderOptions, repeatPenalty, frequencyPenalty, dryMultiplier, dryBase, dryAllowedLength, repeatLastN, reasoningStyle, source, grammarStyle, cacheAffinity, reasoningResponseProviderOptions, firstPartyMetadata, supportsSlotPinning, slotCount }: {
7
+ reasoningBudget: number | null;
8
+ additiveReasoningProvider: "anthropic" | "bedrock" | undefined;
9
+ reasoning: Reasoning;
10
+ reasoningToggle: boolean;
11
+ compatibleAdaptiveReasoning: CompatibleReasoningEffort | "provider-default";
12
+ compatibleOffReasoning: "none" | undefined;
13
+ adaptiveReasoningProviderOptions: AiSdkProviderOptions | undefined;
14
+ repeatPenalty: number | null;
15
+ frequencyPenalty: number;
16
+ dryMultiplier: number | undefined;
17
+ dryBase: number | undefined;
18
+ dryAllowedLength: number | undefined;
19
+ repeatLastN: number | undefined;
20
+ reasoningStyle: ReasoningStyle;
21
+ source: string;
22
+ grammarStyle: GrammarStyle;
23
+ cacheAffinity: CacheAffinity | undefined;
24
+ reasoningResponseProviderOptions: AiSdkProviderOptions | undefined;
25
+ firstPartyMetadata: boolean;
26
+ supportsSlotPinning: boolean;
27
+ slotCount: number | null;
28
+ });
29
+ reasoningBody(preserveGrammarSentence?: boolean, reasoningBudget?: number | null): Record<string, unknown>;
30
+ grammarBody(grammar: string | undefined): Record<string, unknown>;
31
+ repetitionPenaltyBody(): Record<string, unknown>;
32
+ samplingBody(sampling: Record<string, unknown> | undefined): Record<string, unknown>;
33
+ slotBody(workerId: string): Record<string, unknown>;
34
+ metadataHeaders(attributions: string[] | undefined, client: string | undefined, strikes: number | undefined, workerId: string, primaryWorkerId: string | undefined, workspaceId: string | undefined, loop: number | undefined, turn: number | undefined, callKind: ProviderCallKind | undefined): Record<string, string>;
35
+ requestProviderOptions(workerId: string, nativeReasoningBudget: number | null): AiSdkProviderOptions | undefined;
36
+ nativeReasoningBudget(outputBudget: number | null, configuredReasoningBudget: number | null): number | null;
37
+ nativeMaxOutputTokens(outputBudget: number | null, nativeReasoningBudget: number | null): number | undefined;
38
+ assertGrammarValid(grammar: string): void;
39
+ }
40
+ //# sourceMappingURL=AiSdkRequestBody.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AiSdkRequestBody.d.ts","sourceRoot":"","sources":["../src/AiSdkRequestBody.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,361 @@
1
+ import { validateGbnf } from "@plurnk/gbnf";
2
+ import { fixedEffort } from "./reasoning-effort.js";
3
+ const isJsonObject = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
4
+ const mergeJsonObjects = (left, right) => Object.fromEntries([...new Set([...Object.keys(left), ...Object.keys(right)])].map((key) => {
5
+ const leftValue = left[key];
6
+ const rightValue = right[key];
7
+ return [
8
+ key,
9
+ isJsonObject(leftValue) && isJsonObject(rightValue)
10
+ ? mergeJsonObjects(leftValue, rightValue)
11
+ : rightValue ?? leftValue,
12
+ ];
13
+ }));
14
+ // Anthropic's older manual-reasoning protocol needs an absolute allowance while
15
+ // PLURNK's durable contract names an effort. These fractions match the native
16
+ // SDK's policy projection, but apply to PLURNK's total envelope rather than the
17
+ // model's physical maximum. The minimum is imposed by the provider protocol.
18
+ const MANUAL_REASONING_FRACTIONS = Object.freeze({
19
+ adaptive: 0.6,
20
+ low: 0.1,
21
+ medium: 0.3,
22
+ high: 0.6,
23
+ xhigh: 0.75,
24
+ max: 0.85,
25
+ });
26
+ const MANUAL_REASONING_MINIMUM = 1024;
27
+ // Body keys the provider owns — a caller's `sampling` passthrough may not set
28
+ // these. Two families:
29
+ // transport/managed — grammar transport, the stream/JSON choice, slot pinning,
30
+ // data capture ({§provider-evidence}: backend-specific fields never cross the contract);
31
+ // contract invariants — `n` (atomic single completion: choices[0] is the
32
+ // response; n>1 = paid, dropped output), the tool-calling family (tools-in-
33
+ // body doctrine, §2: native tool_calls return null content = a broken turn),
34
+ // modalities/audio (text-only contract), prediction (decode semantics, not
35
+ // sampling), and the token caps (the envelope is the managed maxOutputTokens —
36
+ // sampling must not bypass the consumer's cap).
37
+ // Sampling intent (temperature, top_p, penalties, stop, seed, logit_bias) and
38
+ // platform knobs (user, service_tier, prompt_cache_*, safety_identifier,
39
+ // metadata, store, verbosity) pass through; the managed floors spread UNDER
40
+ // sampling stay deliberately caller-overridable.
41
+ const RESERVED_BODY_KEYS = new Set([
42
+ "model", "messages", "stream", "stream_options", "grammar", "response_format", "id_slot", "logprobs", "top_logprobs",
43
+ "reasoning_format", "reasoning_effort", "thinking", "think", "include_reasoning", "chat_template_kwargs", "thinking_budget_tokens", // lexicon-allow: backend wire fields
44
+ "n", "tools", "tool_choice", "functions", "function_call", "parallel_tool_calls",
45
+ "modalities", "audio", "prediction", "max_tokens", "max_completion_tokens",
46
+ "prompt_cache_key",
47
+ ]);
48
+ export default class AiSdkRequestBody {
49
+ #reasoningBudget;
50
+ #additiveReasoningProvider;
51
+ #reasoning;
52
+ #reasoningToggle;
53
+ #compatibleAdaptiveReasoning;
54
+ #compatibleOffReasoning;
55
+ #adaptiveReasoningProviderOptions;
56
+ #repeatPenalty;
57
+ #frequencyPenalty;
58
+ #dryMultiplier;
59
+ #dryBase;
60
+ #dryAllowedLength;
61
+ #repeatLastN;
62
+ #reasoningStyle;
63
+ #source;
64
+ #grammarStyle;
65
+ #cacheAffinity;
66
+ #reasoningResponseProviderOptions;
67
+ #firstPartyMetadata;
68
+ #supportsSlotPinning;
69
+ #slotCount;
70
+ #runSlots = new Map();
71
+ #nextSlot = 0;
72
+ constructor({ reasoningBudget, additiveReasoningProvider, reasoning, reasoningToggle, compatibleAdaptiveReasoning, compatibleOffReasoning, adaptiveReasoningProviderOptions, repeatPenalty, frequencyPenalty, dryMultiplier, dryBase, dryAllowedLength, repeatLastN, reasoningStyle, source, grammarStyle, cacheAffinity, reasoningResponseProviderOptions, firstPartyMetadata, supportsSlotPinning, slotCount }) {
73
+ this.#reasoningBudget = reasoningBudget;
74
+ this.#additiveReasoningProvider = additiveReasoningProvider;
75
+ this.#reasoning = reasoning;
76
+ this.#reasoningToggle = reasoningToggle;
77
+ this.#compatibleAdaptiveReasoning = compatibleAdaptiveReasoning;
78
+ this.#compatibleOffReasoning = compatibleOffReasoning;
79
+ this.#adaptiveReasoningProviderOptions = adaptiveReasoningProviderOptions;
80
+ this.#repeatPenalty = repeatPenalty;
81
+ this.#frequencyPenalty = frequencyPenalty;
82
+ this.#dryMultiplier = dryMultiplier;
83
+ this.#dryBase = dryBase;
84
+ this.#dryAllowedLength = dryAllowedLength;
85
+ this.#repeatLastN = repeatLastN;
86
+ this.#reasoningStyle = reasoningStyle;
87
+ this.#source = source;
88
+ this.#grammarStyle = grammarStyle;
89
+ this.#cacheAffinity = cacheAffinity;
90
+ this.#reasoningResponseProviderOptions = reasoningResponseProviderOptions;
91
+ this.#firstPartyMetadata = firstPartyMetadata;
92
+ this.#supportsSlotPinning = supportsSlotPinning;
93
+ this.#slotCount = slotCount;
94
+ }
95
+ // Reasoning activation and allowance are independent of grammar transport;
96
+ // only the response representation becomes lossless when evidence is needed.
97
+ // The llama-server template mapping is owned by {§llama-reasoning-request}.
98
+ reasoningBody(preserveGrammarSentence = false, reasoningBudget = this.#reasoningBudget) {
99
+ const { mode } = this.#reasoning;
100
+ const budget = reasoningBudget;
101
+ const on = mode !== "off";
102
+ switch (this.#reasoningStyle) {
103
+ case "template": {
104
+ const allowance = mode === "off"
105
+ ? 0
106
+ : budget;
107
+ // A fixed effort rides into the template as its own variable; adaptive
108
+ // and off send none and leave the template's default in force.
109
+ const templateEffort = mode === "off" || mode === "adaptive" ? {} : { reasoning_effort: fixedEffort(mode) };
110
+ return {
111
+ chat_template_kwargs: { enable_thinking: on, ...templateEffort },
112
+ reasoning_format: preserveGrammarSentence ? "none" : "auto",
113
+ ...(allowance === null ? {} : { thinking_budget_tokens: allowance }),
114
+ };
115
+ }
116
+ case "think": return on ? { think: true } : {};
117
+ case "include_reasoning": return on ? { include_reasoning: true } : {};
118
+ case "effort": return mode === "off"
119
+ ? this.#compatibleOffReasoning === undefined
120
+ ? {}
121
+ : { reasoning_effort: this.#compatibleOffReasoning }
122
+ : mode === "adaptive"
123
+ ? this.#compatibleAdaptiveReasoning === "provider-default"
124
+ ? {}
125
+ : { reasoning_effort: this.#compatibleAdaptiveReasoning }
126
+ : { reasoning_effort: fixedEffort(mode) };
127
+ // Graded reasoning is mandatory when the route advertises an effort
128
+ // value. Cataloged routes supply the exact strongest legal value;
129
+ // construction rejects an unsupported off or fixed policy.
130
+ case "effort_required": {
131
+ if (mode === "off") {
132
+ if (this.#compatibleOffReasoning === undefined) {
133
+ throw new TypeError(`${this.#source}: required reasoning effort has no off projection`);
134
+ }
135
+ return { reasoning_effort: this.#compatibleOffReasoning };
136
+ }
137
+ if (mode === "adaptive") {
138
+ return this.#compatibleAdaptiveReasoning === "provider-default"
139
+ ? {}
140
+ : { reasoning_effort: this.#compatibleAdaptiveReasoning };
141
+ }
142
+ return { reasoning_effort: fixedEffort(mode) };
143
+ }
144
+ // Fireworks enum: OFF is sent EXPLICITLY ("none") — omission leaves a
145
+ // reason-by-default model (DeepSeek V4: default 'high') reasoning.
146
+ // ADAPTIVE omits the field UNLESS the catalog declares a toggle control:
147
+ // toggle routes (nemotron-lightning) default reasoning OFF, so adaptive
148
+ // sends the documented Fireworks Boolean enable (#457). The literal
149
+ // "adaptive" is MiniMax-M3-only — Fireworks 400s it for every other
150
+ // model (wire-verified; the 1.0.2 adaptive default refused to boot on
151
+ // it). V4 gotcha: integer efforts 400.
152
+ case "effort_explicit": return mode === "off"
153
+ ? { reasoning_effort: "none" }
154
+ : mode === "adaptive"
155
+ ? this.#reasoningToggle ? { reasoning_effort: true } : {}
156
+ : { reasoning_effort: fixedEffort(mode) };
157
+ // {§deepseek-reasoning-request}
158
+ case "thinking_effort": return mode === "off"
159
+ ? { thinking: { type: "disabled" } }
160
+ : mode === "adaptive" ? { thinking: { type: "enabled" } } : {
161
+ thinking: { type: "enabled" },
162
+ reasoning_effort: fixedEffort(mode),
163
+ };
164
+ // Anthropic-compatible native dynamic or manual budget mode.
165
+ case "anthropic": return mode === "off"
166
+ ? { thinking: { type: "disabled" } }
167
+ : mode === "adaptive" ? { thinking: { type: "adaptive" } } : {
168
+ thinking: {
169
+ type: "enabled",
170
+ budget_tokens: budget,
171
+ },
172
+ };
173
+ case "none": return {};
174
+ }
175
+ }
176
+ // Per-worker slot affinity: the consumer passes which worker this is; the
177
+ // provider owns WHICH slot serves it. Sticky per workerId, round-robin across
178
+ // new runs (distinct runs → distinct slots while slots last), LRU-bounded
179
+ // bookkeeping so a long-lived daemon never grows the map unboundedly —
180
+ // an evicted-and-returning run simply re-pins, worst case one cold prefill.
181
+ // Optional local llama-server GBNF transport ({§gbnf-response-observation}). Unsupported
182
+ // backends receive no grammar-related field.
183
+ grammarBody(grammar) {
184
+ if (grammar === undefined)
185
+ return {};
186
+ switch (this.#grammarStyle) {
187
+ // Grammar-constrained decoding can loop under the mask; a configured
188
+ // per-alias repeat_penalty is the measured remedy ({§provider-sampling-passthrough}).
189
+ case "llamacpp": return { grammar, ...(this.#repeatPenalty !== null ? { repeat_penalty: this.#repeatPenalty } : {}) };
190
+ case "none": return {};
191
+ }
192
+ }
193
+ // Anti-degeneration default on every request, keyed to the backend's wire
194
+ // convention - NOT grammar-bound. GBNF is a local constraint, so a cloud
195
+ // alias runs the sampler bare: firefast (deepseek/fireworks) ran 4/86 bench turns
196
+ // straight to the token cap on pure looped repetition (run52). Ships next to
197
+ // temperature so caller `sampling` can tune it; the grammar path re-asserts it as a
198
+ // managed FLOOR in #grammarBody. llama.cpp takes the repeat_penalty
199
+ // MULTIPLIER; the plain cloud path ("none") can't, so it gets
200
+ // frequency_penalty - OpenAI-standard, accepted by every OpenAI-compat backend (verified
201
+ // live: together/deepinfra/fireworks; it is OpenAI's own param, so real OpenAI takes it too).
202
+ repetitionPenaltyBody() {
203
+ switch (this.#grammarStyle) {
204
+ // repeat_penalty + optional DRY (repeated-sequence penalty) + a wider
205
+ // repeat_last_n window — the loop-breaking tools a llama.cpp backend serves.
206
+ // Each rides only when its operator knob is set; absent = the box's default.
207
+ case "llamacpp": return {
208
+ ...(this.#repeatPenalty !== null ? { repeat_penalty: this.#repeatPenalty } : {}),
209
+ ...(this.#repeatLastN !== undefined ? { repeat_last_n: this.#repeatLastN } : {}),
210
+ ...(this.#dryMultiplier !== undefined && this.#dryMultiplier > 0 ? {
211
+ dry_multiplier: this.#dryMultiplier,
212
+ ...(this.#dryBase !== undefined ? { dry_base: this.#dryBase } : {}),
213
+ ...(this.#dryAllowedLength !== undefined ? { dry_allowed_length: this.#dryAllowedLength } : {}),
214
+ } : {}),
215
+ };
216
+ case "none": return this.#frequencyPenalty > 0 ? { frequency_penalty: this.#frequencyPenalty } : {};
217
+ }
218
+ }
219
+ // Caller-supplied OpenAI-compat sampling params (temperature, top_p, top_k,
220
+ // penalties, stop, seed, …) merged UNDER the managed body: model, messages,
221
+ // reasoning, grammar (+ its repeat-penalty floor), max_tokens and slot always
222
+ // win, and reserved transport/protocol keys are stripped so the passthrough
223
+ // can't smuggle a grammar, a stream toggle, or a backend slot
224
+ // ({§provider-request-authority}).
225
+ samplingBody(sampling) {
226
+ if (sampling === undefined)
227
+ return {};
228
+ const out = {};
229
+ for (const [k, v] of Object.entries(sampling))
230
+ if (!RESERVED_BODY_KEYS.has(k))
231
+ out[k] = v;
232
+ return out;
233
+ }
234
+ slotBody(workerId) {
235
+ if (!this.#supportsSlotPinning || this.#slotCount === null || this.#slotCount < 1)
236
+ return {};
237
+ let slot = this.#runSlots.get(workerId);
238
+ if (slot === undefined) {
239
+ slot = this.#nextSlot++ % this.#slotCount;
240
+ if (this.#runSlots.size >= this.#slotCount * 8) {
241
+ this.#runSlots.delete(this.#runSlots.keys().next().value);
242
+ }
243
+ }
244
+ else {
245
+ this.#runSlots.delete(workerId); // re-insert to refresh LRU recency
246
+ }
247
+ this.#runSlots.set(workerId, slot);
248
+ return { id_slot: slot };
249
+ }
250
+ // First-party telemetry headers ({§provider-request-authority} {§provider-call-kind}): forwarded only when the spec
251
+ // opted in (the plurnk endpoint). The gate is here, not at the call site, so
252
+ // attributions/client/strikes can never reach a third-party backend even if
253
+ // the consumer passes them to the wrong provider. Empty values emit no header
254
+ // — EXCEPT strikes, where 0 is a real value (clean streak) distinct from
255
+ // absent (consumer didn't report); contract {§strikes-first-party-metadata}. Strikes
256
+ // ride HTTP headers only — the packet never carries them (the model must
257
+ // never see strike state; engine accounting is not a metric to game).
258
+ metadataHeaders(attributions, client, strikes, workerId, primaryWorkerId, workspaceId, loop, turn, callKind) {
259
+ if (!this.#firstPartyMetadata)
260
+ return {};
261
+ const h = {};
262
+ if (attributions !== undefined && attributions.length > 0)
263
+ h["Plurnk-Attribution"] = JSON.stringify(attributions);
264
+ if (client !== undefined && client.length > 0)
265
+ h["Plurnk-Client"] = client;
266
+ if (strikes !== undefined && Number.isInteger(strikes) && strikes >= 0)
267
+ h["Plurnk-Strikes"] = String(strikes);
268
+ // Worker identity: the opaque workerId
269
+ // the consumer already supplies, forwarded so the endpoint can key
270
+ // per-worker affinity/telemetry — same gate as every first-party signal.
271
+ h["Plurnk-Worker-Id"] = workerId;
272
+ // Root worker of the lineage ({§worker-primary}): the no-parent ancestor of this turn's
273
+ // worker tree. The consumer classifies primary-vs-spawned by equality
274
+ // (primaryWorkerId == workerId ⇒ the primary/root worker). The provider
275
+ // EMITS what the consumer supplies and never invents a primary; the
276
+ // consumer's contract is to stamp it EVERY turn (including the primary's
277
+ // own, where it equals workerId). Absence is the consumer's violation for
278
+ // the endpoint to surface, not a provider default.
279
+ if (primaryWorkerId !== undefined && primaryWorkerId.length > 0)
280
+ h["Plurnk-Worker-Primary"] = primaryWorkerId;
281
+ // Turn coordinate ({§lifecycle-terms}): workspace/loop/turn, the
282
+ // daemon-side sequence the endpoint can never scrape from the wire.
283
+ // Coordinates are 1-based — 0 is not a real value, so no strikes-style
284
+ // zero exception; absent/empty/0 emits no header.
285
+ if (workspaceId !== undefined && workspaceId.length > 0)
286
+ h["Plurnk-Workspace-Id"] = workspaceId;
287
+ if (loop !== undefined && Number.isInteger(loop) && loop >= 1)
288
+ h["Plurnk-Loop"] = String(loop);
289
+ if (turn !== undefined && Number.isInteger(turn) && turn >= 1)
290
+ h["Plurnk-Turn"] = String(turn);
291
+ if (callKind !== undefined)
292
+ h["Plurnk-Call-Kind"] = callKind;
293
+ return h;
294
+ }
295
+ requestProviderOptions(workerId, nativeReasoningBudget) {
296
+ const responseOptions = this.#reasoning.mode === "off"
297
+ ? undefined
298
+ : this.#reasoningResponseProviderOptions;
299
+ const adaptiveOptions = this.#reasoning.mode === "adaptive"
300
+ && nativeReasoningBudget === null
301
+ ? this.#adaptiveReasoningProviderOptions
302
+ : undefined;
303
+ const nativeReasoning = nativeReasoningBudget !== null
304
+ ? this.#additiveReasoningProvider === "anthropic"
305
+ ? { anthropic: { thinking: { type: "enabled", budgetTokens: nativeReasoningBudget } } }
306
+ : this.#additiveReasoningProvider === "bedrock"
307
+ ? { bedrock: { reasoningConfig: { type: "enabled", budgetTokens: nativeReasoningBudget } } }
308
+ : undefined
309
+ : undefined;
310
+ const options = {};
311
+ for (const part of [responseOptions, adaptiveOptions, nativeReasoning]) {
312
+ for (const [provider, values] of Object.entries(part ?? {})) {
313
+ options[provider] = mergeJsonObjects(options[provider] ?? {}, values);
314
+ }
315
+ }
316
+ if (this.#cacheAffinity?.target === "provider-option") {
317
+ const { provider, name } = this.#cacheAffinity;
318
+ options[provider] = { ...options[provider], [name]: workerId };
319
+ }
320
+ return Object.keys(options).length === 0 ? undefined : options;
321
+ }
322
+ nativeReasoningBudget(outputBudget, configuredReasoningBudget) {
323
+ if (this.#additiveReasoningProvider === undefined || this.#reasoning.mode === "off")
324
+ return null;
325
+ if (configuredReasoningBudget !== null)
326
+ return configuredReasoningBudget;
327
+ if (this.#adaptiveReasoningProviderOptions !== undefined)
328
+ return null;
329
+ if (outputBudget === null) {
330
+ throw new TypeError(`${this.#source}: manual provider reasoning requires a resolved total output budget`);
331
+ }
332
+ if (outputBudget <= MANUAL_REASONING_MINIMUM) {
333
+ throw new TypeError(`${this.#source}: total output budget must exceed the provider's ${MANUAL_REASONING_MINIMUM}-token minimum reasoning allowance`);
334
+ }
335
+ const fraction = MANUAL_REASONING_FRACTIONS[this.#reasoning.mode];
336
+ return Math.min(outputBudget - 1, Math.max(MANUAL_REASONING_MINIMUM, Math.round(outputBudget * fraction)));
337
+ }
338
+ nativeMaxOutputTokens(outputBudget, nativeReasoningBudget) {
339
+ if (outputBudget === null)
340
+ return undefined;
341
+ return nativeReasoningBudget !== null
342
+ ? outputBudget - nativeReasoningBudget
343
+ : outputBudget;
344
+ }
345
+ // PLURNK_PROVIDERS_GBNF_DEBUG ({§gbnf-response-observation}): validate the supplied GBNF locally and fail
346
+ // hard if it's malformed, BEFORE any wire call — and the grammar is NOT
347
+ // transported, so the request runs unconstrained. A debug aid to catch invalid
348
+ // grammars (e.g. while editing the plurnk grammar) without a model round-trip;
349
+ // off in production. `validateGbnf(grammar, "")` parses the grammar + resolves
350
+ // its root, throwing iff the grammar itself is invalid (the empty input's
351
+ // verdict is irrelevant — we only care that parsing succeeded).
352
+ assertGrammarValid(grammar) {
353
+ try {
354
+ validateGbnf(grammar, "");
355
+ }
356
+ catch (cause) {
357
+ throw new Error(`grammar validation (PLURNK_PROVIDERS_GBNF_DEBUG): invalid GBNF — ${cause.message}`, { cause });
358
+ }
359
+ }
360
+ }
361
+ //# sourceMappingURL=AiSdkRequestBody.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AiSdkRequestBody.js","sourceRoot":"","sources":["../src/AiSdkRequestBody.ts"],"names":[],"mappings":"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"}